COMMENT @----------------------------------------------------------------------

	Copyright (c) GeoWorks 1989 -- All Rights Reserved

PROJECT:	PC GEOS
FILE:		char.def

DECLARER:	Kernel

DESCRIPTION:
	This file defines constants for the PC/GEOS character set.

	$Id: char.def,v 1.1 97/04/04 14:23:05 newdeal Exp $

------------------------------------------------------------------------------@

SetDef	__CHAR

StartKernel

if DBCS_PCGEOS

include unicode.def

elseif RUSSIAN

include Russian/char.def

else

;
; The following represent the low byte of the character value
; only when the high byte is CS_BSW:
;
Chars etype byte

C_NULL			enum Chars, 0x0		;NULL
C_CTRL_A		enum Chars, 0x1		;<ctrl>-A
C_CTRL_B		enum Chars, 0x2		;<ctrl>-B
C_CTRL_C		enum Chars, 0x3		;<ctrl>-C
C_CTRL_D		enum Chars, 0x4		;<ctrl>-D
C_CTRL_E		enum Chars, 0x5		;<ctrl>-E
C_CTRL_F		enum Chars, 0x6		;<ctrl>-F
C_CTRL_G		enum Chars, 0x7		;<ctrl>-G
C_CTRL_H		enum Chars, 0x8		;<ctrl>-H
C_TAB			enum Chars, 0x9		; TAB
C_LINEFEED		enum Chars, 0xa		; LINE FEED
C_CTRL_K		enum Chars, 0xb		;<ctrl>-K
C_CTRL_L		enum Chars, 0xc		;<ctrl>-L
C_ENTER			enum Chars, 0xd		; ENTER or CR
C_SHIFT_OUT		enum Chars, 0xe		;<ctrl>-N
C_SHIFT_IN		enum Chars, 0xf		;<ctrl>-O
C_CTRL_P		enum Chars, 0x10	;<ctrl>-P
C_CTRL_Q		enum Chars, 0x11	;<ctrl>-Q
C_CTRL_R		enum Chars, 0x12	;<ctrl>-R
C_CTRL_S		enum Chars, 0x13	;<ctrl>-S
C_CTRL_T		enum Chars, 0x14	;<ctrl>-T
C_CTRL_U		enum Chars, 0x15	;<ctrl>-U
C_CTRL_V		enum Chars, 0x16	;<ctrl>-V
C_CTRL_W		enum Chars, 0x17	;<ctrl>-W
C_CTRL_X		enum Chars, 0x18	;<ctrl>-X
C_CTRL_Y		enum Chars, 0x19	;<ctrl>-Y
C_CTRL_Z		enum Chars, 0x1a	;<ctrl>-Z
C_ESCAPE		enum Chars, 0x1b	;ESC

; common shortcuts for low 32 codes
C_NUL		= C_NULL
C_STX		= C_CTRL_B
C_ETX		= C_CTRL_C
C_BEL		= C_CTRL_G
C_BS		= C_CTRL_H
C_HT		= C_CTRL_I
C_VT		= C_CTRL_K
C_FF		= C_CTRL_L
C_SO		= C_CTRL_N
C_SI		= C_CTRL_O
C_DC1		= C_CTRL_Q
C_DC2		= C_CTRL_R
C_DC3		= C_CTRL_S
C_DC4		= C_CTRL_T
C_CAN		= C_CTRL_X
C_EM		= C_CTRL_Y
C_ESC		= C_ESCAPE

;
; some alternative names:
;
C_CR		= C_ENTER
C_CTRL_M	= C_ENTER
C_CTRL_I	= C_TAB
C_CTRL_J	= C_LINEFEED
C_LF		= C_LINEFEED
C_CTRL_N	= C_SHIFT_OUT
C_CTRL_O	= C_SHIFT_IN

C_NULL_WIDTH		enum Chars, 0x19	; null width character
C_GRAPHIC		enum Chars, 0x1a	; Graphic in text.
						;
C_THINSPACE		enum Chars, 0x1b	; 1/4 width space
C_ENSPACE		enum Chars, 0x1c	; En-space, fixed width
C_EMSPACE		enum Chars, 0x1d	; Em-space, fixed width.

C_SECTION_BREAK		enum Chars, C_CTRL_K

