Tvůrce webu je i pro tebe! Postav třeba web. Bez grafika. Bez kodéra. Hned.
wz

Obsah / Utility / CHARSET / Definiční tabulky znakových sad

Zdrojový kód: INCLUDE\UTIL\CHARSET.INC, UTIL\CHARSET.ASM


Definiční tabulky znakových sad


; ------------- Character set tables CHARSET (1.5 KB)
%assign CHSINIS 0			; init size of tables from Unicode
		align	4, db 0
CharSetTab:
				; special single byte codes
CharSetASCII:	CHSINI	0		; ASCII
CharSetDEC:	CHSINI	1		; DEC VT100 graphics
				; OEM Codepages (DOS)
CharSet437:	CHSINI	437		; IBM-437 (United States)
CharSet720:	CHSINI	720		; Asmo-720 (Arabic)
CharSet737:	CHSINI	737		; IBM-737 (Greek)
CharSet775:	CHSINI	775		; IBM-775 (Baltic)
CharSet850:	CHSINI	850		; IBM-850 (Latin 1, West Europe)
CharSet852:	CHSINI	852		; IBM-852 (Latin 2, Central European)
CharSet855:	CHSINI	855		; IBM-855 (Cyrillic, primarily Russian)
CharSet857:	CHSINI	857		; IBM-857 (Turkish)
CharSet858:	CHSINI	858		; IBM-858 (Latin 1 + Euro)
CharSet860:	CHSINI	860		; IBM-860 (Portuguese)
CharSet861:	CHSINI	861		; IBM-861 (Icelandic)
CharSet862:	CHSINI	862		; IBM-862 (Hebrew)
CharSet863:	CHSINI	863		; IBM-863 (French Canadian)
CharSet865:	CHSINI	865		; IBM-865 (Nordic)
CharSet866:	CHSINI	866		; IBM-866 (Russian)
CharSet869:	CHSINI	869		; IBM-869 (Modern Greek)
CharSet895:	CHSINI	895		; IBM-895 (Kamenickych, Czech)
				; Windows Single Byte Character Set Codepages
CharSet874:	CHSINI	874		; Windows-874 (Thai)
CharSet1250:	CHSINI	1250		; Windows-1250 (Central Europe)
CharSet1251:	CHSINI	1251		; Windows-1251 (Cyrillic)
CharSet1252:	CHSINI	1252		; Windows-1252 (Latin 1 Windows)
CharSet1253:	CHSINI	1253		; Windows-1253 (Greek)
CharSet1254:	CHSINI	1254		; Windows-1254 (Turkish)
CharSet1255:	CHSINI	1255		; Windows-1255 (Hebrew)
CharSet1256:	CHSINI	1256		; Windows-1256 (Arabic)
CharSet1257:	CHSINI	1257		; Windows-1257 (Baltic)
CharSet1258:	CHSINI	1258		; Windows-1258 (Vietnam)
				; ISO Codepages
CharSet28591:	CHSINI	28591		; ISO 8859-1 (Latin 1 Western European)
CharSet28592:	CHSINI	28592		; ISO 8859-2 (Latin 2 Central European)
CharSet28593:	CHSINI	28593		; ISO 8859-3 (Latin 3)
CharSet28594:	CHSINI	28594		; ISO 8859-4 (Baltic)
CharSet28595:	CHSINI	28595		; ISO 8859-5 (Cyrillic)
CharSet28596:	CHSINI	28596		; ISO 8859-6 (Arabic)
CharSet28597:	CHSINI	28597		; ISO 8859-7 (Greek)
CharSet28598:	CHSINI	28598		; ISO 8859-8 (Hebrew)
CharSet28599:	CHSINI	28599		; ISO 8859-9 (Turkish)
CharSet28605:	CHSINI	28605		; ISO 8859-15 (Latin 9)
				; multibyte codepages
CharSet1200:	CHSINI2	1200,CharUTF16LER,CharUTF16LEW,CharUTF16LES ; UTF-16LE
CharSet1201:	CHSINI2	1201,CharUTF16BER,CharUTF16BEW,CharUTF16BES ; UTF-16BE
CharSet12000:	CHSINI2	12000,CharUTF32LER,CharUTF32LEW,CharUTF32LES ; UTF-32LE
CharSet12001:	CHSINI2	12001,CharUTF32BER,CharUTF32BEW,CharUTF32BES ; UTF-32BE
CharSet65001:	CHSINI2	65001,CharUTF8Read,CharUTF8Write,CharUTF8Size ; UTF-8

CharSetTab2:

; Total tables 37*128*2 = 9.5 KB)
; ------------- Translation table from DEC VT100 graphics to Unicode
; It will be used in "Special Graphics Set" escape sequence.

CP1ToUniTab:	INCW	0,2ah
		dw	2192h, 2190h, 2191h, 2193h,   2fh
		dw	2588h
		INCW	31h, 5eh
		dw	0a0h
		dw	25c6h, 2592h, 2409h, 240ch, 240dh, 240ah,  0b0h,  0b1h
		dw	2424h, 240bh, 2518h, 2510h, 250ch, 2514h, 253ch, 23bah
		dw	23bbh, 2500h, 23bch, 23bdh, 251ch, 2524h, 2534h, 252ch
		dw	2502h, 2264h, 2265h,  3c0h, 2260h,  0a3h,  0b7h, 2302h

Definiční tabulky znakových sad používají makra CHSINI, CHSINI2 a proměnnou CHSINIS. Pro jednoduchost je zde uvedena pouze první konverzní tabulka (pro kódovou stránku DEC VT100).


Obsah / Utility / CHARSET / Definiční tabulky znakových sad