Blame


1 08708877 2003-11-25 devnull /* Runes for special purposes (0xe800-0xfdff is Private Use Area) */
2 08708877 2003-11-25 devnull enum { NONE=0xe800, /* Emit nothing */
3 08708877 2003-11-25 devnull TAGS, /* Start of tag */
4 08708877 2003-11-25 devnull TAGE, /* End of tag */
5 08708877 2003-11-25 devnull SPCS, /* Start of special character name */
6 08708877 2003-11-25 devnull PAR, /* Newline, indent */
7 08708877 2003-11-25 devnull LIGS, /* Start of ligature codes */
8 eeb73122 2004-03-26 devnull
9 eeb73122 2004-03-26 devnull /* need to keep in sync with utils.c:/ligtab */
10 08708877 2003-11-25 devnull LACU=LIGS, /* Acute (´) ligatures */
11 08708877 2003-11-25 devnull LGRV, /* Grave (ˋ) ligatures */
12 08708877 2003-11-25 devnull LUML, /* Umlaut (¨) ligatures */
13 08708877 2003-11-25 devnull LCED, /* Cedilla (¸) ligatures */
14 08708877 2003-11-25 devnull LTIL, /* Tilde (˜) ligatures */
15 08708877 2003-11-25 devnull LBRV, /* Breve (˘) ligatures */
16 08708877 2003-11-25 devnull LRNG, /* Ring (˚) ligatures */
17 08708877 2003-11-25 devnull LDOT, /* Dot (˙) ligatures */
18 08708877 2003-11-25 devnull LDTB, /* Dot below (.) ligatures */
19 08708877 2003-11-25 devnull LFRN, /* Frown (⌢) ligatures */
20 08708877 2003-11-25 devnull LFRB, /* Frown below (̯) ligatures */
21 08708877 2003-11-25 devnull LOGO, /* Ogonek (˛) ligatures */
22 08708877 2003-11-25 devnull LMAC, /* Macron (¯) ligatures */
23 08708877 2003-11-25 devnull LHCK, /* Hacek (ˇ) ligatures */
24 08708877 2003-11-25 devnull LASP, /* Asper (ʽ) ligatures */
25 08708877 2003-11-25 devnull LLEN, /* Lenis (ʼ) ligatures */
26 08708877 2003-11-25 devnull LBRB, /* Breve below (̮) ligatures */
27 08708877 2003-11-25 devnull LIGE, /* End of ligature codes */
28 eeb73122 2004-03-26 devnull
29 eeb73122 2004-03-26 devnull /* need to keep in sync with utils.c:/multitab */
30 08708877 2003-11-25 devnull MULTI, /* Start of multi-rune codes */
31 08708877 2003-11-25 devnull MAAS=MULTI, /* ʽα */
32 08708877 2003-11-25 devnull MALN, /* ʼα */
33 08708877 2003-11-25 devnull MAND, /* and */
34 08708877 2003-11-25 devnull MAOQ, /* a/q */
35 08708877 2003-11-25 devnull MBRA, /* <| */
36 08708877 2003-11-25 devnull MDD, /* .. */
37 08708877 2003-11-25 devnull MDDD, /* ... */
38 08708877 2003-11-25 devnull MEAS, /* ʽε */
39 08708877 2003-11-25 devnull MELN, /* ʼε */
40 08708877 2003-11-25 devnull MEMM, /* —— */
41 08708877 2003-11-25 devnull MHAS, /* ʽη */
42 08708877 2003-11-25 devnull MHLN, /* ʼη */
43 08708877 2003-11-25 devnull MIAS, /* ʽι */
44 08708877 2003-11-25 devnull MILN, /* ʼι */
45 08708877 2003-11-25 devnull MLCT, /* ct */
46 08708877 2003-11-25 devnull MLFF, /* ff */
47 08708877 2003-11-25 devnull MLFFI, /* ffi */
48 08708877 2003-11-25 devnull MLFFL, /* ffl */
49 08708877 2003-11-25 devnull MLFL, /* fl */
50 08708877 2003-11-25 devnull MLFI, /* fi */
51 08708877 2003-11-25 devnull MLLS, /* ll with swing */
52 08708877 2003-11-25 devnull MLST, /* st */
53 08708877 2003-11-25 devnull MOAS, /* ʽο */
54 08708877 2003-11-25 devnull MOLN, /* ʼο */
55 08708877 2003-11-25 devnull MOR, /* or */
56 08708877 2003-11-25 devnull MRAS, /* ʽρ */
57 08708877 2003-11-25 devnull MRLN, /* ʼρ */
58 08708877 2003-11-25 devnull MTT, /* ~~ */
59 08708877 2003-11-25 devnull MUAS, /* ʽυ */
60 08708877 2003-11-25 devnull MULN, /* ʼυ */
61 08708877 2003-11-25 devnull MWAS, /* ʽω */
62 08708877 2003-11-25 devnull MWLN, /* ʼω */
63 08708877 2003-11-25 devnull MOE, /* oe */
64 08708877 2003-11-25 devnull MES, /* em space */
65 cbeb0b26 2006-04-01 devnull MULTIE /* End of multi-rune codes */
66 08708877 2003-11-25 devnull };
67 08708877 2003-11-25 devnull #define Nligs (LIGE-LIGS)
68 08708877 2003-11-25 devnull #define Nmulti (MULTIE-MULTI)
69 08708877 2003-11-25 devnull
70 08708877 2003-11-25 devnull typedef struct Entry Entry;
71 08708877 2003-11-25 devnull typedef struct Assoc Assoc;
72 08708877 2003-11-25 devnull typedef struct Nassoc Nassoc;
73 08708877 2003-11-25 devnull typedef struct Dict Dict;
74 08708877 2003-11-25 devnull
75 08708877 2003-11-25 devnull struct Entry {
76 08708877 2003-11-25 devnull char *start; /* entry starts at start */
77 08708877 2003-11-25 devnull char *end; /* and finishes just before end */
78 08708877 2003-11-25 devnull long doff; /* dictionary offset (for debugging) */
79 08708877 2003-11-25 devnull };
80 08708877 2003-11-25 devnull
81 08708877 2003-11-25 devnull struct Assoc {
82 08708877 2003-11-25 devnull char *key;
83 08708877 2003-11-25 devnull long val;
84 08708877 2003-11-25 devnull };
85 08708877 2003-11-25 devnull
86 08708877 2003-11-25 devnull struct Nassoc {
87 08708877 2003-11-25 devnull long key;
88 08708877 2003-11-25 devnull long val;
89 08708877 2003-11-25 devnull };
90 08708877 2003-11-25 devnull
91 08708877 2003-11-25 devnull struct Dict {
92 08708877 2003-11-25 devnull char *name; /* dictionary name */
93 08708877 2003-11-25 devnull char *desc; /* description */
94 08708877 2003-11-25 devnull char *path; /* path to dictionary data */
95 08708877 2003-11-25 devnull char *indexpath; /* path to index data */
96 08708877 2003-11-25 devnull long (*nextoff)(long); /* function to find next entry offset from arg */
97 08708877 2003-11-25 devnull void (*printentry)(Entry, int); /* function to print entry */
98 08708877 2003-11-25 devnull void (*printkey)(void); /* function to print pronunciation key */
99 08708877 2003-11-25 devnull };
100 08708877 2003-11-25 devnull
101 08708877 2003-11-25 devnull int acomp(Rune*, Rune*);
102 08708877 2003-11-25 devnull Rune *changett(Rune *, Rune *, int);
103 08708877 2003-11-25 devnull void err(char*, ...);
104 08708877 2003-11-25 devnull void fold(Rune *);
105 08708877 2003-11-25 devnull void foldre(char*, char*);
106 08708877 2003-11-25 devnull Rune liglookup(Rune, Rune);
107 08708877 2003-11-25 devnull long lookassoc(Assoc*, int, char*);
108 08708877 2003-11-25 devnull long looknassoc(Nassoc*, int, long);
109 08708877 2003-11-25 devnull void outprint(char*, ...);
110 08708877 2003-11-25 devnull void outrune(long);
111 08708877 2003-11-25 devnull void outrunes(Rune *);
112 08708877 2003-11-25 devnull void outchar(int);
113 08708877 2003-11-25 devnull void outchars(char *);
114 08708877 2003-11-25 devnull void outnl(int);
115 08708877 2003-11-25 devnull void outpiece(char *, char *);
116 08708877 2003-11-25 devnull void runescpy(Rune*, Rune*);
117 08708877 2003-11-25 devnull long runetol(Rune*);
118 ebda53e1 2007-08-22 rsc char *dictfile(char*);
119 08708877 2003-11-25 devnull
120 08708877 2003-11-25 devnull long oednextoff(long);
121 08708877 2003-11-25 devnull void oedprintentry(Entry, int);
122 08708877 2003-11-25 devnull void oedprintkey(void);
123 08708877 2003-11-25 devnull long ahdnextoff(long);
124 08708877 2003-11-25 devnull void ahdprintentry(Entry, int);
125 08708877 2003-11-25 devnull void ahdprintkey(void);
126 08708877 2003-11-25 devnull long pcollnextoff(long);
127 08708877 2003-11-25 devnull void pcollprintentry(Entry, int);
128 08708877 2003-11-25 devnull void pcollprintkey(void);
129 08708877 2003-11-25 devnull long pcollgnextoff(long);
130 08708877 2003-11-25 devnull void pcollgprintentry(Entry, int);
131 08708877 2003-11-25 devnull void pcollgprintkey(void);
132 08708877 2003-11-25 devnull long movienextoff(long);
133 08708877 2003-11-25 devnull void movieprintentry(Entry, int);
134 08708877 2003-11-25 devnull void movieprintkey(void);
135 08708877 2003-11-25 devnull long pgwnextoff(long);
136 08708877 2003-11-25 devnull void pgwprintentry(Entry,int);
137 08708877 2003-11-25 devnull void pgwprintkey(void);
138 c8b6342d 2005-01-13 devnull void rogetprintentry(Entry, int);
139 c8b6342d 2005-01-13 devnull long rogetnextoff(long);
140 c8b6342d 2005-01-13 devnull void rogetprintkey(void);
141 08708877 2003-11-25 devnull long slangnextoff(long);
142 08708877 2003-11-25 devnull void slangprintentry(Entry, int);
143 08708877 2003-11-25 devnull void slangprintkey(void);
144 08708877 2003-11-25 devnull long robertnextoff(long);
145 08708877 2003-11-25 devnull void robertindexentry(Entry, int);
146 08708877 2003-11-25 devnull void robertprintkey(void);
147 08708877 2003-11-25 devnull long robertnextflex(long);
148 08708877 2003-11-25 devnull void robertflexentry(Entry, int);
149 08708877 2003-11-25 devnull long simplenextoff(long);
150 08708877 2003-11-25 devnull void simpleprintentry(Entry, int);
151 08708877 2003-11-25 devnull void simpleprintkey(void);
152 08708877 2003-11-25 devnull long thesnextoff(long);
153 08708877 2003-11-25 devnull void thesprintentry(Entry, int);
154 08708877 2003-11-25 devnull void thesprintkey(void);
155 08708877 2003-11-25 devnull long worldnextoff(long);
156 08708877 2003-11-25 devnull void worldprintentry(Entry, int);
157 08708877 2003-11-25 devnull void worldprintkey(void);
158 08708877 2003-11-25 devnull
159 08708877 2003-11-25 devnull extern Biobuf *bdict;
160 08708877 2003-11-25 devnull extern Biobuf *bout;
161 08708877 2003-11-25 devnull extern int linelen;
162 08708877 2003-11-25 devnull extern int breaklen;
163 08708877 2003-11-25 devnull extern int outinhibit;
164 08708877 2003-11-25 devnull extern int debug;
165 08708877 2003-11-25 devnull extern Rune multitab[][5];
166 08708877 2003-11-25 devnull extern Dict dicts[];
167 08708877 2003-11-25 devnull
168 08708877 2003-11-25 devnull #define asize(a) (sizeof (a)/sizeof(a[0]))