C_PAGE_BREAK		enum Chars, C_CTRL_L
C_COLUMN_BREAK		=	    C_PAGE_BREAK

C_NONBRKHYPHEN		enum Chars, 0x1e	; Non breaking hyphen.
C_OPTHYPHEN		enum Chars, 0x1f	; Optional hyphen, only drawn
						;   at end of line.
C_FS		= C_ENSPACE
C_FIELD_SEP	= C_FS


;
; the standard ASCII chars:
;
C_SPACE			enum Chars, ' '
C_EXCLAMATION		enum Chars, '!'
C_QUOTE			enum Chars, '"'
C_NUMBER_SIGN		enum Chars, '#'
C_DOLLAR_SIGN		enum Chars, '$'
C_PERCENT		enum Chars, '%'
C_AMPERSAND		enum Chars, '&'
C_SNG_QUOTE		enum Chars, 0x27
C_LEFT_PAREN		enum Chars, '('
C_RIGHT_PAREN		enum Chars, ')'
C_ASTERISK		enum Chars, '*'
C_PLUS			enum Chars, '+'
C_COMMA			enum Chars, ','
C_MINUS			enum Chars, '-'
C_PERIOD		enum Chars, '.'
C_SLASH			enum Chars, '/'
C_ZERO			enum Chars, '0'
C_ONE			enum Chars, '1'
C_TWO			enum Chars, '2'
C_THREE			enum Chars, '3'
C_FOUR			enum Chars, '4'
C_FIVE			enum Chars, '5'
C_SIX			enum Chars, '6'
C_SEVEN			enum Chars, '7'
C_EIGHT			enum Chars, '8'
C_NINE			enum Chars, '9'
C_COLON			enum Chars, ':'
C_SEMICOLON		enum Chars, ';'
C_LESS_THAN		enum Chars, '<'
C_EQUAL			enum Chars, '='
C_GREATER_THAN		enum Chars, '>'
C_QUESTION_MARK		enum Chars, '?'
C_AT_SIGN		enum Chars, '@'
C_CAP_A			enum Chars, 'A'
C_CAP_B			enum Chars, 'B'
C_CAP_C			enum Chars, 'C'
C_CAP_D			enum Chars, 'D'
C_CAP_E			enum Chars, 'E'
C_CAP_F			enum Chars, 'F'
C_CAP_G			enum Chars, 'G'
C_CAP_H			enum Chars, 'H'
C_CAP_I			enum Chars, 'I'
C_CAP_J			enum Chars, 'J'
C_CAP_K			enum Chars, 'K'
C_CAP_L			enum Chars, 'L'
C_CAP_M			enum Chars, 'M'
C_CAP_N			enum Chars, 'N'
C_CAP_O			enum Chars, 'O'
C_CAP_P			enum Chars, 'P'
C_CAP_Q			enum Chars, 'Q'
C_CAP_R			enum Chars, 'R'
C_CAP_S			enum Chars, 'S'
C_CAP_T			enum Chars, 'T'
C_CAP_U			enum Chars, 'U'
C_CAP_V			enum Chars, 'V'
C_CAP_W			enum Chars, 'W'
C_CAP_X			enum Chars, 'X'
C_CAP_Y			enum Chars, 'Y'
C_CAP_Z			enum Chars, 'Z'
C_LEFT_BRACKET		enum Chars, '['
C_BACKSLASH		enum Chars, 0x5c
C_RIGHT_BRACKET		enum Chars, ']'
C_ASCII_CIRCUMFLEX	enum Chars, '^'
C_UNDERSCORE		enum Chars, '_'
C_BACKQUOTE		enum Chars, '`'
C_SMALL_A		enum Chars, 'a'
C_SMALL_B		enum Chars, 'b'
C_SMALL_C		enum Chars, 'c'
C_SMALL_D		enum Chars, 'd'
C_SMALL_E		enum Chars, 'e'
C_SMALL_F		enum Chars, 'f'
C_SMALL_G		enum Chars, 'g'
C_SMALL_H		enum Chars, 'h'
C_SMALL_I		enum Chars, 'i'
C_SMALL_J		enum Chars, 'j'
C_SMALL_K		enum Chars, 'k'
C_SMALL_L		enum Chars, 'l'
C_SMALL_M		enum Chars, 'm'
C_SMALL_N		enum Chars, 'n'
C_SMALL_O		enum Chars, 'o'
C_SMALL_P		enum Chars, 'p'
C_SMALL_Q		enum Chars, 'q'
C_SMALL_R		enum Chars, 'r'
C_SMALL_S		enum Chars, 's'
C_SMALL_T		enum Chars, 't'
C_SMALL_U		enum Chars, 'u'
C_SMALL_V		enum Chars, 'v'
C_SMALL_W		enum Chars, 'w'
C_SMALL_X		enum Chars, 'x'
C_SMALL_Y		enum Chars, 'y'
C_SMALL_Z		enum Chars, 'z'
C_LEFT_BRACE		enum Chars, '{'
C_VERTICAL_BAR		enum Chars, '|'
C_RIGHT_BRACE		enum Chars, '}'
C_ASCII_TILDE		enum Chars, '~'
C_DELETE		enum Chars, 0x7f

