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