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