;
; some alternative names:
;
C_HYPHEN =	C_MINUS
C_GRAVE =	C_BACKQUOTE

C_UA_DIERESIS		enum Chars, 0x80
C_UA_RING		enum Chars, 0x81
C_UC_CEDILLA		enum Chars, 0x82
C_UE_ACUTE		enum Chars, 0x83
C_UN_TILDE		enum Chars, 0x84
C_UO_DIERESIS		enum Chars, 0x85
C_UU_DIERESIS		enum Chars, 0x86
C_LA_ACUTE		enum Chars, 0x87
C_LA_GRAVE		enum Chars, 0x88
C_LA_CIRCUMFLEX		enum Chars, 0x89
C_LA_DIERESIS		enum Chars, 0x8a
C_LA_TILDE		enum Chars, 0x8b
C_LA_RING		enum Chars, 0x8c
C_LC_CEDILLA		enum Chars, 0x8d
C_LE_ACUTE		enum Chars, 0x8e
C_LE_GRAVE		enum Chars, 0x8f
C_LE_CIRCUMFLEX		enum Chars, 0x90
C_LE_DIERESIS		enum Chars, 0x91
C_LI_ACUTE		enum Chars, 0x92
C_LI_GRAVE		enum Chars, 0x93
C_LI_CIRCUMFLEX		enum Chars, 0x94
C_LI_DIERESIS		enum Chars, 0x95
C_LN_TILDE		enum Chars, 0x96
C_LO_ACUTE		enum Chars, 0x97
C_LO_GRAVE		enum Chars, 0x98
C_LO_CIRCUMFLEX		enum Chars, 0x99
C_LO_DIERESIS		enum Chars, 0x9a
C_LO_TILDE		enum Chars, 0x9b
C_LU_ACUTE		enum Chars, 0x9c
C_LU_GRAVE		enum Chars, 0x9d
C_LU_CIRCUMFLEX		enum Chars, 0x9e
C_LU_DIERESIS		enum Chars, 0x9f
C_DAGGER		enum Chars, 0xa0
C_DEGREE		enum Chars, 0xa1
C_CENT			enum Chars, 0xa2
C_STERLING		enum Chars, 0xa3
C_SECTION		enum Chars, 0xa4
C_BULLET		enum Chars, 0xa5
C_PARAGRAPH		enum Chars, 0xa6
C_GERMANDBLS		enum Chars, 0xa7
C_REGISTERED		enum Chars, 0xa8
C_COPYRIGHT		enum Chars, 0xa9
C_TRADEMARK		enum Chars, 0xaa
C_ACUTE			enum Chars, 0xab
C_DIERESIS		enum Chars, 0xac
C_NOTEQUAL		enum Chars, 0xad
C_U_AE			enum Chars, 0xae
C_UO_SLASH		enum Chars, 0xaf
C_INFINITY		enum Chars, 0xb0
C_PLUSMINUS		enum Chars, 0xb1
C_LESSEQUAL		enum Chars, 0xb2
C_GREATEREQUAL		enum Chars, 0xb3
C_YEN			enum Chars, 0xb4
C_L_MU			enum Chars, 0xb5
C_L_DELTA		enum Chars, 0xb6
C_U_SIGMA		enum Chars, 0xb7
C_U_PI			enum Chars, 0xb8
C_L_PI			enum Chars, 0xb9
C_INTEGRAL		enum Chars, 0xba
C_ORDFEMININE		enum Chars, 0xbb
C_ORDMASCULINE		enum Chars, 0xbc
C_U_OMEGA		enum Chars, 0xbd
C_L_AE			enum Chars, 0xbe
C_LO_SLASH		enum Chars, 0xbf
C_QUESTIONDOWN		enum Chars, 0xc0
C_EXCLAMDOWN		enum Chars, 0xc1
C_LOGICAL_NOT		enum Chars, 0xc2
C_ROOT			enum Chars, 0xc3
C_FLORIN		enum Chars, 0xc4
C_APPROX_EQUAL		enum Chars, 0xc5
C_U_DELTA		enum Chars, 0xc6
C_GUILLEDBLLEFT		enum Chars, 0xc7
C_GUILLEDBLRIGHT	enum Chars, 0xc8
C_ELLIPSIS		enum Chars, 0xc9
C_NONBRKSPACE		enum Chars, 0xca
C_UA_GRAVE		enum Chars, 0xcb
C_UA_TILDE		enum Chars, 0xcc
C_UO_TILDE		enum Chars, 0xcd
C_U_OE			enum Chars, 0xce
C_L_OE			enum Chars, 0xcf
C_ENDASH		enum Chars, 0xd0
C_EMDASH		enum Chars, 0xd1
C_QUOTEDBLLEFT		enum Chars, 0xd2
C_QUOTEDBLRIGHT		enum Chars, 0xd3
C_QUOTESNGLEFT		enum Chars, 0xd4
C_QUOTESNGRIGHT		enum Chars, 0xd5
C_DIVISION		enum Chars, 0xd6
C_DIAMONDBULLET		enum Chars, 0xd7
C_LY_DIERESIS		enum Chars, 0xd8
C_UY_DIERESIS		enum Chars, 0xd9
C_FRACTION		enum Chars, 0xda
C_CURRENCY		enum Chars, 0xdb
C_GUILSNGLEFT		enum Chars, 0xdc
C_GUILSNGRIGHT		enum Chars, 0xdd
C_LY_ACUTE		enum Chars, 0xde
C_UY_ACUTE		enum Chars, 0xdf
C_DBLDAGGER		enum Chars, 0xe0
C_CNTR_DOT		enum Chars, 0xe1
C_SNGQUOTELOW		enum Chars, 0xe2
C_DBLQUOTELOW		enum Chars, 0xe3
C_PERTHOUSAND		enum Chars, 0xe4
C_UA_CIRCUMFLEX		enum Chars, 0xe5
C_UE_CIRCUMFLEX		enum Chars, 0xe6
C_UA_ACUTE		enum Chars, 0xe7
C_UE_DIERESIS		enum Chars, 0xe8
C_UE_GRAVE		enum Chars, 0xe9
C_UI_ACUTE		enum Chars, 0xea
C_UI_CIRCUMFLEX		enum Chars, 0xeb
C_UI_DIERESIS		enum Chars, 0xec
C_UI_GRAVE		enum Chars, 0xed
C_UO_ACUTE		enum Chars, 0xee
C_UO_CIRCUMFLEX		enum Chars, 0xef
C_LOGO			enum Chars, 0xf0
C_UO_GRAVE		enum Chars, 0xf1
C_UU_ACUTE		enum Chars, 0xf2
C_UU_CIRCUMFLEX		enum Chars, 0xf3
C_UU_GRAVE		enum Chars, 0xf4
C_LI_DOTLESS		enum Chars, 0xf5
C_CIRCUMFLEX		enum Chars, 0xf6
C_TILDE			enum Chars, 0xf7
C_MACRON		enum Chars, 0xf8
C_BREVE			enum Chars, 0xf9
C_DOTACCENT		enum Chars, 0xfa
C_RING			enum Chars, 0xfb
C_CEDILLA		enum Chars, 0xfc
C_HUNGARUMLAT		enum Chars, 0xfd
C_OGONEK		enum Chars, 0xfe
C_CARON			enum Chars, 0xff

;
; some alternative names:
;
C_PARTIAL_DIFF	= C_L_DELTA
C_SUM		= C_U_SIGMA
C_PRODUCT	= C_U_PI
C_RADICAL	= C_ROOT
C_LOZENGE	= C_DIAMONDBULLET

endif

EndKernel
