mimetexrb 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2017 @@
1
+ #ifndef _MIMETEX
2
+ #define _MIMETEX
3
+ /****************************************************************************
4
+ *
5
+ * Copyright(c) 2002-2003, John Forkosh Associates, Inc. All rights reserved.
6
+ * --------------------------------------------------------------------------
7
+ * This file is part of mimeTeX, which is free software. You may redistribute
8
+ * and/or modify it under the terms of the GNU General Public License,
9
+ * version 2 or later, as published by the Free Software Foundation.
10
+ * MimeTeX is distributed in the hope that it will be useful, but
11
+ * WITHOUT ANY WARRANTY, not even the implied warranty of MERCHANTABILITY.
12
+ * See the GNU General Public License for specific details.
13
+ * By using mimeTeX, you warrant that you have read, understood and
14
+ * agreed to these terms and conditions, and that you are at least 18 years
15
+ * of age and possess the legal right and ability to enter into this
16
+ * agreement and to use mimeTeX in accordance with it.
17
+ * Your mimeTeX distribution should contain a copy of the GNU General
18
+ * Public License. If not, write to the Free Software Foundation, Inc.,
19
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA,
20
+ * or point your browser to http://www.gnu.org/licenses/gpl.html
21
+ * --------------------------------------------------------------------------
22
+ *
23
+ * Purpose: Structures, macros, symbols,
24
+ * and static font data for mimetex (and friends)
25
+ *
26
+ * Source: mimetex.h
27
+ *
28
+ * Notes: o #define TEXFONTS before #include "mimetex.h"
29
+ * if you need the fonttable[] (of fontfamily's) set up.
30
+ * mimetex.c needs this; other modules probably don't
31
+ * because they'll call access functions from mimetex.c
32
+ * that hide the underlying font data
33
+ *
34
+ * --------------------------------------------------------------------------
35
+ * Revision History:
36
+ * 09/18/02 J.Forkosh Installation.
37
+ * 12/11/02 J.Forkosh Version 1.00 released.
38
+ * 07/06/03 J.Forkosh Version 1.10 begun.
39
+ *
40
+ ***************************************************************************/
41
+
42
+
43
+ /* --------------------------------------------------------------------------
44
+ check for compilation by parts (not supported yet)
45
+ -------------------------------------------------------------------------- */
46
+ /* --- check for (up to) five parts --- */
47
+ #if defined(PART1) || defined(PART2) || defined(PART3) \
48
+ || defined(PART4) || defined(PART5)
49
+ #define PARTS
50
+ #endif
51
+ /* --- default STATIC=static, else set up static for parts --- */
52
+ #if defined(PARTS)
53
+ #if defined(PART1)
54
+ #define INITVALS
55
+ #define STATIC /* not static */
56
+ #else
57
+ #define STATIC extern
58
+ #endif
59
+ #else
60
+ #define INITVALS
61
+ #if defined(DRIVER)
62
+ #define STATIC static
63
+ #else
64
+ #define STATIC static /* not static (won't work) */
65
+ #endif
66
+ #endif
67
+ /* --- declare global symbol --- */
68
+ #ifdef INITVALS
69
+ #define GLOBAL(type,variable,value) STATIC type variable = value
70
+ /* #define GLOBAL(type,variable,value) STATIC type variable = (value) */
71
+ /* #define SHARED(type,variable,value) type variable = (value) */
72
+ #else
73
+ #define GLOBAL(type,variable,value) STATIC type variable
74
+ /* #define SHARED(type,variable,value) STATIC type variable */
75
+ #endif
76
+
77
+
78
+ /* --------------------------------------------------------------------------
79
+ macros to get/set/unset a single bit (in rasters), and some bitfield macros
80
+ -------------------------------------------------------------------------- */
81
+ /* --- single-bit operations on a scalar argument (x) --- */
82
+ #define get1bit(x,bit) ( ((x)>>(bit)) & 1 ) /* get the bit-th bit of x */
83
+ #define set1bit(x,bit) ( (x) |= (1<<(bit)) ) /* set the bit-th bit of x */
84
+ #define unset1bit(x,bit) ( (x) &= ~(1<<(bit)) ) /*unset the bit-th bit of x*/
85
+ /* --- single-bit operations on a byte-addressable argument (x) --- */
86
+ #define getlongbit(x,bit) get1bit(*((x)+(bit)/8),(bit)%8) /* get bit */
87
+ #define setlongbit(x,bit) set1bit(*((x)+(bit)/8),(bit)%8) /* set bit */
88
+ #define unsetlongbit(x,bit) unset1bit(*((x)+(bit)/8),(bit)%8) /*unset bit*/
89
+ /* --- a few bitfield macros --- */
90
+ #define bitmask(nbits) ((1<<(nbits))-1) /* a mask of nbits 1's */
91
+ #define getbitfld(x,bit1,nbits) (((x)>>(bit1)) & (bitmask(nbits)))
92
+
93
+ /* --------------------------------------------------------------------------
94
+ macros to get/clear/set a single 4-bit nibble (in rasters)
95
+ -------------------------------------------------------------------------- */
96
+ #define getnibble(x,i) /* get i-th 4-bit nibble */ \
97
+ ( (i)%2==0? ((x)[(i)/2] & 0xF0) >> 4: /* left/high nibble */ \
98
+ (x)[(i)/2] & 0x0F ) /* right/low-order nibble */
99
+ #define clearnibble(x,i) ((x)[(i)/2] &= ((i)%2==0?0x0F:0xF0)) /*clear ith*/
100
+ #define setnibble(x,i,n) /*set ith nibble of x to n*/\
101
+ if ( (i)%2 == 0 ) /* setting left nibble */ \
102
+ { clearnibble(x,i); /* first clear the nibble*/ \
103
+ (x)[(i)/2] |= ((n)&0x0F)<<4; } /* set high-order 4 bits */ \
104
+ else /* setting right nibble */ \
105
+ if ( 1 ) /* dummy -- always true */ \
106
+ { clearnibble(x,i); /* first clear the nibble*/ \
107
+ (x)[(i)/2] |= (n)&0x0F; } /* set low-order 4 bits */ \
108
+ else /* let user supply final ;*/
109
+ /* --- macros to get/set/clear byte (format=2) or nibble (format=3) --- */
110
+ #define getbyfmt(fmt,x,i) /*byte(fmt=2) or nibble(3)*/\
111
+ ( ((fmt)==2? ((int)((x)[(i)])) : /* get full 8-bit byte */ \
112
+ ((fmt)==3? getnibble(x,i) : 0)) ) /* or 4-bit nibble (err=0)*/
113
+ #define clearbyfmt(fmt,x,i) /*byte(fmt=2) or nibble(3)*/\
114
+ if((fmt)==2) (x)[(i)] = ((unsigned char)0); /* clear 8-bit byte */ \
115
+ else if((fmt)==3) clearnibble(x,i) /* or clear 4-bit nibble */
116
+ #define setbyfmt(fmt,x,i,n) /*byte(fmt=2) or nibble(3)*/\
117
+ if((fmt)==2) (x)[(i)] = ((unsigned char)n); /*set full 8-bit byte*/ \
118
+ else if((fmt)==3) setnibble(x,i,n); else /* or set 4-bit nibble */
119
+
120
+ /* -------------------------------------------------------------------------
121
+ Raster structure (bitmap or bytemap, along with its width and height in bits)
122
+ -------------------------------------------------------------------------- */
123
+ /* --- 8-bit datatype (always unsigned) --- */
124
+ #define intbyte unsigned char
125
+ /* --- datatype for pixels --- */
126
+ /* --- #if !defined(UNSIGNEDCHAR) && !defined(SIGNEDCHAR)
127
+ #define SIGNEDCHAR
128
+ #endif --- */
129
+ #ifndef SIGNEDCHAR
130
+ #define pixbyte unsigned char
131
+ #else
132
+ #define pixbyte char
133
+ #endif
134
+ /* --- raster structure --- */
135
+ #define raster struct raster_struct /* "typedef" for raster_struct*/
136
+ raster
137
+ {
138
+ /* -----------------------------------------------------------------------
139
+ dimensions of raster
140
+ ------------------------------------------------------------------------ */
141
+ int width; /* #pixels wide */
142
+ int height; /* #pixels high */
143
+ int format; /* 1=bitmap, 2=gf/8bits,3=gf/4bits */
144
+ int pixsz; /* #bits per pixel, 1 or 8 */
145
+ /* -----------------------------------------------------------------------
146
+ memory for raster
147
+ ------------------------------------------------------------------------ */
148
+ pixbyte *pixmap; /* memory for width*height bits or bytes */
149
+ } ; /* --- end-of-raster_struct --- */
150
+
151
+ /* ---
152
+ * associated raster constants and macros
153
+ * -------------------------------------- */
154
+ #define maxraster 1048576 /*99999*/ /* max #pixels for raster pixmap */
155
+ /* --- #bytes in pixmap raster needed to contain width x height pixels --- */
156
+ #define bitmapsz(width,height) (((width)*(height)+7)/8) /*#bytes if a bitmap*/
157
+ #define pixmapsz(rp) (((rp)->pixsz)*bitmapsz((rp)->width,(rp)->height))
158
+ /* --- #bytes in raster struct, by its format --- */
159
+ #define pixbytes(rp) ((rp)->format==1? pixmapsz(rp) : /*#bytes in bitmap*/ \
160
+ ((rp)->format==2? (rp)->pixsz : (1+(rp)->pixsz)/2) ) /*gf-formatted*/
161
+ /* --- pixel index calculation used by getpixel() and setpixel() below --- */
162
+ #define PIXDEX(rp,irow,icol) (((irow)*((rp)->width))+(icol))/*irow,icol indx*/
163
+ /* --- get value of pixel, either one bit or one byte, at (irow,icol) --- */
164
+ #define getpixel(rp,irow,icol) /*get bit or byte based on pixsz*/ \
165
+ ((rp)->pixsz==1? getlongbit((rp)->pixmap,PIXDEX(rp,(irow),(icol))) :\
166
+ ((rp)->pixsz==8? ((rp)->pixmap)[PIXDEX(rp,(irow),(icol))] : (-1)) )
167
+ /* --- set value of pixel, either one bit or one byte, at (irow,icol) --- */
168
+ #define setpixel(rp,irow,icol,value) /*set bit or byte based on pixsz*/ \
169
+ if ( (rp)->pixsz == 1 ) /*set pixel to 1 or 0 for bitmap*/ \
170
+ if ( (value) != 0 ) /* turn bit pixel on */ \
171
+ { setlongbit((rp)->pixmap,PIXDEX(rp,(irow),(icol))); } \
172
+ else /* or turn bit pixel 0ff */ \
173
+ { unsetlongbit((rp)->pixmap,PIXDEX(rp,(irow),(icol))); } \
174
+ else /* set 8-bit bytemap pixel value */ \
175
+ if ( (rp)->pixsz == 8 ) /* check pixsz=8 for bytemap */ \
176
+ ((rp)->pixmap)[PIXDEX(rp,(irow),(icol))]=(pixbyte)(value); \
177
+ else /* let user supply final ; */
178
+
179
+ /* --------------------------------------------------------------------------
180
+ some char classes tokenizer needs to recognize, and macros to check for them
181
+ -------------------------------------------------------------------------- */
182
+ /* --- some character classes --- */
183
+ #define istextmode (fontinfo[fontnum].istext==1) /* true for text font*/
184
+ #define WHITEMATH "~ \t\n\r\f\v" /* white chars in display/math mode*/
185
+ #define WHITETEXT "\t\n\r\f\v" /* white chars in text mode */
186
+ #define WHITEDELIM "~ " /*always ignored following \sequence*/
187
+ #define WHITESPACE (istextmode?WHITETEXT:WHITEMATH) /*whitespace chars*/
188
+ #define LEFTBRACES "{([<|-=" /* opening delims are left{([< |,|| */
189
+ #define RIGHTBRACES "})]>|-=" /* corresponding closing delims */
190
+ #define ESCAPE "\\" /* introduce escape sequence */
191
+ #define SUPERSCRIPT "^" /* introduce superscript */
192
+ #define SUBSCRIPT "_" /* introduce subscript */
193
+ #define SCRIPTS SUPERSCRIPT SUBSCRIPT /* either "script" */
194
+ /* --- macros to check for them --- */
195
+ #define isthischar(thischar,accept) \
196
+ ( (thischar)!='\000' && *(accept)!='\000' \
197
+ && strchr(accept,(thischar))!=(char *)NULL )
198
+ #define isthisstr(thisstr,accept) \
199
+ ((*(thisstr))!='\000' && strspn(thisstr,accept)==strlen(thisstr))
200
+ #define skipwhite(thisstr) if ( (thisstr) != NULL ) \
201
+ while ( isthischar(*(thisstr),WHITESPACE) ) (thisstr)++
202
+ #define isnextchar(thisstr,accept) \
203
+ ({skipwhite(thisstr);},isthischar(*thisstr,accept))
204
+
205
+ /* -------------------------------------------------------------------------
206
+ character definition struct (font info from .gf file describing a char)
207
+ -------------------------------------------------------------------------- */
208
+ #define chardef struct chardef_struct /* "typedef" for chardef_struct*/
209
+ chardef
210
+ {
211
+ /* -----------------------------------------------------------------------
212
+ character description
213
+ ------------------------------------------------------------------------ */
214
+ /* --- character identification as given in .gf font file --- */
215
+ int charnum; /*different gf files resuse same num*/
216
+ int location; /* location in font */
217
+ /* --- upper-left and lower-left corners of char (topcol=botcol?) --- */
218
+ int toprow, topleftcol; /* upper-left corner */
219
+ int botrow, botleftcol; /* lower-left corner */
220
+ /* -----------------------------------------------------------------------
221
+ character bitmap raster (image.width is character width, ditto height)
222
+ ------------------------------------------------------------------------ */
223
+ raster image; /* bitmap image of character */
224
+ } ; /* --- end-of-chardef_struct --- */
225
+
226
+
227
+ /* -------------------------------------------------------------------------
228
+ Font info corresponding to TeX \matchardef, see TeXbook Appendix F (page 431)
229
+ -------------------------------------------------------------------------- */
230
+ typedef void *((*HANDLER)()); /* ptr to function returning void* */
231
+ #define mathchardef struct mathchardef_struct /*typedef for mathchardef*/
232
+ mathchardef
233
+ {
234
+ /* -----------------------------------------------------------------------
235
+ symbol name ("a", "\alpha", "1", etc)
236
+ ------------------------------------------------------------------------ */
237
+ char *symbol; /* as it appears in a source file */
238
+ /* -----------------------------------------------------------------------
239
+ components of \mathchardef hexadecimal code assigned to this symbol
240
+ ------------------------------------------------------------------------ */
241
+ int charnum; /* char# (as given in .gf file) */
242
+ int family; /* font family e.g., 2=math symbol */
243
+ int class; /* e.g., 3=relation, TexBook pg.154*/
244
+ /* ------------------------------------------------------------------------
245
+ Extra info: some math "functions" require special processing (e.g., \frac)
246
+ ------------------------------------------------------------------------ */
247
+ /* --- function that performs special processing required by symbol --- */
248
+ /* subraster *((*handler)()); -- handler is ultimately recast like this */
249
+ HANDLER handler; /* e.g., rastfrac() for \frac's */
250
+ } ; /* --- end-of-mathchardef_struct --- */
251
+
252
+ /* ---
253
+ * classes for mathchardef (TeXbook pg.154)
254
+ * ---------------------------------------- */
255
+ #define ORDINARY (0) /* e.g., / */
256
+ #define OPERATOR (1) /* e.g., \sum */
257
+ #define BINARYOP (2) /* e.g., + */
258
+ #define RELATION (3) /* e.g., = */
259
+ #define OPENING (4) /* e.g., ( */
260
+ #define CLOSING (5) /* e.g., } */
261
+ #define PUNCTION (6) /* e.g., , (punctuation) */
262
+ #define VARIABLE (7) /* e.g., x */
263
+ #define DISPOPER (8) /* e.g., Bigint (displaymath opers)*/
264
+ #define SPACEOPER (9) /* e.g., \hspace{} */
265
+ #define MAXCLASS (9) /* just for index checks */
266
+ #define UPPERBIG DISPOPER /*how to interpret Bigxxx operators*/
267
+ #define LOWERBIG DISPOPER /*how to interpret bigxxx operators*/
268
+ /* --- class aliases --- */
269
+ #define ARROW RELATION
270
+ /* --- families for mathchardef (TeXbook, top of pg.431) --- */
271
+ #define CMR10 (1) /* normal roman */
272
+ #define CMMI10 (2) /* math italic */
273
+ #define CMMIB10 (3) /* math italic bold */
274
+ #define CMSY10 (4) /* math symbol */
275
+ #define CMEX10 (5) /* math extension */
276
+ #define RSFS10 (6) /* rsfs \scrA ... \scrZ */
277
+ #define BBOLD10 (7) /* blackboard bold \mathbb A ... */
278
+ #define STMARY10 (8) /* stmaryrd math symbols */
279
+ #define CYR10 (9) /* cyrillic (wncyr10.mf) */
280
+ #define NOTACHAR (99) /* e.g., \frac */
281
+ /* --- dummy argument value for handlers --- */
282
+ #define NOVALUE (-989898) /*charnum,family,class used as args*/
283
+
284
+ /* ---
285
+ * font family information
286
+ * ----------------------- */
287
+ STATIC int nfontinfo /* legal font#'s are 1...nfontinfo */
288
+ #ifdef INITVALS
289
+ = 8
290
+ #endif
291
+ ;
292
+ STATIC struct {char *name; int family; int istext; int class;}
293
+ /* note: class(1=upper,2=alpha,3=alnum,4=lower,5=digit,9=all) now unused */
294
+ fontinfo[]
295
+ #ifdef INITVALS
296
+ = {/* --- name family istext class --- */
297
+ { "\\math", 0, 0, 0 }, /*(0) default math mode */
298
+ { "\\mathcal", CMSY10, 0, 1 }, /*(1) calligraphic, uppercase */
299
+ { "\\mathscr", RSFS10, 0, 1 }, /*(2) rsfs/script, uppercase */
300
+ { "\\textrm", CMR10, 1, -1 }, /*(3) \rm,\text{abc} --> {\textrm~abc}*/
301
+ { "\\textit", CMMI10, 1, -1 }, /*(4) \it,\textit{abc}-->{\textit~abc}*/
302
+ { "\\mathbb", BBOLD10, 0, -1 }, /*(5) \bb,\mathbb{abc}-->{\mathbb~abc}*/
303
+ { "\\mathbf", CMMIB10, 0, -1 }, /*(6) \bf,\mathbf{abc}-->{\mathbf~abc}*/
304
+ { "\\mathrm", CMR10, 0, -1 }, /*(7) \mathrm */
305
+ { "\\cyr", CYR10, 1, -1 }, /*(8) \cyr (defaults as text mode) */
306
+ { NULL, 0, 0, 0 } }
307
+ #endif
308
+ ; /* --- end-of-fonts[] --- */
309
+
310
+ /* ---
311
+ * additional font attributes (only size is implemented)
312
+ * ----------------------------------------------------- */
313
+ /* --- font sizes 0-7 = tiny,small,normal,large,Large,LARGE,huge,Huge --- */
314
+ #define LARGESTSIZE (7)
315
+ #ifdef DEFAULTSIZE
316
+ #ifndef NORMALSIZE
317
+ #define NORMALSIZE (DEFAULTSIZE)
318
+ #endif
319
+ #endif
320
+ #ifndef NORMALSIZE
321
+ /*#define NORMALSIZE (2)*/
322
+ #define NORMALSIZE (3)
323
+ #endif
324
+ #ifndef DISPLAYSIZE
325
+ /* --- automatically sets scripts in \displaystyle when fontsize>= --- */
326
+ /*#define DISPLAYSIZE (NORMALSIZE+1)*/
327
+ #define DISPLAYSIZE (3)
328
+ #endif
329
+
330
+ /* ---
331
+ aspect ratio is width/height of the displayed image of a pixel
332
+ -------------------------------------------------------------- */
333
+ #define ASPECTRATIO 1.0 /*(16.0/9.0)*/
334
+ #define SQRTWIDTH(sqrtht) ((int)(.5*((double)(sqrtht+1))*ASPECTRATIO + 0.5))
335
+
336
+ /* ---
337
+ * space between adjacent symbols, e.g., symspace[RELATION][VARIABLE]
338
+ * ------------------------------------------------------------------ */
339
+ STATIC int symspace[11][11]
340
+ #ifdef INITVALS
341
+ =
342
+ { /* -----------------------------------------------------------------------
343
+ Right... ORD OPER BIN REL OPEN CLOS PUNC VAR DISP SPACE unused
344
+ Left... -------------------------------------------------------------- */
345
+ /*ORDINARY*/ { 2, 3, 3, 5, 3, 2, 2, 2, 3, 0, 0 },
346
+ /*OPERATOR*/ { 3, 1, 1, 5, 3, 2, 2, 2, 3, 0, 0 },
347
+ /*BINARYOP*/ { 2, 1, 1, 5, 3, 2, 2, 2, 3, 0, 0 },
348
+ /*RELATION*/ { 5, 5, 5, 2, 5, 5, 2, 5, 5, 0, 0 },
349
+ /*OPENING*/ { 2, 2, 2, 5, 2, 4, 2, 2, 3, 0, 0 },
350
+ /*CLOSING*/ { 2, 3, 3, 5, 4, 2, 1, 2, 3, 0, 0 },
351
+ /*PUNCTION*/ { 2, 2, 2, 5, 2, 2, 1, 2, 2, 0, 0 },
352
+ /*VARIABLE*/ { 2, 2, 2, 5, 2, 2, 1, 2, 2, 0, 0 },
353
+ /*DISPOPER*/ { 2, 3, 3, 5, 2, 3, 2, 2, 2, 0, 0 },
354
+ /*SPACEOPER*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
355
+ /*unused*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
356
+ }
357
+ #endif
358
+ ; /* --- end-of-symspace[][] --- */
359
+
360
+
361
+ /* -------------------------------------------------------------------------
362
+ subraster (bitmap image, its attributes, overlaid position in raster, etc)
363
+ -------------------------------------------------------------------------- */
364
+ #define subraster struct subraster_struct /* "typedef" for subraster_struct*/
365
+ subraster
366
+ {
367
+ /* --- subraster type --- */
368
+ int type; /* charcter or image raster */
369
+ /* --- character info (if subraster represents a character) --- */
370
+ mathchardef *symdef; /* mathchardef identifying image */
371
+ int baseline; /*0 if image is entirely descending*/
372
+ int size; /* font size 0-4 */
373
+ /* --- upper-left corner for bitmap (as overlaid on a larger raster) --- */
374
+ int toprow, leftcol; /* upper-left corner of subraster */
375
+ /* --- pointer to raster bitmap image of subraster --- */
376
+ raster *image; /*ptr to bitmap image of subraster*/
377
+ } ; /* --- end-of-subraster_struct --- */
378
+
379
+ /* --- subraster types --- */
380
+ #define CHARASTER (1) /* character */
381
+ #define STRINGRASTER (2) /* string of characters */
382
+ #define IMAGERASTER (3) /* image */
383
+ #define FRACRASTER (4) /* image of \frac{}{} */
384
+ #define ASCIISTRING (5) /* ascii string (not a raster) */
385
+
386
+ /* ---
387
+ * issue rasterize() call end extract embedded raster from returned subraster
388
+ * -------------------------------------------------------------------------- */
389
+ subraster *rasterize(); /* declare rasterize */
390
+ #define make_raster(expression,size) ((rasterize(expression,size))->image)
391
+
392
+
393
+ /* -------------------------------------------------------------------------
394
+ font family
395
+ -------------------------------------------------------------------------- */
396
+ #define fontfamily struct fontfamily_struct /* typedef for fontfamily */
397
+ fontfamily
398
+ {
399
+ /* -----------------------------------------------------------------------
400
+ several sizes, fontdef[0-7]=tiny,small,normal,large,Large,LARGE,huge,HUGE
401
+ ------------------------------------------------------------------------ */
402
+ int family; /* font family e.g., 2=math symbol */
403
+ chardef *fontdef[LARGESTSIZE+2]; /*small=(fontdef[1])[charnum].image*/
404
+ } ; /* --- end-of-fontfamily_struct --- */
405
+ /* --- dummy font table (for contexts requiring const) --- */
406
+ #define dummyfonttable \
407
+ { \
408
+ { -999, { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL } } \
409
+ }
410
+
411
+
412
+ /* -------------------------------------------------------------------------
413
+ S t a t i c F o n t D a t a u s e d b y M i m e t e x
414
+ -------------------------------------------------------------------------- */
415
+ #ifdef TEXFONTS
416
+ /* ---
417
+ * font info generated for us by gfuntype
418
+ * -------------------------------------- */
419
+ #ifdef INITVALS
420
+ #include "texfonts.h"
421
+ #endif
422
+
423
+ /* ---
424
+ * font families (by size), just a table of preceding font info
425
+ * ------------------------------------------------------------ */
426
+ /* --- for low-pass anti-aliasing --- */
427
+ STATIC fontfamily aafonttable[]
428
+ #ifdef INITVALS
429
+ =
430
+ {/* -----------------------------------------------------------------------------------------
431
+ family size=0, 1, 2, 3, 4, 5, 6, 7
432
+ ----------------------------------------------------------------------------------------- */
433
+ { CMR10,{ cmr83, cmr100, cmr118, cmr131, cmr160, cmr180, cmr210, cmr250}},
434
+ { CMMI10,{ cmmi83, cmmi100, cmmi118, cmmi131, cmmi160, cmmi180, cmmi210, cmmi250}},
435
+ { CMMIB10,{ cmmib83, cmmib100, cmmib118, cmmib131, cmmib160, cmmib180, cmmib210, cmmib250}},
436
+ { CMSY10,{ cmsy83, cmsy100, cmsy118, cmsy131, cmsy160, cmsy180, cmsy210, cmsy250}},
437
+ { CMEX10,{ cmex83, cmex100, cmex118, cmex131, cmex160, cmex180, cmex210, cmex250}},
438
+ { RSFS10,{ rsfs83, rsfs100, rsfs118, rsfs131, rsfs160, rsfs180, rsfs210, rsfs250}},
439
+ { BBOLD10,{ bbold83, bbold100, bbold118, bbold131, bbold160, bbold180, bbold210, bbold250}},
440
+ {STMARY10,{stmary83,stmary100,stmary118,stmary131,stmary160,stmary180,stmary210,stmary250}},
441
+ { CYR10,{ wncyr83, wncyr100, wncyr118, wncyr131, wncyr160, wncyr180, wncyr210, wncyr250}},
442
+ { -999,{ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}}
443
+ }
444
+ #endif
445
+ ; /* --- end-of-aafonttable[] --- */
446
+
447
+ /* --- for super-sampling anti-aliasing --- */
448
+ #ifdef SSFONTS
449
+ STATIC fontfamily ssfonttable[]
450
+ #ifdef INITVALS
451
+ =
452
+ {/* -----------------------------------------------------------------------------------------
453
+ family size=0, 1, 2, 3, 4, 5, 6, 7
454
+ ----------------------------------------------------------------------------------------- */
455
+ { CMR10,{ cmr250, cmr1200, cmr1200, cmr1200, cmr1200, cmr1200, cmr1200, cmr1200}},
456
+ { CMMI10,{ cmmi250, cmmi100, cmmi118, cmmi131, cmmi160, cmmi180, cmmi210, cmmi250}},
457
+ {CMMIB10,{cmmib250, cmmib100, cmmib118, cmmib131, cmmib160, cmmib180, cmmib210, cmmib250}},
458
+ { CMSY10,{ cmsy250, cmsy100, cmsy118, cmsy131, cmsy160, cmsy180, cmsy210, cmsy250}},
459
+ { CMEX10,{ cmex250, cmex100, cmex118, cmex131, cmex160, cmex180, cmex210, cmex250}},
460
+ { RSFS10,{ rsfs250, rsfs100, rsfs118, rsfs131, rsfs160, rsfs180, rsfs210, rsfs250}},
461
+ { BBOLD10,{bbold250, bbold100, bbold118, bbold131, bbold160, bbold180, bbold210, bbold250}},
462
+ {STMARY10,{stmary250,stmary100,stmary118,stmary131,stmary160,stmary180,stmary210,stmary250}},
463
+ { CYR10,{ wncyr83, wncyr100, wncyr118, wncyr131, wncyr160, wncyr180, wncyr210, wncyr250}},
464
+ { -999,{ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}}
465
+ }
466
+ #endif
467
+ ; /* --- end-of-ssfonttable[] --- */
468
+ #else
469
+ /*GLOBAL(fontfamily,ssfonttable[],dummyfonttable);*/
470
+ STATIC fontfamily ssfonttable[]
471
+ #ifdef INITVALS
472
+ = dummyfonttable
473
+ #endif
474
+ ;
475
+ #endif /* #ifdef SSFONTS */
476
+ #else
477
+ /*GLOBAL(fontfamily,aafonttable[],dummyfonttable);*/
478
+ /*GLOBAL(fontfamily,ssfonttable[],dummyfonttable);*/
479
+ STATIC fontfamily
480
+ aafonttable[]
481
+ #ifdef INITVALS
482
+ = dummyfonttable
483
+ #endif
484
+ ,
485
+ ssfonttable[]
486
+ #ifdef INITVALS
487
+ = dummyfonttable
488
+ #endif
489
+ ;
490
+ #endif /* #ifdef TEXFONTS */
491
+
492
+ /* --- select current font table (for lowpass or supersampling) --- */
493
+ #ifndef ISSUPERSAMPLING
494
+ #define ISSUPERSAMPLING 0
495
+ #endif
496
+ GLOBAL(fontfamily,*fonttable,(ISSUPERSAMPLING?ssfonttable:aafonttable));
497
+
498
+ /* --- supersampling shrink factors corresponding to displayed sizes --- */
499
+ STATIC int shrinkfactors[] /*supersampling shrinkfactor by size*/
500
+ #ifdef INITVALS
501
+ =
502
+ { 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
503
+ /*{ 15,13,11, 9, 7, 5, 3, 1 }*/
504
+ #endif
505
+ ;
506
+
507
+ /* ---
508
+ * handler functions for math operations
509
+ * ------------------------------------- */
510
+ subraster *rastflags(); /* set flags, e.g., for \rm */
511
+ subraster *rastfrac(); /* handle \frac \atop expressions */
512
+ subraster *rastackrel(); /* handle \stackrel expressions */
513
+ subraster *rastmathfunc(); /* handle \lim,\log,etc expressions*/
514
+ subraster *rastoverlay(); /* handle \not */
515
+ subraster *rastspace(); /* handle math space, \hspace,\hfill*/
516
+ subraster *rastnewline(); /* handle \\ newline */
517
+ subraster *rastarrow(); /* handle \longrightarrow, etc */
518
+ subraster *rastuparrow(); /* handle \longuparrow, etc */
519
+ subraster *rastsqrt(); /* handle \sqrt */
520
+ subraster *rastaccent(); /* handle \hat \vec \braces, etc */
521
+ subraster *rastfont(); /* handle \cal{} \scr{}, etc */
522
+ subraster *rastbegin(); /* handle \begin{}...\end{} */
523
+ subraster *rastleft(); /* handle \left...\right */
524
+ subraster *rastmiddle(); /* handle \left...\middle...\right */
525
+ subraster *rastarray(); /* handle \array{...} */
526
+ subraster *rastpicture(); /* handle \picture(,){...} */
527
+ subraster *rastline(); /* handle \line(xinc,yinc){xlen} */
528
+ subraster *rastrule(); /* handle \rule[lift]{width}{height}*/
529
+ subraster *rastcircle(); /* handle \circle(xdiam[,ydiam]) */
530
+ subraster *rastbezier(); /*handle\bezier(c0,r0)(c1,r1)(ct,rt)*/
531
+ subraster *rastraise(); /* handle \raisebox{lift}{expr} */
532
+ subraster *rastrotate(); /* handle \rotatebox{degs}{expr} */
533
+ subraster *rastreflect(); /* handle \reflectbox[axis]{expr} */
534
+ subraster *rastfbox(); /* handle \fbox{expr} */
535
+ subraster *rastinput(); /* handle \input{filename} */
536
+ subraster *rastcounter(); /* handle \counter{filename} */
537
+ subraster *rasttoday(); /* handle \today[+/-tzdelta,ifmt] */
538
+ subraster *rastcalendar(); /* handle \calendar[yaer,month] */
539
+ subraster *rastnoop(); /* handle \escape's to be flushed */
540
+
541
+ /* --- sqrt --- */
542
+ #define SQRTACCENT (1) /* \sqrt */
543
+ /* --- accents --- */
544
+ #define BARACCENT (11) /* \bar \overline*/
545
+ #define UNDERBARACCENT (12) /* \underline */
546
+ #define HATACCENT (13) /* \hat */
547
+ #define DOTACCENT (14) /* \dot */
548
+ #define DDOTACCENT (15) /* \ddot */
549
+ #define VECACCENT (16) /* \vec */
550
+ #define TILDEACCENT (17) /* \tilde */
551
+ #define OVERBRACE (18) /* \overbrace */
552
+ #define UNDERBRACE (19) /* \underbrace */
553
+ /* --- flags/modes --- */
554
+ #define ISFONTFAM (1) /* set font family */
555
+ #define ISDISPLAYSTYLE (2) /* set isdisplaystyle */
556
+ #define ISDISPLAYSIZE (21) /* set displaysize */
557
+ #define ISFONTSIZE (3) /* set fontsize */
558
+ #define ISWEIGHT (4) /* set aa params */
559
+ #define ISOPAQUE (5) /* set background opaque */
560
+ #define ISSUPER (6) /* set supersampling/lowpass */
561
+ #define ISAAALGORITHM (61) /* set anti-aliasing algorithm */
562
+ #define ISCENTERWT (62) /* set anti-aliasing center weight */
563
+ #define ISADJACENTWT (63) /* set anti-aliasing adjacent weight*/
564
+ #define ISCORNERWT (64) /* set anti-aliasing adjacent weight*/
565
+ #define PNMPARAMS (65) /* set fgalias,fgonly,bgalias,bgonly*/
566
+ #define ISGAMMA (66) /* set gamma correction */
567
+ #define ISSHRINK (7) /* set supersampling shrinkfactor */
568
+ #define UNITLENGTH (8) /* set unitlength */
569
+ #define ISCOLOR (9) /* set color */
570
+ #define ISREVERSE (10) /* set reverse video colors */
571
+ #define ISSTRING (11) /* set ascii string mode */
572
+ #define ISSMASH (12) /* set (minimum) "smash" margin */
573
+ #define ISCONTENTTYPE (13) /*enable/disable Content-type lines*/
574
+
575
+ /* ---
576
+ * mathchardefs for symbols recognized by mimetex
577
+ * ---------------------------------------------- */
578
+ STATIC mathchardef symtable[]
579
+ #ifdef INITVALS
580
+ =
581
+ {
582
+ /* ---------- c o m m a n d h a n d l e r s --------------
583
+ symbol arg1 arg2 arg3 function
584
+ -------------------------------------------------------- */
585
+ /* --- commands --- */
586
+ { "\\left", NOVALUE,NOVALUE,NOVALUE, (HANDLER)(rastleft) },
587
+ { "\\middle",NOVALUE,NOVALUE,NOVALUE, (HANDLER)(rastmiddle) },
588
+ { "\\frac", 1, NOVALUE,NOVALUE, (HANDLER)(rastfrac) },
589
+ { "\\over", 1, NOVALUE,NOVALUE, (HANDLER)(rastfrac) },
590
+ { "\\atop", 0, NOVALUE,NOVALUE, (HANDLER)(rastfrac) },
591
+ { "\\choose", 0, NOVALUE,NOVALUE, (HANDLER)(rastfrac) },
592
+ { "\\not", 1, 0,NOVALUE, (HANDLER)(rastoverlay) },
593
+ { "\\Not", 2, 0,NOVALUE, (HANDLER)(rastoverlay) },
594
+ { "\\widenot",2, 0,NOVALUE, (HANDLER)(rastoverlay) },
595
+ { "\\sout", 3, NOVALUE,NOVALUE, (HANDLER)(rastoverlay) },
596
+ { "\\strikeout",3, NOVALUE,NOVALUE, (HANDLER)(rastoverlay) },
597
+ { "\\compose",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastoverlay) },
598
+ { "\\stackrel", 2, NOVALUE,NOVALUE, (HANDLER)(rastackrel) },
599
+ { "\\relstack", 1, NOVALUE,NOVALUE, (HANDLER)(rastackrel) },
600
+ { "\\sqrt", NOVALUE,NOVALUE,NOVALUE, (HANDLER)(rastsqrt) },
601
+ { "\\overbrace", OVERBRACE,1, 1, (HANDLER)(rastaccent) },
602
+ { "\\underbrace",UNDERBRACE,0, 1, (HANDLER)(rastaccent) },
603
+ { "\\overline", BARACCENT,1, 0, (HANDLER)(rastaccent) },
604
+ { "\\underline",UNDERBARACCENT,0, 0, (HANDLER)(rastaccent) },
605
+ { "\\begin",NOVALUE,NOVALUE,NOVALUE, (HANDLER)(rastbegin) },
606
+ { "\\array",NOVALUE,NOVALUE,NOVALUE, (HANDLER)(rastarray) },
607
+ { "\\matrix",NOVALUE,NOVALUE,NOVALUE, (HANDLER)(rastarray) },
608
+ { "\\tabular",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastarray) },
609
+ { "\\picture",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastpicture) },
610
+ { "\\line", NOVALUE,NOVALUE,NOVALUE, (HANDLER)(rastline) },
611
+ { "\\rule", NOVALUE,NOVALUE,NOVALUE, (HANDLER)(rastrule) },
612
+ { "\\circle", NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastcircle) },
613
+ { "\\bezier", NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastbezier) },
614
+ { "\\qbezier",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastbezier) },
615
+ { "\\raisebox",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastraise) },
616
+ { "\\rotatebox",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastrotate) },
617
+ { "\\reflectbox",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastreflect) },
618
+ { "\\fbox", NOVALUE,NOVALUE,NOVALUE, (HANDLER)(rastfbox) },
619
+ { "\\input",NOVALUE,NOVALUE,NOVALUE, (HANDLER)(rastinput) },
620
+ { "\\today",NOVALUE,NOVALUE,NOVALUE, (HANDLER)(rasttoday) },
621
+ { "\\calendar",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastcalendar) },
622
+ { "\\counter",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastcounter) },
623
+ /* --- spaces --- */
624
+ { "\\/", 1, NOVALUE,NOVALUE, (HANDLER)(rastspace) },
625
+ { "\\,", 2, NOVALUE,NOVALUE, (HANDLER)(rastspace) },
626
+ { "\\:", 4, NOVALUE,NOVALUE, (HANDLER)(rastspace) },
627
+ { "\\;", 6, NOVALUE,NOVALUE, (HANDLER)(rastspace) },
628
+ { "\\\n", 3, NOVALUE,NOVALUE, (HANDLER)(rastspace) },
629
+ { "\\\r", 3, NOVALUE,NOVALUE, (HANDLER)(rastspace) },
630
+ { "\\\t", 3, NOVALUE,NOVALUE, (HANDLER)(rastspace) },
631
+ /*{ "\\~",5,NOVALUE,NOVALUE,(HANDLER)(rastspace) },*/
632
+ { "~", 5, NOVALUE,NOVALUE, (HANDLER)(rastspace) },
633
+ { "\\ ", 5, NOVALUE,NOVALUE, (HANDLER)(rastspace) },
634
+ { " ", 5, NOVALUE,NOVALUE, (HANDLER)(rastspace) },
635
+ { "\\!", -2, NOVALUE,NOVALUE, (HANDLER)(rastspace) },
636
+ /*{ "\\!*", -2, 99,NOVALUE, (HANDLER)(rastspace) },*/
637
+ { "\\quad", 6, NOVALUE,NOVALUE, (HANDLER)(rastspace) },
638
+ { "\\qquad",10, NOVALUE,NOVALUE, (HANDLER)(rastspace) },
639
+ { "\\hspace",0, NOVALUE,NOVALUE, (HANDLER)(rastspace) },
640
+ { "\\hspace*",0, 99,NOVALUE, (HANDLER)(rastspace) },
641
+ { "\\vspace",0, NOVALUE, 1, (HANDLER)(rastspace) },
642
+ { "\\hfill",0, 1,NOVALUE, (HANDLER)(rastspace) },
643
+ /* --- newline --- */
644
+ { "\\\\", NOVALUE,NOVALUE,NOVALUE, (HANDLER)(rastnewline) },
645
+ /* --- arrows --- */
646
+ { "\\longrightarrow", 1,0,NOVALUE, (HANDLER)(rastarrow) },
647
+ { "\\Longrightarrow", 1,1,NOVALUE, (HANDLER)(rastarrow) },
648
+ { "\\longleftarrow", -1,0,NOVALUE, (HANDLER)(rastarrow) },
649
+ { "\\Longleftarrow", -1,1,NOVALUE, (HANDLER)(rastarrow) },
650
+ { "\\longleftrightarrow",0,0,NOVALUE, (HANDLER)(rastarrow) },
651
+ { "\\Longleftrightarrow",0,1,NOVALUE, (HANDLER)(rastarrow) },
652
+ { "\\longuparrow", 1,0,NOVALUE, (HANDLER)(rastuparrow) },
653
+ { "\\Longuparrow", 1,1,NOVALUE, (HANDLER)(rastuparrow) },
654
+ { "\\longdownarrow", -1,0,NOVALUE, (HANDLER)(rastuparrow) },
655
+ { "\\Longdownarrow", -1,1,NOVALUE, (HANDLER)(rastuparrow) },
656
+ { "\\longupdownarrow", 0,0,NOVALUE, (HANDLER)(rastuparrow) },
657
+ { "\\Longupdownarrow", 0,1,NOVALUE, (HANDLER)(rastuparrow) },
658
+ /* --- modes and values --- */
659
+ { "\\cal", 1, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
660
+ { "\\mathcal", 1, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
661
+ { "\\scr", 2, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
662
+ { "\\mathscr", 2, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
663
+ { "\\mathfrak", 2, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
664
+ { "\\mathbb", 5, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
665
+ { "\\rm", 3, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
666
+ { "\\text", 3, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
667
+ { "\\textrm", 3, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
668
+ { "\\mathrm", 7, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
669
+ { "\\cyr", 8, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
670
+ { "\\mathbf", 6, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
671
+ { "\\bf", 6, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
672
+ { "\\mathtt", 3, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
673
+ { "\\mathsf", 3, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
674
+ { "\\mbox", 3, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
675
+ { "\\operatorname", 3, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
676
+ { "\\it", 4, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
677
+ { "\\textit", 4, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
678
+ { "\\mathit", 4, NOVALUE,NOVALUE, (HANDLER)(rastfont) },
679
+ { "\\rm", ISFONTFAM, 3,NOVALUE, (HANDLER)(rastflags) },
680
+ { "\\it", ISFONTFAM, 4,NOVALUE, (HANDLER)(rastflags) },
681
+ { "\\sl", ISFONTFAM, 4,NOVALUE, (HANDLER)(rastflags) },
682
+ { "\\bb", ISFONTFAM, 5,NOVALUE, (HANDLER)(rastflags) },
683
+ { "\\bf", ISFONTFAM, 6,NOVALUE, (HANDLER)(rastflags) },
684
+ { "\\text", ISFONTFAM, 3,NOVALUE, (HANDLER)(rastflags) },
685
+ { "\\math", ISFONTFAM, 0,NOVALUE, (HANDLER)(rastflags) },
686
+ { "\\ascii", ISSTRING, 1,NOVALUE, (HANDLER)(rastflags) },
687
+ { "\\image", ISSTRING, 0,NOVALUE, (HANDLER)(rastflags) },
688
+ { "\\limits", ISDISPLAYSTYLE, 2,NOVALUE, (HANDLER)(rastflags) },
689
+ { "\\nolimits", ISDISPLAYSTYLE, 0,NOVALUE, (HANDLER)(rastflags) },
690
+ { "\\displaystyle",ISDISPLAYSTYLE, 2,NOVALUE, (HANDLER)(rastflags) },
691
+ { "\\textstyle", ISDISPLAYSTYLE, 0,NOVALUE, (HANDLER)(rastflags) },
692
+ { "\\displaysize",ISDISPLAYSIZE,NOVALUE,NOVALUE,(HANDLER)(rastflags)},
693
+ { "\\tiny", ISFONTSIZE, 0,NOVALUE, (HANDLER)(rastflags) },
694
+ { "\\scriptsize",ISFONTSIZE, 0,NOVALUE, (HANDLER)(rastflags) },
695
+ { "\\footnotesize",ISFONTSIZE, 1,NOVALUE, (HANDLER)(rastflags) },
696
+ { "\\small", ISFONTSIZE, 1,NOVALUE, (HANDLER)(rastflags) },
697
+ { "\\normalsize",ISFONTSIZE, 2,NOVALUE, (HANDLER)(rastflags) },
698
+ { "\\large", ISFONTSIZE, 3,NOVALUE, (HANDLER)(rastflags) },
699
+ { "\\Large", ISFONTSIZE, 4,NOVALUE, (HANDLER)(rastflags) },
700
+ { "\\LARGE", ISFONTSIZE, 5,NOVALUE, (HANDLER)(rastflags) },
701
+ { "\\huge", ISFONTSIZE, 6,NOVALUE, (HANDLER)(rastflags) },
702
+ { "\\Huge", ISFONTSIZE, 7,NOVALUE, (HANDLER)(rastflags) },
703
+ { "\\HUGE", ISFONTSIZE, 7,NOVALUE, (HANDLER)(rastflags) },
704
+ { "\\fontsize", ISFONTSIZE, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
705
+ { "\\fs", ISFONTSIZE, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
706
+ { "\\shrinkfactor",ISSHRINK, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
707
+ { "\\sf", ISSHRINK, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
708
+ { "\\light", ISWEIGHT, 0,NOVALUE, (HANDLER)(rastflags) },
709
+ { "\\regular", ISWEIGHT, 1,NOVALUE, (HANDLER)(rastflags) },
710
+ { "\\semibold", ISWEIGHT, 2,NOVALUE, (HANDLER)(rastflags) },
711
+ { "\\bold", ISWEIGHT, 3,NOVALUE, (HANDLER)(rastflags) },
712
+ { "\\fontweight",ISWEIGHT, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
713
+ { "\\fw", ISWEIGHT, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
714
+ { "\\centerwt", ISCENTERWT, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
715
+ { "\\adjacentwt",ISADJACENTWT,NOVALUE,NOVALUE,(HANDLER)(rastflags) },
716
+ { "\\cornerwt", ISCORNERWT, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
717
+ { "\\ssampling", ISSUPER, 1,NOVALUE, (HANDLER)(rastflags) },
718
+ { "\\lowpass", ISSUPER, 0,NOVALUE, (HANDLER)(rastflags) },
719
+ { "\\aaalg",ISAAALGORITHM, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
720
+ { "\\pnmparams",PNMPARAMS, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
721
+ { "\\gammacorrection",ISGAMMA,NOVALUE,NOVALUE,(HANDLER)(rastflags) },
722
+ { "\\nocontenttype",ISCONTENTTYPE, 0,NOVALUE, (HANDLER)(rastflags) },
723
+ { "\\opaque", ISOPAQUE, 0,NOVALUE, (HANDLER)(rastflags) },
724
+ { "\\transparent",ISOPAQUE, 1,NOVALUE, (HANDLER)(rastflags) },
725
+ { "\\squash", ISSMASH, 3,1, (HANDLER)(rastflags) },
726
+ { "\\smash", ISSMASH, 3,1, (HANDLER)(rastflags) },
727
+ { "\\nosquash", ISSMASH, 0,NOVALUE, (HANDLER)(rastflags) },
728
+ { "\\nosmash", ISSMASH, 0,NOVALUE, (HANDLER)(rastflags) },
729
+ { "\\squashmargin",ISSMASH, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
730
+ { "\\smashmargin", ISSMASH, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
731
+ { "\\unitlength",UNITLENGTH, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
732
+ { "\\reverse", ISREVERSE, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
733
+ { "\\reversefg", ISREVERSE, 1,NOVALUE, (HANDLER)(rastflags) },
734
+ { "\\reversebg", ISREVERSE, 2,NOVALUE, (HANDLER)(rastflags) },
735
+ { "\\color", ISCOLOR, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
736
+ { "\\red", ISCOLOR, 1,NOVALUE, (HANDLER)(rastflags) },
737
+ { "\\green", ISCOLOR, 2,NOVALUE, (HANDLER)(rastflags) },
738
+ { "\\blue", ISCOLOR, 3,NOVALUE, (HANDLER)(rastflags) },
739
+ { "\\black", ISCOLOR, 0,NOVALUE, (HANDLER)(rastflags) },
740
+ { "\\white", ISCOLOR, 7,NOVALUE, (HANDLER)(rastflags) },
741
+ /* --- accents --- */
742
+ { "\\vec", VECACCENT, 1, 0, (HANDLER)(rastaccent) },
743
+ { "\\widevec", VECACCENT, 1, 0, (HANDLER)(rastaccent) },
744
+ { "\\bar", BARACCENT, 1, 0, (HANDLER)(rastaccent) },
745
+ { "\\widebar", BARACCENT, 1, 0, (HANDLER)(rastaccent) },
746
+ { "\\hat", HATACCENT, 1, 0, (HANDLER)(rastaccent) },
747
+ { "\\widehat", HATACCENT, 1, 0, (HANDLER)(rastaccent) },
748
+ { "\\tilde", TILDEACCENT, 1, 0, (HANDLER)(rastaccent) },
749
+ { "\\widetilde",TILDEACCENT,1, 0, (HANDLER)(rastaccent) },
750
+ { "\\dot", DOTACCENT, 1, 0, (HANDLER)(rastaccent) },
751
+ { "\\widedot", DOTACCENT, 1, 0, (HANDLER)(rastaccent) },
752
+ { "\\ddot", DDOTACCENT, 1, 0, (HANDLER)(rastaccent) },
753
+ { "\\wideddot",DDOTACCENT,1, 0, (HANDLER)(rastaccent) },
754
+ /* --- math functions --- */
755
+ { "\\arccos", 1, 0, NOVALUE, (HANDLER)(rastmathfunc) },
756
+ { "\\arcsin", 2, 0, NOVALUE, (HANDLER)(rastmathfunc) },
757
+ { "\\arctan", 3, 0, NOVALUE, (HANDLER)(rastmathfunc) },
758
+ { "\\arg", 4, 0, NOVALUE, (HANDLER)(rastmathfunc) },
759
+ { "\\cos", 5, 0, NOVALUE, (HANDLER)(rastmathfunc) },
760
+ { "\\cosh", 6, 0, NOVALUE, (HANDLER)(rastmathfunc) },
761
+ { "\\cot", 7, 0, NOVALUE, (HANDLER)(rastmathfunc) },
762
+ { "\\coth", 8, 0, NOVALUE, (HANDLER)(rastmathfunc) },
763
+ { "\\csc", 9, 0, NOVALUE, (HANDLER)(rastmathfunc) },
764
+ { "\\deg", 10, 0, NOVALUE, (HANDLER)(rastmathfunc) },
765
+ { "\\det", 11, 1, NOVALUE, (HANDLER)(rastmathfunc) },
766
+ { "\\dim", 12, 0, NOVALUE, (HANDLER)(rastmathfunc) },
767
+ { "\\exp", 13, 0, NOVALUE, (HANDLER)(rastmathfunc) },
768
+ { "\\gcd", 14, 1, NOVALUE, (HANDLER)(rastmathfunc) },
769
+ { "\\hom", 15, 0, NOVALUE, (HANDLER)(rastmathfunc) },
770
+ { "\\inf", 16, 1, NOVALUE, (HANDLER)(rastmathfunc) },
771
+ { "\\ker", 17, 0, NOVALUE, (HANDLER)(rastmathfunc) },
772
+ { "\\lg", 18, 0, NOVALUE, (HANDLER)(rastmathfunc) },
773
+ { "\\lim", 19, 1, NOVALUE, (HANDLER)(rastmathfunc) },
774
+ { "\\liminf", 20, 1, NOVALUE, (HANDLER)(rastmathfunc) },
775
+ { "\\limsup", 21, 1, NOVALUE, (HANDLER)(rastmathfunc) },
776
+ { "\\ln", 22, 0, NOVALUE, (HANDLER)(rastmathfunc) },
777
+ { "\\log", 23, 0, NOVALUE, (HANDLER)(rastmathfunc) },
778
+ { "\\max", 24, 1, NOVALUE, (HANDLER)(rastmathfunc) },
779
+ { "\\min", 25, 1, NOVALUE, (HANDLER)(rastmathfunc) },
780
+ { "\\Pr", 26, 1, NOVALUE, (HANDLER)(rastmathfunc) },
781
+ { "\\sec", 27, 0, NOVALUE, (HANDLER)(rastmathfunc) },
782
+ { "\\sin", 28, 0, NOVALUE, (HANDLER)(rastmathfunc) },
783
+ { "\\sinh", 29, 0, NOVALUE, (HANDLER)(rastmathfunc) },
784
+ { "\\sup", 30, 1, NOVALUE, (HANDLER)(rastmathfunc) },
785
+ { "\\tan", 31, 0, NOVALUE, (HANDLER)(rastmathfunc) },
786
+ { "\\tanh", 32, 0, NOVALUE, (HANDLER)(rastmathfunc) },
787
+ { "\\tr", 33, 0, NOVALUE, (HANDLER)(rastmathfunc) },
788
+ { "\\pmod", 34, 0, NOVALUE, (HANDLER)(rastmathfunc) },
789
+ /* --- flush -- recognized but not yet handled by mimeTeX --- */
790
+ { "\\nooperation",0,NOVALUE,NOVALUE, (HANDLER)(rastnoop) },
791
+ { "\\bigskip", 0, NOVALUE,NOVALUE, (HANDLER)(rastnoop) },
792
+ { "\\phantom", 1, NOVALUE,NOVALUE, (HANDLER)(rastnoop) },
793
+ { "\\nocaching", 0, NOVALUE,NOVALUE, (HANDLER)(rastnoop) },
794
+ { "\\noconten", 0, NOVALUE,NOVALUE, (HANDLER)(rastnoop) },
795
+ { "\\nonumber", 0, NOVALUE,NOVALUE, (HANDLER)(rastnoop) },
796
+ /* { "\\!", 0, NOVALUE,NOVALUE, (HANDLER)(rastnoop) }, */
797
+ { "\\cydot", 0, NOVALUE,NOVALUE, (HANDLER)(rastnoop) },
798
+ /* --------------------- C M M I --------------------------
799
+ symbol charnum family class function
800
+ -------------------------------------------------------- */
801
+ /* --- uppercase greek letters --- */
802
+ { "\\Gamma", 0, CMMI10, VARIABLE, NULL },
803
+ { "\\Delta", 1, CMMI10, VARIABLE, NULL },
804
+ { "\\Theta", 2, CMMI10, VARIABLE, NULL },
805
+ { "\\Lambda", 3, CMMI10, VARIABLE, NULL },
806
+ { "\\Xi", 4, CMMI10, VARIABLE, NULL },
807
+ { "\\Pi", 5, CMMI10, VARIABLE, NULL },
808
+ { "\\Sigma", 6, CMMI10, VARIABLE, NULL },
809
+ { "\\smallsum", 6, CMMI10, OPERATOR, NULL },
810
+ { "\\Upsilon", 7, CMMI10, VARIABLE, NULL },
811
+ { "\\Phi", 8, CMMI10, VARIABLE, NULL },
812
+ { "\\Psi", 9, CMMI10, VARIABLE, NULL },
813
+ { "\\Omega", 10, CMMI10, VARIABLE, NULL },
814
+ /* --- lowercase greek letters --- */
815
+ { "\\alpha", 11, CMMI10, VARIABLE, NULL },
816
+ { "\\beta", 12, CMMI10, VARIABLE, NULL },
817
+ { "\\gamma", 13, CMMI10, VARIABLE, NULL },
818
+ { "\\delta", 14, CMMI10, VARIABLE, NULL },
819
+ { "\\epsilon", 15, CMMI10, VARIABLE, NULL },
820
+ { "\\zeta", 16, CMMI10, VARIABLE, NULL },
821
+ { "\\eta", 17, CMMI10, VARIABLE, NULL },
822
+ { "\\theta", 18, CMMI10, VARIABLE, NULL },
823
+ { "\\iota", 19, CMMI10, VARIABLE, NULL },
824
+ { "\\kappa", 20, CMMI10, VARIABLE, NULL },
825
+ { "\\lambda", 21, CMMI10, VARIABLE, NULL },
826
+ { "\\mu", 22, CMMI10, VARIABLE, NULL },
827
+ { "\\nu", 23, CMMI10, VARIABLE, NULL },
828
+ { "\\xi", 24, CMMI10, VARIABLE, NULL },
829
+ { "\\pi", 25, CMMI10, VARIABLE, NULL },
830
+ { "\\rho", 26, CMMI10, VARIABLE, NULL },
831
+ { "\\sigma", 27, CMMI10, VARIABLE, NULL },
832
+ { "\\tau", 28, CMMI10, VARIABLE, NULL },
833
+ { "\\upsilon", 29, CMMI10, VARIABLE, NULL },
834
+ { "\\phi", 30, CMMI10, VARIABLE, NULL },
835
+ { "\\chi", 31, CMMI10, VARIABLE, NULL },
836
+ { "\\psi", 32, CMMI10, VARIABLE, NULL },
837
+ { "\\omega", 33, CMMI10, VARIABLE, NULL },
838
+ { "\\varepsilon", 34, CMMI10, VARIABLE, NULL },
839
+ { "\\vartheta", 35, CMMI10, VARIABLE, NULL },
840
+ { "\\varpi", 36, CMMI10, VARIABLE, NULL },
841
+ { "\\varrho", 37, CMMI10, VARIABLE, NULL },
842
+ { "\\varsigma", 38, CMMI10, VARIABLE, NULL },
843
+ { "\\varphi", 39, CMMI10, VARIABLE, NULL },
844
+ /* --- arrow relations --- */
845
+ { "\\leftharpoonup", 40, CMMI10, ARROW, NULL },
846
+ { "\\leftharpoondown", 41, CMMI10, ARROW, NULL },
847
+ { "\\rightharpoonup", 42, CMMI10, ARROW, NULL },
848
+ { "\\rightharpoondown", 43, CMMI10, ARROW, NULL },
849
+ /* --- punctuation --- */
850
+ { "`", 44, CMMI10, PUNCTION, NULL },
851
+ { "\'", 45, CMMI10, PUNCTION, NULL },
852
+ /* --- triangle binary relations --- */
853
+ { "\\triangleright", 46, CMMI10, RELATION, NULL },
854
+ { "\\triangleleft", 47, CMMI10, RELATION, NULL },
855
+ /* --- digits 0-9 --- */
856
+ { "\\0", 48, CMMI10, ORDINARY, NULL },
857
+ { "\\1", 49, CMMI10, ORDINARY, NULL },
858
+ { "\\2", 50, CMMI10, ORDINARY, NULL },
859
+ { "\\3", 51, CMMI10, ORDINARY, NULL },
860
+ { "\\4", 52, CMMI10, ORDINARY, NULL },
861
+ { "\\5", 53, CMMI10, ORDINARY, NULL },
862
+ { "\\6", 54, CMMI10, ORDINARY, NULL },
863
+ { "\\7", 55, CMMI10, ORDINARY, NULL },
864
+ { "\\8", 56, CMMI10, ORDINARY, NULL },
865
+ { "\\9", 57, CMMI10, ORDINARY, NULL },
866
+ /* --- punctuation --- */
867
+ { ".", 58, CMMI10, PUNCTION, NULL },
868
+ { ",", 59, CMMI10, PUNCTION, NULL },
869
+ /* --- operations (some ordinary) --- */
870
+ { "<", 60, CMMI10, OPENING, NULL },
871
+ { "\\<", 60, CMMI10, OPENING, NULL },
872
+ { "\\lt", 60, CMMI10, OPENING, NULL },
873
+ { "/", 61, CMMI10, BINARYOP, NULL },
874
+ { ">", 62, CMMI10, CLOSING, NULL },
875
+ { "\\>", 62, CMMI10, CLOSING, NULL },
876
+ { "\\gt", 62, CMMI10, CLOSING, NULL },
877
+ { "\\star", 63, CMMI10, BINARYOP, NULL },
878
+ { "\\partial", 64, CMMI10, VARIABLE, NULL },
879
+ /* --- uppercase letters --- */
880
+ { "A", 65, CMMI10, VARIABLE, NULL },
881
+ { "B", 66, CMMI10, VARIABLE, NULL },
882
+ { "C", 67, CMMI10, VARIABLE, NULL },
883
+ { "D", 68, CMMI10, VARIABLE, NULL },
884
+ { "E", 69, CMMI10, VARIABLE, NULL },
885
+ { "F", 70, CMMI10, VARIABLE, NULL },
886
+ { "G", 71, CMMI10, VARIABLE, NULL },
887
+ { "H", 72, CMMI10, VARIABLE, NULL },
888
+ { "I", 73, CMMI10, VARIABLE, NULL },
889
+ { "J", 74, CMMI10, VARIABLE, NULL },
890
+ { "K", 75, CMMI10, VARIABLE, NULL },
891
+ { "L", 76, CMMI10, VARIABLE, NULL },
892
+ { "M", 77, CMMI10, VARIABLE, NULL },
893
+ { "N", 78, CMMI10, VARIABLE, NULL },
894
+ { "O", 79, CMMI10, VARIABLE, NULL },
895
+ { "P", 80, CMMI10, VARIABLE, NULL },
896
+ { "Q", 81, CMMI10, VARIABLE, NULL },
897
+ { "R", 82, CMMI10, VARIABLE, NULL },
898
+ { "S", 83, CMMI10, VARIABLE, NULL },
899
+ { "T", 84, CMMI10, VARIABLE, NULL },
900
+ { "U", 85, CMMI10, VARIABLE, NULL },
901
+ { "V", 86, CMMI10, VARIABLE, NULL },
902
+ { "W", 87, CMMI10, VARIABLE, NULL },
903
+ { "X", 88, CMMI10, VARIABLE, NULL },
904
+ { "Y", 89, CMMI10, VARIABLE, NULL },
905
+ { "Z", 90, CMMI10, VARIABLE, NULL },
906
+ /* --- miscellaneous symbols and relations --- */
907
+ { "\\flat", 91, CMMI10, ORDINARY, NULL },
908
+ { "\\natural", 92, CMMI10, ORDINARY, NULL },
909
+ { "\\sharp", 93, CMMI10, ORDINARY, NULL },
910
+ { "\\smile", 94, CMMI10, RELATION, NULL },
911
+ { "\\frown", 95, CMMI10, RELATION, NULL },
912
+ { "\\ell", 96, CMMI10, ORDINARY, NULL },
913
+ /* --- lowercase letters --- */
914
+ { "a", 97, CMMI10, VARIABLE, NULL },
915
+ { "b", 98, CMMI10, VARIABLE, NULL },
916
+ { "c", 99, CMMI10, VARIABLE, NULL },
917
+ { "d", 100, CMMI10, VARIABLE, NULL },
918
+ { "e", 101, CMMI10, VARIABLE, NULL },
919
+ { "f", 102, CMMI10, VARIABLE, NULL },
920
+ { "g", 103, CMMI10, VARIABLE, NULL },
921
+ { "h", 104, CMMI10, VARIABLE, NULL },
922
+ { "i", 105, CMMI10, VARIABLE, NULL },
923
+ { "j", 106, CMMI10, VARIABLE, NULL },
924
+ { "k", 107, CMMI10, VARIABLE, NULL },
925
+ { "l", 108, CMMI10, VARIABLE, NULL },
926
+ { "m", 109, CMMI10, VARIABLE, NULL },
927
+ { "n", 110, CMMI10, VARIABLE, NULL },
928
+ { "o", 111, CMMI10, VARIABLE, NULL },
929
+ { "p", 112, CMMI10, VARIABLE, NULL },
930
+ { "q", 113, CMMI10, VARIABLE, NULL },
931
+ { "r", 114, CMMI10, VARIABLE, NULL },
932
+ { "s", 115, CMMI10, VARIABLE, NULL },
933
+ { "t", 116, CMMI10, VARIABLE, NULL },
934
+ { "u", 117, CMMI10, VARIABLE, NULL },
935
+ { "v", 118, CMMI10, VARIABLE, NULL },
936
+ { "w", 119, CMMI10, VARIABLE, NULL },
937
+ { "x", 120, CMMI10, VARIABLE, NULL },
938
+ { "y", 121, CMMI10, VARIABLE, NULL },
939
+ { "z", 122, CMMI10, VARIABLE, NULL },
940
+ /* --- miscellaneous symbols and relations --- */
941
+ { "\\imath", 123, CMMI10, VARIABLE, NULL },
942
+ { "\\jmath", 124, CMMI10, VARIABLE, NULL },
943
+ { "\\wp", 125, CMMI10, ORDINARY, NULL },
944
+ { "\\vec", 126, CMMI10, ORDINARY, NULL },
945
+ /* --------------------- C M M I B ------------------------
946
+ symbol charnum family class function
947
+ -------------------------------------------------------- */
948
+ /* --- uppercase greek letters --- */
949
+ { "\\Gamma", 0, CMMIB10, VARIABLE, NULL },
950
+ { "\\Delta", 1, CMMIB10, VARIABLE, NULL },
951
+ { "\\Theta", 2, CMMIB10, VARIABLE, NULL },
952
+ { "\\Lambda", 3, CMMIB10, VARIABLE, NULL },
953
+ { "\\Xi", 4, CMMIB10, VARIABLE, NULL },
954
+ { "\\Pi", 5, CMMIB10, VARIABLE, NULL },
955
+ { "\\Sigma", 6, CMMIB10, VARIABLE, NULL },
956
+ { "\\smallsum", 6, CMMIB10, OPERATOR, NULL },
957
+ { "\\Upsilon", 7, CMMIB10, VARIABLE, NULL },
958
+ { "\\Phi", 8, CMMIB10, VARIABLE, NULL },
959
+ { "\\Psi", 9, CMMIB10, VARIABLE, NULL },
960
+ { "\\Omega", 10, CMMIB10, VARIABLE, NULL },
961
+ /* --- lowercase greek letters --- */
962
+ { "\\alpha", 11, CMMIB10, VARIABLE, NULL },
963
+ { "\\beta", 12, CMMIB10, VARIABLE, NULL },
964
+ { "\\gamma", 13, CMMIB10, VARIABLE, NULL },
965
+ { "\\delta", 14, CMMIB10, VARIABLE, NULL },
966
+ { "\\epsilon", 15, CMMIB10, VARIABLE, NULL },
967
+ { "\\zeta", 16, CMMIB10, VARIABLE, NULL },
968
+ { "\\eta", 17, CMMIB10, VARIABLE, NULL },
969
+ { "\\theta", 18, CMMIB10, VARIABLE, NULL },
970
+ { "\\iota", 19, CMMIB10, VARIABLE, NULL },
971
+ { "\\kappa", 20, CMMIB10, VARIABLE, NULL },
972
+ { "\\lambda", 21, CMMIB10, VARIABLE, NULL },
973
+ { "\\mu", 22, CMMIB10, VARIABLE, NULL },
974
+ { "\\nu", 23, CMMIB10, VARIABLE, NULL },
975
+ { "\\xi", 24, CMMIB10, VARIABLE, NULL },
976
+ { "\\pi", 25, CMMIB10, VARIABLE, NULL },
977
+ { "\\rho", 26, CMMIB10, VARIABLE, NULL },
978
+ { "\\sigma", 27, CMMIB10, VARIABLE, NULL },
979
+ { "\\tau", 28, CMMIB10, VARIABLE, NULL },
980
+ { "\\upsilon", 29, CMMIB10, VARIABLE, NULL },
981
+ { "\\phi", 30, CMMIB10, VARIABLE, NULL },
982
+ { "\\chi", 31, CMMIB10, VARIABLE, NULL },
983
+ { "\\psi", 32, CMMIB10, VARIABLE, NULL },
984
+ { "\\omega", 33, CMMIB10, VARIABLE, NULL },
985
+ { "\\varepsilon", 34, CMMIB10, VARIABLE, NULL },
986
+ { "\\vartheta", 35, CMMIB10, VARIABLE, NULL },
987
+ { "\\varpi", 36, CMMIB10, VARIABLE, NULL },
988
+ { "\\varrho", 37, CMMIB10, VARIABLE, NULL },
989
+ { "\\varsigma", 38, CMMIB10, VARIABLE, NULL },
990
+ { "\\varphi", 39, CMMIB10, VARIABLE, NULL },
991
+ /* --- arrow relations --- */
992
+ { "\\bfleftharpoonup", 40, CMMIB10, ARROW, NULL },
993
+ { "\\bfleftharpoondown",41, CMMIB10, ARROW, NULL },
994
+ { "\\bfrightharpoonup", 42, CMMIB10, ARROW, NULL },
995
+ { "\\bfrightharpoondown",43,CMMIB10, ARROW, NULL },
996
+ /* --- punctuation --- */
997
+ { "`", 44, CMMIB10, PUNCTION, NULL },
998
+ { "\'", 45, CMMIB10, PUNCTION, NULL },
999
+ /* --- triangle binary relations --- */
1000
+ { "\\triangleright", 46, CMMIB10, RELATION, NULL },
1001
+ { "\\triangleleft", 47, CMMIB10, RELATION, NULL },
1002
+ /* --- digits 0-9 --- */
1003
+ { "\\0", 48, CMMIB10, ORDINARY, NULL },
1004
+ { "\\1", 49, CMMIB10, ORDINARY, NULL },
1005
+ { "\\2", 50, CMMIB10, ORDINARY, NULL },
1006
+ { "\\3", 51, CMMIB10, ORDINARY, NULL },
1007
+ { "\\4", 52, CMMIB10, ORDINARY, NULL },
1008
+ { "\\5", 53, CMMIB10, ORDINARY, NULL },
1009
+ { "\\6", 54, CMMIB10, ORDINARY, NULL },
1010
+ { "\\7", 55, CMMIB10, ORDINARY, NULL },
1011
+ { "\\8", 56, CMMIB10, ORDINARY, NULL },
1012
+ { "\\9", 57, CMMIB10, ORDINARY, NULL },
1013
+ /* --- punctuation --- */
1014
+ { ".", 58, CMMIB10, PUNCTION, NULL },
1015
+ { ",", 59, CMMIB10, PUNCTION, NULL },
1016
+ /* --- operations (some ordinary) --- */
1017
+ { "<", 60, CMMIB10, OPENING, NULL },
1018
+ { "\\lt", 60, CMMIB10, OPENING, NULL },
1019
+ { "/", 61, CMMIB10, BINARYOP, NULL },
1020
+ { ">", 62, CMMIB10, CLOSING, NULL },
1021
+ { "\\gt", 62, CMMIB10, CLOSING, NULL },
1022
+ { "\\star", 63, CMMIB10, BINARYOP, NULL },
1023
+ { "\\partial", 64, CMMIB10, VARIABLE, NULL },
1024
+ /* --- uppercase letters --- */
1025
+ { "A", 65, CMMIB10, VARIABLE, NULL },
1026
+ { "B", 66, CMMIB10, VARIABLE, NULL },
1027
+ { "C", 67, CMMIB10, VARIABLE, NULL },
1028
+ { "D", 68, CMMIB10, VARIABLE, NULL },
1029
+ { "E", 69, CMMIB10, VARIABLE, NULL },
1030
+ { "F", 70, CMMIB10, VARIABLE, NULL },
1031
+ { "G", 71, CMMIB10, VARIABLE, NULL },
1032
+ { "H", 72, CMMIB10, VARIABLE, NULL },
1033
+ { "I", 73, CMMIB10, VARIABLE, NULL },
1034
+ { "J", 74, CMMIB10, VARIABLE, NULL },
1035
+ { "K", 75, CMMIB10, VARIABLE, NULL },
1036
+ { "L", 76, CMMIB10, VARIABLE, NULL },
1037
+ { "M", 77, CMMIB10, VARIABLE, NULL },
1038
+ { "N", 78, CMMIB10, VARIABLE, NULL },
1039
+ { "O", 79, CMMIB10, VARIABLE, NULL },
1040
+ { "P", 80, CMMIB10, VARIABLE, NULL },
1041
+ { "Q", 81, CMMIB10, VARIABLE, NULL },
1042
+ { "R", 82, CMMIB10, VARIABLE, NULL },
1043
+ { "S", 83, CMMIB10, VARIABLE, NULL },
1044
+ { "T", 84, CMMIB10, VARIABLE, NULL },
1045
+ { "U", 85, CMMIB10, VARIABLE, NULL },
1046
+ { "V", 86, CMMIB10, VARIABLE, NULL },
1047
+ { "W", 87, CMMIB10, VARIABLE, NULL },
1048
+ { "X", 88, CMMIB10, VARIABLE, NULL },
1049
+ { "Y", 89, CMMIB10, VARIABLE, NULL },
1050
+ { "Z", 90, CMMIB10, VARIABLE, NULL },
1051
+ /* --- miscellaneous symbols and relations --- */
1052
+ { "\\flat", 91, CMMIB10, ORDINARY, NULL },
1053
+ { "\\natural", 92, CMMIB10, ORDINARY, NULL },
1054
+ { "\\sharp", 93, CMMIB10, ORDINARY, NULL },
1055
+ { "\\smile", 94, CMMIB10, RELATION, NULL },
1056
+ { "\\frown", 95, CMMIB10, RELATION, NULL },
1057
+ { "\\ell", 96, CMMIB10, ORDINARY, NULL },
1058
+ /* --- lowercase letters --- */
1059
+ { "a", 97, CMMIB10, VARIABLE, NULL },
1060
+ { "b", 98, CMMIB10, VARIABLE, NULL },
1061
+ { "c", 99, CMMIB10, VARIABLE, NULL },
1062
+ { "d", 100, CMMIB10, VARIABLE, NULL },
1063
+ { "e", 101, CMMIB10, VARIABLE, NULL },
1064
+ { "f", 102, CMMIB10, VARIABLE, NULL },
1065
+ { "g", 103, CMMIB10, VARIABLE, NULL },
1066
+ { "h", 104, CMMIB10, VARIABLE, NULL },
1067
+ { "i", 105, CMMIB10, VARIABLE, NULL },
1068
+ { "j", 106, CMMIB10, VARIABLE, NULL },
1069
+ { "k", 107, CMMIB10, VARIABLE, NULL },
1070
+ { "l", 108, CMMIB10, VARIABLE, NULL },
1071
+ { "m", 109, CMMIB10, VARIABLE, NULL },
1072
+ { "n", 110, CMMIB10, VARIABLE, NULL },
1073
+ { "o", 111, CMMIB10, VARIABLE, NULL },
1074
+ { "p", 112, CMMIB10, VARIABLE, NULL },
1075
+ { "q", 113, CMMIB10, VARIABLE, NULL },
1076
+ { "r", 114, CMMIB10, VARIABLE, NULL },
1077
+ { "s", 115, CMMIB10, VARIABLE, NULL },
1078
+ { "t", 116, CMMIB10, VARIABLE, NULL },
1079
+ { "u", 117, CMMIB10, VARIABLE, NULL },
1080
+ { "v", 118, CMMIB10, VARIABLE, NULL },
1081
+ { "w", 119, CMMIB10, VARIABLE, NULL },
1082
+ { "x", 120, CMMIB10, VARIABLE, NULL },
1083
+ { "y", 121, CMMIB10, VARIABLE, NULL },
1084
+ { "z", 122, CMMIB10, VARIABLE, NULL },
1085
+ /* --- miscellaneous symbols and relations --- */
1086
+ { "\\imath", 123, CMMIB10, VARIABLE, NULL },
1087
+ { "\\jmath", 124, CMMIB10, VARIABLE, NULL },
1088
+ { "\\wp", 125, CMMIB10, ORDINARY, NULL },
1089
+ { "\\bfvec", 126, CMMIB10, ORDINARY, NULL },
1090
+ /* --------------------- C M S Y --------------------------
1091
+ symbol charnum family class function
1092
+ -------------------------------------------------------- */
1093
+ /* --- operations --- */
1094
+ { "-", 0, CMSY10, BINARYOP, NULL },
1095
+ { "\\cdot", 1, CMSY10, BINARYOP, NULL },
1096
+ { "\\times", 2, CMSY10, BINARYOP, NULL },
1097
+ { "\\ast", 3, CMSY10, BINARYOP, NULL },
1098
+ { "\\div", 4, CMSY10, BINARYOP, NULL },
1099
+ { "\\diamond", 5, CMSY10, BINARYOP, NULL },
1100
+ { "\\pm", 6, CMSY10, BINARYOP, NULL },
1101
+ { "\\mp", 7, CMSY10, BINARYOP, NULL },
1102
+ { "\\oplus", 8, CMSY10, BINARYOP, NULL },
1103
+ { "\\ominus", 9, CMSY10, BINARYOP, NULL },
1104
+ { "\\otimes", 10, CMSY10, BINARYOP, NULL },
1105
+ { "\\oslash", 11, CMSY10, BINARYOP, NULL },
1106
+ { "\\odot", 12, CMSY10, BINARYOP, NULL },
1107
+ { "\\bigcirc", 13, CMSY10, BINARYOP, NULL },
1108
+ { "\\circ", 14, CMSY10, BINARYOP, NULL },
1109
+ { "\\bullet", 15, CMSY10, BINARYOP, NULL },
1110
+ /* --- relations --- */
1111
+ { "\\asymp", 16, CMSY10, RELATION, NULL },
1112
+ { "\\equiv", 17, CMSY10, RELATION, NULL },
1113
+ { "\\subseteq", 18, CMSY10, RELATION, NULL },
1114
+ { "\\supseteq", 19, CMSY10, RELATION, NULL },
1115
+ { "\\leq", 20, CMSY10, RELATION, NULL },
1116
+ { "\\geq", 21, CMSY10, RELATION, NULL },
1117
+ { "\\preceq", 22, CMSY10, RELATION, NULL },
1118
+ { "\\succeq", 23, CMSY10, RELATION, NULL },
1119
+ { "\\sim", 24, CMSY10, RELATION, NULL },
1120
+ { "\\approx", 25, CMSY10, RELATION, NULL },
1121
+ { "\\subset", 26, CMSY10, RELATION, NULL },
1122
+ { "\\supset", 27, CMSY10, RELATION, NULL },
1123
+ { "\\ll", 28, CMSY10, RELATION, NULL },
1124
+ { "\\gg", 29, CMSY10, RELATION, NULL },
1125
+ { "\\prec", 30, CMSY10, RELATION, NULL },
1126
+ { "\\succ", 31, CMSY10, RELATION, NULL },
1127
+ /* --- (mostly) arrows --- */
1128
+ { "\\leftarrow", 32, CMSY10, ARROW, NULL },
1129
+ { "\\rightarrow", 33, CMSY10, ARROW, NULL },
1130
+ { "\\to", 33, CMSY10, ARROW, NULL },
1131
+ { "\\mapsto", 33, CMSY10, ARROW, NULL },
1132
+ { "\\uparrow", 34, CMSY10, ARROW, NULL },
1133
+ { "\\downarrow", 35, CMSY10, ARROW, NULL },
1134
+ { "\\leftrightarrow", 36, CMSY10, ARROW, NULL },
1135
+ { "\\nearrow", 37, CMSY10, ARROW, NULL },
1136
+ { "\\searrow", 38, CMSY10, ARROW, NULL },
1137
+ { "\\simeq", 39, CMSY10, RELATION, NULL },
1138
+ { "\\Leftarrow", 40, CMSY10, ARROW, NULL },
1139
+ { "\\Rightarrow", 41, CMSY10, ARROW, NULL },
1140
+ { "\\Uparrow", 42, CMSY10, ARROW, NULL },
1141
+ { "\\Downarrow", 43, CMSY10, ARROW, NULL },
1142
+ { "\\Leftrightarrow", 44, CMSY10, ARROW, NULL },
1143
+ { "\\nwarrow", 45, CMSY10, ARROW, NULL },
1144
+ { "\\swarrow", 46, CMSY10, ARROW, NULL },
1145
+ { "\\propto", 47, CMSY10, RELATION, NULL },
1146
+ /* --- symbols --- */
1147
+ { "\\prime", 48, CMSY10, ORDINARY, NULL },
1148
+ { "\\infty", 49, CMSY10, ORDINARY, NULL },
1149
+ /* --- relations --- */
1150
+ { "\\in", 50, CMSY10, RELATION, NULL },
1151
+ { "\\ni", 51, CMSY10, RELATION, NULL },
1152
+ /* --- symbols --- */
1153
+ { "\\triangle", 52, CMSY10, ORDINARY, NULL },
1154
+ { "\\bigtriangleup", 52, CMSY10, ORDINARY, NULL },
1155
+ { "\\bigtriangledown", 53, CMSY10, ORDINARY, NULL },
1156
+ { "\\boldslash", 54, CMSY10, BINARYOP, NULL },
1157
+ { "\\'", 55, CMSY10, ORDINARY, NULL },
1158
+ { "\\forall", 56, CMSY10, OPERATOR, NULL },
1159
+ { "\\exists", 57, CMSY10, OPERATOR, NULL },
1160
+ { "\\neg", 58, CMSY10, OPERATOR, NULL },
1161
+ { "\\emptyset", 59, CMSY10, ORDINARY, NULL },
1162
+ { "\\Re", 60, CMSY10, ORDINARY, NULL },
1163
+ { "\\Im", 61, CMSY10, ORDINARY, NULL },
1164
+ { "\\top", 62, CMSY10, ORDINARY, NULL },
1165
+ { "\\bot", 63, CMSY10, ORDINARY, NULL },
1166
+ { "\\perp", 63, CMSY10, BINARYOP, NULL },
1167
+ { "\\aleph", 64, CMSY10, ORDINARY, NULL },
1168
+ /* --- calligraphic letters (we use \\calA...\\calZ --- */
1169
+ { "\\calA", 65, CMSY10, VARIABLE, NULL },
1170
+ { "\\calB", 66, CMSY10, VARIABLE, NULL },
1171
+ { "\\calC", 67, CMSY10, VARIABLE, NULL },
1172
+ { "\\calD", 68, CMSY10, VARIABLE, NULL },
1173
+ { "\\calE", 69, CMSY10, VARIABLE, NULL },
1174
+ { "\\calF", 70, CMSY10, VARIABLE, NULL },
1175
+ { "\\calG", 71, CMSY10, VARIABLE, NULL },
1176
+ { "\\calH", 72, CMSY10, VARIABLE, NULL },
1177
+ { "\\calI", 73, CMSY10, VARIABLE, NULL },
1178
+ { "\\calJ", 74, CMSY10, VARIABLE, NULL },
1179
+ { "\\calK", 75, CMSY10, VARIABLE, NULL },
1180
+ { "\\calL", 76, CMSY10, VARIABLE, NULL },
1181
+ { "\\calM", 77, CMSY10, VARIABLE, NULL },
1182
+ { "\\calN", 78, CMSY10, VARIABLE, NULL },
1183
+ { "\\calO", 79, CMSY10, VARIABLE, NULL },
1184
+ { "\\calP", 80, CMSY10, VARIABLE, NULL },
1185
+ { "\\calQ", 81, CMSY10, VARIABLE, NULL },
1186
+ { "\\calR", 82, CMSY10, VARIABLE, NULL },
1187
+ { "\\calS", 83, CMSY10, VARIABLE, NULL },
1188
+ { "\\calT", 84, CMSY10, VARIABLE, NULL },
1189
+ { "\\calU", 85, CMSY10, VARIABLE, NULL },
1190
+ { "\\calV", 86, CMSY10, VARIABLE, NULL },
1191
+ { "\\calW", 87, CMSY10, VARIABLE, NULL },
1192
+ { "\\calX", 88, CMSY10, VARIABLE, NULL },
1193
+ { "\\calY", 89, CMSY10, VARIABLE, NULL },
1194
+ { "\\calZ", 90, CMSY10, VARIABLE, NULL },
1195
+ { "A", 65, CMSY10, VARIABLE, NULL },
1196
+ { "B", 66, CMSY10, VARIABLE, NULL },
1197
+ { "C", 67, CMSY10, VARIABLE, NULL },
1198
+ { "D", 68, CMSY10, VARIABLE, NULL },
1199
+ { "E", 69, CMSY10, VARIABLE, NULL },
1200
+ { "F", 70, CMSY10, VARIABLE, NULL },
1201
+ { "G", 71, CMSY10, VARIABLE, NULL },
1202
+ { "H", 72, CMSY10, VARIABLE, NULL },
1203
+ { "I", 73, CMSY10, VARIABLE, NULL },
1204
+ { "J", 74, CMSY10, VARIABLE, NULL },
1205
+ { "K", 75, CMSY10, VARIABLE, NULL },
1206
+ { "L", 76, CMSY10, VARIABLE, NULL },
1207
+ { "M", 77, CMSY10, VARIABLE, NULL },
1208
+ { "N", 78, CMSY10, VARIABLE, NULL },
1209
+ { "O", 79, CMSY10, VARIABLE, NULL },
1210
+ { "P", 80, CMSY10, VARIABLE, NULL },
1211
+ { "Q", 81, CMSY10, VARIABLE, NULL },
1212
+ { "R", 82, CMSY10, VARIABLE, NULL },
1213
+ { "S", 83, CMSY10, VARIABLE, NULL },
1214
+ { "T", 84, CMSY10, VARIABLE, NULL },
1215
+ { "U", 85, CMSY10, VARIABLE, NULL },
1216
+ { "V", 86, CMSY10, VARIABLE, NULL },
1217
+ { "W", 87, CMSY10, VARIABLE, NULL },
1218
+ { "X", 88, CMSY10, VARIABLE, NULL },
1219
+ { "Y", 89, CMSY10, VARIABLE, NULL },
1220
+ { "Z", 90, CMSY10, VARIABLE, NULL },
1221
+ /* --- operations and relations --- */
1222
+ { "\\cup", 91, CMSY10, OPERATOR, NULL },
1223
+ { "\\cap", 92, CMSY10, OPERATOR, NULL },
1224
+ { "\\uplus", 93, CMSY10, OPERATOR, NULL },
1225
+ { "\\wedge", 94, CMSY10, OPERATOR, NULL },
1226
+ { "\\vee", 95, CMSY10, OPERATOR, NULL },
1227
+ { "\\vdash", 96, CMSY10, RELATION, NULL },
1228
+ { "\\dashv", 97, CMSY10, RELATION, NULL },
1229
+ /* --- brackets --- */
1230
+ { "\\lfloor", 98, CMSY10, OPENING, NULL },
1231
+ { "\\rfloor", 99, CMSY10, CLOSING, NULL },
1232
+ { "\\lceil", 100, CMSY10, OPENING, NULL },
1233
+ { "\\rceil", 101, CMSY10, CLOSING, NULL },
1234
+ { "\\lbrace", 102, CMSY10, OPENING, NULL },
1235
+ { "{", 102, CMSY10, OPENING, NULL },
1236
+ { "\\{", 102, CMSY10, OPENING, NULL },
1237
+ { "\\rbrace", 103, CMSY10, CLOSING, NULL },
1238
+ { "}", 103, CMSY10, CLOSING, NULL },
1239
+ { "\\}", 103, CMSY10, CLOSING, NULL },
1240
+ { "\\langle", 104, CMSY10, OPENING, NULL },
1241
+ { "\\rangle", 105, CMSY10, CLOSING, NULL },
1242
+ { "\\mid", 106, CMSY10, ORDINARY, NULL },
1243
+ { "|", 106, CMSY10, BINARYOP, NULL },
1244
+ { "\\parallel", 107, CMSY10, BINARYOP, NULL },
1245
+ { "\\|", 107, CMSY10, BINARYOP, NULL },
1246
+ /* --- arrows --- */
1247
+ { "\\updownarrow", 108, CMSY10, ARROW, NULL },
1248
+ { "\\Updownarrow", 109, CMSY10, ARROW, NULL },
1249
+ /* --- symbols and operations and relations --- */
1250
+ { "\\setminus", 110, CMSY10, BINARYOP, NULL },
1251
+ { "\\backslash", 110, CMSY10, BINARYOP, NULL },
1252
+ { "\\wr", 111, CMSY10, BINARYOP, NULL },
1253
+ { "\\surd", 112, CMSY10, OPERATOR, NULL },
1254
+ { "\\amalg", 113, CMSY10, BINARYOP, NULL },
1255
+ { "\\nabla", 114, CMSY10, VARIABLE, NULL },
1256
+ { "\\smallint", 115, CMSY10, OPERATOR, NULL },
1257
+ { "\\sqcup", 116, CMSY10, OPERATOR, NULL },
1258
+ { "\\sqcap", 117, CMSY10, OPERATOR, NULL },
1259
+ { "\\sqsubseteq", 118, CMSY10, RELATION, NULL },
1260
+ { "\\sqsupseteq", 119, CMSY10, RELATION, NULL },
1261
+ /* --- special characters --- */
1262
+ { "\\S", 120, CMSY10, ORDINARY, NULL },
1263
+ { "\\dag", 121, CMSY10, ORDINARY, NULL },
1264
+ { "\\dagger", 121, CMSY10, ORDINARY, NULL },
1265
+ { "\\ddag", 122, CMSY10, ORDINARY, NULL },
1266
+ { "\\ddagger", 122, CMSY10, ORDINARY, NULL },
1267
+ { "\\P", 123, CMSY10, ORDINARY, NULL },
1268
+ { "\\clubsuit", 124, CMSY10, ORDINARY, NULL },
1269
+ { "\\Diamond", 125, CMSY10, ORDINARY, NULL },
1270
+ { "\\Heart", 126, CMSY10, ORDINARY, NULL },
1271
+ { "\\spadesuit", 127, CMSY10, ORDINARY, NULL },
1272
+ /* ---------------------- C M R ---------------------------
1273
+ symbol charnum family class function
1274
+ -------------------------------------------------------- */
1275
+ /* --- uppercase greek letters --- */
1276
+ { "\\Gamma", 0, CMR10, VARIABLE, NULL },
1277
+ { "\\Delta", 1, CMR10, VARIABLE, NULL },
1278
+ { "\\Theta", 2, CMR10, VARIABLE, NULL },
1279
+ { "\\Lambda", 3, CMR10, VARIABLE, NULL },
1280
+ { "\\Xi", 4, CMR10, VARIABLE, NULL },
1281
+ { "\\Pi", 5, CMR10, VARIABLE, NULL },
1282
+ { "\\Sigma", 6, CMR10, VARIABLE, NULL },
1283
+ { "\\smallsum", 6, CMR10, OPERATOR, NULL },
1284
+ { "\\Upsilon", 7, CMR10, VARIABLE, NULL },
1285
+ { "\\Phi", 8, CMR10, VARIABLE, NULL },
1286
+ { "\\Psi", 9, CMR10, VARIABLE, NULL },
1287
+ { "\\Omega", 10, CMR10, VARIABLE, NULL },
1288
+ /* --- --- */
1289
+ { "\\ff", 11, CMR10, ORDINARY, NULL },
1290
+ { "\\fi", 12, CMR10, ORDINARY, NULL },
1291
+ { "\\fl", 13, CMR10, ORDINARY, NULL },
1292
+ { "\\ffi", 14, CMR10, ORDINARY, NULL },
1293
+ { "\\ffl", 15, CMR10, ORDINARY, NULL },
1294
+ { "\\imath", 16, CMR10, ORDINARY, NULL },
1295
+ { "\\jmath", 17, CMR10, ORDINARY, NULL },
1296
+ /* --- foreign letters --- */
1297
+ { "\\ss", 25, CMR10, ORDINARY, NULL },
1298
+ { "\\ae", 26, CMR10, ORDINARY, NULL },
1299
+ { "\\oe", 27, CMR10, ORDINARY, NULL },
1300
+ { "\\AE", 29, CMR10, ORDINARY, NULL },
1301
+ { "\\OE", 30, CMR10, ORDINARY, NULL },
1302
+ /* --- digits 0-9 --- */
1303
+ { "0", 48, CMR10, ORDINARY, NULL },
1304
+ { "1", 49, CMR10, ORDINARY, NULL },
1305
+ { "2", 50, CMR10, ORDINARY, NULL },
1306
+ { "3", 51, CMR10, ORDINARY, NULL },
1307
+ { "4", 52, CMR10, ORDINARY, NULL },
1308
+ { "5", 53, CMR10, ORDINARY, NULL },
1309
+ { "6", 54, CMR10, ORDINARY, NULL },
1310
+ { "7", 55, CMR10, ORDINARY, NULL },
1311
+ { "8", 56, CMR10, ORDINARY, NULL },
1312
+ { "9", 57, CMR10, ORDINARY, NULL },
1313
+ /* --- symbols, relations, etc --- */
1314
+ { "\\gravesym", 18, CMR10, ORDINARY, NULL },
1315
+ { "\\acutesym", 19, CMR10, ORDINARY, NULL },
1316
+ { "\\checksym", 20, CMR10, ORDINARY, NULL },
1317
+ { "\\brevesym", 21, CMR10, ORDINARY, NULL },
1318
+ { "!", 33, CMR10, BINARYOP, NULL },
1319
+ { "\"", 34, CMR10, ORDINARY, NULL },
1320
+ { "\\quote", 34, CMR10, ORDINARY, NULL },
1321
+ { "#", 35, CMR10, BINARYOP, NULL },
1322
+ { "\\#", 35, CMR10, BINARYOP, NULL },
1323
+ { "$", 36, CMR10, BINARYOP, NULL },
1324
+ { "\\$", 36, CMR10, BINARYOP, NULL },
1325
+ { "%", 37, CMR10, BINARYOP, NULL },
1326
+ { "\\%", 37, CMR10, BINARYOP, NULL },
1327
+ { "\\percent", 37, CMR10, BINARYOP, NULL },
1328
+ { "&", 38, CMR10, BINARYOP, NULL },
1329
+ { "\\&", 38, CMR10, BINARYOP, NULL },
1330
+ { "\'", 39, CMR10, BINARYOP, NULL },
1331
+ { "\\\'", 39, CMR10, BINARYOP, NULL },
1332
+ { "\\apostrophe", 39, CMR10, ORDINARY, NULL },
1333
+ { "(", 40, CMR10, OPENING, NULL },
1334
+ { "\\(", 40, CMR10, OPENING, NULL },
1335
+ { ")", 41, CMR10, CLOSING, NULL },
1336
+ { "\\)", 41, CMR10, CLOSING, NULL },
1337
+ { "*", 42, CMR10, BINARYOP, NULL },
1338
+ { "+", 43, CMR10, BINARYOP, NULL },
1339
+ { "/", 47, CMR10, BINARYOP, NULL },
1340
+ { ":", 58, CMR10, ORDINARY, NULL },
1341
+ { ";", 59, CMR10, ORDINARY, NULL },
1342
+ { "=", 61, CMR10, RELATION, NULL },
1343
+ { "?", 63, CMR10, BINARYOP, NULL },
1344
+ { "@", 64, CMR10, BINARYOP, NULL },
1345
+ { "[", 91, CMR10, OPENING, NULL },
1346
+ { "\\[", 91, CMR10, OPENING, NULL },
1347
+ { "]", 93, CMR10, CLOSING, NULL },
1348
+ { "\\]", 93, CMR10, CLOSING, NULL },
1349
+ { "\\^", 94, CMR10, BINARYOP, NULL },
1350
+ { "\\~", 126, CMR10, OPERATOR, NULL },
1351
+ /* --- uppercase letters --- */
1352
+ { "A", 65, CMR10, VARIABLE, NULL },
1353
+ { "B", 66, CMR10, VARIABLE, NULL },
1354
+ { "C", 67, CMR10, VARIABLE, NULL },
1355
+ { "D", 68, CMR10, VARIABLE, NULL },
1356
+ { "E", 69, CMR10, VARIABLE, NULL },
1357
+ { "F", 70, CMR10, VARIABLE, NULL },
1358
+ { "G", 71, CMR10, VARIABLE, NULL },
1359
+ { "H", 72, CMR10, VARIABLE, NULL },
1360
+ { "I", 73, CMR10, VARIABLE, NULL },
1361
+ { "J", 74, CMR10, VARIABLE, NULL },
1362
+ { "K", 75, CMR10, VARIABLE, NULL },
1363
+ { "L", 76, CMR10, VARIABLE, NULL },
1364
+ { "M", 77, CMR10, VARIABLE, NULL },
1365
+ { "N", 78, CMR10, VARIABLE, NULL },
1366
+ { "O", 79, CMR10, VARIABLE, NULL },
1367
+ { "P", 80, CMR10, VARIABLE, NULL },
1368
+ { "Q", 81, CMR10, VARIABLE, NULL },
1369
+ { "R", 82, CMR10, VARIABLE, NULL },
1370
+ { "S", 83, CMR10, VARIABLE, NULL },
1371
+ { "T", 84, CMR10, VARIABLE, NULL },
1372
+ { "U", 85, CMR10, VARIABLE, NULL },
1373
+ { "V", 86, CMR10, VARIABLE, NULL },
1374
+ { "W", 87, CMR10, VARIABLE, NULL },
1375
+ { "X", 88, CMR10, VARIABLE, NULL },
1376
+ { "Y", 89, CMR10, VARIABLE, NULL },
1377
+ { "Z", 90, CMR10, VARIABLE, NULL },
1378
+ /* --- lowercase letters --- */
1379
+ { "a", 97, CMR10, VARIABLE, NULL },
1380
+ { "b", 98, CMR10, VARIABLE, NULL },
1381
+ { "c", 99, CMR10, VARIABLE, NULL },
1382
+ { "d", 100, CMR10, VARIABLE, NULL },
1383
+ { "e", 101, CMR10, VARIABLE, NULL },
1384
+ { "f", 102, CMR10, VARIABLE, NULL },
1385
+ { "g", 103, CMR10, VARIABLE, NULL },
1386
+ { "h", 104, CMR10, VARIABLE, NULL },
1387
+ { "i", 105, CMR10, VARIABLE, NULL },
1388
+ { "j", 106, CMR10, VARIABLE, NULL },
1389
+ { "k", 107, CMR10, VARIABLE, NULL },
1390
+ { "l", 108, CMR10, VARIABLE, NULL },
1391
+ { "m", 109, CMR10, VARIABLE, NULL },
1392
+ { "n", 110, CMR10, VARIABLE, NULL },
1393
+ { "o", 111, CMR10, VARIABLE, NULL },
1394
+ { "p", 112, CMR10, VARIABLE, NULL },
1395
+ { "q", 113, CMR10, VARIABLE, NULL },
1396
+ { "r", 114, CMR10, VARIABLE, NULL },
1397
+ { "s", 115, CMR10, VARIABLE, NULL },
1398
+ { "t", 116, CMR10, VARIABLE, NULL },
1399
+ { "u", 117, CMR10, VARIABLE, NULL },
1400
+ { "v", 118, CMR10, VARIABLE, NULL },
1401
+ { "w", 119, CMR10, VARIABLE, NULL },
1402
+ { "x", 120, CMR10, VARIABLE, NULL },
1403
+ { "y", 121, CMR10, VARIABLE, NULL },
1404
+ { "z", 122, CMR10, VARIABLE, NULL },
1405
+ /* --------------------- C M E X --------------------------
1406
+ symbol charnum family class function
1407
+ -------------------------------------------------------- */
1408
+ /* --- parens ()'s --- */
1409
+ { "\\big(", 0, CMEX10, OPENING, NULL },
1410
+ { "\\big)", 1, CMEX10, CLOSING, NULL },
1411
+ { "\\Big(", 16, CMEX10, OPENING, NULL },
1412
+ { "\\Big)", 17, CMEX10, CLOSING, NULL },
1413
+ { "\\bigg(", 18, CMEX10, OPENING, NULL },
1414
+ { "\\bigg)", 19, CMEX10, CLOSING, NULL },
1415
+ { "\\Bigg(", 32, CMEX10, OPENING, NULL },
1416
+ { "\\Bigg)", 33, CMEX10, CLOSING, NULL },
1417
+ { "\\bigl(", 0, CMEX10, OPENING, NULL },
1418
+ { "\\bigr)", 1, CMEX10, CLOSING, NULL },
1419
+ { "\\Bigl(", 16, CMEX10, OPENING, NULL },
1420
+ { "\\Bigr)", 17, CMEX10, CLOSING, NULL },
1421
+ { "\\biggl(", 18, CMEX10, OPENING, NULL },
1422
+ { "\\biggr)", 19, CMEX10, CLOSING, NULL },
1423
+ { "\\Biggl(", 32, CMEX10, OPENING, NULL },
1424
+ { "\\Biggr)", 33, CMEX10, CLOSING, NULL },
1425
+ /* --- brackets []'s --- */
1426
+ { "\\big[", 2, CMEX10, OPENING, NULL },
1427
+ { "\\big]", 3, CMEX10, CLOSING, NULL },
1428
+ { "\\bigg[", 20, CMEX10, OPENING, NULL },
1429
+ { "\\bigg]", 21, CMEX10, CLOSING, NULL },
1430
+ { "\\Bigg[", 34, CMEX10, OPENING, NULL },
1431
+ { "\\Bigg]", 35, CMEX10, CLOSING, NULL },
1432
+ { "\\Big[", 104, CMEX10, OPENING, NULL },
1433
+ { "\\Big]", 105, CMEX10, CLOSING, NULL },
1434
+ { "\\bigl[", 2, CMEX10, OPENING, NULL },
1435
+ { "\\bigr]", 3, CMEX10, CLOSING, NULL },
1436
+ { "\\biggl[", 20, CMEX10, OPENING, NULL },
1437
+ { "\\biggr]", 21, CMEX10, CLOSING, NULL },
1438
+ { "\\Biggl[", 34, CMEX10, OPENING, NULL },
1439
+ { "\\Biggr]", 35, CMEX10, CLOSING, NULL },
1440
+ { "\\Bigl[", 104, CMEX10, OPENING, NULL },
1441
+ { "\\Bigr]", 105, CMEX10, CLOSING, NULL },
1442
+ /* --- braces {}'s --- */
1443
+ { "\\big{", 8, CMEX10, OPENING, NULL },
1444
+ { "\\big}", 9, CMEX10, CLOSING, NULL },
1445
+ { "\\bigg{", 26, CMEX10, OPENING, NULL },
1446
+ { "\\bigg}", 27, CMEX10, CLOSING, NULL },
1447
+ { "\\Bigg{", 40, CMEX10, OPENING, NULL },
1448
+ { "\\Bigg}", 41, CMEX10, CLOSING, NULL },
1449
+ { "\\Big{", 110, CMEX10, OPENING, NULL },
1450
+ { "\\Big}", 111, CMEX10, CLOSING, NULL },
1451
+ { "\\bigl{", 8, CMEX10, OPENING, NULL },
1452
+ { "\\bigr}", 9, CMEX10, CLOSING, NULL },
1453
+ { "\\biggl{", 26, CMEX10, OPENING, NULL },
1454
+ { "\\biggr}", 27, CMEX10, CLOSING, NULL },
1455
+ { "\\Biggl{", 40, CMEX10, OPENING, NULL },
1456
+ { "\\Biggr}", 41, CMEX10, CLOSING, NULL },
1457
+ { "\\Bigl{", 110, CMEX10, OPENING, NULL },
1458
+ { "\\Bigr}", 111, CMEX10, CLOSING, NULL },
1459
+ { "\\big\\{", 8, CMEX10, OPENING, NULL },
1460
+ { "\\big\\}", 9, CMEX10, CLOSING, NULL },
1461
+ { "\\bigg\\{", 26, CMEX10, OPENING, NULL },
1462
+ { "\\bigg\\}", 27, CMEX10, CLOSING, NULL },
1463
+ { "\\Bigg\\{", 40, CMEX10, OPENING, NULL },
1464
+ { "\\Bigg\\}", 41, CMEX10, CLOSING, NULL },
1465
+ { "\\Big\\{", 110, CMEX10, OPENING, NULL },
1466
+ { "\\Big\\}", 111, CMEX10, CLOSING, NULL },
1467
+ { "\\bigl\\{", 8, CMEX10, OPENING, NULL },
1468
+ { "\\bigr\\}", 9, CMEX10, CLOSING, NULL },
1469
+ { "\\biggl\\{", 26, CMEX10, OPENING, NULL },
1470
+ { "\\biggr\\}", 27, CMEX10, CLOSING, NULL },
1471
+ { "\\Biggl\\{", 40, CMEX10, OPENING, NULL },
1472
+ { "\\Biggr\\}", 41, CMEX10, CLOSING, NULL },
1473
+ { "\\Bigl\\{", 110, CMEX10, OPENING, NULL },
1474
+ { "\\Bigr\\}", 111, CMEX10, CLOSING, NULL },
1475
+ { "\\big\\lbrace", 8, CMEX10, OPENING, NULL },
1476
+ { "\\big\\rbrace", 9, CMEX10, CLOSING, NULL },
1477
+ { "\\bigg\\lbrace", 26, CMEX10, OPENING, NULL },
1478
+ { "\\bigg\\rbrace", 27, CMEX10, CLOSING, NULL },
1479
+ { "\\Bigg\\lbrace", 40, CMEX10, OPENING, NULL },
1480
+ { "\\Bigg\\rbrace", 41, CMEX10, CLOSING, NULL },
1481
+ { "\\Big\\lbrace", 110, CMEX10, OPENING, NULL },
1482
+ { "\\Big\\rbrace", 111, CMEX10, CLOSING, NULL },
1483
+ /* --- angles <>'s --- */
1484
+ { "\\big<", 10, CMEX10, OPENING, NULL },
1485
+ { "\\big>", 11, CMEX10, CLOSING, NULL },
1486
+ { "\\bigg<", 28, CMEX10, OPENING, NULL },
1487
+ { "\\bigg>", 29, CMEX10, CLOSING, NULL },
1488
+ { "\\Bigg<", 42, CMEX10, OPENING, NULL },
1489
+ { "\\Bigg>", 43, CMEX10, CLOSING, NULL },
1490
+ { "\\Big<", 68, CMEX10, OPENING, NULL },
1491
+ { "\\Big>", 69, CMEX10, CLOSING, NULL },
1492
+ { "\\bigl<", 10, CMEX10, OPENING, NULL },
1493
+ { "\\bigr>", 11, CMEX10, CLOSING, NULL },
1494
+ { "\\biggl<", 28, CMEX10, OPENING, NULL },
1495
+ { "\\biggr>", 29, CMEX10, CLOSING, NULL },
1496
+ { "\\Biggl<", 42, CMEX10, OPENING, NULL },
1497
+ { "\\Biggr>", 43, CMEX10, CLOSING, NULL },
1498
+ { "\\Bigl<", 68, CMEX10, OPENING, NULL },
1499
+ { "\\Bigr>", 69, CMEX10, CLOSING, NULL },
1500
+ { "\\big\\langle", 10, CMEX10, OPENING, NULL },
1501
+ { "\\big\\rangle", 11, CMEX10, CLOSING, NULL },
1502
+ { "\\bigg\\langle", 28, CMEX10, OPENING, NULL },
1503
+ { "\\bigg\\rangle", 29, CMEX10, CLOSING, NULL },
1504
+ { "\\Bigg\\langle", 42, CMEX10, OPENING, NULL },
1505
+ { "\\Bigg\\rangle", 43, CMEX10, CLOSING, NULL },
1506
+ { "\\Big\\langle", 68, CMEX10, OPENING, NULL },
1507
+ { "\\Big\\rangle", 69, CMEX10, CLOSING, NULL },
1508
+ /* --- hats ^ --- */
1509
+ { "^", 98, CMEX10, OPERATOR, NULL },
1510
+ { "^", 99, CMEX10, OPERATOR, NULL },
1511
+ { "^", 100, CMEX10, OPERATOR, NULL },
1512
+ /* --- tildes --- */
1513
+ { "~", 101, CMEX10, OPERATOR, NULL },
1514
+ { "~", 102, CMEX10, OPERATOR, NULL },
1515
+ { "~", 103, CMEX10, OPERATOR, NULL },
1516
+ /* --- /'s --- */
1517
+ { "/", 44, CMEX10, OPENING, NULL },
1518
+ { "/", 46, CMEX10, OPENING, NULL },
1519
+ { "\\", 45, CMEX10, OPENING, NULL },
1520
+ { "\\", 47, CMEX10, OPENING, NULL },
1521
+ /* --- \sum, \int and other (displaymath) symbols --- */
1522
+ { "\\bigsqcup", 70, CMEX10, LOWERBIG, NULL },
1523
+ { "\\Bigsqcup", 71, CMEX10, UPPERBIG, NULL },
1524
+ { "\\oint", 72, CMEX10, OPERATOR, NULL },
1525
+ { "\\bigoint", 72, CMEX10, LOWERBIG, NULL },
1526
+ { "\\Bigoint", 73, CMEX10, UPPERBIG, NULL },
1527
+ { "\\bigodot", 74, CMEX10, LOWERBIG, NULL },
1528
+ { "\\Bigodot", 75, CMEX10, UPPERBIG, NULL },
1529
+ { "\\bigoplus", 76, CMEX10, LOWERBIG, NULL },
1530
+ { "\\Bigoplus", 77, CMEX10, UPPERBIG, NULL },
1531
+ { "\\bigotimes", 78, CMEX10, LOWERBIG, NULL },
1532
+ { "\\Bigotimes", 79, CMEX10, UPPERBIG, NULL },
1533
+ { "\\sum", 80, CMEX10, OPERATOR, NULL },
1534
+ { "\\bigsum", 80, CMEX10, LOWERBIG, NULL },
1535
+ { "\\prod", 81, CMEX10, OPERATOR, NULL },
1536
+ { "\\bigprod", 81, CMEX10, LOWERBIG, NULL },
1537
+ { "\\int", 82, CMEX10, OPERATOR, NULL },
1538
+ { "\\bigint", 82, CMEX10, LOWERBIG, NULL },
1539
+ { "\\bigcup", 83, CMEX10, LOWERBIG, NULL },
1540
+ { "\\bigcap", 84, CMEX10, LOWERBIG, NULL },
1541
+ { "\\biguplus", 85, CMEX10, LOWERBIG, NULL },
1542
+ { "\\bigwedge", 86, CMEX10, LOWERBIG, NULL },
1543
+ { "\\bigvee", 87, CMEX10, LOWERBIG, NULL },
1544
+ { "\\Bigsum", 88, CMEX10, UPPERBIG, NULL },
1545
+ { "\\big\\sum", 88, CMEX10, UPPERBIG, NULL },
1546
+ { "\\Big\\sum", 88, CMEX10, UPPERBIG, NULL },
1547
+ { "\\bigg\\sum", 88, CMEX10, UPPERBIG, NULL },
1548
+ { "\\Bigg\\sum", 88, CMEX10, UPPERBIG, NULL },
1549
+ { "\\Bigprod", 89, CMEX10, UPPERBIG, NULL },
1550
+ { "\\Bigint", 90, CMEX10, UPPERBIG, NULL },
1551
+ { "\\big\\int", 90, CMEX10, UPPERBIG, NULL },
1552
+ { "\\Big\\int", 90, CMEX10, UPPERBIG, NULL },
1553
+ { "\\bigg\\int", 90, CMEX10, UPPERBIG, NULL },
1554
+ { "\\Bigg\\int", 90, CMEX10, UPPERBIG, NULL },
1555
+ { "\\Bigcup", 91, CMEX10, UPPERBIG, NULL },
1556
+ { "\\Bigcap", 92, CMEX10, UPPERBIG, NULL },
1557
+ { "\\Biguplus", 93, CMEX10, UPPERBIG, NULL },
1558
+ { "\\Bigwedge", 94, CMEX10, UPPERBIG, NULL },
1559
+ { "\\Bigvee", 95, CMEX10, UPPERBIG, NULL },
1560
+ { "\\coprod", 96, CMEX10, LOWERBIG, NULL },
1561
+ { "\\bigcoprod", 96, CMEX10, LOWERBIG, NULL },
1562
+ { "\\Bigcoprod", 97, CMEX10, UPPERBIG, NULL },
1563
+ /* --- symbol pieces (see TeXbook page 432) --- */
1564
+ { "\\leftbracetop", 56, CMEX10, OPENING, NULL },
1565
+ { "\\rightbracetop",57, CMEX10, CLOSING, NULL },
1566
+ { "\\leftbracebot", 58, CMEX10, OPENING, NULL },
1567
+ { "\\rightbracebot",59, CMEX10, CLOSING, NULL },
1568
+ { "\\leftbracemid", 60, CMEX10, OPENING, NULL },
1569
+ { "\\rightbracemid",61, CMEX10, CLOSING, NULL },
1570
+ { "\\leftbracebar", 62, CMEX10, OPENING, NULL },
1571
+ { "\\rightbracebar",62, CMEX10, CLOSING, NULL },
1572
+ { "\\leftparentop", 48, CMEX10, OPENING, NULL },
1573
+ { "\\rightparentop",49, CMEX10, CLOSING, NULL },
1574
+ { "\\leftparenbot", 64, CMEX10, OPENING, NULL },
1575
+ { "\\rightparenbot",65, CMEX10, CLOSING, NULL },
1576
+ { "\\leftparenbar", 66, CMEX10, OPENING, NULL },
1577
+ { "\\rightparenbar",67, CMEX10, CLOSING, NULL },
1578
+ /* --------------------- R S F S --------------------------
1579
+ symbol charnum family class function
1580
+ -------------------------------------------------------- */
1581
+ /* --- rsfs script letters (written as \scr{A...Z}) --- */
1582
+ { "A", 0, RSFS10, VARIABLE, NULL },
1583
+ { "B", 1, RSFS10, VARIABLE, NULL },
1584
+ { "C", 2, RSFS10, VARIABLE, NULL },
1585
+ { "D", 3, RSFS10, VARIABLE, NULL },
1586
+ { "E", 4, RSFS10, VARIABLE, NULL },
1587
+ { "F", 5, RSFS10, VARIABLE, NULL },
1588
+ { "G", 6, RSFS10, VARIABLE, NULL },
1589
+ { "H", 7, RSFS10, VARIABLE, NULL },
1590
+ { "I", 8, RSFS10, VARIABLE, NULL },
1591
+ { "J", 9, RSFS10, VARIABLE, NULL },
1592
+ { "K", 10, RSFS10, VARIABLE, NULL },
1593
+ { "L", 11, RSFS10, VARIABLE, NULL },
1594
+ { "M", 12, RSFS10, VARIABLE, NULL },
1595
+ { "N", 13, RSFS10, VARIABLE, NULL },
1596
+ { "O", 14, RSFS10, VARIABLE, NULL },
1597
+ { "P", 15, RSFS10, VARIABLE, NULL },
1598
+ { "Q", 16, RSFS10, VARIABLE, NULL },
1599
+ { "R", 17, RSFS10, VARIABLE, NULL },
1600
+ { "S", 18, RSFS10, VARIABLE, NULL },
1601
+ { "T", 19, RSFS10, VARIABLE, NULL },
1602
+ { "U", 20, RSFS10, VARIABLE, NULL },
1603
+ { "V", 21, RSFS10, VARIABLE, NULL },
1604
+ { "W", 22, RSFS10, VARIABLE, NULL },
1605
+ { "X", 23, RSFS10, VARIABLE, NULL },
1606
+ { "Y", 24, RSFS10, VARIABLE, NULL },
1607
+ { "Z", 25, RSFS10, VARIABLE, NULL },
1608
+ /* --- rsfs script letters (written as \scrA...\scrZ) --- */
1609
+ { "\\scrA", 0, RSFS10, VARIABLE, NULL },
1610
+ { "\\scrB", 1, RSFS10, VARIABLE, NULL },
1611
+ { "\\scrC", 2, RSFS10, VARIABLE, NULL },
1612
+ { "\\scrD", 3, RSFS10, VARIABLE, NULL },
1613
+ { "\\scrE", 4, RSFS10, VARIABLE, NULL },
1614
+ { "\\scrF", 5, RSFS10, VARIABLE, NULL },
1615
+ { "\\scrG", 6, RSFS10, VARIABLE, NULL },
1616
+ { "\\scrH", 7, RSFS10, VARIABLE, NULL },
1617
+ { "\\scrI", 8, RSFS10, VARIABLE, NULL },
1618
+ { "\\scrJ", 9, RSFS10, VARIABLE, NULL },
1619
+ { "\\scrK", 10, RSFS10, VARIABLE, NULL },
1620
+ { "\\scrL", 11, RSFS10, VARIABLE, NULL },
1621
+ { "\\scrM", 12, RSFS10, VARIABLE, NULL },
1622
+ { "\\scrN", 13, RSFS10, VARIABLE, NULL },
1623
+ { "\\scrO", 14, RSFS10, VARIABLE, NULL },
1624
+ { "\\scrP", 15, RSFS10, VARIABLE, NULL },
1625
+ { "\\scrQ", 16, RSFS10, VARIABLE, NULL },
1626
+ { "\\scrR", 17, RSFS10, VARIABLE, NULL },
1627
+ { "\\scrS", 18, RSFS10, VARIABLE, NULL },
1628
+ { "\\scrT", 19, RSFS10, VARIABLE, NULL },
1629
+ { "\\scrU", 20, RSFS10, VARIABLE, NULL },
1630
+ { "\\scrV", 21, RSFS10, VARIABLE, NULL },
1631
+ { "\\scrW", 22, RSFS10, VARIABLE, NULL },
1632
+ { "\\scrX", 23, RSFS10, VARIABLE, NULL },
1633
+ { "\\scrY", 24, RSFS10, VARIABLE, NULL },
1634
+ { "\\scrZ", 25, RSFS10, VARIABLE, NULL },
1635
+ /* -------------------- B B O L D -------------------------
1636
+ symbol charnum family class function
1637
+ -------------------------------------------------------- */
1638
+ /* --- uppercase greek letters --- */
1639
+ { "\\Gamma", 0, BBOLD10, VARIABLE, NULL },
1640
+ { "\\Delta", 1, BBOLD10, VARIABLE, NULL },
1641
+ { "\\Theta", 2, BBOLD10, VARIABLE, NULL },
1642
+ { "\\Lambda", 3, BBOLD10, VARIABLE, NULL },
1643
+ { "\\Xi", 4, BBOLD10, VARIABLE, NULL },
1644
+ { "\\Pi", 5, BBOLD10, VARIABLE, NULL },
1645
+ { "\\Sigma", 6, BBOLD10, VARIABLE, NULL },
1646
+ { "\\smallsum", 6, BBOLD10, OPERATOR, NULL },
1647
+ { "\\Upsilon", 7, BBOLD10, VARIABLE, NULL },
1648
+ { "\\Phi", 8, BBOLD10, VARIABLE, NULL },
1649
+ { "\\Psi", 9, BBOLD10, VARIABLE, NULL },
1650
+ { "\\Omega", 10, BBOLD10, VARIABLE, NULL },
1651
+ /* --- lowercase greek letters --- */
1652
+ { "\\alpha", 11, BBOLD10, VARIABLE, NULL },
1653
+ { "\\beta", 12, BBOLD10, VARIABLE, NULL },
1654
+ { "\\gamma", 13, BBOLD10, VARIABLE, NULL },
1655
+ { "\\delta", 14, BBOLD10, VARIABLE, NULL },
1656
+ { "\\epsilon", 15, BBOLD10, VARIABLE, NULL },
1657
+ { "\\zeta", 16, BBOLD10, VARIABLE, NULL },
1658
+ { "\\eta", 17, BBOLD10, VARIABLE, NULL },
1659
+ { "\\theta", 18, BBOLD10, VARIABLE, NULL },
1660
+ { "\\iota", 19, BBOLD10, VARIABLE, NULL },
1661
+ { "\\kappa", 20, BBOLD10, VARIABLE, NULL },
1662
+ { "\\lambda", 21, BBOLD10, VARIABLE, NULL },
1663
+ { "\\mu", 22, BBOLD10, VARIABLE, NULL },
1664
+ { "\\nu", 23, BBOLD10, VARIABLE, NULL },
1665
+ { "\\xi", 24, BBOLD10, VARIABLE, NULL },
1666
+ { "\\pi", 25, BBOLD10, VARIABLE, NULL },
1667
+ { "\\rho", 26, BBOLD10, VARIABLE, NULL },
1668
+ { "\\sigma", 27, BBOLD10, VARIABLE, NULL },
1669
+ { "\\tau", 28, BBOLD10, VARIABLE, NULL },
1670
+ { "\\upsilon", 29, BBOLD10, VARIABLE, NULL },
1671
+ { "\\phi", 30, BBOLD10, VARIABLE, NULL },
1672
+ { "\\chi", 31, BBOLD10, VARIABLE, NULL },
1673
+ { "\\psi", 32, BBOLD10, VARIABLE, NULL },
1674
+ { "\\omega", 127, BBOLD10, VARIABLE, NULL },
1675
+ /* --- digits 0-9 --- */
1676
+ { "0", 48, BBOLD10, ORDINARY, NULL },
1677
+ { "1", 49, BBOLD10, ORDINARY, NULL },
1678
+ { "2", 50, BBOLD10, ORDINARY, NULL },
1679
+ { "3", 51, BBOLD10, ORDINARY, NULL },
1680
+ { "4", 52, BBOLD10, ORDINARY, NULL },
1681
+ { "5", 53, BBOLD10, ORDINARY, NULL },
1682
+ { "6", 54, BBOLD10, ORDINARY, NULL },
1683
+ { "7", 55, BBOLD10, ORDINARY, NULL },
1684
+ { "8", 56, BBOLD10, ORDINARY, NULL },
1685
+ { "9", 57, BBOLD10, ORDINARY, NULL },
1686
+ { "\\0", 48, BBOLD10, ORDINARY, NULL },
1687
+ { "\\1", 49, BBOLD10, ORDINARY, NULL },
1688
+ { "\\2", 50, BBOLD10, ORDINARY, NULL },
1689
+ { "\\3", 51, BBOLD10, ORDINARY, NULL },
1690
+ { "\\4", 52, BBOLD10, ORDINARY, NULL },
1691
+ { "\\5", 53, BBOLD10, ORDINARY, NULL },
1692
+ { "\\6", 54, BBOLD10, ORDINARY, NULL },
1693
+ { "\\7", 55, BBOLD10, ORDINARY, NULL },
1694
+ { "\\8", 56, BBOLD10, ORDINARY, NULL },
1695
+ { "\\9", 57, BBOLD10, ORDINARY, NULL },
1696
+ /* --- uppercase letters --- */
1697
+ { "A", 65, BBOLD10, VARIABLE, NULL },
1698
+ { "B", 66, BBOLD10, VARIABLE, NULL },
1699
+ { "C", 67, BBOLD10, VARIABLE, NULL },
1700
+ { "D", 68, BBOLD10, VARIABLE, NULL },
1701
+ { "E", 69, BBOLD10, VARIABLE, NULL },
1702
+ { "F", 70, BBOLD10, VARIABLE, NULL },
1703
+ { "G", 71, BBOLD10, VARIABLE, NULL },
1704
+ { "H", 72, BBOLD10, VARIABLE, NULL },
1705
+ { "I", 73, BBOLD10, VARIABLE, NULL },
1706
+ { "J", 74, BBOLD10, VARIABLE, NULL },
1707
+ { "K", 75, BBOLD10, VARIABLE, NULL },
1708
+ { "L", 76, BBOLD10, VARIABLE, NULL },
1709
+ { "M", 77, BBOLD10, VARIABLE, NULL },
1710
+ { "N", 78, BBOLD10, VARIABLE, NULL },
1711
+ { "O", 79, BBOLD10, VARIABLE, NULL },
1712
+ { "P", 80, BBOLD10, VARIABLE, NULL },
1713
+ { "Q", 81, BBOLD10, VARIABLE, NULL },
1714
+ { "R", 82, BBOLD10, VARIABLE, NULL },
1715
+ { "S", 83, BBOLD10, VARIABLE, NULL },
1716
+ { "T", 84, BBOLD10, VARIABLE, NULL },
1717
+ { "U", 85, BBOLD10, VARIABLE, NULL },
1718
+ { "V", 86, BBOLD10, VARIABLE, NULL },
1719
+ { "W", 87, BBOLD10, VARIABLE, NULL },
1720
+ { "X", 88, BBOLD10, VARIABLE, NULL },
1721
+ { "Y", 89, BBOLD10, VARIABLE, NULL },
1722
+ { "Z", 90, BBOLD10, VARIABLE, NULL },
1723
+ /* --- lowercase letters --- */
1724
+ { "a", 97, BBOLD10, VARIABLE, NULL },
1725
+ { "b", 98, BBOLD10, VARIABLE, NULL },
1726
+ { "c", 99, BBOLD10, VARIABLE, NULL },
1727
+ { "d", 100, BBOLD10, VARIABLE, NULL },
1728
+ { "e", 101, BBOLD10, VARIABLE, NULL },
1729
+ { "f", 102, BBOLD10, VARIABLE, NULL },
1730
+ { "g", 103, BBOLD10, VARIABLE, NULL },
1731
+ { "h", 104, BBOLD10, VARIABLE, NULL },
1732
+ { "i", 105, BBOLD10, VARIABLE, NULL },
1733
+ { "j", 106, BBOLD10, VARIABLE, NULL },
1734
+ { "k", 107, BBOLD10, VARIABLE, NULL },
1735
+ { "l", 108, BBOLD10, VARIABLE, NULL },
1736
+ { "m", 109, BBOLD10, VARIABLE, NULL },
1737
+ { "n", 110, BBOLD10, VARIABLE, NULL },
1738
+ { "o", 111, BBOLD10, VARIABLE, NULL },
1739
+ { "p", 112, BBOLD10, VARIABLE, NULL },
1740
+ { "q", 113, BBOLD10, VARIABLE, NULL },
1741
+ { "r", 114, BBOLD10, VARIABLE, NULL },
1742
+ { "s", 115, BBOLD10, VARIABLE, NULL },
1743
+ { "t", 116, BBOLD10, VARIABLE, NULL },
1744
+ { "u", 117, BBOLD10, VARIABLE, NULL },
1745
+ { "v", 118, BBOLD10, VARIABLE, NULL },
1746
+ { "w", 119, BBOLD10, VARIABLE, NULL },
1747
+ { "x", 120, BBOLD10, VARIABLE, NULL },
1748
+ { "y", 121, BBOLD10, VARIABLE, NULL },
1749
+ { "z", 122, BBOLD10, VARIABLE, NULL },
1750
+ /* --- symbols, relations, etc --- */
1751
+ { "!", 33, BBOLD10, BINARYOP, NULL },
1752
+ { "#", 35, BBOLD10, BINARYOP, NULL },
1753
+ { "\\#", 35, BBOLD10, BINARYOP, NULL },
1754
+ { "$", 36, BBOLD10, BINARYOP, NULL },
1755
+ { "\\$", 36, BBOLD10, BINARYOP, NULL },
1756
+ { "%", 37, BBOLD10, BINARYOP, NULL },
1757
+ { "\\%", 37, BBOLD10, BINARYOP, NULL },
1758
+ { "\\percent", 37, BBOLD10, BINARYOP, NULL },
1759
+ { "&", 38, BBOLD10, BINARYOP, NULL },
1760
+ { "\\&", 38, BBOLD10, BINARYOP, NULL },
1761
+ { "\'", 39, BBOLD10, BINARYOP, NULL },
1762
+ { "\\apostrophe", 39, BBOLD10, ORDINARY, NULL },
1763
+ { "(", 40, BBOLD10, OPENING, NULL },
1764
+ { "\\(", 40, BBOLD10, OPENING, NULL },
1765
+ { ")", 41, BBOLD10, CLOSING, NULL },
1766
+ { "\\)", 41, BBOLD10, CLOSING, NULL },
1767
+ { "*", 42, BBOLD10, BINARYOP, NULL },
1768
+ { "+", 43, BBOLD10, BINARYOP, NULL },
1769
+ { ",", 44, BBOLD10, PUNCTION, NULL },
1770
+ { "-", 45, BBOLD10, BINARYOP, NULL },
1771
+ { ".", 46, BBOLD10, PUNCTION, NULL },
1772
+ { "/", 47, BBOLD10, BINARYOP, NULL },
1773
+ { ":", 58, BBOLD10, ORDINARY, NULL },
1774
+ { ";", 59, BBOLD10, ORDINARY, NULL },
1775
+ { "<", 60, BBOLD10, RELATION, NULL },
1776
+ { "\\<", 60, BBOLD10, RELATION, NULL },
1777
+ { "\\cdot", 61, BBOLD10, BINARYOP, NULL },
1778
+ { ">", 62, BBOLD10, RELATION, NULL },
1779
+ { "\\>", 62, BBOLD10, RELATION, NULL },
1780
+ { "?", 63, BBOLD10, BINARYOP, NULL },
1781
+ { "@", 64, BBOLD10, BINARYOP, NULL },
1782
+ { "[", 91, BBOLD10, OPENING, NULL },
1783
+ { "\\[", 91, BBOLD10, OPENING, NULL },
1784
+ { "\\\\", 92, BBOLD10, OPENING, NULL },
1785
+ { "\\backslash", 92, BBOLD10, OPENING, NULL },
1786
+ { "]", 93, BBOLD10, CLOSING, NULL },
1787
+ { "\\]", 93, BBOLD10, CLOSING, NULL },
1788
+ { "|", 124, BBOLD10, BINARYOP, NULL },
1789
+ { "\\-", 123, BBOLD10, BINARYOP, NULL },
1790
+ /* ------------------- S T M A R Y ------------------------
1791
+ symbol charnum family class function
1792
+ -------------------------------------------------------- */
1793
+ /* --- stmaryrd symbols (see stmaryrd.sty for defs) --- */
1794
+ { "\\shortleftarrow", 0, STMARY10, ARROW, NULL },
1795
+ { "\\shortrightarrow", 1, STMARY10, ARROW, NULL },
1796
+ { "\\shortuparrow", 2, STMARY10, ARROW, NULL },
1797
+ { "\\shortdownarrow", 3, STMARY10, ARROW, NULL },
1798
+ { "\\Yup", 4, STMARY10, BINARYOP, NULL },
1799
+ { "\\Ydown", 5, STMARY10, BINARYOP, NULL },
1800
+ { "\\Yleft", 6, STMARY10, BINARYOP, NULL },
1801
+ { "\\Yright", 7, STMARY10, BINARYOP, NULL },
1802
+ { "\\varcurlyvee", 8, STMARY10, BINARYOP, NULL },
1803
+ { "\\varcurlywedge", 9, STMARY10, BINARYOP, NULL },
1804
+ { "\\minuso", 10, STMARY10, BINARYOP, NULL },
1805
+ { "\\baro", 11, STMARY10, BINARYOP, NULL },
1806
+ { "\\sslash", 12, STMARY10, BINARYOP, NULL },
1807
+ { "\\bblash", 13, STMARY10, BINARYOP, NULL },
1808
+ { "\\moo", 14, STMARY10, BINARYOP, NULL },
1809
+ { "\\varotimes", 15, STMARY10, BINARYOP, NULL },
1810
+ { "\\varoast", 16, STMARY10, BINARYOP, NULL },
1811
+ { "\\varobar", 17, STMARY10, BINARYOP, NULL },
1812
+ { "\\varodot", 18, STMARY10, BINARYOP, NULL },
1813
+ { "\\varoslash", 19, STMARY10, BINARYOP, NULL },
1814
+ { "\\varobslash", 20, STMARY10, BINARYOP, NULL },
1815
+ { "\\varocircle", 21, STMARY10, BINARYOP, NULL },
1816
+ { "\\varoplus", 22, STMARY10, BINARYOP, NULL },
1817
+ { "\\varominus", 23, STMARY10, BINARYOP, NULL },
1818
+ { "\\boxast", 24, STMARY10, BINARYOP, NULL },
1819
+ { "\\boxbar", 25, STMARY10, BINARYOP, NULL },
1820
+ { "\\boxdot", 26, STMARY10, BINARYOP, NULL },
1821
+ { "\\boxslash", 27, STMARY10, BINARYOP, NULL },
1822
+ { "\\boxbslash", 28, STMARY10, BINARYOP, NULL },
1823
+ { "\\boxcircle", 29, STMARY10, BINARYOP, NULL },
1824
+ { "\\boxbox", 30, STMARY10, BINARYOP, NULL },
1825
+ { "\\boxempty", 31, STMARY10, BINARYOP, NULL },
1826
+ { "\\qed", 31, STMARY10, BINARYOP, NULL },
1827
+ { "\\lightning", 32, STMARY10, ORDINARY, NULL },
1828
+ { "\\merge", 33, STMARY10, BINARYOP, NULL },
1829
+ { "\\vartimes", 34, STMARY10, BINARYOP, NULL },
1830
+ { "\\fatsemi", 35, STMARY10, BINARYOP, NULL },
1831
+ { "\\sswarrow", 36, STMARY10, ARROW, NULL },
1832
+ { "\\ssearrow", 37, STMARY10, ARROW, NULL },
1833
+ { "\\curlywedgeuparrow",38,STMARY10, ARROW, NULL },
1834
+ { "\\curlywedgedownarrow",39,STMARY10,ARROW, NULL },
1835
+ { "\\fatslash", 40, STMARY10, BINARYOP, NULL },
1836
+ { "\\fatbslash", 41, STMARY10, BINARYOP, NULL },
1837
+ { "\\lbag", 42, STMARY10, BINARYOP, NULL },
1838
+ { "\\rbag", 43, STMARY10, BINARYOP, NULL },
1839
+ { "\\varbigcirc", 44, STMARY10, BINARYOP, NULL },
1840
+ { "\\leftrightarroweq",45, STMARY10, ARROW, NULL },
1841
+ { "\\curlyveedownarrow",46,STMARY10, ARROW, NULL },
1842
+ { "\\curlyveeuparrow", 47, STMARY10, ARROW, NULL },
1843
+ { "\\nnwarrow", 48, STMARY10, ARROW, NULL },
1844
+ { "\\nnearrow", 49, STMARY10, ARROW, NULL },
1845
+ { "\\leftslice", 50, STMARY10, BINARYOP, NULL },
1846
+ { "\\rightslice", 51, STMARY10, BINARYOP, NULL },
1847
+ { "\\varolessthan", 52, STMARY10, BINARYOP, NULL },
1848
+ { "\\varogreaterthan", 53, STMARY10, BINARYOP, NULL },
1849
+ { "\\varovee", 54, STMARY10, BINARYOP, NULL },
1850
+ { "\\varowedge", 55, STMARY10, BINARYOP, NULL },
1851
+ { "\\talloblong", 56, STMARY10, BINARYOP, NULL },
1852
+ { "\\interleave", 57, STMARY10, BINARYOP, NULL },
1853
+ { "\\obar", 58, STMARY10, BINARYOP, NULL },
1854
+ { "\\oslash", 59, STMARY10, BINARYOP, NULL },
1855
+ { "\\olessthan", 60, STMARY10, BINARYOP, NULL },
1856
+ { "\\ogreaterthan", 61, STMARY10, BINARYOP, NULL },
1857
+ { "\\ovee", 62, STMARY10, BINARYOP, NULL },
1858
+ { "\\owedge", 63, STMARY10, BINARYOP, NULL },
1859
+ { "\\oblong", 64, STMARY10, BINARYOP, NULL },
1860
+ { "\\inplus", 65, STMARY10, RELATION, NULL },
1861
+ { "\\niplus", 66, STMARY10, RELATION, NULL },
1862
+ { "\\nplus", 67, STMARY10, BINARYOP, NULL },
1863
+ { "\\subsetplus", 68, STMARY10, RELATION, NULL },
1864
+ { "\\supsetplus", 69, STMARY10, RELATION, NULL },
1865
+ { "\\subsetpluseq", 70, STMARY10, RELATION, NULL },
1866
+ { "\\supsetpluseq", 71, STMARY10, RELATION, NULL },
1867
+ { "\\Lbag", 72, STMARY10, OPENING, NULL },
1868
+ { "\\Rbag", 73, STMARY10, CLOSING, NULL },
1869
+ { "\\llbracket", 74, STMARY10, OPENING, NULL },
1870
+ { "\\rrbracket", 75, STMARY10, CLOSING, NULL },
1871
+ { "\\llparenthesis", 76, STMARY10, OPENING, NULL },
1872
+ { "\\rrparenthesis", 77, STMARY10, CLOSING, NULL },
1873
+ { "\\binampersand", 78, STMARY10, OPENING, NULL },
1874
+ { "\\bindnasrepma", 79, STMARY10, CLOSING, NULL },
1875
+ { "\\trianglelefteqslant",80,STMARY10,RELATION, NULL },
1876
+ { "\\trianglerighteqslant",81,STMARY10,RELATION, NULL },
1877
+ { "\\ntrianglelefteqslant",82,STMARY10,RELATION, NULL },
1878
+ { "\\ntrianglerighteqslant",83,STMARY10,RELATION, NULL },
1879
+ { "\\llfloor", 84, STMARY10, OPENING, NULL },
1880
+ { "\\rrfloor", 85, STMARY10, CLOSING, NULL },
1881
+ { "\\llceil", 86, STMARY10, OPENING, NULL },
1882
+ { "\\rrceil", 87, STMARY10, CLOSING, NULL },
1883
+ { "\\arrownot", 88, STMARY10, RELATION, NULL },
1884
+ { "\\Arrownot", 89, STMARY10, RELATION, NULL },
1885
+ { "\\Mapstochar", 90, STMARY10, RELATION, NULL },
1886
+ { "\\mapsfromchar", 91, STMARY10, RELATION, NULL },
1887
+ { "\\Mapsfromchar", 92, STMARY10, RELATION, NULL },
1888
+ { "\\leftrightarrowtriangle",93,STMARY10,BINARYOP, NULL },
1889
+ { "\\leftarrowtriangle",94,STMARY10, RELATION, NULL },
1890
+ { "\\rightarrowtriangle",95,STMARY10, RELATION, NULL },
1891
+ { "\\bigtriangledown", 96, STMARY10, OPERATOR, NULL },
1892
+ { "\\bigtriangleup", 97, STMARY10, OPERATOR, NULL },
1893
+ { "\\bigcurlyvee", 98, STMARY10, OPERATOR, NULL },
1894
+ { "\\bigcurlywedge", 99, STMARY10, OPERATOR, NULL },
1895
+ { "\\bigsqcap", 100, STMARY10, OPERATOR, NULL },
1896
+ { "\\Bigsqcap", 100, STMARY10, OPERATOR, NULL },
1897
+ { "\\bigbox", 101, STMARY10, OPERATOR, NULL },
1898
+ { "\\bigparallel", 102, STMARY10, OPERATOR, NULL },
1899
+ { "\\biginterleave", 103, STMARY10, OPERATOR, NULL },
1900
+ { "\\bignplus", 112, STMARY10, OPERATOR, NULL },
1901
+ /* ---------------------- C Y R ---------------------------
1902
+ symbol charnum family class function
1903
+ -------------------------------------------------------- */
1904
+ /* ---
1905
+ * undefined: 20,21,28,29,33-59,61,63,64,91,92,93,96,123,124
1906
+ * ---------------------------------------------------------- */
1907
+ /* --- special characters --- */
1908
+ { "\\cyddot", 32, CYR10, VARIABLE, NULL },
1909
+ /* ---See amsfndoc.dvi Figure 1 Input Conventions for AMS cyrillic--- */
1910
+ { "A", 65, CYR10, VARIABLE, NULL },
1911
+ { "a", 97, CYR10, VARIABLE, NULL },
1912
+ { "B", 66, CYR10, VARIABLE, NULL },
1913
+ { "b", 98, CYR10, VARIABLE, NULL },
1914
+ { "V", 86, CYR10, VARIABLE, NULL },
1915
+ { "v", 118, CYR10, VARIABLE, NULL },
1916
+ { "G", 71, CYR10, VARIABLE, NULL },
1917
+ { "g", 103, CYR10, VARIABLE, NULL },
1918
+ { "D", 68, CYR10, VARIABLE, NULL },
1919
+ { "d", 100, CYR10, VARIABLE, NULL },
1920
+ { "Dj", 6, CYR10, VARIABLE, NULL },
1921
+ { "DJ", 6, CYR10, VARIABLE, NULL },
1922
+ { "dj", 14, CYR10, VARIABLE, NULL },
1923
+ { "E", 69, CYR10, VARIABLE, NULL },
1924
+ { "e", 101, CYR10, VARIABLE, NULL },
1925
+ { "\\\"E", 19, CYR10, VARIABLE, NULL },
1926
+ { "\\\"e", 27, CYR10, VARIABLE, NULL },
1927
+ { "\\=E", 5, CYR10, VARIABLE, NULL },
1928
+ { "\\=e", 13, CYR10, VARIABLE, NULL },
1929
+ { "Zh", 17, CYR10, VARIABLE, NULL },
1930
+ { "ZH", 17, CYR10, VARIABLE, NULL },
1931
+ { "zh", 25, CYR10, VARIABLE, NULL },
1932
+ { "Z", 90, CYR10, VARIABLE, NULL },
1933
+ { "z", 122, CYR10, VARIABLE, NULL },
1934
+ { "I", 73, CYR10, VARIABLE, NULL },
1935
+ { "i", 105, CYR10, VARIABLE, NULL },
1936
+ { "\\=I", 4, CYR10, VARIABLE, NULL },
1937
+ { "\\=\\i", 12, CYR10, VARIABLE, NULL },
1938
+ { "J", 74, CYR10, VARIABLE, NULL },
1939
+ { "j", 106, CYR10, VARIABLE, NULL },
1940
+ { "\\u I", 18, CYR10, VARIABLE, NULL },
1941
+ { "\\u\\i", 26, CYR10, VARIABLE, NULL },
1942
+ { "K", 75, CYR10, VARIABLE, NULL },
1943
+ { "k", 107, CYR10, VARIABLE, NULL },
1944
+ { "L", 76, CYR10, VARIABLE, NULL },
1945
+ { "l", 108, CYR10, VARIABLE, NULL },
1946
+ { "Lj", 1, CYR10, VARIABLE, NULL },
1947
+ { "LJ", 1, CYR10, VARIABLE, NULL },
1948
+ { "lj", 9, CYR10, VARIABLE, NULL },
1949
+ { "M", 77, CYR10, VARIABLE, NULL },
1950
+ { "m", 109, CYR10, VARIABLE, NULL },
1951
+ { "N", 78, CYR10, VARIABLE, NULL },
1952
+ { "n", 110, CYR10, VARIABLE, NULL },
1953
+ { "Nj", 0, CYR10, VARIABLE, NULL },
1954
+ { "NJ", 0, CYR10, VARIABLE, NULL },
1955
+ { "nj", 8, CYR10, VARIABLE, NULL },
1956
+ { "O", 79, CYR10, VARIABLE, NULL },
1957
+ { "o", 111, CYR10, VARIABLE, NULL },
1958
+ { "P", 80, CYR10, VARIABLE, NULL },
1959
+ { "p", 112, CYR10, VARIABLE, NULL },
1960
+ { "R", 82, CYR10, VARIABLE, NULL },
1961
+ { "r", 114, CYR10, VARIABLE, NULL },
1962
+ { "S", 83, CYR10, VARIABLE, NULL },
1963
+ { "s", 115, CYR10, VARIABLE, NULL },
1964
+ { "T", 84, CYR10, VARIABLE, NULL },
1965
+ { "t", 116, CYR10, VARIABLE, NULL },
1966
+ { "\\\'C", 7, CYR10, VARIABLE, NULL },
1967
+ { "\\\'c", 15, CYR10, VARIABLE, NULL },
1968
+ { "U", 85, CYR10, VARIABLE, NULL },
1969
+ { "u", 117, CYR10, VARIABLE, NULL },
1970
+ { "F", 70, CYR10, VARIABLE, NULL },
1971
+ { "f", 102, CYR10, VARIABLE, NULL },
1972
+ { "Kh", 72, CYR10, VARIABLE, NULL },
1973
+ { "KH", 72, CYR10, VARIABLE, NULL },
1974
+ { "kh", 104, CYR10, VARIABLE, NULL },
1975
+ { "Ts", 67, CYR10, VARIABLE, NULL },
1976
+ { "TS", 67, CYR10, VARIABLE, NULL },
1977
+ { "ts", 99, CYR10, VARIABLE, NULL },
1978
+ { "Ch", 81, CYR10, VARIABLE, NULL },
1979
+ { "CH", 81, CYR10, VARIABLE, NULL },
1980
+ { "ch", 113, CYR10, VARIABLE, NULL },
1981
+ { "Dzh", 2, CYR10, VARIABLE, NULL },
1982
+ { "DZH", 2, CYR10, VARIABLE, NULL },
1983
+ { "dzh", 10, CYR10, VARIABLE, NULL },
1984
+ { "Sh", 88, CYR10, VARIABLE, NULL },
1985
+ { "SH", 88, CYR10, VARIABLE, NULL },
1986
+ { "sh", 120, CYR10, VARIABLE, NULL },
1987
+ { "Shch", 87, CYR10, VARIABLE, NULL },
1988
+ { "SHCH", 87, CYR10, VARIABLE, NULL },
1989
+ { "shch", 119, CYR10, VARIABLE, NULL },
1990
+ { "\\Cdprime", 95, CYR10, VARIABLE, NULL },
1991
+ { "\\cdprime", 127, CYR10, VARIABLE, NULL },
1992
+ { "Y", 89, CYR10, VARIABLE, NULL },
1993
+ { "y", 121, CYR10, VARIABLE, NULL },
1994
+ { "\\Cprime", 94, CYR10, VARIABLE, NULL },
1995
+ { "\\cprime", 126, CYR10, VARIABLE, NULL },
1996
+ { "\\`E", 3, CYR10, VARIABLE, NULL },
1997
+ { "\\`e", 11, CYR10, VARIABLE, NULL },
1998
+ { "Yu", 16, CYR10, VARIABLE, NULL },
1999
+ { "YU", 16, CYR10, VARIABLE, NULL },
2000
+ { "yu", 24, CYR10, VARIABLE, NULL },
2001
+ { "Ya", 23, CYR10, VARIABLE, NULL },
2002
+ { "YA", 23, CYR10, VARIABLE, NULL },
2003
+ { "ya", 31, CYR10, VARIABLE, NULL },
2004
+ { "\\Dz", 22, CYR10, VARIABLE, NULL },
2005
+ { "\\dz", 30, CYR10, VARIABLE, NULL },
2006
+ { "N0", 125, CYR10, VARIABLE, NULL },
2007
+ { "<", 60, CYR10, VARIABLE, NULL },
2008
+ { ">", 62, CYR10, VARIABLE, NULL },
2009
+ /* --- trailer record --- */
2010
+ { NULL, -999, -999, -999, NULL }
2011
+ }
2012
+ #endif /* INITVALS */
2013
+ ; /* --- end-of-symtable[] --- */
2014
+
2015
+ /* ======================= END-OF-FILE MIMETEX.H ========================= */
2016
+ #endif
2017
+