mimetexrb 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
+