TekPrsTbl.c revision f2e35a3a
1/* $XTermId: TekPrsTbl.c,v 1.9 2006/02/13 01:14:57 tom Exp $ */
2
3/*
4 * Copyright 1998-2001,2006 by Thomas E. Dickey
5 *
6 *                         All Rights Reserved
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining a
9 * copy of this software and associated documentation files (the
10 * "Software"), to deal in the Software without restriction, including
11 * without limitation the rights to use, copy, modify, merge, publish,
12 * distribute, sublicense, and/or sell copies of the Software, and to
13 * permit persons to whom the Software is furnished to do so, subject to
14 * the following conditions:
15 *
16 * The above copyright notice and this permission notice shall be included
17 * in all copies or substantial portions of the Software.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22 * IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
23 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
24 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
25 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 *
27 * Except as contained in this notice, the name(s) of the above copyright
28 * holders shall not be used in advertising or otherwise to promote the
29 * sale, use or other dealings in this Software without prior written
30 * authorization.
31 *
32 *
33 * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
34 *
35 *                         All Rights Reserved
36 *
37 * Permission to use, copy, modify, and distribute this software and its
38 * documentation for any purpose and without fee is hereby granted,
39 * provided that the above copyright notice appear in all copies and that
40 * both that copyright notice and this permission notice appear in
41 * supporting documentation, and that the name of Digital Equipment
42 * Corporation not be used in advertising or publicity pertaining to
43 * distribution of the software without specific, written prior permission.
44 *
45 *
46 * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
47 * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
48 * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
49 * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
50 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
51 * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
52 * SOFTWARE.
53 */
54/* $XFree86: xc/programs/xterm/TekPrsTbl.c,v 3.5 2006/02/13 01:14:57 dickey Exp $ */
55
56#include <Tekparse.h>
57
58Const int Talptable[] =		/* US (^_) normal alpha mode */
59{
60/*	NUL		SOH		STX		ETX	*/
61CASE_IGNORE,
62CASE_IGNORE,
63CASE_IGNORE,
64CASE_IGNORE,
65/*	EOT		ENQ		ACK		BEL	*/
66CASE_IGNORE,
67CASE_IGNORE,
68CASE_IGNORE,
69CASE_BEL,
70/*	BS		HT		NL		VT	*/
71CASE_BS,
72CASE_TAB,
73CASE_LF,
74CASE_UP,
75/*	NP		CR		SO		SI	*/
76CASE_IGNORE,
77CASE_CR,
78CASE_IGNORE,
79CASE_IGNORE,
80/*	DLE		DC1		DC2		DC3	*/
81CASE_IGNORE,
82CASE_IGNORE,
83CASE_IGNORE,
84CASE_IGNORE,
85/*	DC4		NAK		SYN		ETB	*/
86CASE_IGNORE,
87CASE_IGNORE,
88CASE_IGNORE,
89CASE_IGNORE,
90/*	CAN		EM		SUB		ESC	*/
91CASE_IGNORE,
92CASE_IGNORE,
93CASE_IGNORE,
94CASE_ESC_STATE,
95/*	FS		GS		RS		US	*/
96CASE_PT_STATE,
97CASE_PLT_STATE,
98CASE_IPL_STATE,
99CASE_ALP_STATE,
100/*	SP		!		"		#	*/
101CASE_SP,
102CASE_PRINT,
103CASE_PRINT,
104CASE_PRINT,
105/*	$		%		&		'	*/
106CASE_PRINT,
107CASE_PRINT,
108CASE_PRINT,
109CASE_PRINT,
110/*	(		)		*		+	*/
111CASE_PRINT,
112CASE_PRINT,
113CASE_PRINT,
114CASE_PRINT,
115/*	,		-		.		/	*/
116CASE_PRINT,
117CASE_PRINT,
118CASE_PRINT,
119CASE_PRINT,
120/*	0		1		2		3	*/
121CASE_PRINT,
122CASE_PRINT,
123CASE_PRINT,
124CASE_PRINT,
125/*	4		5		6		7	*/
126CASE_PRINT,
127CASE_PRINT,
128CASE_PRINT,
129CASE_PRINT,
130/*	8		9		:		;	*/
131CASE_PRINT,
132CASE_PRINT,
133CASE_PRINT,
134CASE_PRINT,
135/*	<		=		>		?	*/
136CASE_PRINT,
137CASE_PRINT,
138CASE_PRINT,
139CASE_PRINT,
140/*	@		A		B		C	*/
141CASE_PRINT,
142CASE_PRINT,
143CASE_PRINT,
144CASE_PRINT,
145/*	D		E		F		G	*/
146CASE_PRINT,
147CASE_PRINT,
148CASE_PRINT,
149CASE_PRINT,
150/*	H		I		J		K	*/
151CASE_PRINT,
152CASE_PRINT,
153CASE_PRINT,
154CASE_PRINT,
155/*	L		M		N		O	*/
156CASE_PRINT,
157CASE_PRINT,
158CASE_PRINT,
159CASE_PRINT,
160/*	P		Q		R		S	*/
161CASE_PRINT,
162CASE_PRINT,
163CASE_PRINT,
164CASE_PRINT,
165/*	T		U		V		W	*/
166CASE_PRINT,
167CASE_PRINT,
168CASE_PRINT,
169CASE_PRINT,
170/*	X		Y		Z		[	*/
171CASE_PRINT,
172CASE_PRINT,
173CASE_PRINT,
174CASE_PRINT,
175/*	\		]		^		_	*/
176CASE_PRINT,
177CASE_PRINT,
178CASE_PRINT,
179CASE_PRINT,
180/*	`		a		b		c	*/
181CASE_PRINT,
182CASE_PRINT,
183CASE_PRINT,
184CASE_PRINT,
185/*	d		e		f		g	*/
186CASE_PRINT,
187CASE_PRINT,
188CASE_PRINT,
189CASE_PRINT,
190/*	h		i		j		k	*/
191CASE_PRINT,
192CASE_PRINT,
193CASE_PRINT,
194CASE_PRINT,
195/*	l		m		n		o	*/
196CASE_PRINT,
197CASE_PRINT,
198CASE_PRINT,
199CASE_PRINT,
200/*	p		q		r		s	*/
201CASE_PRINT,
202CASE_PRINT,
203CASE_PRINT,
204CASE_PRINT,
205/*	t		u		v		w	*/
206CASE_PRINT,
207CASE_PRINT,
208CASE_PRINT,
209CASE_PRINT,
210/*	x		y		z		{	*/
211CASE_PRINT,
212CASE_PRINT,
213CASE_PRINT,
214CASE_PRINT,
215/*	|		}		~		DEL	*/
216CASE_PRINT,
217CASE_PRINT,
218CASE_PRINT,
219CASE_IGNORE,
220/*      0x80            0x81            0x82            0x83    */
221CASE_IGNORE,
222CASE_IGNORE,
223CASE_IGNORE,
224CASE_IGNORE,
225/*      0x84            0x85            0x86            0x87    */
226CASE_IGNORE,
227CASE_IGNORE,
228CASE_IGNORE,
229CASE_IGNORE,
230/*      0x88            0x89            0x8a            0x8b    */
231CASE_IGNORE,
232CASE_IGNORE,
233CASE_IGNORE,
234CASE_IGNORE,
235/*      0x8c            0x8d            0x8e            0x8f    */
236CASE_IGNORE,
237CASE_IGNORE,
238CASE_IGNORE,
239CASE_IGNORE,
240/*      0x90            0x91            0x92            0x93    */
241CASE_IGNORE,
242CASE_IGNORE,
243CASE_IGNORE,
244CASE_IGNORE,
245/*      0x94            0x95            0x96            0x97    */
246CASE_IGNORE,
247CASE_IGNORE,
248CASE_IGNORE,
249CASE_IGNORE,
250/*      0x99            0x99            0x9a            0x9b    */
251CASE_IGNORE,
252CASE_IGNORE,
253CASE_IGNORE,
254CASE_IGNORE,
255/*      0x9c            0x9d            0x9e            0x9f    */
256CASE_IGNORE,
257CASE_IGNORE,
258CASE_IGNORE,
259CASE_IGNORE,
260/*      nobreakspace    exclamdown      cent            sterling        */
261CASE_PRINT,
262CASE_PRINT,
263CASE_PRINT,
264CASE_PRINT,
265/*      currency        yen             brokenbar       section         */
266CASE_PRINT,
267CASE_PRINT,
268CASE_PRINT,
269CASE_PRINT,
270/*      diaeresis       copyright       ordfeminine     guillemotleft   */
271CASE_PRINT,
272CASE_PRINT,
273CASE_PRINT,
274CASE_PRINT,
275/*      notsign         hyphen          registered      macron          */
276CASE_PRINT,
277CASE_PRINT,
278CASE_PRINT,
279CASE_PRINT,
280/*      degree          plusminus       twosuperior     threesuperior   */
281CASE_PRINT,
282CASE_PRINT,
283CASE_PRINT,
284CASE_PRINT,
285/*      acute           mu              paragraph       periodcentered  */
286CASE_PRINT,
287CASE_PRINT,
288CASE_PRINT,
289CASE_PRINT,
290/*      cedilla         onesuperior     masculine       guillemotright  */
291CASE_PRINT,
292CASE_PRINT,
293CASE_PRINT,
294CASE_PRINT,
295/*      onequarter      onehalf         threequarters   questiondown    */
296CASE_PRINT,
297CASE_PRINT,
298CASE_PRINT,
299CASE_PRINT,
300/*      Agrave          Aacute          Acircumflex     Atilde          */
301CASE_PRINT,
302CASE_PRINT,
303CASE_PRINT,
304CASE_PRINT,
305/*      Adiaeresis      Aring           AE              Ccedilla        */
306CASE_PRINT,
307CASE_PRINT,
308CASE_PRINT,
309CASE_PRINT,
310/*      Egrave          Eacute          Ecircumflex     Ediaeresis      */
311CASE_PRINT,
312CASE_PRINT,
313CASE_PRINT,
314CASE_PRINT,
315/*      Igrave          Iacute          Icircumflex     Idiaeresis      */
316CASE_PRINT,
317CASE_PRINT,
318CASE_PRINT,
319CASE_PRINT,
320/*      Eth             Ntilde          Ograve          Oacute          */
321CASE_PRINT,
322CASE_PRINT,
323CASE_PRINT,
324CASE_PRINT,
325/*      Ocircumflex     Otilde          Odiaeresis      multiply        */
326CASE_PRINT,
327CASE_PRINT,
328CASE_PRINT,
329CASE_PRINT,
330/*      Ooblique        Ugrave          Uacute          Ucircumflex     */
331CASE_PRINT,
332CASE_PRINT,
333CASE_PRINT,
334CASE_PRINT,
335/*      Udiaeresis      Yacute          Thorn           ssharp          */
336CASE_PRINT,
337CASE_PRINT,
338CASE_PRINT,
339CASE_PRINT,
340/*      agrave          aacute          acircumflex     atilde          */
341CASE_PRINT,
342CASE_PRINT,
343CASE_PRINT,
344CASE_PRINT,
345/*      adiaeresis      aring           ae              ccedilla        */
346CASE_PRINT,
347CASE_PRINT,
348CASE_PRINT,
349CASE_PRINT,
350/*      egrave          eacute          ecircumflex     ediaeresis      */
351CASE_PRINT,
352CASE_PRINT,
353CASE_PRINT,
354CASE_PRINT,
355/*      igrave          iacute          icircumflex     idiaeresis      */
356CASE_PRINT,
357CASE_PRINT,
358CASE_PRINT,
359CASE_PRINT,
360/*      eth             ntilde          ograve          oacute          */
361CASE_PRINT,
362CASE_PRINT,
363CASE_PRINT,
364CASE_PRINT,
365/*      ocircumflex     otilde          odiaeresis      division        */
366CASE_PRINT,
367CASE_PRINT,
368CASE_PRINT,
369CASE_PRINT,
370/*      oslash          ugrave          uacute          ucircumflex     */
371CASE_PRINT,
372CASE_PRINT,
373CASE_PRINT,
374CASE_PRINT,
375/*      udiaeresis      yacute          thorn           ydiaeresis      */
376CASE_PRINT,
377CASE_PRINT,
378CASE_PRINT,
379CASE_PRINT,
380};
381
382Const int Tbestable[] =		/* ESC while in bypass state */
383{
384/*	NUL		SOH		STX		ETX	*/
385CASE_BYP_STATE,
386CASE_BYP_STATE,
387CASE_BYP_STATE,
388CASE_VT_MODE,
389/*	EOT		ENQ		ACK		BEL	*/
390CASE_BYP_STATE,
391CASE_REPORT,
392CASE_BYP_STATE,
393CASE_BEL,
394/*	BS		HT		NL		VT	*/
395CASE_BS,
396CASE_TAB,
397CASE_IGNORE,
398CASE_UP,
399/*	NP		CR		SO		SI	*/
400CASE_PAGE,
401CASE_IGNORE,
402CASE_BYP_STATE,
403CASE_BYP_STATE,
404/*	DLE		DC1		DC2		DC3	*/
405CASE_BYP_STATE,
406CASE_BYP_STATE,
407CASE_BYP_STATE,
408CASE_BYP_STATE,
409/*	DC4		NAK		SYN		ETB	*/
410CASE_BYP_STATE,
411CASE_BYP_STATE,
412CASE_BYP_STATE,
413CASE_COPY,
414/*	CAN		EM		SUB		ESC	*/
415CASE_BYP_STATE,
416CASE_BYP_STATE,
417CASE_GIN,
418CASE_IGNORE,
419/*	FS		GS		RS		US	*/
420CASE_SPT_STATE,
421CASE_PLT_STATE,
422CASE_IPL_STATE,
423CASE_ALP_STATE,
424/*	SP		!		"		#	*/
425CASE_BYP_STATE,
426CASE_BYP_STATE,
427CASE_BYP_STATE,
428CASE_BYP_STATE,
429/*	$		%		&		'	*/
430CASE_BYP_STATE,
431CASE_BYP_STATE,
432CASE_BYP_STATE,
433CASE_BYP_STATE,
434/*	(		)		*		+	*/
435CASE_BYP_STATE,
436CASE_BYP_STATE,
437CASE_BYP_STATE,
438CASE_BYP_STATE,
439/*	,		-		.		/	*/
440CASE_BYP_STATE,
441CASE_BYP_STATE,
442CASE_BYP_STATE,
443CASE_BYP_STATE,
444/*	0		1		2		3	*/
445CASE_BYP_STATE,
446CASE_BYP_STATE,
447CASE_BYP_STATE,
448CASE_BYP_STATE,
449/*	4		5		6		7	*/
450CASE_BYP_STATE,
451CASE_BYP_STATE,
452CASE_BYP_STATE,
453CASE_BYP_STATE,
454/*	8		9		:		;	*/
455CASE_BYP_STATE,
456CASE_BYP_STATE,
457CASE_BYP_STATE,
458CASE_BYP_STATE,
459/*	<		=		>		?	*/
460CASE_BYP_STATE,
461CASE_BYP_STATE,
462CASE_BYP_STATE,
463CASE_BYP_STATE,
464/*	@		A		B		C	*/
465CASE_BYP_STATE,
466CASE_BYP_STATE,
467CASE_BYP_STATE,
468CASE_BYP_STATE,
469/*	D		E		F		G	*/
470CASE_BYP_STATE,
471CASE_BYP_STATE,
472CASE_BYP_STATE,
473CASE_BYP_STATE,
474/*	H		I		J		K	*/
475CASE_BYP_STATE,
476CASE_BYP_STATE,
477CASE_BYP_STATE,
478CASE_BYP_STATE,
479/*	L		M		N		O	*/
480CASE_BYP_STATE,
481CASE_BYP_STATE,
482CASE_BYP_STATE,
483CASE_BYP_STATE,
484/*	P		Q		R		S	*/
485CASE_BYP_STATE,
486CASE_BYP_STATE,
487CASE_BYP_STATE,
488CASE_BYP_STATE,
489/*	T		U		V		W	*/
490CASE_BYP_STATE,
491CASE_BYP_STATE,
492CASE_BYP_STATE,
493CASE_BYP_STATE,
494/*	X		Y		Z		[	*/
495CASE_BYP_STATE,
496CASE_BYP_STATE,
497CASE_BYP_STATE,
498CASE_BYP_STATE,
499/*	\		]		^		_	*/
500CASE_BYP_STATE,
501CASE_BYP_STATE,
502CASE_BYP_STATE,
503CASE_BYP_STATE,
504/*	`		a		b		c	*/
505CASE_BYP_STATE,
506CASE_BYP_STATE,
507CASE_BYP_STATE,
508CASE_BYP_STATE,
509/*	d		e		f		g	*/
510CASE_BYP_STATE,
511CASE_BYP_STATE,
512CASE_BYP_STATE,
513CASE_BYP_STATE,
514/*	h		i		j		k	*/
515CASE_BYP_STATE,
516CASE_BYP_STATE,
517CASE_BYP_STATE,
518CASE_BYP_STATE,
519/*	l		m		n		o	*/
520CASE_BYP_STATE,
521CASE_BYP_STATE,
522CASE_BYP_STATE,
523CASE_BYP_STATE,
524/*	p		q		r		s	*/
525CASE_BYP_STATE,
526CASE_BYP_STATE,
527CASE_BYP_STATE,
528CASE_BYP_STATE,
529/*	t		u		v		w	*/
530CASE_BYP_STATE,
531CASE_BYP_STATE,
532CASE_BYP_STATE,
533CASE_BYP_STATE,
534/*	x		y		z		{	*/
535CASE_BYP_STATE,
536CASE_BYP_STATE,
537CASE_BYP_STATE,
538CASE_BYP_STATE,
539/*	|		}		~		DEL	*/
540CASE_BYP_STATE,
541CASE_BYP_STATE,
542CASE_IGNORE,
543CASE_BYP_STATE,
544/*      0x80            0x81            0x82            0x83    */
545CASE_IGNORE,
546CASE_IGNORE,
547CASE_IGNORE,
548CASE_IGNORE,
549/*      0x84            0x85            0x86            0x87    */
550CASE_IGNORE,
551CASE_IGNORE,
552CASE_IGNORE,
553CASE_IGNORE,
554/*      0x88            0x89            0x8a            0x8b    */
555CASE_IGNORE,
556CASE_IGNORE,
557CASE_IGNORE,
558CASE_IGNORE,
559/*      0x8c            0x8d            0x8e            0x8f    */
560CASE_IGNORE,
561CASE_IGNORE,
562CASE_IGNORE,
563CASE_IGNORE,
564/*      0x90            0x91            0x92            0x93    */
565CASE_IGNORE,
566CASE_IGNORE,
567CASE_IGNORE,
568CASE_IGNORE,
569/*      0x94            0x95            0x96            0x97    */
570CASE_IGNORE,
571CASE_IGNORE,
572CASE_IGNORE,
573CASE_IGNORE,
574/*      0x99            0x99            0x9a            0x9b    */
575CASE_IGNORE,
576CASE_IGNORE,
577CASE_IGNORE,
578CASE_IGNORE,
579/*      0x9c            0x9d            0x9e            0x9f    */
580CASE_IGNORE,
581CASE_IGNORE,
582CASE_IGNORE,
583CASE_IGNORE,
584/*      nobreakspace    exclamdown      cent            sterling        */
585CASE_BYP_STATE,
586CASE_BYP_STATE,
587CASE_BYP_STATE,
588CASE_BYP_STATE,
589/*      currency        yen             brokenbar       section         */
590CASE_BYP_STATE,
591CASE_BYP_STATE,
592CASE_BYP_STATE,
593CASE_BYP_STATE,
594/*      diaeresis       copyright       ordfeminine     guillemotleft   */
595CASE_BYP_STATE,
596CASE_BYP_STATE,
597CASE_BYP_STATE,
598CASE_BYP_STATE,
599/*      notsign         hyphen          registered      macron          */
600CASE_BYP_STATE,
601CASE_BYP_STATE,
602CASE_BYP_STATE,
603CASE_BYP_STATE,
604/*      degree          plusminus       twosuperior     threesuperior   */
605CASE_BYP_STATE,
606CASE_BYP_STATE,
607CASE_BYP_STATE,
608CASE_BYP_STATE,
609/*      acute           mu              paragraph       periodcentered  */
610CASE_BYP_STATE,
611CASE_BYP_STATE,
612CASE_BYP_STATE,
613CASE_BYP_STATE,
614/*      cedilla         onesuperior     masculine       guillemotright  */
615CASE_BYP_STATE,
616CASE_BYP_STATE,
617CASE_BYP_STATE,
618CASE_BYP_STATE,
619/*      onequarter      onehalf         threequarters   questiondown    */
620CASE_BYP_STATE,
621CASE_BYP_STATE,
622CASE_BYP_STATE,
623CASE_BYP_STATE,
624/*      Agrave          Aacute          Acircumflex     Atilde          */
625CASE_BYP_STATE,
626CASE_BYP_STATE,
627CASE_BYP_STATE,
628CASE_BYP_STATE,
629/*      Adiaeresis      Aring           AE              Ccedilla        */
630CASE_BYP_STATE,
631CASE_BYP_STATE,
632CASE_BYP_STATE,
633CASE_BYP_STATE,
634/*      Egrave          Eacute          Ecircumflex     Ediaeresis      */
635CASE_BYP_STATE,
636CASE_BYP_STATE,
637CASE_BYP_STATE,
638CASE_BYP_STATE,
639/*      Igrave          Iacute          Icircumflex     Idiaeresis      */
640CASE_BYP_STATE,
641CASE_BYP_STATE,
642CASE_BYP_STATE,
643CASE_BYP_STATE,
644/*      Eth             Ntilde          Ograve          Oacute          */
645CASE_BYP_STATE,
646CASE_BYP_STATE,
647CASE_BYP_STATE,
648CASE_BYP_STATE,
649/*      Ocircumflex     Otilde          Odiaeresis      multiply        */
650CASE_BYP_STATE,
651CASE_BYP_STATE,
652CASE_BYP_STATE,
653CASE_BYP_STATE,
654/*      Ooblique        Ugrave          Uacute          Ucircumflex     */
655CASE_BYP_STATE,
656CASE_BYP_STATE,
657CASE_BYP_STATE,
658CASE_BYP_STATE,
659/*      Udiaeresis      Yacute          Thorn           ssharp          */
660CASE_BYP_STATE,
661CASE_BYP_STATE,
662CASE_BYP_STATE,
663CASE_BYP_STATE,
664/*      agrave          aacute          acircumflex     atilde          */
665CASE_BYP_STATE,
666CASE_BYP_STATE,
667CASE_BYP_STATE,
668CASE_BYP_STATE,
669/*      adiaeresis      aring           ae              ccedilla        */
670CASE_BYP_STATE,
671CASE_BYP_STATE,
672CASE_BYP_STATE,
673CASE_BYP_STATE,
674/*      egrave          eacute          ecircumflex     ediaeresis      */
675CASE_BYP_STATE,
676CASE_BYP_STATE,
677CASE_BYP_STATE,
678CASE_BYP_STATE,
679/*      igrave          iacute          icircumflex     idiaeresis      */
680CASE_BYP_STATE,
681CASE_BYP_STATE,
682CASE_BYP_STATE,
683CASE_BYP_STATE,
684/*      eth             ntilde          ograve          oacute          */
685CASE_BYP_STATE,
686CASE_BYP_STATE,
687CASE_BYP_STATE,
688CASE_BYP_STATE,
689/*      ocircumflex     otilde          odiaeresis      division        */
690CASE_BYP_STATE,
691CASE_BYP_STATE,
692CASE_BYP_STATE,
693CASE_BYP_STATE,
694/*      oslash          ugrave          uacute          ucircumflex     */
695CASE_BYP_STATE,
696CASE_BYP_STATE,
697CASE_BYP_STATE,
698CASE_BYP_STATE,
699/*      udiaeresis      yacute          thorn           ydiaeresis      */
700CASE_BYP_STATE,
701CASE_BYP_STATE,
702CASE_BYP_STATE,
703CASE_BYP_STATE,
704};
705
706Const int Tbyptable[] =		/* ESC CAN (^X) bypass state */
707{
708/*	NUL		SOH		STX		ETX	*/
709CASE_IGNORE,
710CASE_IGNORE,
711CASE_IGNORE,
712CASE_IGNORE,
713/*	EOT		ENQ		ACK		BEL	*/
714CASE_IGNORE,
715CASE_IGNORE,
716CASE_IGNORE,
717CASE_BEL,
718/*	BS		HT		NL		VT	*/
719CASE_BS,
720CASE_TAB,
721CASE_LF,
722CASE_UP,
723/*	NP		CR		SO		SI	*/
724CASE_IGNORE,
725CASE_CR,
726CASE_IGNORE,
727CASE_IGNORE,
728/*	DLE		DC1		DC2		DC3	*/
729CASE_IGNORE,
730CASE_IGNORE,
731CASE_IGNORE,
732CASE_IGNORE,
733/*	DC4		NAK		SYN		ETB	*/
734CASE_IGNORE,
735CASE_IGNORE,
736CASE_IGNORE,
737CASE_IGNORE,
738/*	CAN		EM		SUB		ESC	*/
739CASE_IGNORE,
740CASE_IGNORE,
741CASE_IGNORE,
742CASE_BES_STATE,
743/*	FS		GS		RS		US	*/
744CASE_PT_STATE,
745CASE_PLT_STATE,
746CASE_IPL_STATE,
747CASE_ALP_STATE,
748/*	SP		!		"		#	*/
749CASE_IGNORE,
750CASE_IGNORE,
751CASE_IGNORE,
752CASE_IGNORE,
753/*	$		%		&		'	*/
754CASE_IGNORE,
755CASE_IGNORE,
756CASE_IGNORE,
757CASE_IGNORE,
758/*	(		)		*		+	*/
759CASE_IGNORE,
760CASE_IGNORE,
761CASE_IGNORE,
762CASE_IGNORE,
763/*	,		-		.		/	*/
764CASE_IGNORE,
765CASE_IGNORE,
766CASE_IGNORE,
767CASE_IGNORE,
768/*	0		1		2		3	*/
769CASE_IGNORE,
770CASE_IGNORE,
771CASE_IGNORE,
772CASE_IGNORE,
773/*	4		5		6		7	*/
774CASE_IGNORE,
775CASE_IGNORE,
776CASE_IGNORE,
777CASE_IGNORE,
778/*	8		9		:		;	*/
779CASE_IGNORE,
780CASE_IGNORE,
781CASE_IGNORE,
782CASE_IGNORE,
783/*	<		=		>		?	*/
784CASE_IGNORE,
785CASE_IGNORE,
786CASE_IGNORE,
787CASE_IGNORE,
788/*	@		A		B		C	*/
789CASE_IGNORE,
790CASE_IGNORE,
791CASE_IGNORE,
792CASE_IGNORE,
793/*	D		E		F		G	*/
794CASE_IGNORE,
795CASE_IGNORE,
796CASE_IGNORE,
797CASE_IGNORE,
798/*	H		I		J		K	*/
799CASE_IGNORE,
800CASE_IGNORE,
801CASE_IGNORE,
802CASE_IGNORE,
803/*	L		M		N		O	*/
804CASE_IGNORE,
805CASE_IGNORE,
806CASE_IGNORE,
807CASE_IGNORE,
808/*	P		Q		R		S	*/
809CASE_IGNORE,
810CASE_IGNORE,
811CASE_IGNORE,
812CASE_IGNORE,
813/*	T		U		V		W	*/
814CASE_IGNORE,
815CASE_IGNORE,
816CASE_IGNORE,
817CASE_IGNORE,
818/*	X		Y		Z		[	*/
819CASE_IGNORE,
820CASE_IGNORE,
821CASE_IGNORE,
822CASE_IGNORE,
823/*	\		]		^		_	*/
824CASE_IGNORE,
825CASE_IGNORE,
826CASE_IGNORE,
827CASE_IGNORE,
828/*	`		a		b		c	*/
829CASE_IGNORE,
830CASE_IGNORE,
831CASE_IGNORE,
832CASE_IGNORE,
833/*	d		e		f		g	*/
834CASE_IGNORE,
835CASE_IGNORE,
836CASE_IGNORE,
837CASE_IGNORE,
838/*	h		i		j		k	*/
839CASE_IGNORE,
840CASE_IGNORE,
841CASE_IGNORE,
842CASE_IGNORE,
843/*	l		m		n		o	*/
844CASE_IGNORE,
845CASE_IGNORE,
846CASE_IGNORE,
847CASE_IGNORE,
848/*	p		q		r		s	*/
849CASE_IGNORE,
850CASE_IGNORE,
851CASE_IGNORE,
852CASE_IGNORE,
853/*	t		u		v		w	*/
854CASE_IGNORE,
855CASE_IGNORE,
856CASE_IGNORE,
857CASE_IGNORE,
858/*	x		y		z		{	*/
859CASE_IGNORE,
860CASE_IGNORE,
861CASE_IGNORE,
862CASE_IGNORE,
863/*	|		}		~		DEL	*/
864CASE_IGNORE,
865CASE_IGNORE,
866CASE_IGNORE,
867CASE_IGNORE,
868/*      0x80            0x81            0x82            0x83    */
869CASE_IGNORE,
870CASE_IGNORE,
871CASE_IGNORE,
872CASE_IGNORE,
873/*      0x84            0x85            0x86            0x87    */
874CASE_IGNORE,
875CASE_IGNORE,
876CASE_IGNORE,
877CASE_IGNORE,
878/*      0x88            0x89            0x8a            0x8b    */
879CASE_IGNORE,
880CASE_IGNORE,
881CASE_IGNORE,
882CASE_IGNORE,
883/*      0x8c            0x8d            0x8e            0x8f    */
884CASE_IGNORE,
885CASE_IGNORE,
886CASE_IGNORE,
887CASE_IGNORE,
888/*      0x90            0x91            0x92            0x93    */
889CASE_IGNORE,
890CASE_IGNORE,
891CASE_IGNORE,
892CASE_IGNORE,
893/*      0x94            0x95            0x96            0x97    */
894CASE_IGNORE,
895CASE_IGNORE,
896CASE_IGNORE,
897CASE_IGNORE,
898/*      0x99            0x99            0x9a            0x9b    */
899CASE_IGNORE,
900CASE_IGNORE,
901CASE_IGNORE,
902CASE_IGNORE,
903/*      0x9c            0x9d            0x9e            0x9f    */
904CASE_IGNORE,
905CASE_IGNORE,
906CASE_IGNORE,
907CASE_IGNORE,
908/*      nobreakspace    exclamdown      cent            sterling        */
909CASE_IGNORE,
910CASE_IGNORE,
911CASE_IGNORE,
912CASE_IGNORE,
913/*      currency        yen             brokenbar       section         */
914CASE_IGNORE,
915CASE_IGNORE,
916CASE_IGNORE,
917CASE_IGNORE,
918/*      diaeresis       copyright       ordfeminine     guillemotleft   */
919CASE_IGNORE,
920CASE_IGNORE,
921CASE_IGNORE,
922CASE_IGNORE,
923/*      notsign         hyphen          registered      macron          */
924CASE_IGNORE,
925CASE_IGNORE,
926CASE_IGNORE,
927CASE_IGNORE,
928/*      degree          plusminus       twosuperior     threesuperior   */
929CASE_IGNORE,
930CASE_IGNORE,
931CASE_IGNORE,
932CASE_IGNORE,
933/*      acute           mu              paragraph       periodcentered  */
934CASE_IGNORE,
935CASE_IGNORE,
936CASE_IGNORE,
937CASE_IGNORE,
938/*      cedilla         onesuperior     masculine       guillemotright  */
939CASE_IGNORE,
940CASE_IGNORE,
941CASE_IGNORE,
942CASE_IGNORE,
943/*      onequarter      onehalf         threequarters   questiondown    */
944CASE_IGNORE,
945CASE_IGNORE,
946CASE_IGNORE,
947CASE_IGNORE,
948/*      Agrave          Aacute          Acircumflex     Atilde          */
949CASE_IGNORE,
950CASE_IGNORE,
951CASE_IGNORE,
952CASE_IGNORE,
953/*      Adiaeresis      Aring           AE              Ccedilla        */
954CASE_IGNORE,
955CASE_IGNORE,
956CASE_IGNORE,
957CASE_IGNORE,
958/*      Egrave          Eacute          Ecircumflex     Ediaeresis      */
959CASE_IGNORE,
960CASE_IGNORE,
961CASE_IGNORE,
962CASE_IGNORE,
963/*      Igrave          Iacute          Icircumflex     Idiaeresis      */
964CASE_IGNORE,
965CASE_IGNORE,
966CASE_IGNORE,
967CASE_IGNORE,
968/*      Eth             Ntilde          Ograve          Oacute          */
969CASE_IGNORE,
970CASE_IGNORE,
971CASE_IGNORE,
972CASE_IGNORE,
973/*      Ocircumflex     Otilde          Odiaeresis      multiply        */
974CASE_IGNORE,
975CASE_IGNORE,
976CASE_IGNORE,
977CASE_IGNORE,
978/*      Ooblique        Ugrave          Uacute          Ucircumflex     */
979CASE_IGNORE,
980CASE_IGNORE,
981CASE_IGNORE,
982CASE_IGNORE,
983/*      Udiaeresis      Yacute          Thorn           ssharp          */
984CASE_IGNORE,
985CASE_IGNORE,
986CASE_IGNORE,
987CASE_IGNORE,
988/*      agrave          aacute          acircumflex     atilde          */
989CASE_IGNORE,
990CASE_IGNORE,
991CASE_IGNORE,
992CASE_IGNORE,
993/*      adiaeresis      aring           ae              ccedilla        */
994CASE_IGNORE,
995CASE_IGNORE,
996CASE_IGNORE,
997CASE_IGNORE,
998/*      egrave          eacute          ecircumflex     ediaeresis      */
999CASE_IGNORE,
1000CASE_IGNORE,
1001CASE_IGNORE,
1002CASE_IGNORE,
1003/*      igrave          iacute          icircumflex     idiaeresis      */
1004CASE_IGNORE,
1005CASE_IGNORE,
1006CASE_IGNORE,
1007CASE_IGNORE,
1008/*      eth             ntilde          ograve          oacute          */
1009CASE_IGNORE,
1010CASE_IGNORE,
1011CASE_IGNORE,
1012CASE_IGNORE,
1013/*      ocircumflex     otilde          odiaeresis      division        */
1014CASE_IGNORE,
1015CASE_IGNORE,
1016CASE_IGNORE,
1017CASE_IGNORE,
1018/*      oslash          ugrave          uacute          ucircumflex     */
1019CASE_IGNORE,
1020CASE_IGNORE,
1021CASE_IGNORE,
1022CASE_IGNORE,
1023/*      udiaeresis      yacute          thorn           ydiaeresis      */
1024CASE_IGNORE,
1025CASE_IGNORE,
1026CASE_IGNORE,
1027CASE_IGNORE,
1028};
1029
1030Const int Tesctable[] =		/* ESC */
1031{
1032/*	NUL		SOH		STX		ETX	*/
1033CASE_CURSTATE,
1034CASE_CURSTATE,
1035CASE_CURSTATE,
1036CASE_VT_MODE,
1037/*	EOT		ENQ		ACK		BEL	*/
1038CASE_CURSTATE,
1039CASE_REPORT,
1040CASE_CURSTATE,
1041CASE_BEL,
1042/*	BS		HT		NL		VT	*/
1043CASE_BS,
1044CASE_TAB,
1045CASE_IGNORE,
1046CASE_UP,
1047/*	NP		CR		SO		SI	*/
1048CASE_PAGE,
1049CASE_IGNORE,
1050CASE_APL,
1051CASE_ASCII,
1052/*	DLE		DC1		DC2		DC3	*/
1053CASE_CURSTATE,
1054CASE_CURSTATE,
1055CASE_CURSTATE,
1056CASE_CURSTATE,
1057/*	DC4		NAK		SYN		ETB	*/
1058CASE_CURSTATE,
1059CASE_CURSTATE,
1060CASE_CURSTATE,
1061CASE_COPY,
1062/*	CAN		EM		SUB		ESC	*/
1063CASE_BYP_STATE,
1064CASE_CURSTATE,
1065CASE_GIN,
1066CASE_IGNORE,
1067/*	FS		GS		RS		US	*/
1068CASE_SPT_STATE,
1069CASE_PLT_STATE,
1070CASE_IPL_STATE,
1071CASE_ALP_STATE,
1072/*	SP		!		"		#	*/
1073CASE_CURSTATE,
1074CASE_CURSTATE,
1075CASE_CURSTATE,
1076CASE_CURSTATE,
1077/*	$		%		&		'	*/
1078CASE_CURSTATE,
1079CASE_CURSTATE,
1080CASE_CURSTATE,
1081CASE_CURSTATE,
1082/*	(		)		*		+	*/
1083CASE_CURSTATE,
1084CASE_CURSTATE,
1085CASE_CURSTATE,
1086CASE_CURSTATE,
1087/*	,		-		.		/	*/
1088CASE_CURSTATE,
1089CASE_CURSTATE,
1090CASE_CURSTATE,
1091CASE_CURSTATE,
1092/*	0		1		2		3	*/
1093CASE_CURSTATE,
1094CASE_CURSTATE,
1095CASE_CURSTATE,
1096CASE_CURSTATE,
1097/*	4		5		6		7	*/
1098CASE_CURSTATE,
1099CASE_CURSTATE,
1100CASE_CURSTATE,
1101CASE_CURSTATE,
1102/*	8		9		:		;	*/
1103CASE_CHAR_SIZE,
1104CASE_CHAR_SIZE,
1105CASE_CHAR_SIZE,
1106CASE_CHAR_SIZE,
1107/*	<		=		>		?	*/
1108CASE_CURSTATE,
1109CASE_CURSTATE,
1110CASE_CURSTATE,
1111CASE_CURSTATE,
1112/*	@		A		B		C	*/
1113CASE_CURSTATE,
1114CASE_CURSTATE,
1115CASE_CURSTATE,
1116CASE_CURSTATE,
1117/*	D		E		F		G	*/
1118CASE_CURSTATE,
1119CASE_CURSTATE,
1120CASE_CURSTATE,
1121CASE_CURSTATE,
1122/*	H		I		J		K	*/
1123CASE_CURSTATE,
1124CASE_CURSTATE,
1125CASE_CURSTATE,
1126CASE_CURSTATE,
1127/*	L		M		N		O	*/
1128CASE_CURSTATE,
1129CASE_CURSTATE,
1130CASE_CURSTATE,
1131CASE_CURSTATE,
1132/*	P		Q		R		S	*/
1133CASE_CURSTATE,
1134CASE_CURSTATE,
1135CASE_CURSTATE,
1136CASE_CURSTATE,
1137/*	T		U		V		W	*/
1138CASE_CURSTATE,
1139CASE_CURSTATE,
1140CASE_CURSTATE,
1141CASE_CURSTATE,
1142/*	X		Y		Z		[	*/
1143CASE_CURSTATE,
1144CASE_CURSTATE,
1145CASE_CURSTATE,
1146CASE_CURSTATE,
1147/*	\		]		^		_	*/
1148CASE_CURSTATE,
1149CASE_OSC,
1150CASE_CURSTATE,
1151CASE_CURSTATE,
1152/*	`		a		b		c	*/
1153CASE_BEAM_VEC,
1154CASE_BEAM_VEC,
1155CASE_BEAM_VEC,
1156CASE_BEAM_VEC,
1157/*	d		e		f		g	*/
1158CASE_BEAM_VEC,
1159CASE_CURSTATE,
1160CASE_CURSTATE,
1161CASE_BEAM_VEC,
1162/*	h		i		j		k	*/
1163CASE_BEAM_VEC,
1164CASE_BEAM_VEC,
1165CASE_BEAM_VEC,
1166CASE_BEAM_VEC,
1167/*	l		m		n		o	*/
1168CASE_BEAM_VEC,
1169CASE_CURSTATE,
1170CASE_CURSTATE,
1171CASE_BEAM_VEC,
1172/*	p		q		r		s	*/
1173CASE_BEAM_VEC,
1174CASE_BEAM_VEC,
1175CASE_BEAM_VEC,
1176CASE_BEAM_VEC,
1177/*	t		u		v		w	*/
1178CASE_BEAM_VEC,
1179CASE_CURSTATE,
1180CASE_CURSTATE,
1181CASE_BEAM_VEC,
1182/*	x		y		z		{	*/
1183CASE_CURSTATE,
1184CASE_CURSTATE,
1185CASE_CURSTATE,
1186CASE_CURSTATE,
1187/*	|		}		~		DEL	*/
1188CASE_CURSTATE,
1189CASE_CURSTATE,
1190CASE_IGNORE,
1191CASE_CURSTATE,
1192/*      0x80            0x81            0x82            0x83    */
1193CASE_IGNORE,
1194CASE_IGNORE,
1195CASE_IGNORE,
1196CASE_IGNORE,
1197/*      0x84            0x85            0x86            0x87    */
1198CASE_IGNORE,
1199CASE_IGNORE,
1200CASE_IGNORE,
1201CASE_IGNORE,
1202/*      0x88            0x89            0x8a            0x8b    */
1203CASE_IGNORE,
1204CASE_IGNORE,
1205CASE_IGNORE,
1206CASE_IGNORE,
1207/*      0x8c            0x8d            0x8e            0x8f    */
1208CASE_IGNORE,
1209CASE_IGNORE,
1210CASE_IGNORE,
1211CASE_IGNORE,
1212/*      0x90            0x91            0x92            0x93    */
1213CASE_IGNORE,
1214CASE_IGNORE,
1215CASE_IGNORE,
1216CASE_IGNORE,
1217/*      0x94            0x95            0x96            0x97    */
1218CASE_IGNORE,
1219CASE_IGNORE,
1220CASE_IGNORE,
1221CASE_IGNORE,
1222/*      0x99            0x99            0x9a            0x9b    */
1223CASE_IGNORE,
1224CASE_IGNORE,
1225CASE_IGNORE,
1226CASE_IGNORE,
1227/*      0x9c            0x9d            0x9e            0x9f    */
1228CASE_IGNORE,
1229CASE_IGNORE,
1230CASE_IGNORE,
1231CASE_IGNORE,
1232/*      nobreakspace    exclamdown      cent            sterling        */
1233CASE_IGNORE,
1234CASE_IGNORE,
1235CASE_IGNORE,
1236CASE_IGNORE,
1237/*      currency        yen             brokenbar       section         */
1238CASE_IGNORE,
1239CASE_IGNORE,
1240CASE_IGNORE,
1241CASE_IGNORE,
1242/*      diaeresis       copyright       ordfeminine     guillemotleft   */
1243CASE_IGNORE,
1244CASE_IGNORE,
1245CASE_IGNORE,
1246CASE_IGNORE,
1247/*      notsign         hyphen          registered      macron          */
1248CASE_IGNORE,
1249CASE_IGNORE,
1250CASE_IGNORE,
1251CASE_IGNORE,
1252/*      degree          plusminus       twosuperior     threesuperior   */
1253CASE_IGNORE,
1254CASE_IGNORE,
1255CASE_IGNORE,
1256CASE_IGNORE,
1257/*      acute           mu              paragraph       periodcentered  */
1258CASE_IGNORE,
1259CASE_IGNORE,
1260CASE_IGNORE,
1261CASE_IGNORE,
1262/*      cedilla         onesuperior     masculine       guillemotright  */
1263CASE_IGNORE,
1264CASE_IGNORE,
1265CASE_IGNORE,
1266CASE_IGNORE,
1267/*      onequarter      onehalf         threequarters   questiondown    */
1268CASE_IGNORE,
1269CASE_IGNORE,
1270CASE_IGNORE,
1271CASE_IGNORE,
1272/*      Agrave          Aacute          Acircumflex     Atilde          */
1273CASE_IGNORE,
1274CASE_IGNORE,
1275CASE_IGNORE,
1276CASE_IGNORE,
1277/*      Adiaeresis      Aring           AE              Ccedilla        */
1278CASE_IGNORE,
1279CASE_IGNORE,
1280CASE_IGNORE,
1281CASE_IGNORE,
1282/*      Egrave          Eacute          Ecircumflex     Ediaeresis      */
1283CASE_IGNORE,
1284CASE_IGNORE,
1285CASE_IGNORE,
1286CASE_IGNORE,
1287/*      Igrave          Iacute          Icircumflex     Idiaeresis      */
1288CASE_IGNORE,
1289CASE_IGNORE,
1290CASE_IGNORE,
1291CASE_IGNORE,
1292/*      Eth             Ntilde          Ograve          Oacute          */
1293CASE_IGNORE,
1294CASE_IGNORE,
1295CASE_IGNORE,
1296CASE_IGNORE,
1297/*      Ocircumflex     Otilde          Odiaeresis      multiply        */
1298CASE_IGNORE,
1299CASE_IGNORE,
1300CASE_IGNORE,
1301CASE_IGNORE,
1302/*      Ooblique        Ugrave          Uacute          Ucircumflex     */
1303CASE_IGNORE,
1304CASE_IGNORE,
1305CASE_IGNORE,
1306CASE_IGNORE,
1307/*      Udiaeresis      Yacute          Thorn           ssharp          */
1308CASE_IGNORE,
1309CASE_IGNORE,
1310CASE_IGNORE,
1311CASE_IGNORE,
1312/*      agrave          aacute          acircumflex     atilde          */
1313CASE_IGNORE,
1314CASE_IGNORE,
1315CASE_IGNORE,
1316CASE_IGNORE,
1317/*      adiaeresis      aring           ae              ccedilla        */
1318CASE_IGNORE,
1319CASE_IGNORE,
1320CASE_IGNORE,
1321CASE_IGNORE,
1322/*      egrave          eacute          ecircumflex     ediaeresis      */
1323CASE_IGNORE,
1324CASE_IGNORE,
1325CASE_IGNORE,
1326CASE_IGNORE,
1327/*      igrave          iacute          icircumflex     idiaeresis      */
1328CASE_IGNORE,
1329CASE_IGNORE,
1330CASE_IGNORE,
1331CASE_IGNORE,
1332/*      eth             ntilde          ograve          oacute          */
1333CASE_IGNORE,
1334CASE_IGNORE,
1335CASE_IGNORE,
1336CASE_IGNORE,
1337/*      ocircumflex     otilde          odiaeresis      division        */
1338CASE_IGNORE,
1339CASE_IGNORE,
1340CASE_IGNORE,
1341CASE_IGNORE,
1342/*      oslash          ugrave          uacute          ucircumflex     */
1343CASE_IGNORE,
1344CASE_IGNORE,
1345CASE_IGNORE,
1346CASE_IGNORE,
1347/*      udiaeresis      yacute          thorn           ydiaeresis      */
1348CASE_IGNORE,
1349CASE_IGNORE,
1350CASE_IGNORE,
1351CASE_IGNORE,
1352};
1353
1354Const int Tipltable[] =		/* RS (^^) incremental plot */
1355{
1356/*	NUL		SOH		STX		ETX	*/
1357CASE_IGNORE,
1358CASE_IGNORE,
1359CASE_IGNORE,
1360CASE_IGNORE,
1361/*	EOT		ENQ		ACK		BEL	*/
1362CASE_IGNORE,
1363CASE_IGNORE,
1364CASE_IGNORE,
1365CASE_BEL,
1366/*	BS		HT		NL		VT	*/
1367CASE_BS,
1368CASE_TAB,
1369CASE_LF,
1370CASE_UP,
1371/*	NP		CR		SO		SI	*/
1372CASE_IGNORE,
1373CASE_CR,
1374CASE_IGNORE,
1375CASE_IGNORE,
1376/*	DLE		DC1		DC2		DC3	*/
1377CASE_IGNORE,
1378CASE_IGNORE,
1379CASE_IGNORE,
1380CASE_IGNORE,
1381/*	DC4		NAK		SYN		ETB	*/
1382CASE_IGNORE,
1383CASE_IGNORE,
1384CASE_IGNORE,
1385CASE_IGNORE,
1386/*	CAN		EM		SUB		ESC	*/
1387CASE_IGNORE,
1388CASE_IGNORE,
1389CASE_IGNORE,
1390CASE_ESC_STATE,
1391/*	FS		GS		RS		US	*/
1392CASE_PT_STATE,
1393CASE_PLT_STATE,
1394CASE_IPL_STATE,
1395CASE_ALP_STATE,
1396/*	SP		!		"		#	*/
1397CASE_PENUP,
1398CASE_IGNORE,
1399CASE_IGNORE,
1400CASE_IGNORE,
1401/*	$		%		&		'	*/
1402CASE_IGNORE,
1403CASE_IGNORE,
1404CASE_IGNORE,
1405CASE_IGNORE,
1406/*	(		)		*		+	*/
1407CASE_IGNORE,
1408CASE_IGNORE,
1409CASE_IGNORE,
1410CASE_IGNORE,
1411/*	,		-		.		/	*/
1412CASE_IGNORE,
1413CASE_IGNORE,
1414CASE_IGNORE,
1415CASE_IGNORE,
1416/*	0		1		2		3	*/
1417CASE_IGNORE,
1418CASE_IGNORE,
1419CASE_IGNORE,
1420CASE_IGNORE,
1421/*	4		5		6		7	*/
1422CASE_IGNORE,
1423CASE_IGNORE,
1424CASE_IGNORE,
1425CASE_IGNORE,
1426/*	8		9		:		;	*/
1427CASE_IGNORE,
1428CASE_IGNORE,
1429CASE_IGNORE,
1430CASE_IGNORE,
1431/*	<		=		>		?	*/
1432CASE_IGNORE,
1433CASE_IGNORE,
1434CASE_IGNORE,
1435CASE_IGNORE,
1436/*	@		A		B		C	*/
1437CASE_IGNORE,
1438CASE_IPL_POINT,
1439CASE_IPL_POINT,
1440CASE_IGNORE,
1441/*	D		E		F		G	*/
1442CASE_IPL_POINT,
1443CASE_IPL_POINT,
1444CASE_IPL_POINT,
1445CASE_IGNORE,
1446/*	H		I		J		K	*/
1447CASE_IPL_POINT,
1448CASE_IPL_POINT,
1449CASE_IPL_POINT,
1450CASE_IGNORE,
1451/*	L		M		N		O	*/
1452CASE_IGNORE,
1453CASE_IGNORE,
1454CASE_IGNORE,
1455CASE_IGNORE,
1456/*	P		Q		R		S	*/
1457CASE_PENDOWN,
1458CASE_IGNORE,
1459CASE_IGNORE,
1460CASE_IGNORE,
1461/*	T		U		V		W	*/
1462CASE_IGNORE,
1463CASE_IGNORE,
1464CASE_IGNORE,
1465CASE_IGNORE,
1466/*	X		Y		Z		[	*/
1467CASE_IGNORE,
1468CASE_IGNORE,
1469CASE_IGNORE,
1470CASE_IGNORE,
1471/*	\		]		^		_	*/
1472CASE_IGNORE,
1473CASE_IGNORE,
1474CASE_IGNORE,
1475CASE_IGNORE,
1476/*	`		a		b		c	*/
1477CASE_IGNORE,
1478CASE_IGNORE,
1479CASE_IGNORE,
1480CASE_IGNORE,
1481/*	d		e		f		g	*/
1482CASE_IGNORE,
1483CASE_IGNORE,
1484CASE_IGNORE,
1485CASE_IGNORE,
1486/*	h		i		j		k	*/
1487CASE_IGNORE,
1488CASE_IGNORE,
1489CASE_IGNORE,
1490CASE_IGNORE,
1491/*	l		m		n		o	*/
1492CASE_IGNORE,
1493CASE_IGNORE,
1494CASE_IGNORE,
1495CASE_IGNORE,
1496/*	p		q		r		s	*/
1497CASE_IGNORE,
1498CASE_IGNORE,
1499CASE_IGNORE,
1500CASE_IGNORE,
1501/*	t		u		v		w	*/
1502CASE_IGNORE,
1503CASE_IGNORE,
1504CASE_IGNORE,
1505CASE_IGNORE,
1506/*	x		y		z		{	*/
1507CASE_IGNORE,
1508CASE_IGNORE,
1509CASE_IGNORE,
1510CASE_IGNORE,
1511/*	|		}		~		DEL	*/
1512CASE_IGNORE,
1513CASE_IGNORE,
1514CASE_IGNORE,
1515CASE_IGNORE,
1516/*      0x80            0x81            0x82            0x83    */
1517CASE_IGNORE,
1518CASE_IGNORE,
1519CASE_IGNORE,
1520CASE_IGNORE,
1521/*      0x84            0x85            0x86            0x87    */
1522CASE_IGNORE,
1523CASE_IGNORE,
1524CASE_IGNORE,
1525CASE_IGNORE,
1526/*      0x88            0x89            0x8a            0x8b    */
1527CASE_IGNORE,
1528CASE_IGNORE,
1529CASE_IGNORE,
1530CASE_IGNORE,
1531/*      0x8c            0x8d            0x8e            0x8f    */
1532CASE_IGNORE,
1533CASE_IGNORE,
1534CASE_IGNORE,
1535CASE_IGNORE,
1536/*      0x90            0x91            0x92            0x93    */
1537CASE_IGNORE,
1538CASE_IGNORE,
1539CASE_IGNORE,
1540CASE_IGNORE,
1541/*      0x94            0x95            0x96            0x97    */
1542CASE_IGNORE,
1543CASE_IGNORE,
1544CASE_IGNORE,
1545CASE_IGNORE,
1546/*      0x99            0x99            0x9a            0x9b    */
1547CASE_IGNORE,
1548CASE_IGNORE,
1549CASE_IGNORE,
1550CASE_IGNORE,
1551/*      0x9c            0x9d            0x9e            0x9f    */
1552CASE_IGNORE,
1553CASE_IGNORE,
1554CASE_IGNORE,
1555CASE_IGNORE,
1556/*      nobreakspace    exclamdown      cent            sterling        */
1557CASE_IGNORE,
1558CASE_IGNORE,
1559CASE_IGNORE,
1560CASE_IGNORE,
1561/*      currency        yen             brokenbar       section         */
1562CASE_IGNORE,
1563CASE_IGNORE,
1564CASE_IGNORE,
1565CASE_IGNORE,
1566/*      diaeresis       copyright       ordfeminine     guillemotleft   */
1567CASE_IGNORE,
1568CASE_IGNORE,
1569CASE_IGNORE,
1570CASE_IGNORE,
1571/*      notsign         hyphen          registered      macron          */
1572CASE_IGNORE,
1573CASE_IGNORE,
1574CASE_IGNORE,
1575CASE_IGNORE,
1576/*      degree          plusminus       twosuperior     threesuperior   */
1577CASE_IGNORE,
1578CASE_IGNORE,
1579CASE_IGNORE,
1580CASE_IGNORE,
1581/*      acute           mu              paragraph       periodcentered  */
1582CASE_IGNORE,
1583CASE_IGNORE,
1584CASE_IGNORE,
1585CASE_IGNORE,
1586/*      cedilla         onesuperior     masculine       guillemotright  */
1587CASE_IGNORE,
1588CASE_IGNORE,
1589CASE_IGNORE,
1590CASE_IGNORE,
1591/*      onequarter      onehalf         threequarters   questiondown    */
1592CASE_IGNORE,
1593CASE_IGNORE,
1594CASE_IGNORE,
1595CASE_IGNORE,
1596/*      Agrave          Aacute          Acircumflex     Atilde          */
1597CASE_IGNORE,
1598CASE_IGNORE,
1599CASE_IGNORE,
1600CASE_IGNORE,
1601/*      Adiaeresis      Aring           AE              Ccedilla        */
1602CASE_IGNORE,
1603CASE_IGNORE,
1604CASE_IGNORE,
1605CASE_IGNORE,
1606/*      Egrave          Eacute          Ecircumflex     Ediaeresis      */
1607CASE_IGNORE,
1608CASE_IGNORE,
1609CASE_IGNORE,
1610CASE_IGNORE,
1611/*      Igrave          Iacute          Icircumflex     Idiaeresis      */
1612CASE_IGNORE,
1613CASE_IGNORE,
1614CASE_IGNORE,
1615CASE_IGNORE,
1616/*      Eth             Ntilde          Ograve          Oacute          */
1617CASE_IGNORE,
1618CASE_IGNORE,
1619CASE_IGNORE,
1620CASE_IGNORE,
1621/*      Ocircumflex     Otilde          Odiaeresis      multiply        */
1622CASE_IGNORE,
1623CASE_IGNORE,
1624CASE_IGNORE,
1625CASE_IGNORE,
1626/*      Ooblique        Ugrave          Uacute          Ucircumflex     */
1627CASE_IGNORE,
1628CASE_IGNORE,
1629CASE_IGNORE,
1630CASE_IGNORE,
1631/*      Udiaeresis      Yacute          Thorn           ssharp          */
1632CASE_IGNORE,
1633CASE_IGNORE,
1634CASE_IGNORE,
1635CASE_IGNORE,
1636/*      agrave          aacute          acircumflex     atilde          */
1637CASE_IGNORE,
1638CASE_IGNORE,
1639CASE_IGNORE,
1640CASE_IGNORE,
1641/*      adiaeresis      aring           ae              ccedilla        */
1642CASE_IGNORE,
1643CASE_IGNORE,
1644CASE_IGNORE,
1645CASE_IGNORE,
1646/*      egrave          eacute          ecircumflex     ediaeresis      */
1647CASE_IGNORE,
1648CASE_IGNORE,
1649CASE_IGNORE,
1650CASE_IGNORE,
1651/*      igrave          iacute          icircumflex     idiaeresis      */
1652CASE_IGNORE,
1653CASE_IGNORE,
1654CASE_IGNORE,
1655CASE_IGNORE,
1656/*      eth             ntilde          ograve          oacute          */
1657CASE_IGNORE,
1658CASE_IGNORE,
1659CASE_IGNORE,
1660CASE_IGNORE,
1661/*      ocircumflex     otilde          odiaeresis      division        */
1662CASE_IGNORE,
1663CASE_IGNORE,
1664CASE_IGNORE,
1665CASE_IGNORE,
1666/*      oslash          ugrave          uacute          ucircumflex     */
1667CASE_IGNORE,
1668CASE_IGNORE,
1669CASE_IGNORE,
1670CASE_IGNORE,
1671/*      udiaeresis      yacute          thorn           ydiaeresis      */
1672CASE_IGNORE,
1673CASE_IGNORE,
1674CASE_IGNORE,
1675CASE_IGNORE,
1676};
1677
1678Const int Tplttable[] =		/* GS (^]) graph (plot) mode */
1679{
1680/*	NUL		SOH		STX		ETX	*/
1681CASE_IGNORE,
1682CASE_IGNORE,
1683CASE_IGNORE,
1684CASE_IGNORE,
1685/*	EOT		ENQ		ACK		BEL	*/
1686CASE_IGNORE,
1687CASE_IGNORE,
1688CASE_IGNORE,
1689CASE_BEL,
1690/*	BS		HT		NL		VT	*/
1691CASE_BS,
1692CASE_TAB,
1693CASE_LF,
1694CASE_UP,
1695/*	NP		CR		SO		SI	*/
1696CASE_IGNORE,
1697CASE_CR,
1698CASE_IGNORE,
1699CASE_IGNORE,
1700/*	DLE		DC1		DC2		DC3	*/
1701CASE_IGNORE,
1702CASE_IGNORE,
1703CASE_IGNORE,
1704CASE_IGNORE,
1705/*	DC4		NAK		SYN		ETB	*/
1706CASE_IGNORE,
1707CASE_IGNORE,
1708CASE_IGNORE,
1709CASE_IGNORE,
1710/*	CAN		EM		SUB		ESC	*/
1711CASE_IGNORE,
1712CASE_IGNORE,
1713CASE_IGNORE,
1714CASE_ESC_STATE,
1715/*	FS		GS		RS		US	*/
1716CASE_PT_STATE,
1717CASE_PLT_STATE,
1718CASE_IPL_STATE,
1719CASE_ALP_STATE,
1720/*	SP		!		"		#	*/
1721CASE_PLT_VEC,
1722CASE_PLT_VEC,
1723CASE_PLT_VEC,
1724CASE_PLT_VEC,
1725/*	$		%		&		'	*/
1726CASE_PLT_VEC,
1727CASE_PLT_VEC,
1728CASE_PLT_VEC,
1729CASE_PLT_VEC,
1730/*	(		)		*		+	*/
1731CASE_PLT_VEC,
1732CASE_PLT_VEC,
1733CASE_PLT_VEC,
1734CASE_PLT_VEC,
1735/*	,		-		.		/	*/
1736CASE_PLT_VEC,
1737CASE_PLT_VEC,
1738CASE_PLT_VEC,
1739CASE_PLT_VEC,
1740/*	0		1		2		3	*/
1741CASE_PLT_VEC,
1742CASE_PLT_VEC,
1743CASE_PLT_VEC,
1744CASE_PLT_VEC,
1745/*	4		5		6		7	*/
1746CASE_PLT_VEC,
1747CASE_PLT_VEC,
1748CASE_PLT_VEC,
1749CASE_PLT_VEC,
1750/*	8		9		:		;	*/
1751CASE_PLT_VEC,
1752CASE_PLT_VEC,
1753CASE_PLT_VEC,
1754CASE_PLT_VEC,
1755/*	<		=		>		?	*/
1756CASE_PLT_VEC,
1757CASE_PLT_VEC,
1758CASE_PLT_VEC,
1759CASE_PLT_VEC,
1760/*	@		A		B		C	*/
1761CASE_PLT_VEC,
1762CASE_PLT_VEC,
1763CASE_PLT_VEC,
1764CASE_PLT_VEC,
1765/*	D		E		F		G	*/
1766CASE_PLT_VEC,
1767CASE_PLT_VEC,
1768CASE_PLT_VEC,
1769CASE_PLT_VEC,
1770/*	H		I		J		K	*/
1771CASE_PLT_VEC,
1772CASE_PLT_VEC,
1773CASE_PLT_VEC,
1774CASE_PLT_VEC,
1775/*	L		M		N		O	*/
1776CASE_PLT_VEC,
1777CASE_PLT_VEC,
1778CASE_PLT_VEC,
1779CASE_PLT_VEC,
1780/*	P		Q		R		S	*/
1781CASE_PLT_VEC,
1782CASE_PLT_VEC,
1783CASE_PLT_VEC,
1784CASE_PLT_VEC,
1785/*	T		U		V		W	*/
1786CASE_PLT_VEC,
1787CASE_PLT_VEC,
1788CASE_PLT_VEC,
1789CASE_PLT_VEC,
1790/*	X		Y		Z		[	*/
1791CASE_PLT_VEC,
1792CASE_PLT_VEC,
1793CASE_PLT_VEC,
1794CASE_PLT_VEC,
1795/*	\		]		^		_	*/
1796CASE_PLT_VEC,
1797CASE_PLT_VEC,
1798CASE_PLT_VEC,
1799CASE_PLT_VEC,
1800/*	`		a		b		c	*/
1801CASE_PLT_VEC,
1802CASE_PLT_VEC,
1803CASE_PLT_VEC,
1804CASE_PLT_VEC,
1805/*	d		e		f		g	*/
1806CASE_PLT_VEC,
1807CASE_PLT_VEC,
1808CASE_PLT_VEC,
1809CASE_PLT_VEC,
1810/*	h		i		j		k	*/
1811CASE_PLT_VEC,
1812CASE_PLT_VEC,
1813CASE_PLT_VEC,
1814CASE_PLT_VEC,
1815/*	l		m		n		o	*/
1816CASE_PLT_VEC,
1817CASE_PLT_VEC,
1818CASE_PLT_VEC,
1819CASE_PLT_VEC,
1820/*	p		q		r		s	*/
1821CASE_PLT_VEC,
1822CASE_PLT_VEC,
1823CASE_PLT_VEC,
1824CASE_PLT_VEC,
1825/*	t		u		v		w	*/
1826CASE_PLT_VEC,
1827CASE_PLT_VEC,
1828CASE_PLT_VEC,
1829CASE_PLT_VEC,
1830/*	x		y		z		{	*/
1831CASE_PLT_VEC,
1832CASE_PLT_VEC,
1833CASE_PLT_VEC,
1834CASE_PLT_VEC,
1835/*	|		}		~		DEL	*/
1836CASE_PLT_VEC,
1837CASE_PLT_VEC,
1838CASE_PLT_VEC,
1839CASE_PLT_VEC,
1840/*      0x80            0x81            0x82            0x83    */
1841CASE_IGNORE,
1842CASE_IGNORE,
1843CASE_IGNORE,
1844CASE_IGNORE,
1845/*      0x84            0x85            0x86            0x87    */
1846CASE_IGNORE,
1847CASE_IGNORE,
1848CASE_IGNORE,
1849CASE_IGNORE,
1850/*      0x88            0x89            0x8a            0x8b    */
1851CASE_IGNORE,
1852CASE_IGNORE,
1853CASE_IGNORE,
1854CASE_IGNORE,
1855/*      0x8c            0x8d            0x8e            0x8f    */
1856CASE_IGNORE,
1857CASE_IGNORE,
1858CASE_IGNORE,
1859CASE_IGNORE,
1860/*      0x90            0x91            0x92            0x93    */
1861CASE_IGNORE,
1862CASE_IGNORE,
1863CASE_IGNORE,
1864CASE_IGNORE,
1865/*      0x94            0x95            0x96            0x97    */
1866CASE_IGNORE,
1867CASE_IGNORE,
1868CASE_IGNORE,
1869CASE_IGNORE,
1870/*      0x99            0x99            0x9a            0x9b    */
1871CASE_IGNORE,
1872CASE_IGNORE,
1873CASE_IGNORE,
1874CASE_IGNORE,
1875/*      0x9c            0x9d            0x9e            0x9f    */
1876CASE_IGNORE,
1877CASE_IGNORE,
1878CASE_IGNORE,
1879CASE_IGNORE,
1880/*      nobreakspace    exclamdown      cent            sterling        */
1881CASE_IGNORE,
1882CASE_IGNORE,
1883CASE_IGNORE,
1884CASE_IGNORE,
1885/*      currency        yen             brokenbar       section         */
1886CASE_IGNORE,
1887CASE_IGNORE,
1888CASE_IGNORE,
1889CASE_IGNORE,
1890/*      diaeresis       copyright       ordfeminine     guillemotleft   */
1891CASE_IGNORE,
1892CASE_IGNORE,
1893CASE_IGNORE,
1894CASE_IGNORE,
1895/*      notsign         hyphen          registered      macron          */
1896CASE_IGNORE,
1897CASE_IGNORE,
1898CASE_IGNORE,
1899CASE_IGNORE,
1900/*      degree          plusminus       twosuperior     threesuperior   */
1901CASE_IGNORE,
1902CASE_IGNORE,
1903CASE_IGNORE,
1904CASE_IGNORE,
1905/*      acute           mu              paragraph       periodcentered  */
1906CASE_IGNORE,
1907CASE_IGNORE,
1908CASE_IGNORE,
1909CASE_IGNORE,
1910/*      cedilla         onesuperior     masculine       guillemotright  */
1911CASE_IGNORE,
1912CASE_IGNORE,
1913CASE_IGNORE,
1914CASE_IGNORE,
1915/*      onequarter      onehalf         threequarters   questiondown    */
1916CASE_IGNORE,
1917CASE_IGNORE,
1918CASE_IGNORE,
1919CASE_IGNORE,
1920/*      Agrave          Aacute          Acircumflex     Atilde          */
1921CASE_IGNORE,
1922CASE_IGNORE,
1923CASE_IGNORE,
1924CASE_IGNORE,
1925/*      Adiaeresis      Aring           AE              Ccedilla        */
1926CASE_IGNORE,
1927CASE_IGNORE,
1928CASE_IGNORE,
1929CASE_IGNORE,
1930/*      Egrave          Eacute          Ecircumflex     Ediaeresis      */
1931CASE_IGNORE,
1932CASE_IGNORE,
1933CASE_IGNORE,
1934CASE_IGNORE,
1935/*      Igrave          Iacute          Icircumflex     Idiaeresis      */
1936CASE_IGNORE,
1937CASE_IGNORE,
1938CASE_IGNORE,
1939CASE_IGNORE,
1940/*      Eth             Ntilde          Ograve          Oacute          */
1941CASE_IGNORE,
1942CASE_IGNORE,
1943CASE_IGNORE,
1944CASE_IGNORE,
1945/*      Ocircumflex     Otilde          Odiaeresis      multiply        */
1946CASE_IGNORE,
1947CASE_IGNORE,
1948CASE_IGNORE,
1949CASE_IGNORE,
1950/*      Ooblique        Ugrave          Uacute          Ucircumflex     */
1951CASE_IGNORE,
1952CASE_IGNORE,
1953CASE_IGNORE,
1954CASE_IGNORE,
1955/*      Udiaeresis      Yacute          Thorn           ssharp          */
1956CASE_IGNORE,
1957CASE_IGNORE,
1958CASE_IGNORE,
1959CASE_IGNORE,
1960/*      agrave          aacute          acircumflex     atilde          */
1961CASE_IGNORE,
1962CASE_IGNORE,
1963CASE_IGNORE,
1964CASE_IGNORE,
1965/*      adiaeresis      aring           ae              ccedilla        */
1966CASE_IGNORE,
1967CASE_IGNORE,
1968CASE_IGNORE,
1969CASE_IGNORE,
1970/*      egrave          eacute          ecircumflex     ediaeresis      */
1971CASE_IGNORE,
1972CASE_IGNORE,
1973CASE_IGNORE,
1974CASE_IGNORE,
1975/*      igrave          iacute          icircumflex     idiaeresis      */
1976CASE_IGNORE,
1977CASE_IGNORE,
1978CASE_IGNORE,
1979CASE_IGNORE,
1980/*      eth             ntilde          ograve          oacute          */
1981CASE_IGNORE,
1982CASE_IGNORE,
1983CASE_IGNORE,
1984CASE_IGNORE,
1985/*      ocircumflex     otilde          odiaeresis      division        */
1986CASE_IGNORE,
1987CASE_IGNORE,
1988CASE_IGNORE,
1989CASE_IGNORE,
1990/*      oslash          ugrave          uacute          ucircumflex     */
1991CASE_IGNORE,
1992CASE_IGNORE,
1993CASE_IGNORE,
1994CASE_IGNORE,
1995/*      udiaeresis      yacute          thorn           ydiaeresis      */
1996CASE_IGNORE,
1997CASE_IGNORE,
1998CASE_IGNORE,
1999CASE_IGNORE,
2000};
2001
2002Const int Tpttable[] =		/* FS (^\) point plot mode */
2003{
2004/*	NUL		SOH		STX		ETX	*/
2005CASE_IGNORE,
2006CASE_IGNORE,
2007CASE_IGNORE,
2008CASE_IGNORE,
2009/*	EOT		ENQ		ACK		BEL	*/
2010CASE_IGNORE,
2011CASE_IGNORE,
2012CASE_IGNORE,
2013CASE_BEL,
2014/*	BS		HT		NL		VT	*/
2015CASE_BS,
2016CASE_TAB,
2017CASE_LF,
2018CASE_UP,
2019/*	NP		CR		SO		SI	*/
2020CASE_IGNORE,
2021CASE_CR,
2022CASE_IGNORE,
2023CASE_IGNORE,
2024/*	DLE		DC1		DC2		DC3	*/
2025CASE_IGNORE,
2026CASE_IGNORE,
2027CASE_IGNORE,
2028CASE_IGNORE,
2029/*	DC4		NAK		SYN		ETB	*/
2030CASE_IGNORE,
2031CASE_IGNORE,
2032CASE_IGNORE,
2033CASE_IGNORE,
2034/*	CAN		EM		SUB		ESC	*/
2035CASE_IGNORE,
2036CASE_IGNORE,
2037CASE_IGNORE,
2038CASE_ESC_STATE,
2039/*	FS		GS		RS		US	*/
2040CASE_PT_STATE,
2041CASE_PLT_STATE,
2042CASE_IPL_STATE,
2043CASE_ALP_STATE,
2044/*	SP		!		"		#	*/
2045CASE_PT_POINT,
2046CASE_PT_POINT,
2047CASE_PT_POINT,
2048CASE_PT_POINT,
2049/*	$		%		&		'	*/
2050CASE_PT_POINT,
2051CASE_PT_POINT,
2052CASE_PT_POINT,
2053CASE_PT_POINT,
2054/*	(		)		*		+	*/
2055CASE_PT_POINT,
2056CASE_PT_POINT,
2057CASE_PT_POINT,
2058CASE_PT_POINT,
2059/*	,		-		.		/	*/
2060CASE_PT_POINT,
2061CASE_PT_POINT,
2062CASE_PT_POINT,
2063CASE_PT_POINT,
2064/*	0		1		2		3	*/
2065CASE_PT_POINT,
2066CASE_PT_POINT,
2067CASE_PT_POINT,
2068CASE_PT_POINT,
2069/*	4		5		6		7	*/
2070CASE_PT_POINT,
2071CASE_PT_POINT,
2072CASE_PT_POINT,
2073CASE_PT_POINT,
2074/*	8		9		:		;	*/
2075CASE_PT_POINT,
2076CASE_PT_POINT,
2077CASE_PT_POINT,
2078CASE_PT_POINT,
2079/*	<		=		>		?	*/
2080CASE_PT_POINT,
2081CASE_PT_POINT,
2082CASE_PT_POINT,
2083CASE_PT_POINT,
2084/*	@		A		B		C	*/
2085CASE_PT_POINT,
2086CASE_PT_POINT,
2087CASE_PT_POINT,
2088CASE_PT_POINT,
2089/*	D		E		F		G	*/
2090CASE_PT_POINT,
2091CASE_PT_POINT,
2092CASE_PT_POINT,
2093CASE_PT_POINT,
2094/*	H		I		J		K	*/
2095CASE_PT_POINT,
2096CASE_PT_POINT,
2097CASE_PT_POINT,
2098CASE_PT_POINT,
2099/*	L		M		N		O	*/
2100CASE_PT_POINT,
2101CASE_PT_POINT,
2102CASE_PT_POINT,
2103CASE_PT_POINT,
2104/*	P		Q		R		S	*/
2105CASE_PT_POINT,
2106CASE_PT_POINT,
2107CASE_PT_POINT,
2108CASE_PT_POINT,
2109/*	T		U		V		W	*/
2110CASE_PT_POINT,
2111CASE_PT_POINT,
2112CASE_PT_POINT,
2113CASE_PT_POINT,
2114/*	X		Y		Z		[	*/
2115CASE_PT_POINT,
2116CASE_PT_POINT,
2117CASE_PT_POINT,
2118CASE_PT_POINT,
2119/*	\		]		^		_	*/
2120CASE_PT_POINT,
2121CASE_PT_POINT,
2122CASE_PT_POINT,
2123CASE_PT_POINT,
2124/*	`		a		b		c	*/
2125CASE_PT_POINT,
2126CASE_PT_POINT,
2127CASE_PT_POINT,
2128CASE_PT_POINT,
2129/*	d		e		f		g	*/
2130CASE_PT_POINT,
2131CASE_PT_POINT,
2132CASE_PT_POINT,
2133CASE_PT_POINT,
2134/*	h		i		j		k	*/
2135CASE_PT_POINT,
2136CASE_PT_POINT,
2137CASE_PT_POINT,
2138CASE_PT_POINT,
2139/*	l		m		n		o	*/
2140CASE_PT_POINT,
2141CASE_PT_POINT,
2142CASE_PT_POINT,
2143CASE_PT_POINT,
2144/*	p		q		r		s	*/
2145CASE_PT_POINT,
2146CASE_PT_POINT,
2147CASE_PT_POINT,
2148CASE_PT_POINT,
2149/*	t		u		v		w	*/
2150CASE_PT_POINT,
2151CASE_PT_POINT,
2152CASE_PT_POINT,
2153CASE_PT_POINT,
2154/*	x		y		z		{	*/
2155CASE_PT_POINT,
2156CASE_PT_POINT,
2157CASE_PT_POINT,
2158CASE_PT_POINT,
2159/*	|		}		~		DEL	*/
2160CASE_PT_POINT,
2161CASE_PT_POINT,
2162CASE_PT_POINT,
2163CASE_PT_POINT,
2164/*      0x80            0x81            0x82            0x83    */
2165CASE_IGNORE,
2166CASE_IGNORE,
2167CASE_IGNORE,
2168CASE_IGNORE,
2169/*      0x84            0x85            0x86            0x87    */
2170CASE_IGNORE,
2171CASE_IGNORE,
2172CASE_IGNORE,
2173CASE_IGNORE,
2174/*      0x88            0x89            0x8a            0x8b    */
2175CASE_IGNORE,
2176CASE_IGNORE,
2177CASE_IGNORE,
2178CASE_IGNORE,
2179/*      0x8c            0x8d            0x8e            0x8f    */
2180CASE_IGNORE,
2181CASE_IGNORE,
2182CASE_IGNORE,
2183CASE_IGNORE,
2184/*      0x90            0x91            0x92            0x93    */
2185CASE_IGNORE,
2186CASE_IGNORE,
2187CASE_IGNORE,
2188CASE_IGNORE,
2189/*      0x94            0x95            0x96            0x97    */
2190CASE_IGNORE,
2191CASE_IGNORE,
2192CASE_IGNORE,
2193CASE_IGNORE,
2194/*      0x99            0x99            0x9a            0x9b    */
2195CASE_IGNORE,
2196CASE_IGNORE,
2197CASE_IGNORE,
2198CASE_IGNORE,
2199/*      0x9c            0x9d            0x9e            0x9f    */
2200CASE_IGNORE,
2201CASE_IGNORE,
2202CASE_IGNORE,
2203CASE_IGNORE,
2204/*      nobreakspace    exclamdown      cent            sterling        */
2205CASE_IGNORE,
2206CASE_IGNORE,
2207CASE_IGNORE,
2208CASE_IGNORE,
2209/*      currency        yen             brokenbar       section         */
2210CASE_IGNORE,
2211CASE_IGNORE,
2212CASE_IGNORE,
2213CASE_IGNORE,
2214/*      diaeresis       copyright       ordfeminine     guillemotleft   */
2215CASE_IGNORE,
2216CASE_IGNORE,
2217CASE_IGNORE,
2218CASE_IGNORE,
2219/*      notsign         hyphen          registered      macron          */
2220CASE_IGNORE,
2221CASE_IGNORE,
2222CASE_IGNORE,
2223CASE_IGNORE,
2224/*      degree          plusminus       twosuperior     threesuperior   */
2225CASE_IGNORE,
2226CASE_IGNORE,
2227CASE_IGNORE,
2228CASE_IGNORE,
2229/*      acute           mu              paragraph       periodcentered  */
2230CASE_IGNORE,
2231CASE_IGNORE,
2232CASE_IGNORE,
2233CASE_IGNORE,
2234/*      cedilla         onesuperior     masculine       guillemotright  */
2235CASE_IGNORE,
2236CASE_IGNORE,
2237CASE_IGNORE,
2238CASE_IGNORE,
2239/*      onequarter      onehalf         threequarters   questiondown    */
2240CASE_IGNORE,
2241CASE_IGNORE,
2242CASE_IGNORE,
2243CASE_IGNORE,
2244/*      Agrave          Aacute          Acircumflex     Atilde          */
2245CASE_IGNORE,
2246CASE_IGNORE,
2247CASE_IGNORE,
2248CASE_IGNORE,
2249/*      Adiaeresis      Aring           AE              Ccedilla        */
2250CASE_IGNORE,
2251CASE_IGNORE,
2252CASE_IGNORE,
2253CASE_IGNORE,
2254/*      Egrave          Eacute          Ecircumflex     Ediaeresis      */
2255CASE_IGNORE,
2256CASE_IGNORE,
2257CASE_IGNORE,
2258CASE_IGNORE,
2259/*      Igrave          Iacute          Icircumflex     Idiaeresis      */
2260CASE_IGNORE,
2261CASE_IGNORE,
2262CASE_IGNORE,
2263CASE_IGNORE,
2264/*      Eth             Ntilde          Ograve          Oacute          */
2265CASE_IGNORE,
2266CASE_IGNORE,
2267CASE_IGNORE,
2268CASE_IGNORE,
2269/*      Ocircumflex     Otilde          Odiaeresis      multiply        */
2270CASE_IGNORE,
2271CASE_IGNORE,
2272CASE_IGNORE,
2273CASE_IGNORE,
2274/*      Ooblique        Ugrave          Uacute          Ucircumflex     */
2275CASE_IGNORE,
2276CASE_IGNORE,
2277CASE_IGNORE,
2278CASE_IGNORE,
2279/*      Udiaeresis      Yacute          Thorn           ssharp          */
2280CASE_IGNORE,
2281CASE_IGNORE,
2282CASE_IGNORE,
2283CASE_IGNORE,
2284/*      agrave          aacute          acircumflex     atilde          */
2285CASE_IGNORE,
2286CASE_IGNORE,
2287CASE_IGNORE,
2288CASE_IGNORE,
2289/*      adiaeresis      aring           ae              ccedilla        */
2290CASE_IGNORE,
2291CASE_IGNORE,
2292CASE_IGNORE,
2293CASE_IGNORE,
2294/*      egrave          eacute          ecircumflex     ediaeresis      */
2295CASE_IGNORE,
2296CASE_IGNORE,
2297CASE_IGNORE,
2298CASE_IGNORE,
2299/*      igrave          iacute          icircumflex     idiaeresis      */
2300CASE_IGNORE,
2301CASE_IGNORE,
2302CASE_IGNORE,
2303CASE_IGNORE,
2304/*      eth             ntilde          ograve          oacute          */
2305CASE_IGNORE,
2306CASE_IGNORE,
2307CASE_IGNORE,
2308CASE_IGNORE,
2309/*      ocircumflex     otilde          odiaeresis      division        */
2310CASE_IGNORE,
2311CASE_IGNORE,
2312CASE_IGNORE,
2313CASE_IGNORE,
2314/*      oslash          ugrave          uacute          ucircumflex     */
2315CASE_IGNORE,
2316CASE_IGNORE,
2317CASE_IGNORE,
2318CASE_IGNORE,
2319/*      udiaeresis      yacute          thorn           ydiaeresis      */
2320CASE_IGNORE,
2321CASE_IGNORE,
2322CASE_IGNORE,
2323CASE_IGNORE,
2324};
2325
2326Const int Tspttable[] =		/* ESC FS (^\) special point plot */
2327{
2328/*	NUL		SOH		STX		ETX	*/
2329CASE_IGNORE,
2330CASE_IGNORE,
2331CASE_IGNORE,
2332CASE_IGNORE,
2333/*	EOT		ENQ		ACK		BEL	*/
2334CASE_IGNORE,
2335CASE_IGNORE,
2336CASE_IGNORE,
2337CASE_BEL,
2338/*	BS		HT		NL		VT	*/
2339CASE_BS,
2340CASE_TAB,
2341CASE_LF,
2342CASE_UP,
2343/*	NP		CR		SO		SI	*/
2344CASE_IGNORE,
2345CASE_CR,
2346CASE_IGNORE,
2347CASE_IGNORE,
2348/*	DLE		DC1		DC2		DC3	*/
2349CASE_IGNORE,
2350CASE_IGNORE,
2351CASE_IGNORE,
2352CASE_IGNORE,
2353/*	DC4		NAK		SYN		ETB	*/
2354CASE_IGNORE,
2355CASE_IGNORE,
2356CASE_IGNORE,
2357CASE_IGNORE,
2358/*	CAN		EM		SUB		ESC	*/
2359CASE_IGNORE,
2360CASE_IGNORE,
2361CASE_IGNORE,
2362CASE_ESC_STATE,
2363/*	FS		GS		RS		US	*/
2364CASE_PT_STATE,
2365CASE_PLT_STATE,
2366CASE_IPL_STATE,
2367CASE_ALP_STATE,
2368/*	SP		!		"		#	*/
2369CASE_SPT_POINT,
2370CASE_SPT_POINT,
2371CASE_SPT_POINT,
2372CASE_SPT_POINT,
2373/*	$		%		&		'	*/
2374CASE_SPT_POINT,
2375CASE_SPT_POINT,
2376CASE_SPT_POINT,
2377CASE_SPT_POINT,
2378/*	(		)		*		+	*/
2379CASE_SPT_POINT,
2380CASE_SPT_POINT,
2381CASE_SPT_POINT,
2382CASE_SPT_POINT,
2383/*	,		-		.		/	*/
2384CASE_SPT_POINT,
2385CASE_SPT_POINT,
2386CASE_SPT_POINT,
2387CASE_SPT_POINT,
2388/*	0		1		2		3	*/
2389CASE_SPT_POINT,
2390CASE_SPT_POINT,
2391CASE_SPT_POINT,
2392CASE_SPT_POINT,
2393/*	4		5		6		7	*/
2394CASE_SPT_POINT,
2395CASE_SPT_POINT,
2396CASE_SPT_POINT,
2397CASE_SPT_POINT,
2398/*	8		9		:		;	*/
2399CASE_SPT_POINT,
2400CASE_SPT_POINT,
2401CASE_SPT_POINT,
2402CASE_SPT_POINT,
2403/*	<		=		>		?	*/
2404CASE_SPT_POINT,
2405CASE_SPT_POINT,
2406CASE_SPT_POINT,
2407CASE_SPT_POINT,
2408/*	@		A		B		C	*/
2409CASE_SPT_POINT,
2410CASE_SPT_POINT,
2411CASE_SPT_POINT,
2412CASE_SPT_POINT,
2413/*	D		E		F		G	*/
2414CASE_SPT_POINT,
2415CASE_SPT_POINT,
2416CASE_SPT_POINT,
2417CASE_SPT_POINT,
2418/*	H		I		J		K	*/
2419CASE_SPT_POINT,
2420CASE_SPT_POINT,
2421CASE_SPT_POINT,
2422CASE_SPT_POINT,
2423/*	L		M		N		O	*/
2424CASE_SPT_POINT,
2425CASE_SPT_POINT,
2426CASE_SPT_POINT,
2427CASE_SPT_POINT,
2428/*	P		Q		R		S	*/
2429CASE_SPT_POINT,
2430CASE_SPT_POINT,
2431CASE_SPT_POINT,
2432CASE_SPT_POINT,
2433/*	T		U		V		W	*/
2434CASE_SPT_POINT,
2435CASE_SPT_POINT,
2436CASE_SPT_POINT,
2437CASE_SPT_POINT,
2438/*	X		Y		Z		[	*/
2439CASE_SPT_POINT,
2440CASE_SPT_POINT,
2441CASE_SPT_POINT,
2442CASE_SPT_POINT,
2443/*	\		]		^		_	*/
2444CASE_SPT_POINT,
2445CASE_SPT_POINT,
2446CASE_SPT_POINT,
2447CASE_SPT_POINT,
2448/*	`		a		b		c	*/
2449CASE_SPT_POINT,
2450CASE_SPT_POINT,
2451CASE_SPT_POINT,
2452CASE_SPT_POINT,
2453/*	d		e		f		g	*/
2454CASE_SPT_POINT,
2455CASE_SPT_POINT,
2456CASE_SPT_POINT,
2457CASE_SPT_POINT,
2458/*	h		i		j		k	*/
2459CASE_SPT_POINT,
2460CASE_SPT_POINT,
2461CASE_SPT_POINT,
2462CASE_SPT_POINT,
2463/*	l		m		n		o	*/
2464CASE_SPT_POINT,
2465CASE_SPT_POINT,
2466CASE_SPT_POINT,
2467CASE_SPT_POINT,
2468/*	p		q		r		s	*/
2469CASE_SPT_POINT,
2470CASE_SPT_POINT,
2471CASE_SPT_POINT,
2472CASE_SPT_POINT,
2473/*	t		u		v		w	*/
2474CASE_SPT_POINT,
2475CASE_SPT_POINT,
2476CASE_SPT_POINT,
2477CASE_SPT_POINT,
2478/*	x		y		z		{	*/
2479CASE_SPT_POINT,
2480CASE_SPT_POINT,
2481CASE_SPT_POINT,
2482CASE_SPT_POINT,
2483/*	|		}		~		DEL	*/
2484CASE_SPT_POINT,
2485CASE_SPT_POINT,
2486CASE_SPT_POINT,
2487CASE_SPT_POINT,
2488/*      0x80            0x81            0x82            0x83    */
2489CASE_IGNORE,
2490CASE_IGNORE,
2491CASE_IGNORE,
2492CASE_IGNORE,
2493/*      0x84            0x85            0x86            0x87    */
2494CASE_IGNORE,
2495CASE_IGNORE,
2496CASE_IGNORE,
2497CASE_IGNORE,
2498/*      0x88            0x89            0x8a            0x8b    */
2499CASE_IGNORE,
2500CASE_IGNORE,
2501CASE_IGNORE,
2502CASE_IGNORE,
2503/*      0x8c            0x8d            0x8e            0x8f    */
2504CASE_IGNORE,
2505CASE_IGNORE,
2506CASE_IGNORE,
2507CASE_IGNORE,
2508/*      0x90            0x91            0x92            0x93    */
2509CASE_IGNORE,
2510CASE_IGNORE,
2511CASE_IGNORE,
2512CASE_IGNORE,
2513/*      0x94            0x95            0x96            0x97    */
2514CASE_IGNORE,
2515CASE_IGNORE,
2516CASE_IGNORE,
2517CASE_IGNORE,
2518/*      0x99            0x99            0x9a            0x9b    */
2519CASE_IGNORE,
2520CASE_IGNORE,
2521CASE_IGNORE,
2522CASE_IGNORE,
2523/*      0x9c            0x9d            0x9e            0x9f    */
2524CASE_IGNORE,
2525CASE_IGNORE,
2526CASE_IGNORE,
2527CASE_IGNORE,
2528/*      nobreakspace    exclamdown      cent            sterling        */
2529CASE_IGNORE,
2530CASE_IGNORE,
2531CASE_IGNORE,
2532CASE_IGNORE,
2533/*      currency        yen             brokenbar       section         */
2534CASE_IGNORE,
2535CASE_IGNORE,
2536CASE_IGNORE,
2537CASE_IGNORE,
2538/*      diaeresis       copyright       ordfeminine     guillemotleft   */
2539CASE_IGNORE,
2540CASE_IGNORE,
2541CASE_IGNORE,
2542CASE_IGNORE,
2543/*      notsign         hyphen          registered      macron          */
2544CASE_IGNORE,
2545CASE_IGNORE,
2546CASE_IGNORE,
2547CASE_IGNORE,
2548/*      degree          plusminus       twosuperior     threesuperior   */
2549CASE_IGNORE,
2550CASE_IGNORE,
2551CASE_IGNORE,
2552CASE_IGNORE,
2553/*      acute           mu              paragraph       periodcentered  */
2554CASE_IGNORE,
2555CASE_IGNORE,
2556CASE_IGNORE,
2557CASE_IGNORE,
2558/*      cedilla         onesuperior     masculine       guillemotright  */
2559CASE_IGNORE,
2560CASE_IGNORE,
2561CASE_IGNORE,
2562CASE_IGNORE,
2563/*      onequarter      onehalf         threequarters   questiondown    */
2564CASE_IGNORE,
2565CASE_IGNORE,
2566CASE_IGNORE,
2567CASE_IGNORE,
2568/*      Agrave          Aacute          Acircumflex     Atilde          */
2569CASE_IGNORE,
2570CASE_IGNORE,
2571CASE_IGNORE,
2572CASE_IGNORE,
2573/*      Adiaeresis      Aring           AE              Ccedilla        */
2574CASE_IGNORE,
2575CASE_IGNORE,
2576CASE_IGNORE,
2577CASE_IGNORE,
2578/*      Egrave          Eacute          Ecircumflex     Ediaeresis      */
2579CASE_IGNORE,
2580CASE_IGNORE,
2581CASE_IGNORE,
2582CASE_IGNORE,
2583/*      Igrave          Iacute          Icircumflex     Idiaeresis      */
2584CASE_IGNORE,
2585CASE_IGNORE,
2586CASE_IGNORE,
2587CASE_IGNORE,
2588/*      Eth             Ntilde          Ograve          Oacute          */
2589CASE_IGNORE,
2590CASE_IGNORE,
2591CASE_IGNORE,
2592CASE_IGNORE,
2593/*      Ocircumflex     Otilde          Odiaeresis      multiply        */
2594CASE_IGNORE,
2595CASE_IGNORE,
2596CASE_IGNORE,
2597CASE_IGNORE,
2598/*      Ooblique        Ugrave          Uacute          Ucircumflex     */
2599CASE_IGNORE,
2600CASE_IGNORE,
2601CASE_IGNORE,
2602CASE_IGNORE,
2603/*      Udiaeresis      Yacute          Thorn           ssharp          */
2604CASE_IGNORE,
2605CASE_IGNORE,
2606CASE_IGNORE,
2607CASE_IGNORE,
2608/*      agrave          aacute          acircumflex     atilde          */
2609CASE_IGNORE,
2610CASE_IGNORE,
2611CASE_IGNORE,
2612CASE_IGNORE,
2613/*      adiaeresis      aring           ae              ccedilla        */
2614CASE_IGNORE,
2615CASE_IGNORE,
2616CASE_IGNORE,
2617CASE_IGNORE,
2618/*      egrave          eacute          ecircumflex     ediaeresis      */
2619CASE_IGNORE,
2620CASE_IGNORE,
2621CASE_IGNORE,
2622CASE_IGNORE,
2623/*      igrave          iacute          icircumflex     idiaeresis      */
2624CASE_IGNORE,
2625CASE_IGNORE,
2626CASE_IGNORE,
2627CASE_IGNORE,
2628/*      eth             ntilde          ograve          oacute          */
2629CASE_IGNORE,
2630CASE_IGNORE,
2631CASE_IGNORE,
2632CASE_IGNORE,
2633/*      ocircumflex     otilde          odiaeresis      division        */
2634CASE_IGNORE,
2635CASE_IGNORE,
2636CASE_IGNORE,
2637CASE_IGNORE,
2638/*      oslash          ugrave          uacute          ucircumflex     */
2639CASE_IGNORE,
2640CASE_IGNORE,
2641CASE_IGNORE,
2642CASE_IGNORE,
2643/*      udiaeresis      yacute          thorn           ydiaeresis      */
2644CASE_IGNORE,
2645CASE_IGNORE,
2646CASE_IGNORE,
2647CASE_IGNORE,
2648};
2649