Selaa lähdekoodia

Enc: automatically generated SBCS StdMaps added

Alexander Shiryaev 12 vuotta sitten
vanhempi
commit
a857f4da61
100 muutettua tiedostoa jossa 24301 lisäystä ja 0 poistoa
  1. 289 0
      BlackBox/Enc/Mod/StdMap_atarist.txt
  2. 367 0
      BlackBox/Enc/Mod/StdMap_cp037.txt
  3. 373 0
      BlackBox/Enc/Mod/StdMap_cp1026.txt
  4. 367 0
      BlackBox/Enc/Mod/StdMap_cp1140.txt
  5. 273 0
      BlackBox/Enc/Mod/StdMap_cp1250.txt
  6. 181 0
      BlackBox/Enc/Mod/StdMap_cp1251.txt
  7. 125 0
      BlackBox/Enc/Mod/StdMap_cp1252.txt
  8. 133 0
      BlackBox/Enc/Mod/StdMap_cp1253.txt
  9. 141 0
      BlackBox/Enc/Mod/StdMap_cp1254.txt
  10. 133 0
      BlackBox/Enc/Mod/StdMap_cp1255.txt
  11. 191 0
      BlackBox/Enc/Mod/StdMap_cp1256.txt
  12. 257 0
      BlackBox/Enc/Mod/StdMap_cp1257.txt
  13. 169 0
      BlackBox/Enc/Mod/StdMap_cp1258.txt
  14. 281 0
      BlackBox/Enc/Mod/StdMap_cp424.txt
  15. 311 0
      BlackBox/Enc/Mod/StdMap_cp437.txt
  16. 365 0
      BlackBox/Enc/Mod/StdMap_cp500.txt
  17. 233 0
      BlackBox/Enc/Mod/StdMap_cp720.txt
  18. 221 0
      BlackBox/Enc/Mod/StdMap_cp737.txt
  19. 317 0
      BlackBox/Enc/Mod/StdMap_cp775.txt
  20. 315 0
      BlackBox/Enc/Mod/StdMap_cp850.txt
  21. 299 0
      BlackBox/Enc/Mod/StdMap_cp852.txt
  22. 329 0
      BlackBox/Enc/Mod/StdMap_cp855.txt
  23. 195 0
      BlackBox/Enc/Mod/StdMap_cp856.txt
  24. 305 0
      BlackBox/Enc/Mod/StdMap_cp857.txt
  25. 315 0
      BlackBox/Enc/Mod/StdMap_cp858.txt
  26. 311 0
      BlackBox/Enc/Mod/StdMap_cp860.txt
  27. 313 0
      BlackBox/Enc/Mod/StdMap_cp861.txt
  28. 263 0
      BlackBox/Enc/Mod/StdMap_cp862.txt
  29. 313 0
      BlackBox/Enc/Mod/StdMap_cp863.txt
  30. 293 0
      BlackBox/Enc/Mod/StdMap_cp864.txt
  31. 313 0
      BlackBox/Enc/Mod/StdMap_cp865.txt
  32. 195 0
      BlackBox/Enc/Mod/StdMap_cp866.txt
  33. 231 0
      BlackBox/Enc/Mod/StdMap_cp869.txt
  34. 95 0
      BlackBox/Enc/Mod/StdMap_cp874.txt
  35. 127 0
      BlackBox/Enc/Mod/StdMap_georgian_academy.txt
  36. 145 0
      BlackBox/Enc/Mod/StdMap_georgian_ps.txt
  37. 255 0
      BlackBox/Enc/Mod/StdMap_hp_roman8.txt
  38. 77 0
      BlackBox/Enc/Mod/StdMap_iso8859_1.txt
  39. 205 0
      BlackBox/Enc/Mod/StdMap_iso8859_10.txt
  40. 81 0
      BlackBox/Enc/Mod/StdMap_iso8859_11.txt
  41. 227 0
      BlackBox/Enc/Mod/StdMap_iso8859_13.txt
  42. 151 0
      BlackBox/Enc/Mod/StdMap_iso8859_14.txt
  43. 103 0
      BlackBox/Enc/Mod/StdMap_iso8859_15.txt
  44. 191 0
      BlackBox/Enc/Mod/StdMap_iso8859_16.txt
  45. 245 0
      BlackBox/Enc/Mod/StdMap_iso8859_2.txt
  46. 171 0
      BlackBox/Enc/Mod/StdMap_iso8859_3.txt
  47. 215 0
      BlackBox/Enc/Mod/StdMap_iso8859_4.txt
  48. 91 0
      BlackBox/Enc/Mod/StdMap_iso8859_5.txt
  49. 91 0
      BlackBox/Enc/Mod/StdMap_iso8859_6.txt
  50. 111 0
      BlackBox/Enc/Mod/StdMap_iso8859_7.txt
  51. 93 0
      BlackBox/Enc/Mod/StdMap_iso8859_8.txt
  52. 97 0
      BlackBox/Enc/Mod/StdMap_iso8859_9.txt
  53. 223 0
      BlackBox/Enc/Mod/StdMap_koi8_r.txt
  54. 243 0
      BlackBox/Enc/Mod/StdMap_koi8_u.txt
  55. 177 0
      BlackBox/Enc/Mod/StdMap_kz1048.txt
  56. 281 0
      BlackBox/Enc/Mod/StdMap_mac_centraleurope.txt
  57. 201 0
      BlackBox/Enc/Mod/StdMap_mac_cyrillic.txt
  58. 287 0
      BlackBox/Enc/Mod/StdMap_mac_greek.txt
  59. 299 0
      BlackBox/Enc/Mod/StdMap_mac_iceland.txt
  60. 295 0
      BlackBox/Enc/Mod/StdMap_mac_roman.txt
  61. 291 0
      BlackBox/Enc/Mod/StdMap_mac_turkish.txt
  62. 195 0
      BlackBox/Enc/Mod/StdMap_ptcp154.txt
  63. 317 0
      BlackBox/Enc/Mod/StdMap_viscii.txt
  64. 278 0
      BlackBox/Enc/Mod/gen-StdMaps/EDB
  65. 303 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-1.TXT
  66. 303 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-10.TXT
  67. 297 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-11.TXT
  68. 299 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-13.TXT
  69. 301 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-14.TXT
  70. 303 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-15.TXT
  71. 299 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-16.TXT
  72. 303 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-2.TXT
  73. 296 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-3.TXT
  74. 303 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-4.TXT
  75. 303 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-5.TXT
  76. 260 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-6.TXT
  77. 308 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-7.TXT
  78. 270 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-8.TXT
  79. 307 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-9.TXT
  80. 32 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/ReadMe.txt
  81. 18 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ReadMe.txt
  82. 275 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP037.TXT
  83. 275 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP1026.TXT
  84. 275 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP500.TXT
  85. 275 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP875.TXT
  86. 275 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/MAC/CYRILLIC.TXT
  87. 275 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/MAC/GREEK.TXT
  88. 275 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/MAC/ICELAND.TXT
  89. 275 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/MAC/LATIN2.TXT
  90. 275 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/MAC/ROMAN.TXT
  91. 275 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/MAC/TURKISH.TXT
  92. 274 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP437.TXT
  93. 274 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP737.TXT
  94. 275 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP775.TXT
  95. 274 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP850.TXT
  96. 274 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP852.TXT
  97. 275 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP855.TXT
  98. 275 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP857.TXT
  99. 275 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP860.TXT
  100. 275 0
      BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP861.TXT

+ 289 - 0
BlackBox/Enc/Mod/StdMap_atarist.txt

@@ -0,0 +1,289 @@
+MODULE EncStdMap_atarist;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/ATARIST.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A1H: y := 0ADH
+			| 0A2H..0A3H: y := x - 07H
+			| 0A5H: y := 9DH
+			| 0A7H: y := 0DDH
+			| 0A8H: y := 0B9H
+			| 0A9H: y := 0BDH
+			| 0AAH: y := 0A6H
+			| 0ABH: y := 0AEH
+			| 0ACH: y := 0AAH
+			| 0AEH: y := 0BEH
+			| 0AFH: y := 0FFH
+			| 0B0H: y := 0F8H
+			| 0B1H: y := 0F1H
+			| 0B2H..0B3H: y := x + 4BH
+			| 0B4H: y := 0BAH
+			| 0B5H: y := 0E6H
+			| 0B6H: y := 0BCH
+			| 0B7H: y := 0FAH
+			| 0BAH: y := 0A7H
+			| 0BBH: y := 0AFH
+			| 0BCH: y := 0ACH
+			| 0BDH: y := 0ABH
+			| 0BFH: y := 0A8H
+			| 0C0H: y := 0B6H
+			| 0C3H: y := 0B7H
+			| 0C4H..0C5H: y := x - 36H
+			| 0C6H: y := 92H
+			| 0C7H: y := 80H
+			| 0C9H: y := 90H
+			| 0D1H: y := 0A5H
+			| 0D5H: y := 0B8H
+			| 0D6H: y := 99H
+			| 0D8H: y := 0B2H
+			| 0DCH: y := 9AH
+			| 0DFH: y := 9EH
+			| 0E0H: y := 85H
+			| 0E1H: y := 0A0H
+			| 0E2H: y := 83H
+			| 0E3H: y := 0B0H
+			| 0E4H: y := 84H
+			| 0E5H: y := 86H
+			| 0E6H: y := 91H
+			| 0E7H: y := 87H
+			| 0E8H: y := 8AH
+			| 0E9H: y := 82H
+			| 0EAH..0EBH: y := x - 62H
+			| 0ECH: y := 8DH
+			| 0EDH: y := 0A1H
+			| 0EEH: y := 8CH
+			| 0EFH: y := 8BH
+			| 0F1H: y := 0A4H
+			| 0F2H: y := 95H
+			| 0F3H: y := 0A2H
+			| 0F4H: y := 93H
+			| 0F5H: y := 0B1H
+			| 0F6H: y := 94H
+			| 0F7H: y := 0F6H
+			| 0F8H: y := 0B3H
+			| 0F9H: y := 97H
+			| 0FAH: y := 0A3H
+			| 0FBH: y := 96H
+			| 0FCH: y := 81H
+			| 0FFH: y := 98H
+			| 0132H: y := 0C1H
+			| 0133H: y := 0C0H
+			| 0152H: y := 0B5H
+			| 0153H: y := 0B4H
+			| 0192H: y := 9FH
+			| 0393H: y := 0E2H
+			| 0398H: y := 0E9H
+			| 03A3H: y := 0E4H
+			| 03A6H: y := 0E8H
+			| 03A9H: y := 0EAH
+			| 03B1H..03B2H: y := x - 02D1H
+			| 03B4H: y := 0EBH
+			| 03C0H: y := 0E3H
+			| 03C3H: y := 0E5H
+			| 03C4H: y := 0E7H
+			| 03C6H: y := 0EDH
+			| 05D0H..05D9H: y := x - 050EH
+			| 05DAH: y := 0D9H
+			| 05DBH..05DCH: y := x - 050FH
+			| 05DDH: y := 0DAH
+			| 05DEH: y := 0CEH
+			| 05DFH: y := 0D8H
+			| 05E0H..05E2H: y := x - 0511H
+			| 05E3H: y := 0DBH
+			| 05E4H: y := 0D2H
+			| 05E5H: y := 0DCH
+			| 05E6H..05EAH: y := x - 0513H
+			| 2020H: y := 0BBH
+			| 207FH: y := 0FCH
+			| 2122H: y := 0BFH
+			| 2208H: y := 0EEH
+			| 2219H: y := 0F9H
+			| 221AH: y := 0FBH
+			| 221EH: y := 0DFH
+			| 2227H: y := 0DEH
+			| 2229H: y := 0EFH
+			| 222EH: y := 0ECH
+			| 2248H: y := 0F7H
+			| 2261H: y := 0F0H
+			| 2264H: y := 0F3H
+			| 2265H: y := 0F2H
+			| 2310H: y := 0A9H
+			| 2320H..2321H: y := x - 222CH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 0C7H
+			| 81H: y := 0FCH
+			| 82H: y := 0E9H
+			| 83H: y := 0E2H
+			| 84H: y := 0E4H
+			| 85H: y := 0E0H
+			| 86H: y := 0E5H
+			| 87H: y := 0E7H
+			| 88H..89H: y := x + 62H
+			| 8AH: y := 0E8H
+			| 8BH: y := 0EFH
+			| 8CH: y := 0EEH
+			| 8DH: y := 0ECH
+			| 8EH..8FH: y := x + 36H
+			| 90H: y := 0C9H
+			| 91H: y := 0E6H
+			| 92H: y := 0C6H
+			| 93H: y := 0F4H
+			| 94H: y := 0F6H
+			| 95H: y := 0F2H
+			| 96H: y := 0FBH
+			| 97H: y := 0F9H
+			| 98H: y := 0FFH
+			| 99H: y := 0D6H
+			| 9AH: y := 0DCH
+			| 9BH..9CH: y := x + 07H
+			| 9DH: y := 0A5H
+			| 9EH: y := 0DFH
+			| 9FH: y := 0192H
+			| 0A0H: y := 0E1H
+			| 0A1H: y := 0EDH
+			| 0A2H: y := 0F3H
+			| 0A3H: y := 0FAH
+			| 0A4H: y := 0F1H
+			| 0A5H: y := 0D1H
+			| 0A6H: y := 0AAH
+			| 0A7H: y := 0BAH
+			| 0A8H: y := 0BFH
+			| 0A9H: y := 2310H
+			| 0AAH: y := 0ACH
+			| 0ABH: y := 0BDH
+			| 0ACH: y := 0BCH
+			| 0ADH: y := 0A1H
+			| 0AEH: y := 0ABH
+			| 0AFH: y := 0BBH
+			| 0B0H: y := 0E3H
+			| 0B1H: y := 0F5H
+			| 0B2H: y := 0D8H
+			| 0B3H: y := 0F8H
+			| 0B4H: y := 0153H
+			| 0B5H: y := 0152H
+			| 0B6H: y := 0C0H
+			| 0B7H: y := 0C3H
+			| 0B8H: y := 0D5H
+			| 0B9H: y := 0A8H
+			| 0BAH: y := 0B4H
+			| 0BBH: y := 2020H
+			| 0BCH: y := 0B6H
+			| 0BDH: y := 0A9H
+			| 0BEH: y := 0AEH
+			| 0BFH: y := 2122H
+			| 0C0H: y := 0133H
+			| 0C1H: y := 0132H
+			| 0C2H..0CBH: y := x + 050EH
+			| 0CCH..0CDH: y := x + 050FH
+			| 0CEH: y := 05DEH
+			| 0CFH..0D1H: y := x + 0511H
+			| 0D2H: y := 05E4H
+			| 0D3H..0D7H: y := x + 0513H
+			| 0D8H: y := 05DFH
+			| 0D9H: y := 05DAH
+			| 0DAH: y := 05DDH
+			| 0DBH: y := 05E3H
+			| 0DCH: y := 05E5H
+			| 0DDH: y := 0A7H
+			| 0DEH: y := 2227H
+			| 0DFH: y := 221EH
+			| 0E0H..0E1H: y := x + 02D1H
+			| 0E2H: y := 0393H
+			| 0E3H: y := 03C0H
+			| 0E4H: y := 03A3H
+			| 0E5H: y := 03C3H
+			| 0E6H: y := 0B5H
+			| 0E7H: y := 03C4H
+			| 0E8H: y := 03A6H
+			| 0E9H: y := 0398H
+			| 0EAH: y := 03A9H
+			| 0EBH: y := 03B4H
+			| 0ECH: y := 222EH
+			| 0EDH: y := 03C6H
+			| 0EEH: y := 2208H
+			| 0EFH: y := 2229H
+			| 0F0H: y := 2261H
+			| 0F1H: y := 0B1H
+			| 0F2H: y := 2265H
+			| 0F3H: y := 2264H
+			| 0F4H..0F5H: y := x + 222CH
+			| 0F6H: y := 0F7H
+			| 0F7H: y := 2248H
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 2219H
+			| 0FAH: y := 0B7H
+			| 0FBH: y := 221AH
+			| 0FCH: y := 207FH
+			| 0FDH..0FEH: y := x - 4BH
+			| 0FFH: y := 0AFH
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_atarist.

+ 367 - 0
BlackBox/Enc/Mod/StdMap_cp037.txt

@@ -0,0 +1,367 @@
+MODULE EncStdMap_cp037;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP037.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..03H: y := x
+			| 04H: y := 37H
+			| 05H..07H: y := x + 28H
+			| 08H: y := 16H
+			| 09H: y := 05H
+			| 0AH: y := 25H
+			| 0BH..13H: y := x
+			| 14H..15H: y := x + 28H
+			| 16H: y := 32H
+			| 17H: y := 26H
+			| 18H..19H: y := x
+			| 1AH: y := 3FH
+			| 1BH: y := 27H
+			| 1CH..1FH: y := x
+			| 20H: y := 40H
+			| 21H: y := 5AH
+			| 22H: y := 7FH
+			| 23H: y := 7BH
+			| 24H: y := 5BH
+			| 25H: y := 6CH
+			| 26H: y := 50H
+			| 27H: y := 7DH
+			| 28H: y := 4DH
+			| 29H: y := 5DH
+			| 2AH: y := 5CH
+			| 2BH: y := 4EH
+			| 2CH: y := 6BH
+			| 2DH: y := 60H
+			| 2EH: y := 4BH
+			| 2FH: y := 61H
+			| 30H..39H: y := x + 0C0H
+			| 3AH: y := 7AH
+			| 3BH: y := 5EH
+			| 3CH: y := 4CH
+			| 3DH: y := 7EH
+			| 3EH..3FH: y := x + 30H
+			| 40H: y := 7CH
+			| 41H..49H: y := x + 80H
+			| 4AH..52H: y := x + 87H
+			| 53H..5AH: y := x + 8FH
+			| 5BH: y := 0BAH
+			| 5CH: y := 0E0H
+			| 5DH: y := 0BBH
+			| 5EH: y := 0B0H
+			| 5FH: y := 6DH
+			| 60H: y := 79H
+			| 61H..69H: y := x + 20H
+			| 6AH..72H: y := x + 27H
+			| 73H..7AH: y := x + 2FH
+			| 7BH: y := 0C0H
+			| 7CH: y := 4FH
+			| 7DH: y := 0D0H
+			| 7EH: y := 0A1H
+			| 7FH: y := 07H
+			| 80H..84H: y := x - 60H
+			| 85H: y := 15H
+			| 86H: y := 06H
+			| 87H: y := 17H
+			| 88H..8CH: y := x - 60H
+			| 8DH..8EH: y := x - 84H
+			| 8FH: y := 1BH
+			| 90H..91H: y := x - 60H
+			| 92H: y := 1AH
+			| 93H..96H: y := x - 60H
+			| 97H: y := 08H
+			| 98H..9BH: y := x - 60H
+			| 9CH: y := 04H
+			| 9DH: y := 14H
+			| 9EH: y := 3EH
+			| 9FH: y := 0FFH
+			| 0A0H: y := 41H
+			| 0A1H: y := 0AAH
+			| 0A2H: y := 4AH
+			| 0A3H: y := 0B1H
+			| 0A4H: y := 9FH
+			| 0A5H: y := 0B2H
+			| 0A6H: y := 6AH
+			| 0A7H: y := 0B5H
+			| 0A8H: y := 0BDH
+			| 0A9H: y := 0B4H
+			| 0AAH: y := 9AH
+			| 0ABH: y := 8AH
+			| 0ACH: y := 5FH
+			| 0ADH: y := 0CAH
+			| 0AEH: y := 0AFH
+			| 0AFH: y := 0BCH
+			| 0B0H: y := 90H
+			| 0B1H: y := 8FH
+			| 0B2H: y := 0EAH
+			| 0B3H: y := 0FAH
+			| 0B4H: y := 0BEH
+			| 0B5H: y := 0A0H
+			| 0B6H: y := 0B6H
+			| 0B7H: y := 0B3H
+			| 0B8H: y := 9DH
+			| 0B9H: y := 0DAH
+			| 0BAH: y := 9BH
+			| 0BBH: y := 8BH
+			| 0BCH..0BEH: y := x - 05H
+			| 0BFH: y := 0ABH
+			| 0C0H..0C1H: y := x - 5CH
+			| 0C2H: y := 62H
+			| 0C3H: y := 66H
+			| 0C4H: y := 63H
+			| 0C5H: y := 67H
+			| 0C6H: y := 9EH
+			| 0C7H: y := 68H
+			| 0C8H: y := 74H
+			| 0C9H..0CBH: y := x - 58H
+			| 0CCH: y := 78H
+			| 0CDH..0CFH: y := x - 58H
+			| 0D0H: y := 0ACH
+			| 0D1H: y := 69H
+			| 0D2H..0D3H: y := x + 1BH
+			| 0D4H: y := 0EBH
+			| 0D5H: y := 0EFH
+			| 0D6H: y := 0ECH
+			| 0D7H: y := 0BFH
+			| 0D8H: y := 80H
+			| 0D9H..0DAH: y := x + 24H
+			| 0DBH..0DCH: y := x + 20H
+			| 0DDH..0DEH: y := x - 30H
+			| 0DFH: y := 59H
+			| 0E0H..0E1H: y := x - 9CH
+			| 0E2H: y := 42H
+			| 0E3H: y := 46H
+			| 0E4H: y := 43H
+			| 0E5H: y := 47H
+			| 0E6H: y := 9CH
+			| 0E7H: y := 48H
+			| 0E8H: y := 54H
+			| 0E9H..0EBH: y := x - 98H
+			| 0ECH: y := 58H
+			| 0EDH..0EFH: y := x - 98H
+			| 0F0H: y := 8CH
+			| 0F1H: y := 49H
+			| 0F2H..0F3H: y := x - 25H
+			| 0F4H: y := 0CBH
+			| 0F5H: y := 0CFH
+			| 0F6H: y := 0CCH
+			| 0F7H: y := 0E1H
+			| 0F8H: y := 70H
+			| 0F9H..0FAH: y := x - 1CH
+			| 0FBH..0FCH: y := x - 20H
+			| 0FDH..0FEH: y := x - 70H
+			| 0FFH: y := 0DFH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..03H: y := x
+			| 04H: y := 9CH
+			| 05H: y := 09H
+			| 06H: y := 86H
+			| 07H: y := 7FH
+			| 08H: y := 97H
+			| 09H..0AH: y := x + 84H
+			| 0BH..13H: y := x
+			| 14H: y := 9DH
+			| 15H: y := 85H
+			| 16H: y := 08H
+			| 17H: y := 87H
+			| 18H..19H: y := x
+			| 1AH: y := 92H
+			| 1BH: y := 8FH
+			| 1CH..1FH: y := x
+			| 20H..24H: y := x + 60H
+			| 25H: y := 0AH
+			| 26H: y := 17H
+			| 27H: y := 1BH
+			| 28H..2CH: y := x + 60H
+			| 2DH..2FH: y := x - 28H
+			| 30H..31H: y := x + 60H
+			| 32H: y := 16H
+			| 33H..36H: y := x + 60H
+			| 37H: y := 04H
+			| 38H..3BH: y := x + 60H
+			| 3CH..3DH: y := x - 28H
+			| 3EH: y := 9EH
+			| 3FH: y := 1AH
+			| 40H: y := 20H
+			| 41H: y := 0A0H
+			| 42H: y := 0E2H
+			| 43H: y := 0E4H
+			| 44H..45H: y := x + 9CH
+			| 46H: y := 0E3H
+			| 47H: y := 0E5H
+			| 48H: y := 0E7H
+			| 49H: y := 0F1H
+			| 4AH: y := 0A2H
+			| 4BH: y := 2EH
+			| 4CH: y := 3CH
+			| 4DH: y := 28H
+			| 4EH: y := 2BH
+			| 4FH: y := 7CH
+			| 50H: y := 26H
+			| 51H..53H: y := x + 98H
+			| 54H: y := 0E8H
+			| 55H..57H: y := x + 98H
+			| 58H: y := 0ECH
+			| 59H: y := 0DFH
+			| 5AH: y := 21H
+			| 5BH: y := 24H
+			| 5CH: y := 2AH
+			| 5DH: y := 29H
+			| 5EH: y := 3BH
+			| 5FH: y := 0ACH
+			| 60H: y := 2DH
+			| 61H: y := 2FH
+			| 62H: y := 0C2H
+			| 63H: y := 0C4H
+			| 64H..65H: y := x + 5CH
+			| 66H: y := 0C3H
+			| 67H: y := 0C5H
+			| 68H: y := 0C7H
+			| 69H: y := 0D1H
+			| 6AH: y := 0A6H
+			| 6BH: y := 2CH
+			| 6CH: y := 25H
+			| 6DH: y := 5FH
+			| 6EH..6FH: y := x - 30H
+			| 70H: y := 0F8H
+			| 71H..73H: y := x + 58H
+			| 74H: y := 0C8H
+			| 75H..77H: y := x + 58H
+			| 78H: y := 0CCH
+			| 79H: y := 60H
+			| 7AH: y := 3AH
+			| 7BH: y := 23H
+			| 7CH: y := 40H
+			| 7DH: y := 27H
+			| 7EH: y := 3DH
+			| 7FH: y := 22H
+			| 80H: y := 0D8H
+			| 81H..89H: y := x - 20H
+			| 8AH: y := 0ABH
+			| 8BH: y := 0BBH
+			| 8CH: y := 0F0H
+			| 8DH..8EH: y := x + 70H
+			| 8FH: y := 0B1H
+			| 90H: y := 0B0H
+			| 91H..99H: y := x - 27H
+			| 9AH: y := 0AAH
+			| 9BH: y := 0BAH
+			| 9CH: y := 0E6H
+			| 9DH: y := 0B8H
+			| 9EH: y := 0C6H
+			| 9FH: y := 0A4H
+			| 0A0H: y := 0B5H
+			| 0A1H: y := 7EH
+			| 0A2H..0A9H: y := x - 2FH
+			| 0AAH: y := 0A1H
+			| 0ABH: y := 0BFH
+			| 0ACH: y := 0D0H
+			| 0ADH..0AEH: y := x + 30H
+			| 0AFH: y := 0AEH
+			| 0B0H: y := 5EH
+			| 0B1H: y := 0A3H
+			| 0B2H: y := 0A5H
+			| 0B3H: y := 0B7H
+			| 0B4H: y := 0A9H
+			| 0B5H: y := 0A7H
+			| 0B6H: y := 0B6H
+			| 0B7H..0B9H: y := x + 05H
+			| 0BAH: y := 5BH
+			| 0BBH: y := 5DH
+			| 0BCH: y := 0AFH
+			| 0BDH: y := 0A8H
+			| 0BEH: y := 0B4H
+			| 0BFH: y := 0D7H
+			| 0C0H: y := 7BH
+			| 0C1H..0C9H: y := x - 80H
+			| 0CAH: y := 0ADH
+			| 0CBH: y := 0F4H
+			| 0CCH: y := 0F6H
+			| 0CDH..0CEH: y := x + 25H
+			| 0CFH: y := 0F5H
+			| 0D0H: y := 7DH
+			| 0D1H..0D9H: y := x - 87H
+			| 0DAH: y := 0B9H
+			| 0DBH..0DCH: y := x + 20H
+			| 0DDH..0DEH: y := x + 1CH
+			| 0DFH: y := 0FFH
+			| 0E0H: y := 5CH
+			| 0E1H: y := 0F7H
+			| 0E2H..0E9H: y := x - 8FH
+			| 0EAH: y := 0B2H
+			| 0EBH: y := 0D4H
+			| 0ECH: y := 0D6H
+			| 0EDH..0EEH: y := x - 1BH
+			| 0EFH: y := 0D5H
+			| 0F0H..0F9H: y := x - 0C0H
+			| 0FAH: y := 0B3H
+			| 0FBH..0FCH: y := x - 20H
+			| 0FDH..0FEH: y := x - 24H
+			| 0FFH: y := 9FH
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp037.

+ 373 - 0
BlackBox/Enc/Mod/StdMap_cp1026.txt

@@ -0,0 +1,373 @@
+MODULE EncStdMap_cp1026;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP1026.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..03H: y := x
+			| 04H: y := 37H
+			| 05H..07H: y := x + 28H
+			| 08H: y := 16H
+			| 09H: y := 05H
+			| 0AH: y := 25H
+			| 0BH..13H: y := x
+			| 14H..15H: y := x + 28H
+			| 16H: y := 32H
+			| 17H: y := 26H
+			| 18H..19H: y := x
+			| 1AH: y := 3FH
+			| 1BH: y := 27H
+			| 1CH..1FH: y := x
+			| 20H: y := 40H
+			| 21H: y := 4FH
+			| 22H: y := 0FCH
+			| 23H: y := 0ECH
+			| 24H: y := 0ADH
+			| 25H: y := 6CH
+			| 26H: y := 50H
+			| 27H: y := 7DH
+			| 28H: y := 4DH
+			| 29H: y := 5DH
+			| 2AH: y := 5CH
+			| 2BH: y := 4EH
+			| 2CH: y := 6BH
+			| 2DH: y := 60H
+			| 2EH: y := 4BH
+			| 2FH: y := 61H
+			| 30H..39H: y := x + 0C0H
+			| 3AH: y := 7AH
+			| 3BH: y := 5EH
+			| 3CH: y := 4CH
+			| 3DH: y := 7EH
+			| 3EH..3FH: y := x + 30H
+			| 40H: y := 0AEH
+			| 41H..49H: y := x + 80H
+			| 4AH..52H: y := x + 87H
+			| 53H..5AH: y := x + 8FH
+			| 5BH: y := 68H
+			| 5CH: y := 0DCH
+			| 5DH: y := 0ACH
+			| 5EH: y := 5FH
+			| 5FH: y := 6DH
+			| 60H: y := 8DH
+			| 61H..69H: y := x + 20H
+			| 6AH..72H: y := x + 27H
+			| 73H..7AH: y := x + 2FH
+			| 7BH: y := 48H
+			| 7CH: y := 0BBH
+			| 7DH: y := 8CH
+			| 7EH: y := 0CCH
+			| 7FH: y := 07H
+			| 80H..84H: y := x - 60H
+			| 85H: y := 15H
+			| 86H: y := 06H
+			| 87H: y := 17H
+			| 88H..8CH: y := x - 60H
+			| 8DH..8EH: y := x - 84H
+			| 8FH: y := 1BH
+			| 90H..91H: y := x - 60H
+			| 92H: y := 1AH
+			| 93H..96H: y := x - 60H
+			| 97H: y := 08H
+			| 98H..9BH: y := x - 60H
+			| 9CH: y := 04H
+			| 9DH: y := 14H
+			| 9EH: y := 3EH
+			| 9FH: y := 0FFH
+			| 0A0H: y := 41H
+			| 0A1H: y := 0AAH
+			| 0A2H..0A3H: y := x + 0EH
+			| 0A4H: y := 9FH
+			| 0A5H: y := 0B2H
+			| 0A6H: y := 8EH
+			| 0A7H: y := 0B5H
+			| 0A8H: y := 0BDH
+			| 0A9H: y := 0B4H
+			| 0AAH: y := 9AH
+			| 0ABH: y := 8AH
+			| 0ACH: y := 0BAH
+			| 0ADH: y := 0CAH
+			| 0AEH: y := 0AFH
+			| 0AFH: y := 0BCH
+			| 0B0H: y := 90H
+			| 0B1H: y := 8FH
+			| 0B2H: y := 0EAH
+			| 0B3H: y := 0FAH
+			| 0B4H: y := 0BEH
+			| 0B5H: y := 0A0H
+			| 0B6H: y := 0B6H
+			| 0B7H: y := 0B3H
+			| 0B8H: y := 9DH
+			| 0B9H: y := 0DAH
+			| 0BAH: y := 9BH
+			| 0BBH: y := 8BH
+			| 0BCH..0BEH: y := x - 05H
+			| 0BFH: y := 0ABH
+			| 0C0H..0C1H: y := x - 5CH
+			| 0C2H: y := 62H
+			| 0C3H: y := 66H
+			| 0C4H: y := 63H
+			| 0C5H: y := 67H
+			| 0C6H: y := 9EH
+			| 0C7H: y := 4AH
+			| 0C8H: y := 74H
+			| 0C9H..0CBH: y := x - 58H
+			| 0CCH: y := 78H
+			| 0CDH..0CFH: y := x - 58H
+			| 0D1H: y := 69H
+			| 0D2H..0D3H: y := x + 1BH
+			| 0D4H: y := 0EBH
+			| 0D5H: y := 0EFH
+			| 0D6H: y := 7BH
+			| 0D7H: y := 0BFH
+			| 0D8H: y := 80H
+			| 0D9H..0DAH: y := x + 24H
+			| 0DBH: y := 0FBH
+			| 0DCH: y := 7FH
+			| 0DFH: y := 59H
+			| 0E0H..0E1H: y := x - 9CH
+			| 0E2H: y := 42H
+			| 0E3H: y := 46H
+			| 0E4H: y := 43H
+			| 0E5H: y := 47H
+			| 0E6H: y := 9CH
+			| 0E7H: y := 0C0H
+			| 0E8H: y := 54H
+			| 0E9H..0EBH: y := x - 98H
+			| 0ECH: y := 58H
+			| 0EDH..0EFH: y := x - 98H
+			| 0F1H: y := 49H
+			| 0F2H..0F3H: y := x - 25H
+			| 0F4H: y := 0CBH
+			| 0F5H: y := 0CFH
+			| 0F6H: y := 0A1H
+			| 0F7H: y := 0E1H
+			| 0F8H: y := 70H
+			| 0F9H..0FAH: y := x - 1CH
+			| 0FBH: y := 0DBH
+			| 0FCH: y := 0E0H
+			| 0FFH: y := 0DFH
+			| 011EH: y := 5AH
+			| 011FH: y := 0D0H
+			| 0130H: y := 5BH
+			| 0131H: y := 79H
+			| 015EH: y := 7CH
+			| 015FH: y := 6AH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..03H: y := x
+			| 04H: y := 9CH
+			| 05H: y := 09H
+			| 06H: y := 86H
+			| 07H: y := 7FH
+			| 08H: y := 97H
+			| 09H..0AH: y := x + 84H
+			| 0BH..13H: y := x
+			| 14H: y := 9DH
+			| 15H: y := 85H
+			| 16H: y := 08H
+			| 17H: y := 87H
+			| 18H..19H: y := x
+			| 1AH: y := 92H
+			| 1BH: y := 8FH
+			| 1CH..1FH: y := x
+			| 20H..24H: y := x + 60H
+			| 25H: y := 0AH
+			| 26H: y := 17H
+			| 27H: y := 1BH
+			| 28H..2CH: y := x + 60H
+			| 2DH..2FH: y := x - 28H
+			| 30H..31H: y := x + 60H
+			| 32H: y := 16H
+			| 33H..36H: y := x + 60H
+			| 37H: y := 04H
+			| 38H..3BH: y := x + 60H
+			| 3CH..3DH: y := x - 28H
+			| 3EH: y := 9EH
+			| 3FH: y := 1AH
+			| 40H: y := 20H
+			| 41H: y := 0A0H
+			| 42H: y := 0E2H
+			| 43H: y := 0E4H
+			| 44H..45H: y := x + 9CH
+			| 46H: y := 0E3H
+			| 47H: y := 0E5H
+			| 48H: y := 7BH
+			| 49H: y := 0F1H
+			| 4AH: y := 0C7H
+			| 4BH: y := 2EH
+			| 4CH: y := 3CH
+			| 4DH: y := 28H
+			| 4EH: y := 2BH
+			| 4FH: y := 21H
+			| 50H: y := 26H
+			| 51H..53H: y := x + 98H
+			| 54H: y := 0E8H
+			| 55H..57H: y := x + 98H
+			| 58H: y := 0ECH
+			| 59H: y := 0DFH
+			| 5AH: y := 011EH
+			| 5BH: y := 0130H
+			| 5CH: y := 2AH
+			| 5DH: y := 29H
+			| 5EH: y := 3BH
+			| 5FH: y := 5EH
+			| 60H: y := 2DH
+			| 61H: y := 2FH
+			| 62H: y := 0C2H
+			| 63H: y := 0C4H
+			| 64H..65H: y := x + 5CH
+			| 66H: y := 0C3H
+			| 67H: y := 0C5H
+			| 68H: y := 5BH
+			| 69H: y := 0D1H
+			| 6AH: y := 015FH
+			| 6BH: y := 2CH
+			| 6CH: y := 25H
+			| 6DH: y := 5FH
+			| 6EH..6FH: y := x - 30H
+			| 70H: y := 0F8H
+			| 71H..73H: y := x + 58H
+			| 74H: y := 0C8H
+			| 75H..77H: y := x + 58H
+			| 78H: y := 0CCH
+			| 79H: y := 0131H
+			| 7AH: y := 3AH
+			| 7BH: y := 0D6H
+			| 7CH: y := 015EH
+			| 7DH: y := 27H
+			| 7EH: y := 3DH
+			| 7FH: y := 0DCH
+			| 80H: y := 0D8H
+			| 81H..89H: y := x - 20H
+			| 8AH: y := 0ABH
+			| 8BH: y := 0BBH
+			| 8CH: y := 7DH
+			| 8DH: y := 60H
+			| 8EH: y := 0A6H
+			| 8FH: y := 0B1H
+			| 90H: y := 0B0H
+			| 91H..99H: y := x - 27H
+			| 9AH: y := 0AAH
+			| 9BH: y := 0BAH
+			| 9CH: y := 0E6H
+			| 9DH: y := 0B8H
+			| 9EH: y := 0C6H
+			| 9FH: y := 0A4H
+			| 0A0H: y := 0B5H
+			| 0A1H: y := 0F6H
+			| 0A2H..0A9H: y := x - 2FH
+			| 0AAH: y := 0A1H
+			| 0ABH: y := 0BFH
+			| 0ACH: y := 5DH
+			| 0ADH: y := 24H
+			| 0AEH: y := 40H
+			| 0AFH: y := 0AEH
+			| 0B0H..0B1H: y := x - 0EH
+			| 0B2H: y := 0A5H
+			| 0B3H: y := 0B7H
+			| 0B4H: y := 0A9H
+			| 0B5H: y := 0A7H
+			| 0B6H: y := 0B6H
+			| 0B7H..0B9H: y := x + 05H
+			| 0BAH: y := 0ACH
+			| 0BBH: y := 7CH
+			| 0BCH: y := 0AFH
+			| 0BDH: y := 0A8H
+			| 0BEH: y := 0B4H
+			| 0BFH: y := 0D7H
+			| 0C0H: y := 0E7H
+			| 0C1H..0C9H: y := x - 80H
+			| 0CAH: y := 0ADH
+			| 0CBH: y := 0F4H
+			| 0CCH: y := 7EH
+			| 0CDH..0CEH: y := x + 25H
+			| 0CFH: y := 0F5H
+			| 0D0H: y := 011FH
+			| 0D1H..0D9H: y := x - 87H
+			| 0DAH: y := 0B9H
+			| 0DBH: y := 0FBH
+			| 0DCH: y := 5CH
+			| 0DDH..0DEH: y := x + 1CH
+			| 0DFH: y := 0FFH
+			| 0E0H: y := 0FCH
+			| 0E1H: y := 0F7H
+			| 0E2H..0E9H: y := x - 8FH
+			| 0EAH: y := 0B2H
+			| 0EBH: y := 0D4H
+			| 0ECH: y := 23H
+			| 0EDH..0EEH: y := x - 1BH
+			| 0EFH: y := 0D5H
+			| 0F0H..0F9H: y := x - 0C0H
+			| 0FAH: y := 0B3H
+			| 0FBH: y := 0DBH
+			| 0FCH: y := 22H
+			| 0FDH..0FEH: y := x - 24H
+			| 0FFH: y := 9FH
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp1026.

+ 367 - 0
BlackBox/Enc/Mod/StdMap_cp1140.txt

@@ -0,0 +1,367 @@
+MODULE EncStdMap_cp1140;
+
+	(* This file was generated automatically *)
+
+	(* Source: Python *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..03H: y := x
+			| 04H: y := 37H
+			| 05H..07H: y := x + 28H
+			| 08H: y := 16H
+			| 09H: y := 05H
+			| 0AH: y := 25H
+			| 0BH..13H: y := x
+			| 14H..15H: y := x + 28H
+			| 16H: y := 32H
+			| 17H: y := 26H
+			| 18H..19H: y := x
+			| 1AH: y := 3FH
+			| 1BH: y := 27H
+			| 1CH..1FH: y := x
+			| 20H: y := 40H
+			| 21H: y := 5AH
+			| 22H: y := 7FH
+			| 23H: y := 7BH
+			| 24H: y := 5BH
+			| 25H: y := 6CH
+			| 26H: y := 50H
+			| 27H: y := 7DH
+			| 28H: y := 4DH
+			| 29H: y := 5DH
+			| 2AH: y := 5CH
+			| 2BH: y := 4EH
+			| 2CH: y := 6BH
+			| 2DH: y := 60H
+			| 2EH: y := 4BH
+			| 2FH: y := 61H
+			| 30H..39H: y := x + 0C0H
+			| 3AH: y := 7AH
+			| 3BH: y := 5EH
+			| 3CH: y := 4CH
+			| 3DH: y := 7EH
+			| 3EH..3FH: y := x + 30H
+			| 40H: y := 7CH
+			| 41H..49H: y := x + 80H
+			| 4AH..52H: y := x + 87H
+			| 53H..5AH: y := x + 8FH
+			| 5BH: y := 0BAH
+			| 5CH: y := 0E0H
+			| 5DH: y := 0BBH
+			| 5EH: y := 0B0H
+			| 5FH: y := 6DH
+			| 60H: y := 79H
+			| 61H..69H: y := x + 20H
+			| 6AH..72H: y := x + 27H
+			| 73H..7AH: y := x + 2FH
+			| 7BH: y := 0C0H
+			| 7CH: y := 4FH
+			| 7DH: y := 0D0H
+			| 7EH: y := 0A1H
+			| 7FH: y := 07H
+			| 80H..84H: y := x - 60H
+			| 85H: y := 15H
+			| 86H: y := 06H
+			| 87H: y := 17H
+			| 88H..8CH: y := x - 60H
+			| 8DH..8EH: y := x - 84H
+			| 8FH: y := 1BH
+			| 90H..91H: y := x - 60H
+			| 92H: y := 1AH
+			| 93H..96H: y := x - 60H
+			| 97H: y := 08H
+			| 98H..9BH: y := x - 60H
+			| 9CH: y := 04H
+			| 9DH: y := 14H
+			| 9EH: y := 3EH
+			| 9FH: y := 0FFH
+			| 0A0H: y := 41H
+			| 0A1H: y := 0AAH
+			| 0A2H: y := 4AH
+			| 0A3H: y := 0B1H
+			| 0A5H: y := 0B2H
+			| 0A6H: y := 6AH
+			| 0A7H: y := 0B5H
+			| 0A8H: y := 0BDH
+			| 0A9H: y := 0B4H
+			| 0AAH: y := 9AH
+			| 0ABH: y := 8AH
+			| 0ACH: y := 5FH
+			| 0ADH: y := 0CAH
+			| 0AEH: y := 0AFH
+			| 0AFH: y := 0BCH
+			| 0B0H: y := 90H
+			| 0B1H: y := 8FH
+			| 0B2H: y := 0EAH
+			| 0B3H: y := 0FAH
+			| 0B4H: y := 0BEH
+			| 0B5H: y := 0A0H
+			| 0B6H: y := 0B6H
+			| 0B7H: y := 0B3H
+			| 0B8H: y := 9DH
+			| 0B9H: y := 0DAH
+			| 0BAH: y := 9BH
+			| 0BBH: y := 8BH
+			| 0BCH..0BEH: y := x - 05H
+			| 0BFH: y := 0ABH
+			| 0C0H..0C1H: y := x - 5CH
+			| 0C2H: y := 62H
+			| 0C3H: y := 66H
+			| 0C4H: y := 63H
+			| 0C5H: y := 67H
+			| 0C6H: y := 9EH
+			| 0C7H: y := 68H
+			| 0C8H: y := 74H
+			| 0C9H..0CBH: y := x - 58H
+			| 0CCH: y := 78H
+			| 0CDH..0CFH: y := x - 58H
+			| 0D0H: y := 0ACH
+			| 0D1H: y := 69H
+			| 0D2H..0D3H: y := x + 1BH
+			| 0D4H: y := 0EBH
+			| 0D5H: y := 0EFH
+			| 0D6H: y := 0ECH
+			| 0D7H: y := 0BFH
+			| 0D8H: y := 80H
+			| 0D9H..0DAH: y := x + 24H
+			| 0DBH..0DCH: y := x + 20H
+			| 0DDH..0DEH: y := x - 30H
+			| 0DFH: y := 59H
+			| 0E0H..0E1H: y := x - 9CH
+			| 0E2H: y := 42H
+			| 0E3H: y := 46H
+			| 0E4H: y := 43H
+			| 0E5H: y := 47H
+			| 0E6H: y := 9CH
+			| 0E7H: y := 48H
+			| 0E8H: y := 54H
+			| 0E9H..0EBH: y := x - 98H
+			| 0ECH: y := 58H
+			| 0EDH..0EFH: y := x - 98H
+			| 0F0H: y := 8CH
+			| 0F1H: y := 49H
+			| 0F2H..0F3H: y := x - 25H
+			| 0F4H: y := 0CBH
+			| 0F5H: y := 0CFH
+			| 0F6H: y := 0CCH
+			| 0F7H: y := 0E1H
+			| 0F8H: y := 70H
+			| 0F9H..0FAH: y := x - 1CH
+			| 0FBH..0FCH: y := x - 20H
+			| 0FDH..0FEH: y := x - 70H
+			| 0FFH: y := 0DFH
+			| 20ACH: y := 9FH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..03H: y := x
+			| 04H: y := 9CH
+			| 05H: y := 09H
+			| 06H: y := 86H
+			| 07H: y := 7FH
+			| 08H: y := 97H
+			| 09H..0AH: y := x + 84H
+			| 0BH..13H: y := x
+			| 14H: y := 9DH
+			| 15H: y := 85H
+			| 16H: y := 08H
+			| 17H: y := 87H
+			| 18H..19H: y := x
+			| 1AH: y := 92H
+			| 1BH: y := 8FH
+			| 1CH..1FH: y := x
+			| 20H..24H: y := x + 60H
+			| 25H: y := 0AH
+			| 26H: y := 17H
+			| 27H: y := 1BH
+			| 28H..2CH: y := x + 60H
+			| 2DH..2FH: y := x - 28H
+			| 30H..31H: y := x + 60H
+			| 32H: y := 16H
+			| 33H..36H: y := x + 60H
+			| 37H: y := 04H
+			| 38H..3BH: y := x + 60H
+			| 3CH..3DH: y := x - 28H
+			| 3EH: y := 9EH
+			| 3FH: y := 1AH
+			| 40H: y := 20H
+			| 41H: y := 0A0H
+			| 42H: y := 0E2H
+			| 43H: y := 0E4H
+			| 44H..45H: y := x + 9CH
+			| 46H: y := 0E3H
+			| 47H: y := 0E5H
+			| 48H: y := 0E7H
+			| 49H: y := 0F1H
+			| 4AH: y := 0A2H
+			| 4BH: y := 2EH
+			| 4CH: y := 3CH
+			| 4DH: y := 28H
+			| 4EH: y := 2BH
+			| 4FH: y := 7CH
+			| 50H: y := 26H
+			| 51H..53H: y := x + 98H
+			| 54H: y := 0E8H
+			| 55H..57H: y := x + 98H
+			| 58H: y := 0ECH
+			| 59H: y := 0DFH
+			| 5AH: y := 21H
+			| 5BH: y := 24H
+			| 5CH: y := 2AH
+			| 5DH: y := 29H
+			| 5EH: y := 3BH
+			| 5FH: y := 0ACH
+			| 60H: y := 2DH
+			| 61H: y := 2FH
+			| 62H: y := 0C2H
+			| 63H: y := 0C4H
+			| 64H..65H: y := x + 5CH
+			| 66H: y := 0C3H
+			| 67H: y := 0C5H
+			| 68H: y := 0C7H
+			| 69H: y := 0D1H
+			| 6AH: y := 0A6H
+			| 6BH: y := 2CH
+			| 6CH: y := 25H
+			| 6DH: y := 5FH
+			| 6EH..6FH: y := x - 30H
+			| 70H: y := 0F8H
+			| 71H..73H: y := x + 58H
+			| 74H: y := 0C8H
+			| 75H..77H: y := x + 58H
+			| 78H: y := 0CCH
+			| 79H: y := 60H
+			| 7AH: y := 3AH
+			| 7BH: y := 23H
+			| 7CH: y := 40H
+			| 7DH: y := 27H
+			| 7EH: y := 3DH
+			| 7FH: y := 22H
+			| 80H: y := 0D8H
+			| 81H..89H: y := x - 20H
+			| 8AH: y := 0ABH
+			| 8BH: y := 0BBH
+			| 8CH: y := 0F0H
+			| 8DH..8EH: y := x + 70H
+			| 8FH: y := 0B1H
+			| 90H: y := 0B0H
+			| 91H..99H: y := x - 27H
+			| 9AH: y := 0AAH
+			| 9BH: y := 0BAH
+			| 9CH: y := 0E6H
+			| 9DH: y := 0B8H
+			| 9EH: y := 0C6H
+			| 9FH: y := 20ACH
+			| 0A0H: y := 0B5H
+			| 0A1H: y := 7EH
+			| 0A2H..0A9H: y := x - 2FH
+			| 0AAH: y := 0A1H
+			| 0ABH: y := 0BFH
+			| 0ACH: y := 0D0H
+			| 0ADH..0AEH: y := x + 30H
+			| 0AFH: y := 0AEH
+			| 0B0H: y := 5EH
+			| 0B1H: y := 0A3H
+			| 0B2H: y := 0A5H
+			| 0B3H: y := 0B7H
+			| 0B4H: y := 0A9H
+			| 0B5H: y := 0A7H
+			| 0B6H: y := 0B6H
+			| 0B7H..0B9H: y := x + 05H
+			| 0BAH: y := 5BH
+			| 0BBH: y := 5DH
+			| 0BCH: y := 0AFH
+			| 0BDH: y := 0A8H
+			| 0BEH: y := 0B4H
+			| 0BFH: y := 0D7H
+			| 0C0H: y := 7BH
+			| 0C1H..0C9H: y := x - 80H
+			| 0CAH: y := 0ADH
+			| 0CBH: y := 0F4H
+			| 0CCH: y := 0F6H
+			| 0CDH..0CEH: y := x + 25H
+			| 0CFH: y := 0F5H
+			| 0D0H: y := 7DH
+			| 0D1H..0D9H: y := x - 87H
+			| 0DAH: y := 0B9H
+			| 0DBH..0DCH: y := x + 20H
+			| 0DDH..0DEH: y := x + 1CH
+			| 0DFH: y := 0FFH
+			| 0E0H: y := 5CH
+			| 0E1H: y := 0F7H
+			| 0E2H..0E9H: y := x - 8FH
+			| 0EAH: y := 0B2H
+			| 0EBH: y := 0D4H
+			| 0ECH: y := 0D6H
+			| 0EDH..0EEH: y := x - 1BH
+			| 0EFH: y := 0D5H
+			| 0F0H..0F9H: y := x - 0C0H
+			| 0FAH: y := 0B3H
+			| 0FBH..0FCH: y := x - 20H
+			| 0FDH..0FEH: y := x - 24H
+			| 0FFH: y := 9FH
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp1140.

+ 273 - 0
BlackBox/Enc/Mod/StdMap_cp1250.txt

@@ -0,0 +1,273 @@
+MODULE EncStdMap_cp1250;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0A0H
+			| 0A4H: y := 0A4H
+			| 0A6H..0A9H: y := x
+			| 0ABH..0AEH: y := x
+			| 0B0H..0B1H: y := x
+			| 0B4H..0B8H: y := x
+			| 0BBH: y := 0BBH
+			| 0C1H..0C2H: y := x
+			| 0C4H: y := 0C4H
+			| 0C7H: y := 0C7H
+			| 0C9H: y := 0C9H
+			| 0CBH: y := 0CBH
+			| 0CDH..0CEH: y := x
+			| 0D3H..0D4H: y := x
+			| 0D6H..0D7H: y := x
+			| 0DAH: y := 0DAH
+			| 0DCH..0DDH: y := x
+			| 0DFH: y := 0DFH
+			| 0E1H..0E2H: y := x
+			| 0E4H: y := 0E4H
+			| 0E7H: y := 0E7H
+			| 0E9H: y := 0E9H
+			| 0EBH: y := 0EBH
+			| 0EDH..0EEH: y := x
+			| 0F3H..0F4H: y := x
+			| 0F6H..0F7H: y := x
+			| 0FAH: y := 0FAH
+			| 0FCH..0FDH: y := x
+			| 0102H: y := 0C3H
+			| 0103H: y := 0E3H
+			| 0104H: y := 0A5H
+			| 0105H: y := 0B9H
+			| 0106H: y := 0C6H
+			| 0107H: y := 0E6H
+			| 010CH: y := 0C8H
+			| 010DH: y := 0E8H
+			| 010EH: y := 0CFH
+			| 010FH: y := 0EFH
+			| 0110H: y := 0D0H
+			| 0111H: y := 0F0H
+			| 0118H: y := 0CAH
+			| 0119H: y := 0EAH
+			| 011AH: y := 0CCH
+			| 011BH: y := 0ECH
+			| 0139H: y := 0C5H
+			| 013AH: y := 0E5H
+			| 013DH: y := 0BCH
+			| 013EH: y := 0BEH
+			| 0141H: y := 0A3H
+			| 0142H: y := 0B3H
+			| 0143H: y := 0D1H
+			| 0144H: y := 0F1H
+			| 0147H: y := 0D2H
+			| 0148H: y := 0F2H
+			| 0150H: y := 0D5H
+			| 0151H: y := 0F5H
+			| 0154H: y := 0C0H
+			| 0155H: y := 0E0H
+			| 0158H: y := 0D8H
+			| 0159H: y := 0F8H
+			| 015AH: y := 8CH
+			| 015BH: y := 9CH
+			| 015EH: y := 0AAH
+			| 015FH: y := 0BAH
+			| 0160H: y := 8AH
+			| 0161H: y := 9AH
+			| 0162H: y := 0DEH
+			| 0163H: y := 0FEH
+			| 0164H: y := 8DH
+			| 0165H: y := 9DH
+			| 016EH: y := 0D9H
+			| 016FH: y := 0F9H
+			| 0170H: y := 0DBH
+			| 0171H: y := 0FBH
+			| 0179H: y := 8FH
+			| 017AH: y := 9FH
+			| 017BH: y := 0AFH
+			| 017CH: y := 0BFH
+			| 017DH: y := 8EH
+			| 017EH: y := 9EH
+			| 02C7H: y := 0A1H
+			| 02D8H: y := 0A2H
+			| 02D9H: y := 0FFH
+			| 02DBH: y := 0B2H
+			| 02DDH: y := 0BDH
+			| 2013H..2014H: y := x - 1F7DH
+			| 2018H..2019H: y := x - 1F87H
+			| 201AH: y := 82H
+			| 201CH..201DH: y := x - 1F89H
+			| 201EH: y := 84H
+			| 2020H..2021H: y := x - 1F9AH
+			| 2022H: y := 95H
+			| 2026H: y := 85H
+			| 2030H: y := 89H
+			| 2039H: y := 8BH
+			| 203AH: y := 9BH
+			| 20ACH: y := 80H
+			| 2122H: y := 99H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 20ACH
+			| 82H: y := 201AH
+			| 84H: y := 201EH
+			| 85H: y := 2026H
+			| 86H..87H: y := x + 1F9AH
+			| 89H: y := 2030H
+			| 8AH: y := 0160H
+			| 8BH: y := 2039H
+			| 8CH: y := 015AH
+			| 8DH: y := 0164H
+			| 8EH: y := 017DH
+			| 8FH: y := 0179H
+			| 91H..92H: y := x + 1F87H
+			| 93H..94H: y := x + 1F89H
+			| 95H: y := 2022H
+			| 96H..97H: y := x + 1F7DH
+			| 99H: y := 2122H
+			| 9AH: y := 0161H
+			| 9BH: y := 203AH
+			| 9CH: y := 015BH
+			| 9DH: y := 0165H
+			| 9EH: y := 017EH
+			| 9FH: y := 017AH
+			| 0A0H: y := 0A0H
+			| 0A1H: y := 02C7H
+			| 0A2H: y := 02D8H
+			| 0A3H: y := 0141H
+			| 0A4H: y := 0A4H
+			| 0A5H: y := 0104H
+			| 0A6H..0A9H: y := x
+			| 0AAH: y := 015EH
+			| 0ABH..0AEH: y := x
+			| 0AFH: y := 017BH
+			| 0B0H..0B1H: y := x
+			| 0B2H: y := 02DBH
+			| 0B3H: y := 0142H
+			| 0B4H..0B8H: y := x
+			| 0B9H: y := 0105H
+			| 0BAH: y := 015FH
+			| 0BBH: y := 0BBH
+			| 0BCH: y := 013DH
+			| 0BDH: y := 02DDH
+			| 0BEH: y := 013EH
+			| 0BFH: y := 017CH
+			| 0C0H: y := 0154H
+			| 0C1H..0C2H: y := x
+			| 0C3H: y := 0102H
+			| 0C4H: y := 0C4H
+			| 0C5H: y := 0139H
+			| 0C6H: y := 0106H
+			| 0C7H: y := 0C7H
+			| 0C8H: y := 010CH
+			| 0C9H: y := 0C9H
+			| 0CAH: y := 0118H
+			| 0CBH: y := 0CBH
+			| 0CCH: y := 011AH
+			| 0CDH..0CEH: y := x
+			| 0CFH: y := 010EH
+			| 0D0H: y := 0110H
+			| 0D1H: y := 0143H
+			| 0D2H: y := 0147H
+			| 0D3H..0D4H: y := x
+			| 0D5H: y := 0150H
+			| 0D6H..0D7H: y := x
+			| 0D8H: y := 0158H
+			| 0D9H: y := 016EH
+			| 0DAH: y := 0DAH
+			| 0DBH: y := 0170H
+			| 0DCH..0DDH: y := x
+			| 0DEH: y := 0162H
+			| 0DFH: y := 0DFH
+			| 0E0H: y := 0155H
+			| 0E1H..0E2H: y := x
+			| 0E3H: y := 0103H
+			| 0E4H: y := 0E4H
+			| 0E5H: y := 013AH
+			| 0E6H: y := 0107H
+			| 0E7H: y := 0E7H
+			| 0E8H: y := 010DH
+			| 0E9H: y := 0E9H
+			| 0EAH: y := 0119H
+			| 0EBH: y := 0EBH
+			| 0ECH: y := 011BH
+			| 0EDH..0EEH: y := x
+			| 0EFH: y := 010FH
+			| 0F0H: y := 0111H
+			| 0F1H: y := 0144H
+			| 0F2H: y := 0148H
+			| 0F3H..0F4H: y := x
+			| 0F5H: y := 0151H
+			| 0F6H..0F7H: y := x
+			| 0F8H: y := 0159H
+			| 0F9H: y := 016FH
+			| 0FAH: y := 0FAH
+			| 0FBH: y := 0171H
+			| 0FCH..0FDH: y := x
+			| 0FEH: y := 0163H
+			| 0FFH: y := 02D9H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp1250.

+ 181 - 0
BlackBox/Enc/Mod/StdMap_cp1251.txt

@@ -0,0 +1,181 @@
+MODULE EncStdMap_cp1251;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0A0H
+			| 0A4H: y := 0A4H
+			| 0A6H..0A7H: y := x
+			| 0A9H: y := 0A9H
+			| 0ABH..0AEH: y := x
+			| 0B0H..0B1H: y := x
+			| 0B5H..0B7H: y := x
+			| 0BBH: y := 0BBH
+			| 0401H: y := 0A8H
+			| 0402H..0403H: y := x - 0382H
+			| 0404H: y := 0AAH
+			| 0405H: y := 0BDH
+			| 0406H: y := 0B2H
+			| 0407H: y := 0AFH
+			| 0408H: y := 0A3H
+			| 0409H: y := 8AH
+			| 040AH: y := 8CH
+			| 040BH: y := 8EH
+			| 040CH: y := 8DH
+			| 040EH: y := 0A1H
+			| 040FH: y := 8FH
+			| 0410H..044FH: y := x - 0350H
+			| 0451H: y := 0B8H
+			| 0452H: y := 90H
+			| 0453H: y := 83H
+			| 0454H: y := 0BAH
+			| 0455H: y := 0BEH
+			| 0456H: y := 0B3H
+			| 0457H: y := 0BFH
+			| 0458H: y := 0BCH
+			| 0459H: y := 9AH
+			| 045AH: y := 9CH
+			| 045BH: y := 9EH
+			| 045CH: y := 9DH
+			| 045EH: y := 0A2H
+			| 045FH: y := 9FH
+			| 0490H: y := 0A5H
+			| 0491H: y := 0B4H
+			| 2013H..2014H: y := x - 1F7DH
+			| 2018H..2019H: y := x - 1F87H
+			| 201AH: y := 82H
+			| 201CH..201DH: y := x - 1F89H
+			| 201EH: y := 84H
+			| 2020H..2021H: y := x - 1F9AH
+			| 2022H: y := 95H
+			| 2026H: y := 85H
+			| 2030H: y := 89H
+			| 2039H: y := 8BH
+			| 203AH: y := 9BH
+			| 20ACH: y := 88H
+			| 2116H: y := 0B9H
+			| 2122H: y := 99H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H..81H: y := x + 0382H
+			| 82H: y := 201AH
+			| 83H: y := 0453H
+			| 84H: y := 201EH
+			| 85H: y := 2026H
+			| 86H..87H: y := x + 1F9AH
+			| 88H: y := 20ACH
+			| 89H: y := 2030H
+			| 8AH: y := 0409H
+			| 8BH: y := 2039H
+			| 8CH: y := 040AH
+			| 8DH: y := 040CH
+			| 8EH: y := 040BH
+			| 8FH: y := 040FH
+			| 90H: y := 0452H
+			| 91H..92H: y := x + 1F87H
+			| 93H..94H: y := x + 1F89H
+			| 95H: y := 2022H
+			| 96H..97H: y := x + 1F7DH
+			| 99H: y := 2122H
+			| 9AH: y := 0459H
+			| 9BH: y := 203AH
+			| 9CH: y := 045AH
+			| 9DH: y := 045CH
+			| 9EH: y := 045BH
+			| 9FH: y := 045FH
+			| 0A0H: y := 0A0H
+			| 0A1H: y := 040EH
+			| 0A2H: y := 045EH
+			| 0A3H: y := 0408H
+			| 0A4H: y := 0A4H
+			| 0A5H: y := 0490H
+			| 0A6H..0A7H: y := x
+			| 0A8H: y := 0401H
+			| 0A9H: y := 0A9H
+			| 0AAH: y := 0404H
+			| 0ABH..0AEH: y := x
+			| 0AFH: y := 0407H
+			| 0B0H..0B1H: y := x
+			| 0B2H: y := 0406H
+			| 0B3H: y := 0456H
+			| 0B4H: y := 0491H
+			| 0B5H..0B7H: y := x
+			| 0B8H: y := 0451H
+			| 0B9H: y := 2116H
+			| 0BAH: y := 0454H
+			| 0BBH: y := 0BBH
+			| 0BCH: y := 0458H
+			| 0BDH: y := 0405H
+			| 0BEH: y := 0455H
+			| 0BFH: y := 0457H
+			| 0C0H..0FFH: y := x + 0350H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp1251.

+ 125 - 0
BlackBox/Enc/Mod/StdMap_cp1252.txt

@@ -0,0 +1,125 @@
+MODULE EncStdMap_cp1252;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H..0FFH: y := x
+			| 0152H: y := 8CH
+			| 0153H: y := 9CH
+			| 0160H: y := 8AH
+			| 0161H: y := 9AH
+			| 0178H: y := 9FH
+			| 017DH: y := 8EH
+			| 017EH: y := 9EH
+			| 0192H: y := 83H
+			| 02C6H: y := 88H
+			| 02DCH: y := 98H
+			| 2013H..2014H: y := x - 1F7DH
+			| 2018H..2019H: y := x - 1F87H
+			| 201AH: y := 82H
+			| 201CH..201DH: y := x - 1F89H
+			| 201EH: y := 84H
+			| 2020H..2021H: y := x - 1F9AH
+			| 2022H: y := 95H
+			| 2026H: y := 85H
+			| 2030H: y := 89H
+			| 2039H: y := 8BH
+			| 203AH: y := 9BH
+			| 20ACH: y := 80H
+			| 2122H: y := 99H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 20ACH
+			| 82H: y := 201AH
+			| 83H: y := 0192H
+			| 84H: y := 201EH
+			| 85H: y := 2026H
+			| 86H..87H: y := x + 1F9AH
+			| 88H: y := 02C6H
+			| 89H: y := 2030H
+			| 8AH: y := 0160H
+			| 8BH: y := 2039H
+			| 8CH: y := 0152H
+			| 8EH: y := 017DH
+			| 91H..92H: y := x + 1F87H
+			| 93H..94H: y := x + 1F89H
+			| 95H: y := 2022H
+			| 96H..97H: y := x + 1F7DH
+			| 98H: y := 02DCH
+			| 99H: y := 2122H
+			| 9AH: y := 0161H
+			| 9BH: y := 203AH
+			| 9CH: y := 0153H
+			| 9EH: y := 017EH
+			| 9FH: y := 0178H
+			| 0A0H..0FFH: y := x
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp1252.

+ 133 - 0
BlackBox/Enc/Mod/StdMap_cp1253.txt

@@ -0,0 +1,133 @@
+MODULE EncStdMap_cp1253;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1253.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0A0H
+			| 0A3H..0A9H: y := x
+			| 0ABH..0AEH: y := x
+			| 0B0H..0B3H: y := x
+			| 0B5H..0B7H: y := x
+			| 0BBH: y := 0BBH
+			| 0BDH: y := 0BDH
+			| 0192H: y := 83H
+			| 0384H: y := 0B4H
+			| 0385H..0386H: y := x - 02E4H
+			| 0388H..038AH: y := x - 02D0H
+			| 038CH: y := 0BCH
+			| 038EH..03A1H: y := x - 02D0H
+			| 03A3H..03CEH: y := x - 02D0H
+			| 2013H..2014H: y := x - 1F7DH
+			| 2015H: y := 0AFH
+			| 2018H..2019H: y := x - 1F87H
+			| 201AH: y := 82H
+			| 201CH..201DH: y := x - 1F89H
+			| 201EH: y := 84H
+			| 2020H..2021H: y := x - 1F9AH
+			| 2022H: y := 95H
+			| 2026H: y := 85H
+			| 2030H: y := 89H
+			| 2039H: y := 8BH
+			| 203AH: y := 9BH
+			| 20ACH: y := 80H
+			| 2122H: y := 99H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 20ACH
+			| 82H: y := 201AH
+			| 83H: y := 0192H
+			| 84H: y := 201EH
+			| 85H: y := 2026H
+			| 86H..87H: y := x + 1F9AH
+			| 89H: y := 2030H
+			| 8BH: y := 2039H
+			| 91H..92H: y := x + 1F87H
+			| 93H..94H: y := x + 1F89H
+			| 95H: y := 2022H
+			| 96H..97H: y := x + 1F7DH
+			| 99H: y := 2122H
+			| 9BH: y := 203AH
+			| 0A0H: y := 0A0H
+			| 0A1H..0A2H: y := x + 02E4H
+			| 0A3H..0A9H: y := x
+			| 0ABH..0AEH: y := x
+			| 0AFH: y := 2015H
+			| 0B0H..0B3H: y := x
+			| 0B4H: y := 0384H
+			| 0B5H..0B7H: y := x
+			| 0B8H..0BAH: y := x + 02D0H
+			| 0BBH: y := 0BBH
+			| 0BCH: y := 038CH
+			| 0BDH: y := 0BDH
+			| 0BEH..0D1H: y := x + 02D0H
+			| 0D3H..0FEH: y := x + 02D0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp1253.

+ 141 - 0
BlackBox/Enc/Mod/StdMap_cp1254.txt

@@ -0,0 +1,141 @@
+MODULE EncStdMap_cp1254;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1254.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H..0CFH: y := x
+			| 0D1H..0DCH: y := x
+			| 0DFH..0EFH: y := x
+			| 0F1H..0FCH: y := x
+			| 0FFH: y := 0FFH
+			| 011EH: y := 0D0H
+			| 011FH: y := 0F0H
+			| 0130H: y := 0DDH
+			| 0131H: y := 0FDH
+			| 0152H: y := 8CH
+			| 0153H: y := 9CH
+			| 015EH: y := 0DEH
+			| 015FH: y := 0FEH
+			| 0160H: y := 8AH
+			| 0161H: y := 9AH
+			| 0178H: y := 9FH
+			| 0192H: y := 83H
+			| 02C6H: y := 88H
+			| 02DCH: y := 98H
+			| 2013H..2014H: y := x - 1F7DH
+			| 2018H..2019H: y := x - 1F87H
+			| 201AH: y := 82H
+			| 201CH..201DH: y := x - 1F89H
+			| 201EH: y := 84H
+			| 2020H..2021H: y := x - 1F9AH
+			| 2022H: y := 95H
+			| 2026H: y := 85H
+			| 2030H: y := 89H
+			| 2039H: y := 8BH
+			| 203AH: y := 9BH
+			| 20ACH: y := 80H
+			| 2122H: y := 99H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 20ACH
+			| 82H: y := 201AH
+			| 83H: y := 0192H
+			| 84H: y := 201EH
+			| 85H: y := 2026H
+			| 86H..87H: y := x + 1F9AH
+			| 88H: y := 02C6H
+			| 89H: y := 2030H
+			| 8AH: y := 0160H
+			| 8BH: y := 2039H
+			| 8CH: y := 0152H
+			| 91H..92H: y := x + 1F87H
+			| 93H..94H: y := x + 1F89H
+			| 95H: y := 2022H
+			| 96H..97H: y := x + 1F7DH
+			| 98H: y := 02DCH
+			| 99H: y := 2122H
+			| 9AH: y := 0161H
+			| 9BH: y := 203AH
+			| 9CH: y := 0153H
+			| 9FH: y := 0178H
+			| 0A0H..0CFH: y := x
+			| 0D0H: y := 011EH
+			| 0D1H..0DCH: y := x
+			| 0DDH: y := 0130H
+			| 0DEH: y := 015EH
+			| 0DFH..0EFH: y := x
+			| 0F0H: y := 011FH
+			| 0F1H..0FCH: y := x
+			| 0FDH: y := 0131H
+			| 0FEH: y := 015FH
+			| 0FFH: y := 0FFH
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp1254.

+ 133 - 0
BlackBox/Enc/Mod/StdMap_cp1255.txt

@@ -0,0 +1,133 @@
+MODULE EncStdMap_cp1255;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1255.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H..0A3H: y := x
+			| 0A5H..0A9H: y := x
+			| 0ABH..0B9H: y := x
+			| 0BBH..0BFH: y := x
+			| 0D7H: y := 0AAH
+			| 0F7H: y := 0BAH
+			| 0192H: y := 83H
+			| 02C6H: y := 88H
+			| 02DCH: y := 98H
+			| 05B0H..05B9H: y := x - 04F0H
+			| 05BBH..05C3H: y := x - 04F0H
+			| 05D0H..05EAH: y := x - 04F0H
+			| 05F0H..05F4H: y := x - 051CH
+			| 200EH..200FH: y := x - 1F11H
+			| 2013H..2014H: y := x - 1F7DH
+			| 2018H..2019H: y := x - 1F87H
+			| 201AH: y := 82H
+			| 201CH..201DH: y := x - 1F89H
+			| 201EH: y := 84H
+			| 2020H..2021H: y := x - 1F9AH
+			| 2022H: y := 95H
+			| 2026H: y := 85H
+			| 2030H: y := 89H
+			| 2039H: y := 8BH
+			| 203AH: y := 9BH
+			| 20AAH: y := 0A4H
+			| 20ACH: y := 80H
+			| 2122H: y := 99H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 20ACH
+			| 82H: y := 201AH
+			| 83H: y := 0192H
+			| 84H: y := 201EH
+			| 85H: y := 2026H
+			| 86H..87H: y := x + 1F9AH
+			| 88H: y := 02C6H
+			| 89H: y := 2030H
+			| 8BH: y := 2039H
+			| 91H..92H: y := x + 1F87H
+			| 93H..94H: y := x + 1F89H
+			| 95H: y := 2022H
+			| 96H..97H: y := x + 1F7DH
+			| 98H: y := 02DCH
+			| 99H: y := 2122H
+			| 9BH: y := 203AH
+			| 0A0H..0A3H: y := x
+			| 0A4H: y := 20AAH
+			| 0A5H..0A9H: y := x
+			| 0AAH: y := 0D7H
+			| 0ABH..0B9H: y := x
+			| 0BAH: y := 0F7H
+			| 0BBH..0BFH: y := x
+			| 0C0H..0C9H: y := x + 04F0H
+			| 0CBH..0D3H: y := x + 04F0H
+			| 0D4H..0D8H: y := x + 051CH
+			| 0E0H..0FAH: y := x + 04F0H
+			| 0FDH..0FEH: y := x + 1F11H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp1255.

+ 191 - 0
BlackBox/Enc/Mod/StdMap_cp1256.txt

@@ -0,0 +1,191 @@
+MODULE EncStdMap_cp1256;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1256.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0A0H
+			| 0A2H..0A9H: y := x
+			| 0ABH..0B9H: y := x
+			| 0BBH..0BEH: y := x
+			| 0D7H: y := 0D7H
+			| 0E0H: y := 0E0H
+			| 0E2H: y := 0E2H
+			| 0E7H..0EBH: y := x
+			| 0EEH..0EFH: y := x
+			| 0F4H: y := 0F4H
+			| 0F7H: y := 0F7H
+			| 0F9H: y := 0F9H
+			| 0FBH..0FCH: y := x
+			| 0152H: y := 8CH
+			| 0153H: y := 9CH
+			| 0192H: y := 83H
+			| 02C6H: y := 88H
+			| 060CH: y := 0A1H
+			| 061BH: y := 0BAH
+			| 061FH: y := 0BFH
+			| 0621H..0636H: y := x - 0560H
+			| 0637H..063AH: y := x - 055FH
+			| 0640H..0643H: y := x - 0564H
+			| 0644H: y := 0E1H
+			| 0645H..0648H: y := x - 0562H
+			| 0649H..064AH: y := x - 055DH
+			| 064BH..064EH: y := x - 055BH
+			| 064FH..0650H: y := x - 055AH
+			| 0651H: y := 0F8H
+			| 0652H: y := 0FAH
+			| 0679H: y := 8AH
+			| 067EH: y := 81H
+			| 0686H: y := 8DH
+			| 0688H: y := 8FH
+			| 0691H: y := 9AH
+			| 0698H: y := 8EH
+			| 06A9H: y := 98H
+			| 06AFH: y := 90H
+			| 06BAH: y := 9FH
+			| 06BEH: y := 0AAH
+			| 06C1H: y := 0C0H
+			| 06D2H: y := 0FFH
+			| 200CH..200DH: y := x - 1F6FH
+			| 200EH..200FH: y := x - 1F11H
+			| 2013H..2014H: y := x - 1F7DH
+			| 2018H..2019H: y := x - 1F87H
+			| 201AH: y := 82H
+			| 201CH..201DH: y := x - 1F89H
+			| 201EH: y := 84H
+			| 2020H..2021H: y := x - 1F9AH
+			| 2022H: y := 95H
+			| 2026H: y := 85H
+			| 2030H: y := 89H
+			| 2039H: y := 8BH
+			| 203AH: y := 9BH
+			| 20ACH: y := 80H
+			| 2122H: y := 99H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 20ACH
+			| 81H: y := 067EH
+			| 82H: y := 201AH
+			| 83H: y := 0192H
+			| 84H: y := 201EH
+			| 85H: y := 2026H
+			| 86H..87H: y := x + 1F9AH
+			| 88H: y := 02C6H
+			| 89H: y := 2030H
+			| 8AH: y := 0679H
+			| 8BH: y := 2039H
+			| 8CH: y := 0152H
+			| 8DH: y := 0686H
+			| 8EH: y := 0698H
+			| 8FH: y := 0688H
+			| 90H: y := 06AFH
+			| 91H..92H: y := x + 1F87H
+			| 93H..94H: y := x + 1F89H
+			| 95H: y := 2022H
+			| 96H..97H: y := x + 1F7DH
+			| 98H: y := 06A9H
+			| 99H: y := 2122H
+			| 9AH: y := 0691H
+			| 9BH: y := 203AH
+			| 9CH: y := 0153H
+			| 9DH..9EH: y := x + 1F6FH
+			| 9FH: y := 06BAH
+			| 0A0H: y := 0A0H
+			| 0A1H: y := 060CH
+			| 0A2H..0A9H: y := x
+			| 0AAH: y := 06BEH
+			| 0ABH..0B9H: y := x
+			| 0BAH: y := 061BH
+			| 0BBH..0BEH: y := x
+			| 0BFH: y := 061FH
+			| 0C0H: y := 06C1H
+			| 0C1H..0D6H: y := x + 0560H
+			| 0D7H: y := 0D7H
+			| 0D8H..0DBH: y := x + 055FH
+			| 0DCH..0DFH: y := x + 0564H
+			| 0E0H: y := 0E0H
+			| 0E1H: y := 0644H
+			| 0E2H: y := 0E2H
+			| 0E3H..0E6H: y := x + 0562H
+			| 0E7H..0EBH: y := x
+			| 0ECH..0EDH: y := x + 055DH
+			| 0EEH..0EFH: y := x
+			| 0F0H..0F3H: y := x + 055BH
+			| 0F4H: y := 0F4H
+			| 0F5H..0F6H: y := x + 055AH
+			| 0F7H: y := 0F7H
+			| 0F8H: y := 0651H
+			| 0F9H: y := 0F9H
+			| 0FAH: y := 0652H
+			| 0FBH..0FCH: y := x
+			| 0FDH..0FEH: y := x + 1F11H
+			| 0FFH: y := 06D2H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp1256.

+ 257 - 0
BlackBox/Enc/Mod/StdMap_cp1257.txt

@@ -0,0 +1,257 @@
+MODULE EncStdMap_cp1257;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1257.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0A0H
+			| 0A2H..0A4H: y := x
+			| 0A6H..0A7H: y := x
+			| 0A8H: y := 8DH
+			| 0A9H: y := 0A9H
+			| 0ABH..0AEH: y := x
+			| 0AFH: y := 9DH
+			| 0B0H..0B7H: y := x
+			| 0B8H: y := 8FH
+			| 0B9H: y := 0B9H
+			| 0BBH..0BEH: y := x
+			| 0C4H..0C5H: y := x
+			| 0C6H: y := 0AFH
+			| 0C9H: y := 0C9H
+			| 0D3H: y := 0D3H
+			| 0D5H..0D7H: y := x
+			| 0D8H: y := 0A8H
+			| 0DCH: y := 0DCH
+			| 0DFH: y := 0DFH
+			| 0E4H..0E5H: y := x
+			| 0E6H: y := 0BFH
+			| 0E9H: y := 0E9H
+			| 0F3H: y := 0F3H
+			| 0F5H..0F7H: y := x
+			| 0F8H: y := 0B8H
+			| 0FCH: y := 0FCH
+			| 0100H: y := 0C2H
+			| 0101H: y := 0E2H
+			| 0104H: y := 0C0H
+			| 0105H: y := 0E0H
+			| 0106H: y := 0C3H
+			| 0107H: y := 0E3H
+			| 010CH: y := 0C8H
+			| 010DH: y := 0E8H
+			| 0112H: y := 0C7H
+			| 0113H: y := 0E7H
+			| 0116H: y := 0CBH
+			| 0117H: y := 0EBH
+			| 0118H: y := 0C6H
+			| 0119H: y := 0E6H
+			| 0122H: y := 0CCH
+			| 0123H: y := 0ECH
+			| 012AH: y := 0CEH
+			| 012BH: y := 0EEH
+			| 012EH: y := 0C1H
+			| 012FH: y := 0E1H
+			| 0136H: y := 0CDH
+			| 0137H: y := 0EDH
+			| 013BH: y := 0CFH
+			| 013CH: y := 0EFH
+			| 0141H: y := 0D9H
+			| 0142H: y := 0F9H
+			| 0143H: y := 0D1H
+			| 0144H: y := 0F1H
+			| 0145H: y := 0D2H
+			| 0146H: y := 0F2H
+			| 014CH: y := 0D4H
+			| 014DH: y := 0F4H
+			| 0156H: y := 0AAH
+			| 0157H: y := 0BAH
+			| 015AH: y := 0DAH
+			| 015BH: y := 0FAH
+			| 0160H: y := 0D0H
+			| 0161H: y := 0F0H
+			| 016AH: y := 0DBH
+			| 016BH: y := 0FBH
+			| 0172H: y := 0D8H
+			| 0173H: y := 0F8H
+			| 0179H: y := 0CAH
+			| 017AH: y := 0EAH
+			| 017BH: y := 0DDH
+			| 017CH: y := 0FDH
+			| 017DH: y := 0DEH
+			| 017EH: y := 0FEH
+			| 02C7H: y := 8EH
+			| 02D9H: y := 0FFH
+			| 02DBH: y := 9EH
+			| 2013H..2014H: y := x - 1F7DH
+			| 2018H..2019H: y := x - 1F87H
+			| 201AH: y := 82H
+			| 201CH..201DH: y := x - 1F89H
+			| 201EH: y := 84H
+			| 2020H..2021H: y := x - 1F9AH
+			| 2022H: y := 95H
+			| 2026H: y := 85H
+			| 2030H: y := 89H
+			| 2039H: y := 8BH
+			| 203AH: y := 9BH
+			| 20ACH: y := 80H
+			| 2122H: y := 99H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 20ACH
+			| 82H: y := 201AH
+			| 84H: y := 201EH
+			| 85H: y := 2026H
+			| 86H..87H: y := x + 1F9AH
+			| 89H: y := 2030H
+			| 8BH: y := 2039H
+			| 8DH: y := 0A8H
+			| 8EH: y := 02C7H
+			| 8FH: y := 0B8H
+			| 91H..92H: y := x + 1F87H
+			| 93H..94H: y := x + 1F89H
+			| 95H: y := 2022H
+			| 96H..97H: y := x + 1F7DH
+			| 99H: y := 2122H
+			| 9BH: y := 203AH
+			| 9DH: y := 0AFH
+			| 9EH: y := 02DBH
+			| 0A0H: y := 0A0H
+			| 0A2H..0A4H: y := x
+			| 0A6H..0A7H: y := x
+			| 0A8H: y := 0D8H
+			| 0A9H: y := 0A9H
+			| 0AAH: y := 0156H
+			| 0ABH..0AEH: y := x
+			| 0AFH: y := 0C6H
+			| 0B0H..0B7H: y := x
+			| 0B8H: y := 0F8H
+			| 0B9H: y := 0B9H
+			| 0BAH: y := 0157H
+			| 0BBH..0BEH: y := x
+			| 0BFH: y := 0E6H
+			| 0C0H: y := 0104H
+			| 0C1H: y := 012EH
+			| 0C2H: y := 0100H
+			| 0C3H: y := 0106H
+			| 0C4H..0C5H: y := x
+			| 0C6H: y := 0118H
+			| 0C7H: y := 0112H
+			| 0C8H: y := 010CH
+			| 0C9H: y := 0C9H
+			| 0CAH: y := 0179H
+			| 0CBH: y := 0116H
+			| 0CCH: y := 0122H
+			| 0CDH: y := 0136H
+			| 0CEH: y := 012AH
+			| 0CFH: y := 013BH
+			| 0D0H: y := 0160H
+			| 0D1H: y := 0143H
+			| 0D2H: y := 0145H
+			| 0D3H: y := 0D3H
+			| 0D4H: y := 014CH
+			| 0D5H..0D7H: y := x
+			| 0D8H: y := 0172H
+			| 0D9H: y := 0141H
+			| 0DAH: y := 015AH
+			| 0DBH: y := 016AH
+			| 0DCH: y := 0DCH
+			| 0DDH: y := 017BH
+			| 0DEH: y := 017DH
+			| 0DFH: y := 0DFH
+			| 0E0H: y := 0105H
+			| 0E1H: y := 012FH
+			| 0E2H: y := 0101H
+			| 0E3H: y := 0107H
+			| 0E4H..0E5H: y := x
+			| 0E6H: y := 0119H
+			| 0E7H: y := 0113H
+			| 0E8H: y := 010DH
+			| 0E9H: y := 0E9H
+			| 0EAH: y := 017AH
+			| 0EBH: y := 0117H
+			| 0ECH: y := 0123H
+			| 0EDH: y := 0137H
+			| 0EEH: y := 012BH
+			| 0EFH: y := 013CH
+			| 0F0H: y := 0161H
+			| 0F1H: y := 0144H
+			| 0F2H: y := 0146H
+			| 0F3H: y := 0F3H
+			| 0F4H: y := 014DH
+			| 0F5H..0F7H: y := x
+			| 0F8H: y := 0173H
+			| 0F9H: y := 0142H
+			| 0FAH: y := 015BH
+			| 0FBH: y := 016BH
+			| 0FCH: y := 0FCH
+			| 0FDH: y := 017CH
+			| 0FEH: y := 017EH
+			| 0FFH: y := 02D9H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp1257.

+ 169 - 0
BlackBox/Enc/Mod/StdMap_cp1258.txt

@@ -0,0 +1,169 @@
+MODULE EncStdMap_cp1258;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1258.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H..0C2H: y := x
+			| 0C4H..0CBH: y := x
+			| 0CDH..0CFH: y := x
+			| 0D1H: y := 0D1H
+			| 0D3H..0D4H: y := x
+			| 0D6H..0DCH: y := x
+			| 0DFH..0E2H: y := x
+			| 0E4H..0EBH: y := x
+			| 0EDH..0EFH: y := x
+			| 0F1H: y := 0F1H
+			| 0F3H..0F4H: y := x
+			| 0F6H..0FCH: y := x
+			| 0FFH: y := 0FFH
+			| 0102H: y := 0C3H
+			| 0103H: y := 0E3H
+			| 0110H: y := 0D0H
+			| 0111H: y := 0F0H
+			| 0152H: y := 8CH
+			| 0153H: y := 9CH
+			| 0178H: y := 9FH
+			| 0192H: y := 83H
+			| 01A0H: y := 0D5H
+			| 01A1H: y := 0F5H
+			| 01AFH: y := 0DDH
+			| 01B0H: y := 0FDH
+			| 02C6H: y := 88H
+			| 02DCH: y := 98H
+			| 0300H: y := 0CCH
+			| 0301H: y := 0ECH
+			| 0303H: y := 0DEH
+			| 0309H: y := 0D2H
+			| 0323H: y := 0F2H
+			| 2013H..2014H: y := x - 1F7DH
+			| 2018H..2019H: y := x - 1F87H
+			| 201AH: y := 82H
+			| 201CH..201DH: y := x - 1F89H
+			| 201EH: y := 84H
+			| 2020H..2021H: y := x - 1F9AH
+			| 2022H: y := 95H
+			| 2026H: y := 85H
+			| 2030H: y := 89H
+			| 2039H: y := 8BH
+			| 203AH: y := 9BH
+			| 20ABH: y := 0FEH
+			| 20ACH: y := 80H
+			| 2122H: y := 99H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 20ACH
+			| 82H: y := 201AH
+			| 83H: y := 0192H
+			| 84H: y := 201EH
+			| 85H: y := 2026H
+			| 86H..87H: y := x + 1F9AH
+			| 88H: y := 02C6H
+			| 89H: y := 2030H
+			| 8BH: y := 2039H
+			| 8CH: y := 0152H
+			| 91H..92H: y := x + 1F87H
+			| 93H..94H: y := x + 1F89H
+			| 95H: y := 2022H
+			| 96H..97H: y := x + 1F7DH
+			| 98H: y := 02DCH
+			| 99H: y := 2122H
+			| 9BH: y := 203AH
+			| 9CH: y := 0153H
+			| 9FH: y := 0178H
+			| 0A0H..0C2H: y := x
+			| 0C3H: y := 0102H
+			| 0C4H..0CBH: y := x
+			| 0CCH: y := 0300H
+			| 0CDH..0CFH: y := x
+			| 0D0H: y := 0110H
+			| 0D1H: y := 0D1H
+			| 0D2H: y := 0309H
+			| 0D3H..0D4H: y := x
+			| 0D5H: y := 01A0H
+			| 0D6H..0DCH: y := x
+			| 0DDH: y := 01AFH
+			| 0DEH: y := 0303H
+			| 0DFH..0E2H: y := x
+			| 0E3H: y := 0103H
+			| 0E4H..0EBH: y := x
+			| 0ECH: y := 0301H
+			| 0EDH..0EFH: y := x
+			| 0F0H: y := 0111H
+			| 0F1H: y := 0F1H
+			| 0F2H: y := 0323H
+			| 0F3H..0F4H: y := x
+			| 0F5H: y := 01A1H
+			| 0F6H..0FCH: y := x
+			| 0FDH: y := 01B0H
+			| 0FEH: y := 20ABH
+			| 0FFH: y := 0FFH
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp1258.

+ 281 - 0
BlackBox/Enc/Mod/StdMap_cp424.txt

@@ -0,0 +1,281 @@
+MODULE EncStdMap_cp424;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP424.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..03H: y := x
+			| 04H: y := 37H
+			| 05H..07H: y := x + 28H
+			| 08H: y := 16H
+			| 09H: y := 05H
+			| 0AH: y := 25H
+			| 0BH..13H: y := x
+			| 14H..15H: y := x + 28H
+			| 16H: y := 32H
+			| 17H: y := 26H
+			| 18H..19H: y := x
+			| 1AH: y := 3FH
+			| 1BH: y := 27H
+			| 1CH..1FH: y := x
+			| 20H: y := 40H
+			| 21H: y := 5AH
+			| 22H: y := 7FH
+			| 23H: y := 7BH
+			| 24H: y := 5BH
+			| 25H: y := 6CH
+			| 26H: y := 50H
+			| 27H: y := 7DH
+			| 28H: y := 4DH
+			| 29H: y := 5DH
+			| 2AH: y := 5CH
+			| 2BH: y := 4EH
+			| 2CH: y := 6BH
+			| 2DH: y := 60H
+			| 2EH: y := 4BH
+			| 2FH: y := 61H
+			| 30H..39H: y := x + 0C0H
+			| 3AH: y := 7AH
+			| 3BH: y := 5EH
+			| 3CH: y := 4CH
+			| 3DH: y := 7EH
+			| 3EH..3FH: y := x + 30H
+			| 40H: y := 7CH
+			| 41H..49H: y := x + 80H
+			| 4AH..52H: y := x + 87H
+			| 53H..5AH: y := x + 8FH
+			| 5BH: y := 0BAH
+			| 5CH: y := 0E0H
+			| 5DH: y := 0BBH
+			| 5EH: y := 0B0H
+			| 5FH: y := 6DH
+			| 60H: y := 79H
+			| 61H..69H: y := x + 20H
+			| 6AH..72H: y := x + 27H
+			| 73H..7AH: y := x + 2FH
+			| 7BH: y := 0C0H
+			| 7CH: y := 4FH
+			| 7DH: y := 0D0H
+			| 7EH: y := 0A1H
+			| 7FH: y := 07H
+			| 80H..84H: y := x - 60H
+			| 85H: y := 15H
+			| 86H: y := 06H
+			| 87H: y := 17H
+			| 88H..8CH: y := x - 60H
+			| 8DH..8EH: y := x - 84H
+			| 8FH: y := 1BH
+			| 90H..91H: y := x - 60H
+			| 92H: y := 1AH
+			| 93H..96H: y := x - 60H
+			| 97H: y := 08H
+			| 98H..9BH: y := x - 60H
+			| 9CH: y := 04H
+			| 9DH: y := 14H
+			| 9EH: y := 3EH
+			| 9FH: y := 0FFH
+			| 0A0H: y := 74H
+			| 0A2H: y := 4AH
+			| 0A3H: y := 0B1H
+			| 0A4H: y := 9FH
+			| 0A5H: y := 0B2H
+			| 0A6H: y := 6AH
+			| 0A7H: y := 0B5H
+			| 0A8H: y := 0BDH
+			| 0A9H: y := 0B4H
+			| 0ABH: y := 8AH
+			| 0ACH: y := 5FH
+			| 0ADH: y := 0CAH
+			| 0AEH: y := 0AFH
+			| 0AFH: y := 0BCH
+			| 0B0H: y := 90H
+			| 0B1H: y := 8FH
+			| 0B2H: y := 0EAH
+			| 0B3H: y := 0FAH
+			| 0B4H: y := 0BEH
+			| 0B5H: y := 0A0H
+			| 0B6H: y := 0B6H
+			| 0B7H: y := 0B3H
+			| 0B8H: y := 9DH
+			| 0B9H: y := 0DAH
+			| 0BBH: y := 8BH
+			| 0BCH..0BEH: y := x - 05H
+			| 0D7H: y := 0BFH
+			| 0F7H: y := 0E1H
+			| 05D0H..05D8H: y := x - 058FH
+			| 05D9H..05E1H: y := x - 0588H
+			| 05E2H..05E9H: y := x - 0580H
+			| 05EAH: y := 71H
+			| 2017H: y := 78H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..03H: y := x
+			| 04H: y := 9CH
+			| 05H: y := 09H
+			| 06H: y := 86H
+			| 07H: y := 7FH
+			| 08H: y := 97H
+			| 09H..0AH: y := x + 84H
+			| 0BH..13H: y := x
+			| 14H: y := 9DH
+			| 15H: y := 85H
+			| 16H: y := 08H
+			| 17H: y := 87H
+			| 18H..19H: y := x
+			| 1AH: y := 92H
+			| 1BH: y := 8FH
+			| 1CH..1FH: y := x
+			| 20H..24H: y := x + 60H
+			| 25H: y := 0AH
+			| 26H: y := 17H
+			| 27H: y := 1BH
+			| 28H..2CH: y := x + 60H
+			| 2DH..2FH: y := x - 28H
+			| 30H..31H: y := x + 60H
+			| 32H: y := 16H
+			| 33H..36H: y := x + 60H
+			| 37H: y := 04H
+			| 38H..3BH: y := x + 60H
+			| 3CH..3DH: y := x - 28H
+			| 3EH: y := 9EH
+			| 3FH: y := 1AH
+			| 40H: y := 20H
+			| 41H..49H: y := x + 058FH
+			| 4AH: y := 0A2H
+			| 4BH: y := 2EH
+			| 4CH: y := 3CH
+			| 4DH: y := 28H
+			| 4EH: y := 2BH
+			| 4FH: y := 7CH
+			| 50H: y := 26H
+			| 51H..59H: y := x + 0588H
+			| 5AH: y := 21H
+			| 5BH: y := 24H
+			| 5CH: y := 2AH
+			| 5DH: y := 29H
+			| 5EH: y := 3BH
+			| 5FH: y := 0ACH
+			| 60H: y := 2DH
+			| 61H: y := 2FH
+			| 62H..69H: y := x + 0580H
+			| 6AH: y := 0A6H
+			| 6BH: y := 2CH
+			| 6CH: y := 25H
+			| 6DH: y := 5FH
+			| 6EH..6FH: y := x - 30H
+			| 71H: y := 05EAH
+			| 74H: y := 0A0H
+			| 78H: y := 2017H
+			| 79H: y := 60H
+			| 7AH: y := 3AH
+			| 7BH: y := 23H
+			| 7CH: y := 40H
+			| 7DH: y := 27H
+			| 7EH: y := 3DH
+			| 7FH: y := 22H
+			| 81H..89H: y := x - 20H
+			| 8AH: y := 0ABH
+			| 8BH: y := 0BBH
+			| 8FH: y := 0B1H
+			| 90H: y := 0B0H
+			| 91H..99H: y := x - 27H
+			| 9DH: y := 0B8H
+			| 9FH: y := 0A4H
+			| 0A0H: y := 0B5H
+			| 0A1H: y := 7EH
+			| 0A2H..0A9H: y := x - 2FH
+			| 0AFH: y := 0AEH
+			| 0B0H: y := 5EH
+			| 0B1H: y := 0A3H
+			| 0B2H: y := 0A5H
+			| 0B3H: y := 0B7H
+			| 0B4H: y := 0A9H
+			| 0B5H: y := 0A7H
+			| 0B6H: y := 0B6H
+			| 0B7H..0B9H: y := x + 05H
+			| 0BAH: y := 5BH
+			| 0BBH: y := 5DH
+			| 0BCH: y := 0AFH
+			| 0BDH: y := 0A8H
+			| 0BEH: y := 0B4H
+			| 0BFH: y := 0D7H
+			| 0C0H: y := 7BH
+			| 0C1H..0C9H: y := x - 80H
+			| 0CAH: y := 0ADH
+			| 0D0H: y := 7DH
+			| 0D1H..0D9H: y := x - 87H
+			| 0DAH: y := 0B9H
+			| 0E0H: y := 5CH
+			| 0E1H: y := 0F7H
+			| 0E2H..0E9H: y := x - 8FH
+			| 0EAH: y := 0B2H
+			| 0F0H..0F9H: y := x - 0C0H
+			| 0FAH: y := 0B3H
+			| 0FFH: y := 9FH
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp424.

+ 311 - 0
BlackBox/Enc/Mod/StdMap_cp437.txt

@@ -0,0 +1,311 @@
+MODULE EncStdMap_cp437;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP437.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0FFH
+			| 0A1H: y := 0ADH
+			| 0A2H..0A3H: y := x - 07H
+			| 0A5H: y := 9DH
+			| 0AAH: y := 0A6H
+			| 0ABH: y := 0AEH
+			| 0ACH: y := 0AAH
+			| 0B0H: y := 0F8H
+			| 0B1H: y := 0F1H
+			| 0B2H: y := 0FDH
+			| 0B5H: y := 0E6H
+			| 0B7H: y := 0FAH
+			| 0BAH: y := 0A7H
+			| 0BBH: y := 0AFH
+			| 0BCH: y := 0ACH
+			| 0BDH: y := 0ABH
+			| 0BFH: y := 0A8H
+			| 0C4H..0C5H: y := x - 36H
+			| 0C6H: y := 92H
+			| 0C7H: y := 80H
+			| 0C9H: y := 90H
+			| 0D1H: y := 0A5H
+			| 0D6H: y := 99H
+			| 0DCH: y := 9AH
+			| 0DFH: y := 0E1H
+			| 0E0H: y := 85H
+			| 0E1H: y := 0A0H
+			| 0E2H: y := 83H
+			| 0E4H: y := 84H
+			| 0E5H: y := 86H
+			| 0E6H: y := 91H
+			| 0E7H: y := 87H
+			| 0E8H: y := 8AH
+			| 0E9H: y := 82H
+			| 0EAH..0EBH: y := x - 62H
+			| 0ECH: y := 8DH
+			| 0EDH: y := 0A1H
+			| 0EEH: y := 8CH
+			| 0EFH: y := 8BH
+			| 0F1H: y := 0A4H
+			| 0F2H: y := 95H
+			| 0F3H: y := 0A2H
+			| 0F4H: y := 93H
+			| 0F6H: y := 94H
+			| 0F7H: y := 0F6H
+			| 0F9H: y := 97H
+			| 0FAH: y := 0A3H
+			| 0FBH: y := 96H
+			| 0FCH: y := 81H
+			| 0FFH: y := 98H
+			| 0192H: y := 9FH
+			| 0393H: y := 0E2H
+			| 0398H: y := 0E9H
+			| 03A3H: y := 0E4H
+			| 03A6H: y := 0E8H
+			| 03A9H: y := 0EAH
+			| 03B1H: y := 0E0H
+			| 03B4H: y := 0EBH
+			| 03B5H: y := 0EEH
+			| 03C0H: y := 0E3H
+			| 03C3H: y := 0E5H
+			| 03C4H: y := 0E7H
+			| 03C6H: y := 0EDH
+			| 207FH: y := 0FCH
+			| 20A7H: y := 9EH
+			| 2219H: y := 0F9H
+			| 221AH: y := 0FBH
+			| 221EH: y := 0ECH
+			| 2229H: y := 0EFH
+			| 2248H: y := 0F7H
+			| 2261H: y := 0F0H
+			| 2264H: y := 0F3H
+			| 2265H: y := 0F2H
+			| 2310H: y := 0A9H
+			| 2320H..2321H: y := x - 222CH
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2552H..2553H: y := x - 247DH
+			| 2554H: y := 0C9H
+			| 2555H: y := 0B8H
+			| 2556H: y := 0B7H
+			| 2557H: y := 0BBH
+			| 2558H: y := 0D4H
+			| 2559H: y := 0D3H
+			| 255AH: y := 0C8H
+			| 255BH: y := 0BEH
+			| 255CH: y := 0BDH
+			| 255DH: y := 0BCH
+			| 255EH..255FH: y := x - 2498H
+			| 2560H: y := 0CCH
+			| 2561H..2562H: y := x - 24ACH
+			| 2563H: y := 0B9H
+			| 2564H..2565H: y := x - 2493H
+			| 2566H: y := 0CBH
+			| 2567H..2568H: y := x - 2498H
+			| 2569H: y := 0CAH
+			| 256AH: y := 0D8H
+			| 256BH: y := 0D7H
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 258CH: y := 0DDH
+			| 2590H: y := 0DEH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 0C7H
+			| 81H: y := 0FCH
+			| 82H: y := 0E9H
+			| 83H: y := 0E2H
+			| 84H: y := 0E4H
+			| 85H: y := 0E0H
+			| 86H: y := 0E5H
+			| 87H: y := 0E7H
+			| 88H..89H: y := x + 62H
+			| 8AH: y := 0E8H
+			| 8BH: y := 0EFH
+			| 8CH: y := 0EEH
+			| 8DH: y := 0ECH
+			| 8EH..8FH: y := x + 36H
+			| 90H: y := 0C9H
+			| 91H: y := 0E6H
+			| 92H: y := 0C6H
+			| 93H: y := 0F4H
+			| 94H: y := 0F6H
+			| 95H: y := 0F2H
+			| 96H: y := 0FBH
+			| 97H: y := 0F9H
+			| 98H: y := 0FFH
+			| 99H: y := 0D6H
+			| 9AH: y := 0DCH
+			| 9BH..9CH: y := x + 07H
+			| 9DH: y := 0A5H
+			| 9EH: y := 20A7H
+			| 9FH: y := 0192H
+			| 0A0H: y := 0E1H
+			| 0A1H: y := 0EDH
+			| 0A2H: y := 0F3H
+			| 0A3H: y := 0FAH
+			| 0A4H: y := 0F1H
+			| 0A5H: y := 0D1H
+			| 0A6H: y := 0AAH
+			| 0A7H: y := 0BAH
+			| 0A8H: y := 0BFH
+			| 0A9H: y := 2310H
+			| 0AAH: y := 0ACH
+			| 0ABH: y := 0BDH
+			| 0ACH: y := 0BCH
+			| 0ADH: y := 0A1H
+			| 0AEH: y := 0ABH
+			| 0AFH: y := 0BBH
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B5H..0B6H: y := x + 24ACH
+			| 0B7H: y := 2556H
+			| 0B8H: y := 2555H
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH: y := 255CH
+			| 0BEH: y := 255BH
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C6H..0C7H: y := x + 2498H
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH..0D0H: y := x + 2498H
+			| 0D1H..0D2H: y := x + 2493H
+			| 0D3H: y := 2559H
+			| 0D4H: y := 2558H
+			| 0D5H..0D6H: y := x + 247DH
+			| 0D7H: y := 256BH
+			| 0D8H: y := 256AH
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH: y := 258CH
+			| 0DEH: y := 2590H
+			| 0DFH: y := 2580H
+			| 0E0H: y := 03B1H
+			| 0E1H: y := 0DFH
+			| 0E2H: y := 0393H
+			| 0E3H: y := 03C0H
+			| 0E4H: y := 03A3H
+			| 0E5H: y := 03C3H
+			| 0E6H: y := 0B5H
+			| 0E7H: y := 03C4H
+			| 0E8H: y := 03A6H
+			| 0E9H: y := 0398H
+			| 0EAH: y := 03A9H
+			| 0EBH: y := 03B4H
+			| 0ECH: y := 221EH
+			| 0EDH: y := 03C6H
+			| 0EEH: y := 03B5H
+			| 0EFH: y := 2229H
+			| 0F0H: y := 2261H
+			| 0F1H: y := 0B1H
+			| 0F2H: y := 2265H
+			| 0F3H: y := 2264H
+			| 0F4H..0F5H: y := x + 222CH
+			| 0F6H: y := 0F7H
+			| 0F7H: y := 2248H
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 2219H
+			| 0FAH: y := 0B7H
+			| 0FBH: y := 221AH
+			| 0FCH: y := 207FH
+			| 0FDH: y := 0B2H
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp437.

+ 365 - 0
BlackBox/Enc/Mod/StdMap_cp500.txt

@@ -0,0 +1,365 @@
+MODULE EncStdMap_cp500;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP500.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..03H: y := x
+			| 04H: y := 37H
+			| 05H..07H: y := x + 28H
+			| 08H: y := 16H
+			| 09H: y := 05H
+			| 0AH: y := 25H
+			| 0BH..13H: y := x
+			| 14H..15H: y := x + 28H
+			| 16H: y := 32H
+			| 17H: y := 26H
+			| 18H..19H: y := x
+			| 1AH: y := 3FH
+			| 1BH: y := 27H
+			| 1CH..1FH: y := x
+			| 20H: y := 40H
+			| 21H: y := 4FH
+			| 22H: y := 7FH
+			| 23H: y := 7BH
+			| 24H: y := 5BH
+			| 25H: y := 6CH
+			| 26H: y := 50H
+			| 27H: y := 7DH
+			| 28H: y := 4DH
+			| 29H: y := 5DH
+			| 2AH: y := 5CH
+			| 2BH: y := 4EH
+			| 2CH: y := 6BH
+			| 2DH: y := 60H
+			| 2EH: y := 4BH
+			| 2FH: y := 61H
+			| 30H..39H: y := x + 0C0H
+			| 3AH: y := 7AH
+			| 3BH: y := 5EH
+			| 3CH: y := 4CH
+			| 3DH: y := 7EH
+			| 3EH..3FH: y := x + 30H
+			| 40H: y := 7CH
+			| 41H..49H: y := x + 80H
+			| 4AH..52H: y := x + 87H
+			| 53H..5AH: y := x + 8FH
+			| 5BH: y := 4AH
+			| 5CH: y := 0E0H
+			| 5DH: y := 5AH
+			| 5EH: y := 5FH
+			| 5FH: y := 6DH
+			| 60H: y := 79H
+			| 61H..69H: y := x + 20H
+			| 6AH..72H: y := x + 27H
+			| 73H..7AH: y := x + 2FH
+			| 7BH: y := 0C0H
+			| 7CH: y := 0BBH
+			| 7DH: y := 0D0H
+			| 7EH: y := 0A1H
+			| 7FH: y := 07H
+			| 80H..84H: y := x - 60H
+			| 85H: y := 15H
+			| 86H: y := 06H
+			| 87H: y := 17H
+			| 88H..8CH: y := x - 60H
+			| 8DH..8EH: y := x - 84H
+			| 8FH: y := 1BH
+			| 90H..91H: y := x - 60H
+			| 92H: y := 1AH
+			| 93H..96H: y := x - 60H
+			| 97H: y := 08H
+			| 98H..9BH: y := x - 60H
+			| 9CH: y := 04H
+			| 9DH: y := 14H
+			| 9EH: y := 3EH
+			| 9FH: y := 0FFH
+			| 0A0H: y := 41H
+			| 0A1H: y := 0AAH
+			| 0A2H..0A3H: y := x + 0EH
+			| 0A4H: y := 9FH
+			| 0A5H: y := 0B2H
+			| 0A6H: y := 6AH
+			| 0A7H: y := 0B5H
+			| 0A8H: y := 0BDH
+			| 0A9H: y := 0B4H
+			| 0AAH: y := 9AH
+			| 0ABH: y := 8AH
+			| 0ACH: y := 0BAH
+			| 0ADH: y := 0CAH
+			| 0AEH: y := 0AFH
+			| 0AFH: y := 0BCH
+			| 0B0H: y := 90H
+			| 0B1H: y := 8FH
+			| 0B2H: y := 0EAH
+			| 0B3H: y := 0FAH
+			| 0B4H: y := 0BEH
+			| 0B5H: y := 0A0H
+			| 0B6H: y := 0B6H
+			| 0B7H: y := 0B3H
+			| 0B8H: y := 9DH
+			| 0B9H: y := 0DAH
+			| 0BAH: y := 9BH
+			| 0BBH: y := 8BH
+			| 0BCH..0BEH: y := x - 05H
+			| 0BFH: y := 0ABH
+			| 0C0H..0C1H: y := x - 5CH
+			| 0C2H: y := 62H
+			| 0C3H: y := 66H
+			| 0C4H: y := 63H
+			| 0C5H: y := 67H
+			| 0C6H: y := 9EH
+			| 0C7H: y := 68H
+			| 0C8H: y := 74H
+			| 0C9H..0CBH: y := x - 58H
+			| 0CCH: y := 78H
+			| 0CDH..0CFH: y := x - 58H
+			| 0D0H: y := 0ACH
+			| 0D1H: y := 69H
+			| 0D2H..0D3H: y := x + 1BH
+			| 0D4H: y := 0EBH
+			| 0D5H: y := 0EFH
+			| 0D6H: y := 0ECH
+			| 0D7H: y := 0BFH
+			| 0D8H: y := 80H
+			| 0D9H..0DAH: y := x + 24H
+			| 0DBH..0DCH: y := x + 20H
+			| 0DDH..0DEH: y := x - 30H
+			| 0DFH: y := 59H
+			| 0E0H..0E1H: y := x - 9CH
+			| 0E2H: y := 42H
+			| 0E3H: y := 46H
+			| 0E4H: y := 43H
+			| 0E5H: y := 47H
+			| 0E6H: y := 9CH
+			| 0E7H: y := 48H
+			| 0E8H: y := 54H
+			| 0E9H..0EBH: y := x - 98H
+			| 0ECH: y := 58H
+			| 0EDH..0EFH: y := x - 98H
+			| 0F0H: y := 8CH
+			| 0F1H: y := 49H
+			| 0F2H..0F3H: y := x - 25H
+			| 0F4H: y := 0CBH
+			| 0F5H: y := 0CFH
+			| 0F6H: y := 0CCH
+			| 0F7H: y := 0E1H
+			| 0F8H: y := 70H
+			| 0F9H..0FAH: y := x - 1CH
+			| 0FBH..0FCH: y := x - 20H
+			| 0FDH..0FEH: y := x - 70H
+			| 0FFH: y := 0DFH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..03H: y := x
+			| 04H: y := 9CH
+			| 05H: y := 09H
+			| 06H: y := 86H
+			| 07H: y := 7FH
+			| 08H: y := 97H
+			| 09H..0AH: y := x + 84H
+			| 0BH..13H: y := x
+			| 14H: y := 9DH
+			| 15H: y := 85H
+			| 16H: y := 08H
+			| 17H: y := 87H
+			| 18H..19H: y := x
+			| 1AH: y := 92H
+			| 1BH: y := 8FH
+			| 1CH..1FH: y := x
+			| 20H..24H: y := x + 60H
+			| 25H: y := 0AH
+			| 26H: y := 17H
+			| 27H: y := 1BH
+			| 28H..2CH: y := x + 60H
+			| 2DH..2FH: y := x - 28H
+			| 30H..31H: y := x + 60H
+			| 32H: y := 16H
+			| 33H..36H: y := x + 60H
+			| 37H: y := 04H
+			| 38H..3BH: y := x + 60H
+			| 3CH..3DH: y := x - 28H
+			| 3EH: y := 9EH
+			| 3FH: y := 1AH
+			| 40H: y := 20H
+			| 41H: y := 0A0H
+			| 42H: y := 0E2H
+			| 43H: y := 0E4H
+			| 44H..45H: y := x + 9CH
+			| 46H: y := 0E3H
+			| 47H: y := 0E5H
+			| 48H: y := 0E7H
+			| 49H: y := 0F1H
+			| 4AH: y := 5BH
+			| 4BH: y := 2EH
+			| 4CH: y := 3CH
+			| 4DH: y := 28H
+			| 4EH: y := 2BH
+			| 4FH: y := 21H
+			| 50H: y := 26H
+			| 51H..53H: y := x + 98H
+			| 54H: y := 0E8H
+			| 55H..57H: y := x + 98H
+			| 58H: y := 0ECH
+			| 59H: y := 0DFH
+			| 5AH: y := 5DH
+			| 5BH: y := 24H
+			| 5CH: y := 2AH
+			| 5DH: y := 29H
+			| 5EH: y := 3BH
+			| 5FH: y := 5EH
+			| 60H: y := 2DH
+			| 61H: y := 2FH
+			| 62H: y := 0C2H
+			| 63H: y := 0C4H
+			| 64H..65H: y := x + 5CH
+			| 66H: y := 0C3H
+			| 67H: y := 0C5H
+			| 68H: y := 0C7H
+			| 69H: y := 0D1H
+			| 6AH: y := 0A6H
+			| 6BH: y := 2CH
+			| 6CH: y := 25H
+			| 6DH: y := 5FH
+			| 6EH..6FH: y := x - 30H
+			| 70H: y := 0F8H
+			| 71H..73H: y := x + 58H
+			| 74H: y := 0C8H
+			| 75H..77H: y := x + 58H
+			| 78H: y := 0CCH
+			| 79H: y := 60H
+			| 7AH: y := 3AH
+			| 7BH: y := 23H
+			| 7CH: y := 40H
+			| 7DH: y := 27H
+			| 7EH: y := 3DH
+			| 7FH: y := 22H
+			| 80H: y := 0D8H
+			| 81H..89H: y := x - 20H
+			| 8AH: y := 0ABH
+			| 8BH: y := 0BBH
+			| 8CH: y := 0F0H
+			| 8DH..8EH: y := x + 70H
+			| 8FH: y := 0B1H
+			| 90H: y := 0B0H
+			| 91H..99H: y := x - 27H
+			| 9AH: y := 0AAH
+			| 9BH: y := 0BAH
+			| 9CH: y := 0E6H
+			| 9DH: y := 0B8H
+			| 9EH: y := 0C6H
+			| 9FH: y := 0A4H
+			| 0A0H: y := 0B5H
+			| 0A1H: y := 7EH
+			| 0A2H..0A9H: y := x - 2FH
+			| 0AAH: y := 0A1H
+			| 0ABH: y := 0BFH
+			| 0ACH: y := 0D0H
+			| 0ADH..0AEH: y := x + 30H
+			| 0AFH: y := 0AEH
+			| 0B0H..0B1H: y := x - 0EH
+			| 0B2H: y := 0A5H
+			| 0B3H: y := 0B7H
+			| 0B4H: y := 0A9H
+			| 0B5H: y := 0A7H
+			| 0B6H: y := 0B6H
+			| 0B7H..0B9H: y := x + 05H
+			| 0BAH: y := 0ACH
+			| 0BBH: y := 7CH
+			| 0BCH: y := 0AFH
+			| 0BDH: y := 0A8H
+			| 0BEH: y := 0B4H
+			| 0BFH: y := 0D7H
+			| 0C0H: y := 7BH
+			| 0C1H..0C9H: y := x - 80H
+			| 0CAH: y := 0ADH
+			| 0CBH: y := 0F4H
+			| 0CCH: y := 0F6H
+			| 0CDH..0CEH: y := x + 25H
+			| 0CFH: y := 0F5H
+			| 0D0H: y := 7DH
+			| 0D1H..0D9H: y := x - 87H
+			| 0DAH: y := 0B9H
+			| 0DBH..0DCH: y := x + 20H
+			| 0DDH..0DEH: y := x + 1CH
+			| 0DFH: y := 0FFH
+			| 0E0H: y := 5CH
+			| 0E1H: y := 0F7H
+			| 0E2H..0E9H: y := x - 8FH
+			| 0EAH: y := 0B2H
+			| 0EBH: y := 0D4H
+			| 0ECH: y := 0D6H
+			| 0EDH..0EEH: y := x - 1BH
+			| 0EFH: y := 0D5H
+			| 0F0H..0F9H: y := x - 0C0H
+			| 0FAH: y := 0B3H
+			| 0FBH..0FCH: y := x - 20H
+			| 0FDH..0FEH: y := x - 24H
+			| 0FFH: y := 9FH
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp500.

+ 233 - 0
BlackBox/Enc/Mod/StdMap_cp720.txt

@@ -0,0 +1,233 @@
+MODULE EncStdMap_cp720;
+
+	(* This file was generated automatically *)
+
+	(* Source: Python *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..81H: y := x
+			| 84H: y := 84H
+			| 86H: y := 86H
+			| 8DH..90H: y := x
+			| 0A0H: y := 0FFH
+			| 0A3H: y := 9CH
+			| 0A4H: y := 94H
+			| 0ABH: y := 0AEH
+			| 0B0H: y := 0F8H
+			| 0B2H: y := 0FDH
+			| 0B5H: y := 0E6H
+			| 0B7H: y := 0FAH
+			| 0BBH: y := 0AFH
+			| 0E0H: y := 85H
+			| 0E2H: y := 83H
+			| 0E7H: y := 87H
+			| 0E8H: y := 8AH
+			| 0E9H: y := 82H
+			| 0EAH..0EBH: y := x - 62H
+			| 0EEH: y := 8CH
+			| 0EFH: y := 8BH
+			| 0F4H: y := 93H
+			| 0F9H: y := 97H
+			| 0FBH: y := 96H
+			| 0621H..0624H: y := x - 0589H
+			| 0625H..0635H: y := x - 0588H
+			| 0636H..063AH: y := x - 0556H
+			| 0640H: y := 95H
+			| 0641H: y := 0E5H
+			| 0642H..064AH: y := x - 055BH
+			| 064BH..0650H: y := x - 055AH
+			| 0651H..0652H: y := x - 05C0H
+			| 207FH: y := 0FCH
+			| 2219H: y := 0F9H
+			| 221AH: y := 0FBH
+			| 2248H: y := 0F7H
+			| 2261H: y := 0F0H
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2552H..2553H: y := x - 247DH
+			| 2554H: y := 0C9H
+			| 2555H: y := 0B8H
+			| 2556H: y := 0B7H
+			| 2557H: y := 0BBH
+			| 2558H: y := 0D4H
+			| 2559H: y := 0D3H
+			| 255AH: y := 0C8H
+			| 255BH: y := 0BEH
+			| 255CH: y := 0BDH
+			| 255DH: y := 0BCH
+			| 255EH..255FH: y := x - 2498H
+			| 2560H: y := 0CCH
+			| 2561H..2562H: y := x - 24ACH
+			| 2563H: y := 0B9H
+			| 2564H..2565H: y := x - 2493H
+			| 2566H: y := 0CBH
+			| 2567H..2568H: y := x - 2498H
+			| 2569H: y := 0CAH
+			| 256AH: y := 0D8H
+			| 256BH: y := 0D7H
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 258CH: y := 0DDH
+			| 2590H: y := 0DEH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..81H: y := x
+			| 82H: y := 0E9H
+			| 83H: y := 0E2H
+			| 84H: y := 84H
+			| 85H: y := 0E0H
+			| 86H: y := 86H
+			| 87H: y := 0E7H
+			| 88H..89H: y := x + 62H
+			| 8AH: y := 0E8H
+			| 8BH: y := 0EFH
+			| 8CH: y := 0EEH
+			| 8DH..90H: y := x
+			| 91H..92H: y := x + 05C0H
+			| 93H: y := 0F4H
+			| 94H: y := 0A4H
+			| 95H: y := 0640H
+			| 96H: y := 0FBH
+			| 97H: y := 0F9H
+			| 98H..9BH: y := x + 0589H
+			| 9CH: y := 0A3H
+			| 9DH..0ADH: y := x + 0588H
+			| 0AEH: y := 0ABH
+			| 0AFH: y := 0BBH
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B5H..0B6H: y := x + 24ACH
+			| 0B7H: y := 2556H
+			| 0B8H: y := 2555H
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH: y := 255CH
+			| 0BEH: y := 255BH
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C6H..0C7H: y := x + 2498H
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH..0D0H: y := x + 2498H
+			| 0D1H..0D2H: y := x + 2493H
+			| 0D3H: y := 2559H
+			| 0D4H: y := 2558H
+			| 0D5H..0D6H: y := x + 247DH
+			| 0D7H: y := 256BH
+			| 0D8H: y := 256AH
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH: y := 258CH
+			| 0DEH: y := 2590H
+			| 0DFH: y := 2580H
+			| 0E0H..0E4H: y := x + 0556H
+			| 0E5H: y := 0641H
+			| 0E6H: y := 0B5H
+			| 0E7H..0EFH: y := x + 055BH
+			| 0F0H: y := 2261H
+			| 0F1H..0F6H: y := x + 055AH
+			| 0F7H: y := 2248H
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 2219H
+			| 0FAH: y := 0B7H
+			| 0FBH: y := 221AH
+			| 0FCH: y := 207FH
+			| 0FDH: y := 0B2H
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp720.

+ 221 - 0
BlackBox/Enc/Mod/StdMap_cp737.txt

@@ -0,0 +1,221 @@
+MODULE EncStdMap_cp737;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP737.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0FFH
+			| 0B0H: y := 0F8H
+			| 0B1H: y := 0F1H
+			| 0B2H: y := 0FDH
+			| 0B7H: y := 0FAH
+			| 0F7H: y := 0F6H
+			| 0386H: y := 0EAH
+			| 0388H..038AH: y := x - 029DH
+			| 038CH: y := 0EEH
+			| 038EH..038FH: y := x - 029FH
+			| 0391H..03A1H: y := x - 0311H
+			| 03A3H..03A9H: y := x - 0312H
+			| 03AAH..03ABH: y := x - 02B6H
+			| 03ACH..03AEH: y := x - 02CBH
+			| 03AFH: y := 0E5H
+			| 03B1H..03C1H: y := x - 0319H
+			| 03C2H: y := 0AAH
+			| 03C3H: y := 0A9H
+			| 03C4H..03C8H: y := x - 0319H
+			| 03C9H: y := 0E0H
+			| 03CAH: y := 0E4H
+			| 03CBH: y := 0E8H
+			| 03CCH..03CDH: y := x - 02E6H
+			| 03CEH: y := 0E9H
+			| 207FH: y := 0FCH
+			| 2219H: y := 0F9H
+			| 221AH: y := 0FBH
+			| 2248H: y := 0F7H
+			| 2264H: y := 0F3H
+			| 2265H: y := 0F2H
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2552H..2553H: y := x - 247DH
+			| 2554H: y := 0C9H
+			| 2555H: y := 0B8H
+			| 2556H: y := 0B7H
+			| 2557H: y := 0BBH
+			| 2558H: y := 0D4H
+			| 2559H: y := 0D3H
+			| 255AH: y := 0C8H
+			| 255BH: y := 0BEH
+			| 255CH: y := 0BDH
+			| 255DH: y := 0BCH
+			| 255EH..255FH: y := x - 2498H
+			| 2560H: y := 0CCH
+			| 2561H..2562H: y := x - 24ACH
+			| 2563H: y := 0B9H
+			| 2564H..2565H: y := x - 2493H
+			| 2566H: y := 0CBH
+			| 2567H..2568H: y := x - 2498H
+			| 2569H: y := 0CAH
+			| 256AH: y := 0D8H
+			| 256BH: y := 0D7H
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 258CH: y := 0DDH
+			| 2590H: y := 0DEH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H..90H: y := x + 0311H
+			| 91H..97H: y := x + 0312H
+			| 98H..0A8H: y := x + 0319H
+			| 0A9H: y := 03C3H
+			| 0AAH: y := 03C2H
+			| 0ABH..0AFH: y := x + 0319H
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B5H..0B6H: y := x + 24ACH
+			| 0B7H: y := 2556H
+			| 0B8H: y := 2555H
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH: y := 255CH
+			| 0BEH: y := 255BH
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C6H..0C7H: y := x + 2498H
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH..0D0H: y := x + 2498H
+			| 0D1H..0D2H: y := x + 2493H
+			| 0D3H: y := 2559H
+			| 0D4H: y := 2558H
+			| 0D5H..0D6H: y := x + 247DH
+			| 0D7H: y := 256BH
+			| 0D8H: y := 256AH
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH: y := 258CH
+			| 0DEH: y := 2590H
+			| 0DFH: y := 2580H
+			| 0E0H: y := 03C9H
+			| 0E1H..0E3H: y := x + 02CBH
+			| 0E4H: y := 03CAH
+			| 0E5H: y := 03AFH
+			| 0E6H..0E7H: y := x + 02E6H
+			| 0E8H: y := 03CBH
+			| 0E9H: y := 03CEH
+			| 0EAH: y := 0386H
+			| 0EBH..0EDH: y := x + 029DH
+			| 0EEH: y := 038CH
+			| 0EFH..0F0H: y := x + 029FH
+			| 0F1H: y := 0B1H
+			| 0F2H: y := 2265H
+			| 0F3H: y := 2264H
+			| 0F4H..0F5H: y := x + 02B6H
+			| 0F6H: y := 0F7H
+			| 0F7H: y := 2248H
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 2219H
+			| 0FAH: y := 0B7H
+			| 0FBH: y := 221AH
+			| 0FCH: y := 207FH
+			| 0FDH: y := 0B2H
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp737.

+ 317 - 0
BlackBox/Enc/Mod/StdMap_cp775.txt

@@ -0,0 +1,317 @@
+MODULE EncStdMap_cp775;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP775.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0FFH
+			| 0A2H: y := 96H
+			| 0A3H: y := 9CH
+			| 0A4H: y := 9FH
+			| 0A6H: y := 0A7H
+			| 0A7H: y := 0F5H
+			| 0A9H: y := 0A8H
+			| 0ABH: y := 0AEH
+			| 0ACH: y := 0AAH
+			| 0ADH: y := 0F0H
+			| 0AEH: y := 0A9H
+			| 0B0H: y := 0F8H
+			| 0B1H: y := 0F1H
+			| 0B2H: y := 0FDH
+			| 0B3H: y := 0FCH
+			| 0B5H: y := 0E6H
+			| 0B6H: y := 0F4H
+			| 0B7H: y := 0FAH
+			| 0B9H: y := 0FBH
+			| 0BBH: y := 0AFH
+			| 0BCH: y := 0ACH
+			| 0BDH: y := 0ABH
+			| 0BEH: y := 0F3H
+			| 0C4H..0C5H: y := x - 36H
+			| 0C6H: y := 92H
+			| 0C9H: y := 90H
+			| 0D3H: y := 0E0H
+			| 0D5H: y := 0E5H
+			| 0D6H: y := 99H
+			| 0D7H: y := 9EH
+			| 0D8H: y := 9DH
+			| 0DCH: y := 9AH
+			| 0DFH: y := 0E1H
+			| 0E4H: y := 84H
+			| 0E5H: y := 86H
+			| 0E6H: y := 91H
+			| 0E9H: y := 82H
+			| 0F3H: y := 0A2H
+			| 0F5H: y := 0E4H
+			| 0F6H: y := 94H
+			| 0F7H: y := 0F6H
+			| 0F8H: y := 9BH
+			| 0FCH: y := 81H
+			| 0100H: y := 0A0H
+			| 0101H: y := 83H
+			| 0104H: y := 0B5H
+			| 0105H: y := 0D0H
+			| 0106H: y := 80H
+			| 0107H: y := 87H
+			| 010CH: y := 0B6H
+			| 010DH: y := 0D1H
+			| 0112H: y := 0EDH
+			| 0113H: y := 89H
+			| 0116H: y := 0B8H
+			| 0117H: y := 0D3H
+			| 0118H: y := 0B7H
+			| 0119H: y := 0D2H
+			| 0122H: y := 95H
+			| 0123H: y := 85H
+			| 012AH: y := 0A1H
+			| 012BH: y := 8CH
+			| 012EH: y := 0BDH
+			| 012FH: y := 0D4H
+			| 0136H..0137H: y := x - 4EH
+			| 013BH..013CH: y := x - 51H
+			| 0141H: y := 0ADH
+			| 0142H: y := 88H
+			| 0143H: y := 0E3H
+			| 0144H: y := 0E7H
+			| 0145H: y := 0EEH
+			| 0146H: y := 0ECH
+			| 014CH: y := 0E2H
+			| 014DH: y := 93H
+			| 0156H..0157H: y := x - 0CCH
+			| 015AH..015BH: y := x - 0C3H
+			| 0160H: y := 0BEH
+			| 0161H: y := 0D5H
+			| 016AH: y := 0C7H
+			| 016BH: y := 0D7H
+			| 0172H: y := 0C6H
+			| 0173H: y := 0D6H
+			| 0179H: y := 8DH
+			| 017AH: y := 0A5H
+			| 017BH..017CH: y := x - 0D8H
+			| 017DH: y := 0CFH
+			| 017EH: y := 0D8H
+			| 2019H: y := 0EFH
+			| 201CH: y := 0F2H
+			| 201DH: y := 0A6H
+			| 201EH: y := 0F7H
+			| 2219H: y := 0F9H
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2554H: y := 0C9H
+			| 2557H: y := 0BBH
+			| 255AH: y := 0C8H
+			| 255DH: y := 0BCH
+			| 2560H: y := 0CCH
+			| 2563H: y := 0B9H
+			| 2566H: y := 0CBH
+			| 2569H: y := 0CAH
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 258CH: y := 0DDH
+			| 2590H: y := 0DEH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 0106H
+			| 81H: y := 0FCH
+			| 82H: y := 0E9H
+			| 83H: y := 0101H
+			| 84H: y := 0E4H
+			| 85H: y := 0123H
+			| 86H: y := 0E5H
+			| 87H: y := 0107H
+			| 88H: y := 0142H
+			| 89H: y := 0113H
+			| 8AH..8BH: y := x + 0CCH
+			| 8CH: y := 012BH
+			| 8DH: y := 0179H
+			| 8EH..8FH: y := x + 36H
+			| 90H: y := 0C9H
+			| 91H: y := 0E6H
+			| 92H: y := 0C6H
+			| 93H: y := 014DH
+			| 94H: y := 0F6H
+			| 95H: y := 0122H
+			| 96H: y := 0A2H
+			| 97H..98H: y := x + 0C3H
+			| 99H: y := 0D6H
+			| 9AH: y := 0DCH
+			| 9BH: y := 0F8H
+			| 9CH: y := 0A3H
+			| 9DH: y := 0D8H
+			| 9EH: y := 0D7H
+			| 9FH: y := 0A4H
+			| 0A0H: y := 0100H
+			| 0A1H: y := 012AH
+			| 0A2H: y := 0F3H
+			| 0A3H..0A4H: y := x + 0D8H
+			| 0A5H: y := 017AH
+			| 0A6H: y := 201DH
+			| 0A7H: y := 0A6H
+			| 0A8H: y := 0A9H
+			| 0A9H: y := 0AEH
+			| 0AAH: y := 0ACH
+			| 0ABH: y := 0BDH
+			| 0ACH: y := 0BCH
+			| 0ADH: y := 0141H
+			| 0AEH: y := 0ABH
+			| 0AFH: y := 0BBH
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B5H: y := 0104H
+			| 0B6H: y := 010CH
+			| 0B7H: y := 0118H
+			| 0B8H: y := 0116H
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH: y := 012EH
+			| 0BEH: y := 0160H
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C6H: y := 0172H
+			| 0C7H: y := 016AH
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH: y := 017DH
+			| 0D0H: y := 0105H
+			| 0D1H: y := 010DH
+			| 0D2H: y := 0119H
+			| 0D3H: y := 0117H
+			| 0D4H: y := 012FH
+			| 0D5H: y := 0161H
+			| 0D6H: y := 0173H
+			| 0D7H: y := 016BH
+			| 0D8H: y := 017EH
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH: y := 258CH
+			| 0DEH: y := 2590H
+			| 0DFH: y := 2580H
+			| 0E0H: y := 0D3H
+			| 0E1H: y := 0DFH
+			| 0E2H: y := 014CH
+			| 0E3H: y := 0143H
+			| 0E4H: y := 0F5H
+			| 0E5H: y := 0D5H
+			| 0E6H: y := 0B5H
+			| 0E7H: y := 0144H
+			| 0E8H..0E9H: y := x + 4EH
+			| 0EAH..0EBH: y := x + 51H
+			| 0ECH: y := 0146H
+			| 0EDH: y := 0112H
+			| 0EEH: y := 0145H
+			| 0EFH: y := 2019H
+			| 0F0H: y := 0ADH
+			| 0F1H: y := 0B1H
+			| 0F2H: y := 201CH
+			| 0F3H: y := 0BEH
+			| 0F4H: y := 0B6H
+			| 0F5H: y := 0A7H
+			| 0F6H: y := 0F7H
+			| 0F7H: y := 201EH
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 2219H
+			| 0FAH: y := 0B7H
+			| 0FBH: y := 0B9H
+			| 0FCH: y := 0B3H
+			| 0FDH: y := 0B2H
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp775.

+ 315 - 0
BlackBox/Enc/Mod/StdMap_cp850.txt

@@ -0,0 +1,315 @@
+MODULE EncStdMap_cp850;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP850.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0FFH
+			| 0A1H: y := 0ADH
+			| 0A2H: y := 0BDH
+			| 0A3H: y := 9CH
+			| 0A4H: y := 0CFH
+			| 0A5H: y := 0BEH
+			| 0A6H: y := 0DDH
+			| 0A7H: y := 0F5H
+			| 0A8H: y := 0F9H
+			| 0A9H: y := 0B8H
+			| 0AAH: y := 0A6H
+			| 0ABH: y := 0AEH
+			| 0ACH: y := 0AAH
+			| 0ADH: y := 0F0H
+			| 0AEH: y := 0A9H
+			| 0AFH: y := 0EEH
+			| 0B0H: y := 0F8H
+			| 0B1H: y := 0F1H
+			| 0B2H: y := 0FDH
+			| 0B3H: y := 0FCH
+			| 0B4H: y := 0EFH
+			| 0B5H: y := 0E6H
+			| 0B6H: y := 0F4H
+			| 0B7H: y := 0FAH
+			| 0B8H: y := 0F7H
+			| 0B9H: y := 0FBH
+			| 0BAH: y := 0A7H
+			| 0BBH: y := 0AFH
+			| 0BCH: y := 0ACH
+			| 0BDH: y := 0ABH
+			| 0BEH: y := 0F3H
+			| 0BFH: y := 0A8H
+			| 0C0H: y := 0B7H
+			| 0C1H..0C2H: y := x - 0CH
+			| 0C3H: y := 0C7H
+			| 0C4H..0C5H: y := x - 36H
+			| 0C6H: y := 92H
+			| 0C7H: y := 80H
+			| 0C8H: y := 0D4H
+			| 0C9H: y := 90H
+			| 0CAH..0CBH: y := x + 08H
+			| 0CCH: y := 0DEH
+			| 0CDH..0CFH: y := x + 09H
+			| 0D0H: y := 0D1H
+			| 0D1H: y := 0A5H
+			| 0D2H: y := 0E3H
+			| 0D3H: y := 0E0H
+			| 0D4H: y := 0E2H
+			| 0D5H: y := 0E5H
+			| 0D6H: y := 99H
+			| 0D7H: y := 9EH
+			| 0D8H: y := 9DH
+			| 0D9H: y := 0EBH
+			| 0DAH..0DBH: y := x + 0FH
+			| 0DCH: y := 9AH
+			| 0DDH: y := 0EDH
+			| 0DEH: y := 0E8H
+			| 0DFH: y := 0E1H
+			| 0E0H: y := 85H
+			| 0E1H: y := 0A0H
+			| 0E2H: y := 83H
+			| 0E3H: y := 0C6H
+			| 0E4H: y := 84H
+			| 0E5H: y := 86H
+			| 0E6H: y := 91H
+			| 0E7H: y := 87H
+			| 0E8H: y := 8AH
+			| 0E9H: y := 82H
+			| 0EAH..0EBH: y := x - 62H
+			| 0ECH: y := 8DH
+			| 0EDH: y := 0A1H
+			| 0EEH: y := 8CH
+			| 0EFH: y := 8BH
+			| 0F0H: y := 0D0H
+			| 0F1H: y := 0A4H
+			| 0F2H: y := 95H
+			| 0F3H: y := 0A2H
+			| 0F4H: y := 93H
+			| 0F5H: y := 0E4H
+			| 0F6H: y := 94H
+			| 0F7H: y := 0F6H
+			| 0F8H: y := 9BH
+			| 0F9H: y := 97H
+			| 0FAH: y := 0A3H
+			| 0FBH: y := 96H
+			| 0FCH: y := 81H
+			| 0FDH: y := 0ECH
+			| 0FEH: y := 0E7H
+			| 0FFH: y := 98H
+			| 0131H: y := 0D5H
+			| 0192H: y := 9FH
+			| 2017H: y := 0F2H
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2554H: y := 0C9H
+			| 2557H: y := 0BBH
+			| 255AH: y := 0C8H
+			| 255DH: y := 0BCH
+			| 2560H: y := 0CCH
+			| 2563H: y := 0B9H
+			| 2566H: y := 0CBH
+			| 2569H: y := 0CAH
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 0C7H
+			| 81H: y := 0FCH
+			| 82H: y := 0E9H
+			| 83H: y := 0E2H
+			| 84H: y := 0E4H
+			| 85H: y := 0E0H
+			| 86H: y := 0E5H
+			| 87H: y := 0E7H
+			| 88H..89H: y := x + 62H
+			| 8AH: y := 0E8H
+			| 8BH: y := 0EFH
+			| 8CH: y := 0EEH
+			| 8DH: y := 0ECH
+			| 8EH..8FH: y := x + 36H
+			| 90H: y := 0C9H
+			| 91H: y := 0E6H
+			| 92H: y := 0C6H
+			| 93H: y := 0F4H
+			| 94H: y := 0F6H
+			| 95H: y := 0F2H
+			| 96H: y := 0FBH
+			| 97H: y := 0F9H
+			| 98H: y := 0FFH
+			| 99H: y := 0D6H
+			| 9AH: y := 0DCH
+			| 9BH: y := 0F8H
+			| 9CH: y := 0A3H
+			| 9DH: y := 0D8H
+			| 9EH: y := 0D7H
+			| 9FH: y := 0192H
+			| 0A0H: y := 0E1H
+			| 0A1H: y := 0EDH
+			| 0A2H: y := 0F3H
+			| 0A3H: y := 0FAH
+			| 0A4H: y := 0F1H
+			| 0A5H: y := 0D1H
+			| 0A6H: y := 0AAH
+			| 0A7H: y := 0BAH
+			| 0A8H: y := 0BFH
+			| 0A9H: y := 0AEH
+			| 0AAH: y := 0ACH
+			| 0ABH: y := 0BDH
+			| 0ACH: y := 0BCH
+			| 0ADH: y := 0A1H
+			| 0AEH: y := 0ABH
+			| 0AFH: y := 0BBH
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B5H..0B6H: y := x + 0CH
+			| 0B7H: y := 0C0H
+			| 0B8H: y := 0A9H
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH: y := 0A2H
+			| 0BEH: y := 0A5H
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C6H: y := 0E3H
+			| 0C7H: y := 0C3H
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH: y := 0A4H
+			| 0D0H: y := 0F0H
+			| 0D1H: y := 0D0H
+			| 0D2H..0D3H: y := x - 08H
+			| 0D4H: y := 0C8H
+			| 0D5H: y := 0131H
+			| 0D6H..0D8H: y := x - 09H
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH: y := 0A6H
+			| 0DEH: y := 0CCH
+			| 0DFH: y := 2580H
+			| 0E0H: y := 0D3H
+			| 0E1H: y := 0DFH
+			| 0E2H: y := 0D4H
+			| 0E3H: y := 0D2H
+			| 0E4H: y := 0F5H
+			| 0E5H: y := 0D5H
+			| 0E6H: y := 0B5H
+			| 0E7H: y := 0FEH
+			| 0E8H: y := 0DEH
+			| 0E9H..0EAH: y := x - 0FH
+			| 0EBH: y := 0D9H
+			| 0ECH: y := 0FDH
+			| 0EDH: y := 0DDH
+			| 0EEH: y := 0AFH
+			| 0EFH: y := 0B4H
+			| 0F0H: y := 0ADH
+			| 0F1H: y := 0B1H
+			| 0F2H: y := 2017H
+			| 0F3H: y := 0BEH
+			| 0F4H: y := 0B6H
+			| 0F5H: y := 0A7H
+			| 0F6H: y := 0F7H
+			| 0F7H: y := 0B8H
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 0A8H
+			| 0FAH: y := 0B7H
+			| 0FBH: y := 0B9H
+			| 0FCH: y := 0B3H
+			| 0FDH: y := 0B2H
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp850.

+ 299 - 0
BlackBox/Enc/Mod/StdMap_cp852.txt

@@ -0,0 +1,299 @@
+MODULE EncStdMap_cp852;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP852.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0FFH
+			| 0A4H: y := 0CFH
+			| 0A7H: y := 0F5H
+			| 0A8H: y := 0F9H
+			| 0ABH: y := 0AEH
+			| 0ACH: y := 0AAH
+			| 0ADH: y := 0F0H
+			| 0B0H: y := 0F8H
+			| 0B4H: y := 0EFH
+			| 0B8H: y := 0F7H
+			| 0BBH: y := 0AFH
+			| 0C1H..0C2H: y := x - 0CH
+			| 0C4H: y := 8EH
+			| 0C7H: y := 80H
+			| 0C9H: y := 90H
+			| 0CBH: y := 0D3H
+			| 0CDH..0CEH: y := x + 09H
+			| 0D3H: y := 0E0H
+			| 0D4H: y := 0E2H
+			| 0D6H: y := 99H
+			| 0D7H: y := 9EH
+			| 0DAH: y := 0E9H
+			| 0DCH: y := 9AH
+			| 0DDH: y := 0EDH
+			| 0DFH: y := 0E1H
+			| 0E1H: y := 0A0H
+			| 0E2H: y := 83H
+			| 0E4H: y := 84H
+			| 0E7H: y := 87H
+			| 0E9H: y := 82H
+			| 0EBH: y := 89H
+			| 0EDH: y := 0A1H
+			| 0EEH: y := 8CH
+			| 0F3H: y := 0A2H
+			| 0F4H: y := 93H
+			| 0F6H: y := 94H
+			| 0F7H: y := 0F6H
+			| 0FAH: y := 0A3H
+			| 0FCH: y := 81H
+			| 0FDH: y := 0ECH
+			| 0102H..0103H: y := x - 3CH
+			| 0104H..0105H: y := x - 60H
+			| 0106H: y := 8FH
+			| 0107H: y := 86H
+			| 010CH: y := 0ACH
+			| 010DH: y := 9FH
+			| 010EH: y := 0D2H
+			| 010FH: y := 0D4H
+			| 0110H: y := 0D1H
+			| 0111H: y := 0D0H
+			| 0118H..0119H: y := x - 70H
+			| 011AH: y := 0B7H
+			| 011BH: y := 0D8H
+			| 0139H..013AH: y := x - 0A8H
+			| 013DH..013EH: y := x - 0A8H
+			| 0141H: y := 9DH
+			| 0142H: y := 88H
+			| 0143H..0144H: y := x - 60H
+			| 0147H: y := 0D5H
+			| 0148H: y := 0E5H
+			| 0150H..0151H: y := x - 0C6H
+			| 0154H: y := 0E8H
+			| 0155H: y := 0EAH
+			| 0158H..0159H: y := x - 5CH
+			| 015AH..015BH: y := x - 0C3H
+			| 015EH: y := 0B8H
+			| 015FH: y := 0ADH
+			| 0160H..0161H: y := x - 7AH
+			| 0162H: y := 0DDH
+			| 0163H: y := 0EEH
+			| 0164H..0165H: y := x - 0C9H
+			| 016EH: y := 0DEH
+			| 016FH: y := 85H
+			| 0170H: y := 0EBH
+			| 0171H: y := 0FBH
+			| 0179H: y := 8DH
+			| 017AH: y := 0ABH
+			| 017BH..017CH: y := x - 0BEH
+			| 017DH..017EH: y := x - 0D7H
+			| 02C7H: y := 0F3H
+			| 02D8H: y := 0F4H
+			| 02D9H: y := 0FAH
+			| 02DBH: y := 0F2H
+			| 02DDH: y := 0F1H
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2554H: y := 0C9H
+			| 2557H: y := 0BBH
+			| 255AH: y := 0C8H
+			| 255DH: y := 0BCH
+			| 2560H: y := 0CCH
+			| 2563H: y := 0B9H
+			| 2566H: y := 0CBH
+			| 2569H: y := 0CAH
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 0C7H
+			| 81H: y := 0FCH
+			| 82H: y := 0E9H
+			| 83H: y := 0E2H
+			| 84H: y := 0E4H
+			| 85H: y := 016FH
+			| 86H: y := 0107H
+			| 87H: y := 0E7H
+			| 88H: y := 0142H
+			| 89H: y := 0EBH
+			| 8AH..8BH: y := x + 0C6H
+			| 8CH: y := 0EEH
+			| 8DH: y := 0179H
+			| 8EH: y := 0C4H
+			| 8FH: y := 0106H
+			| 90H: y := 0C9H
+			| 91H..92H: y := x + 0A8H
+			| 93H: y := 0F4H
+			| 94H: y := 0F6H
+			| 95H..96H: y := x + 0A8H
+			| 97H..98H: y := x + 0C3H
+			| 99H: y := 0D6H
+			| 9AH: y := 0DCH
+			| 9BH..9CH: y := x + 0C9H
+			| 9DH: y := 0141H
+			| 9EH: y := 0D7H
+			| 9FH: y := 010DH
+			| 0A0H: y := 0E1H
+			| 0A1H: y := 0EDH
+			| 0A2H: y := 0F3H
+			| 0A3H: y := 0FAH
+			| 0A4H..0A5H: y := x + 60H
+			| 0A6H..0A7H: y := x + 0D7H
+			| 0A8H..0A9H: y := x + 70H
+			| 0AAH: y := 0ACH
+			| 0ABH: y := 017AH
+			| 0ACH: y := 010CH
+			| 0ADH: y := 015FH
+			| 0AEH: y := 0ABH
+			| 0AFH: y := 0BBH
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B5H..0B6H: y := x + 0CH
+			| 0B7H: y := 011AH
+			| 0B8H: y := 015EH
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH..0BEH: y := x + 0BEH
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C6H..0C7H: y := x + 3CH
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH: y := 0A4H
+			| 0D0H: y := 0111H
+			| 0D1H: y := 0110H
+			| 0D2H: y := 010EH
+			| 0D3H: y := 0CBH
+			| 0D4H: y := 010FH
+			| 0D5H: y := 0147H
+			| 0D6H..0D7H: y := x - 09H
+			| 0D8H: y := 011BH
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH: y := 0162H
+			| 0DEH: y := 016EH
+			| 0DFH: y := 2580H
+			| 0E0H: y := 0D3H
+			| 0E1H: y := 0DFH
+			| 0E2H: y := 0D4H
+			| 0E3H..0E4H: y := x + 60H
+			| 0E5H: y := 0148H
+			| 0E6H..0E7H: y := x + 7AH
+			| 0E8H: y := 0154H
+			| 0E9H: y := 0DAH
+			| 0EAH: y := 0155H
+			| 0EBH: y := 0170H
+			| 0ECH: y := 0FDH
+			| 0EDH: y := 0DDH
+			| 0EEH: y := 0163H
+			| 0EFH: y := 0B4H
+			| 0F0H: y := 0ADH
+			| 0F1H: y := 02DDH
+			| 0F2H: y := 02DBH
+			| 0F3H: y := 02C7H
+			| 0F4H: y := 02D8H
+			| 0F5H: y := 0A7H
+			| 0F6H: y := 0F7H
+			| 0F7H: y := 0B8H
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 0A8H
+			| 0FAH: y := 02D9H
+			| 0FBH: y := 0171H
+			| 0FCH..0FDH: y := x + 5CH
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp852.

+ 329 - 0
BlackBox/Enc/Mod/StdMap_cp855.txt

@@ -0,0 +1,329 @@
+MODULE EncStdMap_cp855;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP855.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0FFH
+			| 0A4H: y := 0CFH
+			| 0A7H: y := 0FDH
+			| 0ABH: y := 0AEH
+			| 0ADH: y := 0F0H
+			| 0BBH: y := 0AFH
+			| 0401H: y := 85H
+			| 0402H: y := 81H
+			| 0403H: y := 83H
+			| 0404H: y := 87H
+			| 0405H: y := 89H
+			| 0406H: y := 8BH
+			| 0407H: y := 8DH
+			| 0408H: y := 8FH
+			| 0409H: y := 91H
+			| 040AH: y := 93H
+			| 040BH: y := 95H
+			| 040CH: y := 97H
+			| 040EH: y := 99H
+			| 040FH: y := 9BH
+			| 0410H: y := 0A1H
+			| 0411H: y := 0A3H
+			| 0412H: y := 0ECH
+			| 0413H: y := 0ADH
+			| 0414H: y := 0A7H
+			| 0415H: y := 0A9H
+			| 0416H: y := 0EAH
+			| 0417H: y := 0F4H
+			| 0418H: y := 0B8H
+			| 0419H: y := 0BEH
+			| 041AH: y := 0C7H
+			| 041BH: y := 0D1H
+			| 041CH: y := 0D3H
+			| 041DH: y := 0D5H
+			| 041EH: y := 0D7H
+			| 041FH: y := 0DDH
+			| 0420H: y := 0E2H
+			| 0421H: y := 0E4H
+			| 0422H: y := 0E6H
+			| 0423H: y := 0E8H
+			| 0424H: y := 0ABH
+			| 0425H: y := 0B6H
+			| 0426H: y := 0A5H
+			| 0427H: y := 0FCH
+			| 0428H: y := 0F6H
+			| 0429H: y := 0FAH
+			| 042AH: y := 9FH
+			| 042BH: y := 0F2H
+			| 042CH: y := 0EEH
+			| 042DH: y := 0F8H
+			| 042EH: y := 9DH
+			| 042FH: y := 0E0H
+			| 0430H: y := 0A0H
+			| 0431H: y := 0A2H
+			| 0432H: y := 0EBH
+			| 0433H: y := 0ACH
+			| 0434H: y := 0A6H
+			| 0435H: y := 0A8H
+			| 0436H: y := 0E9H
+			| 0437H: y := 0F3H
+			| 0438H: y := 0B7H
+			| 0439H: y := 0BDH
+			| 043AH: y := 0C6H
+			| 043BH: y := 0D0H
+			| 043CH: y := 0D2H
+			| 043DH: y := 0D4H
+			| 043EH: y := 0D6H
+			| 043FH: y := 0D8H
+			| 0440H: y := 0E1H
+			| 0441H: y := 0E3H
+			| 0442H: y := 0E5H
+			| 0443H: y := 0E7H
+			| 0444H: y := 0AAH
+			| 0445H: y := 0B5H
+			| 0446H: y := 0A4H
+			| 0447H: y := 0FBH
+			| 0448H: y := 0F5H
+			| 0449H: y := 0F9H
+			| 044AH: y := 9EH
+			| 044BH: y := 0F1H
+			| 044CH: y := 0EDH
+			| 044DH: y := 0F7H
+			| 044EH: y := 9CH
+			| 044FH: y := 0DEH
+			| 0451H: y := 84H
+			| 0452H: y := 80H
+			| 0453H: y := 82H
+			| 0454H: y := 86H
+			| 0455H: y := 88H
+			| 0456H: y := 8AH
+			| 0457H: y := 8CH
+			| 0458H: y := 8EH
+			| 0459H: y := 90H
+			| 045AH: y := 92H
+			| 045BH: y := 94H
+			| 045CH: y := 96H
+			| 045EH: y := 98H
+			| 045FH: y := 9AH
+			| 2116H: y := 0EFH
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2554H: y := 0C9H
+			| 2557H: y := 0BBH
+			| 255AH: y := 0C8H
+			| 255DH: y := 0BCH
+			| 2560H: y := 0CCH
+			| 2563H: y := 0B9H
+			| 2566H: y := 0CBH
+			| 2569H: y := 0CAH
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 0452H
+			| 81H: y := 0402H
+			| 82H: y := 0453H
+			| 83H: y := 0403H
+			| 84H: y := 0451H
+			| 85H: y := 0401H
+			| 86H: y := 0454H
+			| 87H: y := 0404H
+			| 88H: y := 0455H
+			| 89H: y := 0405H
+			| 8AH: y := 0456H
+			| 8BH: y := 0406H
+			| 8CH: y := 0457H
+			| 8DH: y := 0407H
+			| 8EH: y := 0458H
+			| 8FH: y := 0408H
+			| 90H: y := 0459H
+			| 91H: y := 0409H
+			| 92H: y := 045AH
+			| 93H: y := 040AH
+			| 94H: y := 045BH
+			| 95H: y := 040BH
+			| 96H: y := 045CH
+			| 97H: y := 040CH
+			| 98H: y := 045EH
+			| 99H: y := 040EH
+			| 9AH: y := 045FH
+			| 9BH: y := 040FH
+			| 9CH: y := 044EH
+			| 9DH: y := 042EH
+			| 9EH: y := 044AH
+			| 9FH: y := 042AH
+			| 0A0H: y := 0430H
+			| 0A1H: y := 0410H
+			| 0A2H: y := 0431H
+			| 0A3H: y := 0411H
+			| 0A4H: y := 0446H
+			| 0A5H: y := 0426H
+			| 0A6H: y := 0434H
+			| 0A7H: y := 0414H
+			| 0A8H: y := 0435H
+			| 0A9H: y := 0415H
+			| 0AAH: y := 0444H
+			| 0ABH: y := 0424H
+			| 0ACH: y := 0433H
+			| 0ADH: y := 0413H
+			| 0AEH: y := 0ABH
+			| 0AFH: y := 0BBH
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B5H: y := 0445H
+			| 0B6H: y := 0425H
+			| 0B7H: y := 0438H
+			| 0B8H: y := 0418H
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH: y := 0439H
+			| 0BEH: y := 0419H
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C6H: y := 043AH
+			| 0C7H: y := 041AH
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH: y := 0A4H
+			| 0D0H: y := 043BH
+			| 0D1H: y := 041BH
+			| 0D2H: y := 043CH
+			| 0D3H: y := 041CH
+			| 0D4H: y := 043DH
+			| 0D5H: y := 041DH
+			| 0D6H: y := 043EH
+			| 0D7H: y := 041EH
+			| 0D8H: y := 043FH
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH: y := 041FH
+			| 0DEH: y := 044FH
+			| 0DFH: y := 2580H
+			| 0E0H: y := 042FH
+			| 0E1H: y := 0440H
+			| 0E2H: y := 0420H
+			| 0E3H: y := 0441H
+			| 0E4H: y := 0421H
+			| 0E5H: y := 0442H
+			| 0E6H: y := 0422H
+			| 0E7H: y := 0443H
+			| 0E8H: y := 0423H
+			| 0E9H: y := 0436H
+			| 0EAH: y := 0416H
+			| 0EBH: y := 0432H
+			| 0ECH: y := 0412H
+			| 0EDH: y := 044CH
+			| 0EEH: y := 042CH
+			| 0EFH: y := 2116H
+			| 0F0H: y := 0ADH
+			| 0F1H: y := 044BH
+			| 0F2H: y := 042BH
+			| 0F3H: y := 0437H
+			| 0F4H: y := 0417H
+			| 0F5H: y := 0448H
+			| 0F6H: y := 0428H
+			| 0F7H: y := 044DH
+			| 0F8H: y := 042DH
+			| 0F9H: y := 0449H
+			| 0FAH: y := 0429H
+			| 0FBH: y := 0447H
+			| 0FCH: y := 0427H
+			| 0FDH: y := 0A7H
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp855.

+ 195 - 0
BlackBox/Enc/Mod/StdMap_cp856.txt

@@ -0,0 +1,195 @@
+MODULE EncStdMap_cp856;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP856.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0FFH
+			| 0A2H: y := 0BDH
+			| 0A3H: y := 9CH
+			| 0A4H: y := 0CFH
+			| 0A5H: y := 0BEH
+			| 0A6H: y := 0DDH
+			| 0A7H: y := 0F5H
+			| 0A8H: y := 0F9H
+			| 0A9H: y := 0B8H
+			| 0ABH: y := 0AEH
+			| 0ACH: y := 0AAH
+			| 0ADH: y := 0F0H
+			| 0AEH: y := 0A9H
+			| 0AFH: y := 0EEH
+			| 0B0H: y := 0F8H
+			| 0B1H: y := 0F1H
+			| 0B2H: y := 0FDH
+			| 0B3H: y := 0FCH
+			| 0B4H: y := 0EFH
+			| 0B5H: y := 0E6H
+			| 0B6H: y := 0F4H
+			| 0B7H: y := 0FAH
+			| 0B8H: y := 0F7H
+			| 0B9H: y := 0FBH
+			| 0BBH: y := 0AFH
+			| 0BCH: y := 0ACH
+			| 0BDH: y := 0ABH
+			| 0BEH: y := 0F3H
+			| 0D7H: y := 9EH
+			| 0F7H: y := 0F6H
+			| 05D0H..05EAH: y := x - 0550H
+			| 2017H: y := 0F2H
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2554H: y := 0C9H
+			| 2557H: y := 0BBH
+			| 255AH: y := 0C8H
+			| 255DH: y := 0BCH
+			| 2560H: y := 0CCH
+			| 2563H: y := 0B9H
+			| 2566H: y := 0CBH
+			| 2569H: y := 0CAH
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H..9AH: y := x + 0550H
+			| 9CH: y := 0A3H
+			| 9EH: y := 0D7H
+			| 0A9H: y := 0AEH
+			| 0AAH: y := 0ACH
+			| 0ABH: y := 0BDH
+			| 0ACH: y := 0BCH
+			| 0AEH: y := 0ABH
+			| 0AFH: y := 0BBH
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B8H: y := 0A9H
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH: y := 0A2H
+			| 0BEH: y := 0A5H
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH: y := 0A4H
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH: y := 0A6H
+			| 0DFH: y := 2580H
+			| 0E6H: y := 0B5H
+			| 0EEH: y := 0AFH
+			| 0EFH: y := 0B4H
+			| 0F0H: y := 0ADH
+			| 0F1H: y := 0B1H
+			| 0F2H: y := 2017H
+			| 0F3H: y := 0BEH
+			| 0F4H: y := 0B6H
+			| 0F5H: y := 0A7H
+			| 0F6H: y := 0F7H
+			| 0F7H: y := 0B8H
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 0A8H
+			| 0FAH: y := 0B7H
+			| 0FBH: y := 0B9H
+			| 0FCH: y := 0B3H
+			| 0FDH: y := 0B2H
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp856.

+ 305 - 0
BlackBox/Enc/Mod/StdMap_cp857.txt

@@ -0,0 +1,305 @@
+MODULE EncStdMap_cp857;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP857.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0FFH
+			| 0A1H: y := 0ADH
+			| 0A2H: y := 0BDH
+			| 0A3H: y := 9CH
+			| 0A4H: y := 0CFH
+			| 0A5H: y := 0BEH
+			| 0A6H: y := 0DDH
+			| 0A7H: y := 0F5H
+			| 0A8H: y := 0F9H
+			| 0A9H: y := 0B8H
+			| 0AAH: y := 0D1H
+			| 0ABH: y := 0AEH
+			| 0ACH: y := 0AAH
+			| 0ADH: y := 0F0H
+			| 0AEH: y := 0A9H
+			| 0AFH: y := 0EEH
+			| 0B0H: y := 0F8H
+			| 0B1H: y := 0F1H
+			| 0B2H: y := 0FDH
+			| 0B3H: y := 0FCH
+			| 0B4H: y := 0EFH
+			| 0B5H: y := 0E6H
+			| 0B6H: y := 0F4H
+			| 0B7H: y := 0FAH
+			| 0B8H: y := 0F7H
+			| 0B9H: y := 0FBH
+			| 0BAH: y := 0D0H
+			| 0BBH: y := 0AFH
+			| 0BCH: y := 0ACH
+			| 0BDH: y := 0ABH
+			| 0BEH: y := 0F3H
+			| 0BFH: y := 0A8H
+			| 0C0H: y := 0B7H
+			| 0C1H..0C2H: y := x - 0CH
+			| 0C3H: y := 0C7H
+			| 0C4H..0C5H: y := x - 36H
+			| 0C6H: y := 92H
+			| 0C7H: y := 80H
+			| 0C8H: y := 0D4H
+			| 0C9H: y := 90H
+			| 0CAH..0CBH: y := x + 08H
+			| 0CCH: y := 0DEH
+			| 0CDH..0CFH: y := x + 09H
+			| 0D1H: y := 0A5H
+			| 0D2H: y := 0E3H
+			| 0D3H: y := 0E0H
+			| 0D4H: y := 0E2H
+			| 0D5H: y := 0E5H
+			| 0D6H: y := 99H
+			| 0D7H: y := 0E8H
+			| 0D8H: y := 9DH
+			| 0D9H: y := 0EBH
+			| 0DAH..0DBH: y := x + 0FH
+			| 0DCH: y := 9AH
+			| 0DFH: y := 0E1H
+			| 0E0H: y := 85H
+			| 0E1H: y := 0A0H
+			| 0E2H: y := 83H
+			| 0E3H: y := 0C6H
+			| 0E4H: y := 84H
+			| 0E5H: y := 86H
+			| 0E6H: y := 91H
+			| 0E7H: y := 87H
+			| 0E8H: y := 8AH
+			| 0E9H: y := 82H
+			| 0EAH..0EBH: y := x - 62H
+			| 0ECH: y := 0ECH
+			| 0EDH: y := 0A1H
+			| 0EEH: y := 8CH
+			| 0EFH: y := 8BH
+			| 0F1H: y := 0A4H
+			| 0F2H: y := 95H
+			| 0F3H: y := 0A2H
+			| 0F4H: y := 93H
+			| 0F5H: y := 0E4H
+			| 0F6H: y := 94H
+			| 0F7H: y := 0F6H
+			| 0F8H: y := 9BH
+			| 0F9H: y := 97H
+			| 0FAH: y := 0A3H
+			| 0FBH: y := 96H
+			| 0FCH: y := 81H
+			| 0FFH: y := 0EDH
+			| 011EH..011FH: y := x - 78H
+			| 0130H: y := 98H
+			| 0131H: y := 8DH
+			| 015EH..015FH: y := x - 0C0H
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2554H: y := 0C9H
+			| 2557H: y := 0BBH
+			| 255AH: y := 0C8H
+			| 255DH: y := 0BCH
+			| 2560H: y := 0CCH
+			| 2563H: y := 0B9H
+			| 2566H: y := 0CBH
+			| 2569H: y := 0CAH
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 0C7H
+			| 81H: y := 0FCH
+			| 82H: y := 0E9H
+			| 83H: y := 0E2H
+			| 84H: y := 0E4H
+			| 85H: y := 0E0H
+			| 86H: y := 0E5H
+			| 87H: y := 0E7H
+			| 88H..89H: y := x + 62H
+			| 8AH: y := 0E8H
+			| 8BH: y := 0EFH
+			| 8CH: y := 0EEH
+			| 8DH: y := 0131H
+			| 8EH..8FH: y := x + 36H
+			| 90H: y := 0C9H
+			| 91H: y := 0E6H
+			| 92H: y := 0C6H
+			| 93H: y := 0F4H
+			| 94H: y := 0F6H
+			| 95H: y := 0F2H
+			| 96H: y := 0FBH
+			| 97H: y := 0F9H
+			| 98H: y := 0130H
+			| 99H: y := 0D6H
+			| 9AH: y := 0DCH
+			| 9BH: y := 0F8H
+			| 9CH: y := 0A3H
+			| 9DH: y := 0D8H
+			| 9EH..9FH: y := x + 0C0H
+			| 0A0H: y := 0E1H
+			| 0A1H: y := 0EDH
+			| 0A2H: y := 0F3H
+			| 0A3H: y := 0FAH
+			| 0A4H: y := 0F1H
+			| 0A5H: y := 0D1H
+			| 0A6H..0A7H: y := x + 78H
+			| 0A8H: y := 0BFH
+			| 0A9H: y := 0AEH
+			| 0AAH: y := 0ACH
+			| 0ABH: y := 0BDH
+			| 0ACH: y := 0BCH
+			| 0ADH: y := 0A1H
+			| 0AEH: y := 0ABH
+			| 0AFH: y := 0BBH
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B5H..0B6H: y := x + 0CH
+			| 0B7H: y := 0C0H
+			| 0B8H: y := 0A9H
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH: y := 0A2H
+			| 0BEH: y := 0A5H
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C6H: y := 0E3H
+			| 0C7H: y := 0C3H
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH: y := 0A4H
+			| 0D0H: y := 0BAH
+			| 0D1H: y := 0AAH
+			| 0D2H..0D3H: y := x - 08H
+			| 0D4H: y := 0C8H
+			| 0D6H..0D8H: y := x - 09H
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH: y := 0A6H
+			| 0DEH: y := 0CCH
+			| 0DFH: y := 2580H
+			| 0E0H: y := 0D3H
+			| 0E1H: y := 0DFH
+			| 0E2H: y := 0D4H
+			| 0E3H: y := 0D2H
+			| 0E4H: y := 0F5H
+			| 0E5H: y := 0D5H
+			| 0E6H: y := 0B5H
+			| 0E8H: y := 0D7H
+			| 0E9H..0EAH: y := x - 0FH
+			| 0EBH: y := 0D9H
+			| 0ECH: y := 0ECH
+			| 0EDH: y := 0FFH
+			| 0EEH: y := 0AFH
+			| 0EFH: y := 0B4H
+			| 0F0H: y := 0ADH
+			| 0F1H: y := 0B1H
+			| 0F3H: y := 0BEH
+			| 0F4H: y := 0B6H
+			| 0F5H: y := 0A7H
+			| 0F6H: y := 0F7H
+			| 0F7H: y := 0B8H
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 0A8H
+			| 0FAH: y := 0B7H
+			| 0FBH: y := 0B9H
+			| 0FCH: y := 0B3H
+			| 0FDH: y := 0B2H
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp857.

+ 315 - 0
BlackBox/Enc/Mod/StdMap_cp858.txt

@@ -0,0 +1,315 @@
+MODULE EncStdMap_cp858;
+
+	(* This file was generated automatically *)
+
+	(* Source: Python *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0FFH
+			| 0A1H: y := 0ADH
+			| 0A2H: y := 0BDH
+			| 0A3H: y := 9CH
+			| 0A4H: y := 0CFH
+			| 0A5H: y := 0BEH
+			| 0A6H: y := 0DDH
+			| 0A7H: y := 0F5H
+			| 0A8H: y := 0F9H
+			| 0A9H: y := 0B8H
+			| 0AAH: y := 0A6H
+			| 0ABH: y := 0AEH
+			| 0ACH: y := 0AAH
+			| 0ADH: y := 0F0H
+			| 0AEH: y := 0A9H
+			| 0AFH: y := 0EEH
+			| 0B0H: y := 0F8H
+			| 0B1H: y := 0F1H
+			| 0B2H: y := 0FDH
+			| 0B3H: y := 0FCH
+			| 0B4H: y := 0EFH
+			| 0B5H: y := 0E6H
+			| 0B6H: y := 0F4H
+			| 0B7H: y := 0FAH
+			| 0B8H: y := 0F7H
+			| 0B9H: y := 0FBH
+			| 0BAH: y := 0A7H
+			| 0BBH: y := 0AFH
+			| 0BCH: y := 0ACH
+			| 0BDH: y := 0ABH
+			| 0BEH: y := 0F3H
+			| 0BFH: y := 0A8H
+			| 0C0H: y := 0B7H
+			| 0C1H..0C2H: y := x - 0CH
+			| 0C3H: y := 0C7H
+			| 0C4H..0C5H: y := x - 36H
+			| 0C6H: y := 92H
+			| 0C7H: y := 80H
+			| 0C8H: y := 0D4H
+			| 0C9H: y := 90H
+			| 0CAH..0CBH: y := x + 08H
+			| 0CCH: y := 0DEH
+			| 0CDH..0CFH: y := x + 09H
+			| 0D0H: y := 0D1H
+			| 0D1H: y := 0A5H
+			| 0D2H: y := 0E3H
+			| 0D3H: y := 0E0H
+			| 0D4H: y := 0E2H
+			| 0D5H: y := 0E5H
+			| 0D6H: y := 99H
+			| 0D7H: y := 9EH
+			| 0D8H: y := 9DH
+			| 0D9H: y := 0EBH
+			| 0DAH..0DBH: y := x + 0FH
+			| 0DCH: y := 9AH
+			| 0DDH: y := 0EDH
+			| 0DEH: y := 0E8H
+			| 0DFH: y := 0E1H
+			| 0E0H: y := 85H
+			| 0E1H: y := 0A0H
+			| 0E2H: y := 83H
+			| 0E3H: y := 0C6H
+			| 0E4H: y := 84H
+			| 0E5H: y := 86H
+			| 0E6H: y := 91H
+			| 0E7H: y := 87H
+			| 0E8H: y := 8AH
+			| 0E9H: y := 82H
+			| 0EAH..0EBH: y := x - 62H
+			| 0ECH: y := 8DH
+			| 0EDH: y := 0A1H
+			| 0EEH: y := 8CH
+			| 0EFH: y := 8BH
+			| 0F0H: y := 0D0H
+			| 0F1H: y := 0A4H
+			| 0F2H: y := 95H
+			| 0F3H: y := 0A2H
+			| 0F4H: y := 93H
+			| 0F5H: y := 0E4H
+			| 0F6H: y := 94H
+			| 0F7H: y := 0F6H
+			| 0F8H: y := 9BH
+			| 0F9H: y := 97H
+			| 0FAH: y := 0A3H
+			| 0FBH: y := 96H
+			| 0FCH: y := 81H
+			| 0FDH: y := 0ECH
+			| 0FEH: y := 0E7H
+			| 0FFH: y := 98H
+			| 0192H: y := 9FH
+			| 2017H: y := 0F2H
+			| 20ACH: y := 0D5H
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2554H: y := 0C9H
+			| 2557H: y := 0BBH
+			| 255AH: y := 0C8H
+			| 255DH: y := 0BCH
+			| 2560H: y := 0CCH
+			| 2563H: y := 0B9H
+			| 2566H: y := 0CBH
+			| 2569H: y := 0CAH
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 0C7H
+			| 81H: y := 0FCH
+			| 82H: y := 0E9H
+			| 83H: y := 0E2H
+			| 84H: y := 0E4H
+			| 85H: y := 0E0H
+			| 86H: y := 0E5H
+			| 87H: y := 0E7H
+			| 88H..89H: y := x + 62H
+			| 8AH: y := 0E8H
+			| 8BH: y := 0EFH
+			| 8CH: y := 0EEH
+			| 8DH: y := 0ECH
+			| 8EH..8FH: y := x + 36H
+			| 90H: y := 0C9H
+			| 91H: y := 0E6H
+			| 92H: y := 0C6H
+			| 93H: y := 0F4H
+			| 94H: y := 0F6H
+			| 95H: y := 0F2H
+			| 96H: y := 0FBH
+			| 97H: y := 0F9H
+			| 98H: y := 0FFH
+			| 99H: y := 0D6H
+			| 9AH: y := 0DCH
+			| 9BH: y := 0F8H
+			| 9CH: y := 0A3H
+			| 9DH: y := 0D8H
+			| 9EH: y := 0D7H
+			| 9FH: y := 0192H
+			| 0A0H: y := 0E1H
+			| 0A1H: y := 0EDH
+			| 0A2H: y := 0F3H
+			| 0A3H: y := 0FAH
+			| 0A4H: y := 0F1H
+			| 0A5H: y := 0D1H
+			| 0A6H: y := 0AAH
+			| 0A7H: y := 0BAH
+			| 0A8H: y := 0BFH
+			| 0A9H: y := 0AEH
+			| 0AAH: y := 0ACH
+			| 0ABH: y := 0BDH
+			| 0ACH: y := 0BCH
+			| 0ADH: y := 0A1H
+			| 0AEH: y := 0ABH
+			| 0AFH: y := 0BBH
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B5H..0B6H: y := x + 0CH
+			| 0B7H: y := 0C0H
+			| 0B8H: y := 0A9H
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH: y := 0A2H
+			| 0BEH: y := 0A5H
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C6H: y := 0E3H
+			| 0C7H: y := 0C3H
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH: y := 0A4H
+			| 0D0H: y := 0F0H
+			| 0D1H: y := 0D0H
+			| 0D2H..0D3H: y := x - 08H
+			| 0D4H: y := 0C8H
+			| 0D5H: y := 20ACH
+			| 0D6H..0D8H: y := x - 09H
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH: y := 0A6H
+			| 0DEH: y := 0CCH
+			| 0DFH: y := 2580H
+			| 0E0H: y := 0D3H
+			| 0E1H: y := 0DFH
+			| 0E2H: y := 0D4H
+			| 0E3H: y := 0D2H
+			| 0E4H: y := 0F5H
+			| 0E5H: y := 0D5H
+			| 0E6H: y := 0B5H
+			| 0E7H: y := 0FEH
+			| 0E8H: y := 0DEH
+			| 0E9H..0EAH: y := x - 0FH
+			| 0EBH: y := 0D9H
+			| 0ECH: y := 0FDH
+			| 0EDH: y := 0DDH
+			| 0EEH: y := 0AFH
+			| 0EFH: y := 0B4H
+			| 0F0H: y := 0ADH
+			| 0F1H: y := 0B1H
+			| 0F2H: y := 2017H
+			| 0F3H: y := 0BEH
+			| 0F4H: y := 0B6H
+			| 0F5H: y := 0A7H
+			| 0F6H: y := 0F7H
+			| 0F7H: y := 0B8H
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 0A8H
+			| 0FAH: y := 0B7H
+			| 0FBH: y := 0B9H
+			| 0FCH: y := 0B3H
+			| 0FDH: y := 0B2H
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp858.

+ 311 - 0
BlackBox/Enc/Mod/StdMap_cp860.txt

@@ -0,0 +1,311 @@
+MODULE EncStdMap_cp860;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP860.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0FFH
+			| 0A1H: y := 0ADH
+			| 0A2H..0A3H: y := x - 07H
+			| 0AAH: y := 0A6H
+			| 0ABH: y := 0AEH
+			| 0ACH: y := 0AAH
+			| 0B0H: y := 0F8H
+			| 0B1H: y := 0F1H
+			| 0B2H: y := 0FDH
+			| 0B5H: y := 0E6H
+			| 0B7H: y := 0FAH
+			| 0BAH: y := 0A7H
+			| 0BBH: y := 0AFH
+			| 0BCH: y := 0ACH
+			| 0BDH: y := 0ABH
+			| 0BFH: y := 0A8H
+			| 0C0H: y := 91H
+			| 0C1H: y := 86H
+			| 0C2H: y := 8FH
+			| 0C3H: y := 8EH
+			| 0C7H: y := 80H
+			| 0C8H: y := 92H
+			| 0C9H: y := 90H
+			| 0CAH: y := 89H
+			| 0CCH: y := 98H
+			| 0CDH: y := 8BH
+			| 0D1H: y := 0A5H
+			| 0D2H: y := 0A9H
+			| 0D3H: y := 9FH
+			| 0D4H: y := 8CH
+			| 0D5H: y := 99H
+			| 0D9H: y := 9DH
+			| 0DAH: y := 96H
+			| 0DCH: y := 9AH
+			| 0DFH: y := 0E1H
+			| 0E0H: y := 85H
+			| 0E1H: y := 0A0H
+			| 0E2H..0E3H: y := x - 5FH
+			| 0E7H: y := 87H
+			| 0E8H: y := 8AH
+			| 0E9H: y := 82H
+			| 0EAH: y := 88H
+			| 0ECH: y := 8DH
+			| 0EDH: y := 0A1H
+			| 0F1H: y := 0A4H
+			| 0F2H: y := 95H
+			| 0F3H: y := 0A2H
+			| 0F4H..0F5H: y := x - 61H
+			| 0F7H: y := 0F6H
+			| 0F9H: y := 97H
+			| 0FAH: y := 0A3H
+			| 0FCH: y := 81H
+			| 0393H: y := 0E2H
+			| 0398H: y := 0E9H
+			| 03A3H: y := 0E4H
+			| 03A6H: y := 0E8H
+			| 03A9H: y := 0EAH
+			| 03B1H: y := 0E0H
+			| 03B4H: y := 0EBH
+			| 03B5H: y := 0EEH
+			| 03C0H: y := 0E3H
+			| 03C3H: y := 0E5H
+			| 03C4H: y := 0E7H
+			| 03C6H: y := 0EDH
+			| 207FH: y := 0FCH
+			| 20A7H: y := 9EH
+			| 2219H: y := 0F9H
+			| 221AH: y := 0FBH
+			| 221EH: y := 0ECH
+			| 2229H: y := 0EFH
+			| 2248H: y := 0F7H
+			| 2261H: y := 0F0H
+			| 2264H: y := 0F3H
+			| 2265H: y := 0F2H
+			| 2320H..2321H: y := x - 222CH
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2552H..2553H: y := x - 247DH
+			| 2554H: y := 0C9H
+			| 2555H: y := 0B8H
+			| 2556H: y := 0B7H
+			| 2557H: y := 0BBH
+			| 2558H: y := 0D4H
+			| 2559H: y := 0D3H
+			| 255AH: y := 0C8H
+			| 255BH: y := 0BEH
+			| 255CH: y := 0BDH
+			| 255DH: y := 0BCH
+			| 255EH..255FH: y := x - 2498H
+			| 2560H: y := 0CCH
+			| 2561H..2562H: y := x - 24ACH
+			| 2563H: y := 0B9H
+			| 2564H..2565H: y := x - 2493H
+			| 2566H: y := 0CBH
+			| 2567H..2568H: y := x - 2498H
+			| 2569H: y := 0CAH
+			| 256AH: y := 0D8H
+			| 256BH: y := 0D7H
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 258CH: y := 0DDH
+			| 2590H: y := 0DEH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 0C7H
+			| 81H: y := 0FCH
+			| 82H: y := 0E9H
+			| 83H..84H: y := x + 5FH
+			| 85H: y := 0E0H
+			| 86H: y := 0C1H
+			| 87H: y := 0E7H
+			| 88H: y := 0EAH
+			| 89H: y := 0CAH
+			| 8AH: y := 0E8H
+			| 8BH: y := 0CDH
+			| 8CH: y := 0D4H
+			| 8DH: y := 0ECH
+			| 8EH: y := 0C3H
+			| 8FH: y := 0C2H
+			| 90H: y := 0C9H
+			| 91H: y := 0C0H
+			| 92H: y := 0C8H
+			| 93H..94H: y := x + 61H
+			| 95H: y := 0F2H
+			| 96H: y := 0DAH
+			| 97H: y := 0F9H
+			| 98H: y := 0CCH
+			| 99H: y := 0D5H
+			| 9AH: y := 0DCH
+			| 9BH..9CH: y := x + 07H
+			| 9DH: y := 0D9H
+			| 9EH: y := 20A7H
+			| 9FH: y := 0D3H
+			| 0A0H: y := 0E1H
+			| 0A1H: y := 0EDH
+			| 0A2H: y := 0F3H
+			| 0A3H: y := 0FAH
+			| 0A4H: y := 0F1H
+			| 0A5H: y := 0D1H
+			| 0A6H: y := 0AAH
+			| 0A7H: y := 0BAH
+			| 0A8H: y := 0BFH
+			| 0A9H: y := 0D2H
+			| 0AAH: y := 0ACH
+			| 0ABH: y := 0BDH
+			| 0ACH: y := 0BCH
+			| 0ADH: y := 0A1H
+			| 0AEH: y := 0ABH
+			| 0AFH: y := 0BBH
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B5H..0B6H: y := x + 24ACH
+			| 0B7H: y := 2556H
+			| 0B8H: y := 2555H
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH: y := 255CH
+			| 0BEH: y := 255BH
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C6H..0C7H: y := x + 2498H
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH..0D0H: y := x + 2498H
+			| 0D1H..0D2H: y := x + 2493H
+			| 0D3H: y := 2559H
+			| 0D4H: y := 2558H
+			| 0D5H..0D6H: y := x + 247DH
+			| 0D7H: y := 256BH
+			| 0D8H: y := 256AH
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH: y := 258CH
+			| 0DEH: y := 2590H
+			| 0DFH: y := 2580H
+			| 0E0H: y := 03B1H
+			| 0E1H: y := 0DFH
+			| 0E2H: y := 0393H
+			| 0E3H: y := 03C0H
+			| 0E4H: y := 03A3H
+			| 0E5H: y := 03C3H
+			| 0E6H: y := 0B5H
+			| 0E7H: y := 03C4H
+			| 0E8H: y := 03A6H
+			| 0E9H: y := 0398H
+			| 0EAH: y := 03A9H
+			| 0EBH: y := 03B4H
+			| 0ECH: y := 221EH
+			| 0EDH: y := 03C6H
+			| 0EEH: y := 03B5H
+			| 0EFH: y := 2229H
+			| 0F0H: y := 2261H
+			| 0F1H: y := 0B1H
+			| 0F2H: y := 2265H
+			| 0F3H: y := 2264H
+			| 0F4H..0F5H: y := x + 222CH
+			| 0F6H: y := 0F7H
+			| 0F7H: y := 2248H
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 2219H
+			| 0FAH: y := 0B7H
+			| 0FBH: y := 221AH
+			| 0FCH: y := 207FH
+			| 0FDH: y := 0B2H
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp860.

+ 313 - 0
BlackBox/Enc/Mod/StdMap_cp861.txt

@@ -0,0 +1,313 @@
+MODULE EncStdMap_cp861;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP861.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0FFH
+			| 0A1H: y := 0ADH
+			| 0A3H: y := 9CH
+			| 0ABH: y := 0AEH
+			| 0ACH: y := 0AAH
+			| 0B0H: y := 0F8H
+			| 0B1H: y := 0F1H
+			| 0B2H: y := 0FDH
+			| 0B5H: y := 0E6H
+			| 0B7H: y := 0FAH
+			| 0BBH: y := 0AFH
+			| 0BCH: y := 0ACH
+			| 0BDH: y := 0ABH
+			| 0BFH: y := 0A8H
+			| 0C1H: y := 0A4H
+			| 0C4H..0C5H: y := x - 36H
+			| 0C6H: y := 92H
+			| 0C7H: y := 80H
+			| 0C9H: y := 90H
+			| 0CDH: y := 0A5H
+			| 0D0H: y := 8BH
+			| 0D3H: y := 0A6H
+			| 0D6H: y := 99H
+			| 0D8H: y := 9DH
+			| 0DAH: y := 0A7H
+			| 0DCH: y := 9AH
+			| 0DDH: y := 97H
+			| 0DEH: y := 8DH
+			| 0DFH: y := 0E1H
+			| 0E0H: y := 85H
+			| 0E1H: y := 0A0H
+			| 0E2H: y := 83H
+			| 0E4H: y := 84H
+			| 0E5H: y := 86H
+			| 0E6H: y := 91H
+			| 0E7H: y := 87H
+			| 0E8H: y := 8AH
+			| 0E9H: y := 82H
+			| 0EAH..0EBH: y := x - 62H
+			| 0EDH: y := 0A1H
+			| 0F0H: y := 8CH
+			| 0F3H: y := 0A2H
+			| 0F4H: y := 93H
+			| 0F6H: y := 94H
+			| 0F7H: y := 0F6H
+			| 0F8H: y := 9BH
+			| 0FAH: y := 0A3H
+			| 0FBH: y := 96H
+			| 0FCH: y := 81H
+			| 0FDH: y := 98H
+			| 0FEH: y := 95H
+			| 0192H: y := 9FH
+			| 0393H: y := 0E2H
+			| 0398H: y := 0E9H
+			| 03A3H: y := 0E4H
+			| 03A6H: y := 0E8H
+			| 03A9H: y := 0EAH
+			| 03B1H: y := 0E0H
+			| 03B4H: y := 0EBH
+			| 03B5H: y := 0EEH
+			| 03C0H: y := 0E3H
+			| 03C3H: y := 0E5H
+			| 03C4H: y := 0E7H
+			| 03C6H: y := 0EDH
+			| 207FH: y := 0FCH
+			| 20A7H: y := 9EH
+			| 2219H: y := 0F9H
+			| 221AH: y := 0FBH
+			| 221EH: y := 0ECH
+			| 2229H: y := 0EFH
+			| 2248H: y := 0F7H
+			| 2261H: y := 0F0H
+			| 2264H: y := 0F3H
+			| 2265H: y := 0F2H
+			| 2310H: y := 0A9H
+			| 2320H..2321H: y := x - 222CH
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2552H..2553H: y := x - 247DH
+			| 2554H: y := 0C9H
+			| 2555H: y := 0B8H
+			| 2556H: y := 0B7H
+			| 2557H: y := 0BBH
+			| 2558H: y := 0D4H
+			| 2559H: y := 0D3H
+			| 255AH: y := 0C8H
+			| 255BH: y := 0BEH
+			| 255CH: y := 0BDH
+			| 255DH: y := 0BCH
+			| 255EH..255FH: y := x - 2498H
+			| 2560H: y := 0CCH
+			| 2561H..2562H: y := x - 24ACH
+			| 2563H: y := 0B9H
+			| 2564H..2565H: y := x - 2493H
+			| 2566H: y := 0CBH
+			| 2567H..2568H: y := x - 2498H
+			| 2569H: y := 0CAH
+			| 256AH: y := 0D8H
+			| 256BH: y := 0D7H
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 258CH: y := 0DDH
+			| 2590H: y := 0DEH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 0C7H
+			| 81H: y := 0FCH
+			| 82H: y := 0E9H
+			| 83H: y := 0E2H
+			| 84H: y := 0E4H
+			| 85H: y := 0E0H
+			| 86H: y := 0E5H
+			| 87H: y := 0E7H
+			| 88H..89H: y := x + 62H
+			| 8AH: y := 0E8H
+			| 8BH: y := 0D0H
+			| 8CH: y := 0F0H
+			| 8DH: y := 0DEH
+			| 8EH..8FH: y := x + 36H
+			| 90H: y := 0C9H
+			| 91H: y := 0E6H
+			| 92H: y := 0C6H
+			| 93H: y := 0F4H
+			| 94H: y := 0F6H
+			| 95H: y := 0FEH
+			| 96H: y := 0FBH
+			| 97H: y := 0DDH
+			| 98H: y := 0FDH
+			| 99H: y := 0D6H
+			| 9AH: y := 0DCH
+			| 9BH: y := 0F8H
+			| 9CH: y := 0A3H
+			| 9DH: y := 0D8H
+			| 9EH: y := 20A7H
+			| 9FH: y := 0192H
+			| 0A0H: y := 0E1H
+			| 0A1H: y := 0EDH
+			| 0A2H: y := 0F3H
+			| 0A3H: y := 0FAH
+			| 0A4H: y := 0C1H
+			| 0A5H: y := 0CDH
+			| 0A6H: y := 0D3H
+			| 0A7H: y := 0DAH
+			| 0A8H: y := 0BFH
+			| 0A9H: y := 2310H
+			| 0AAH: y := 0ACH
+			| 0ABH: y := 0BDH
+			| 0ACH: y := 0BCH
+			| 0ADH: y := 0A1H
+			| 0AEH: y := 0ABH
+			| 0AFH: y := 0BBH
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B5H..0B6H: y := x + 24ACH
+			| 0B7H: y := 2556H
+			| 0B8H: y := 2555H
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH: y := 255CH
+			| 0BEH: y := 255BH
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C6H..0C7H: y := x + 2498H
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH..0D0H: y := x + 2498H
+			| 0D1H..0D2H: y := x + 2493H
+			| 0D3H: y := 2559H
+			| 0D4H: y := 2558H
+			| 0D5H..0D6H: y := x + 247DH
+			| 0D7H: y := 256BH
+			| 0D8H: y := 256AH
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH: y := 258CH
+			| 0DEH: y := 2590H
+			| 0DFH: y := 2580H
+			| 0E0H: y := 03B1H
+			| 0E1H: y := 0DFH
+			| 0E2H: y := 0393H
+			| 0E3H: y := 03C0H
+			| 0E4H: y := 03A3H
+			| 0E5H: y := 03C3H
+			| 0E6H: y := 0B5H
+			| 0E7H: y := 03C4H
+			| 0E8H: y := 03A6H
+			| 0E9H: y := 0398H
+			| 0EAH: y := 03A9H
+			| 0EBH: y := 03B4H
+			| 0ECH: y := 221EH
+			| 0EDH: y := 03C6H
+			| 0EEH: y := 03B5H
+			| 0EFH: y := 2229H
+			| 0F0H: y := 2261H
+			| 0F1H: y := 0B1H
+			| 0F2H: y := 2265H
+			| 0F3H: y := 2264H
+			| 0F4H..0F5H: y := x + 222CH
+			| 0F6H: y := 0F7H
+			| 0F7H: y := 2248H
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 2219H
+			| 0FAH: y := 0B7H
+			| 0FBH: y := 221AH
+			| 0FCH: y := 207FH
+			| 0FDH: y := 0B2H
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp861.

+ 263 - 0
BlackBox/Enc/Mod/StdMap_cp862.txt

@@ -0,0 +1,263 @@
+MODULE EncStdMap_cp862;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP862.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0FFH
+			| 0A1H: y := 0ADH
+			| 0A2H..0A3H: y := x - 07H
+			| 0A5H: y := 9DH
+			| 0AAH: y := 0A6H
+			| 0ABH: y := 0AEH
+			| 0ACH: y := 0AAH
+			| 0B0H: y := 0F8H
+			| 0B1H: y := 0F1H
+			| 0B2H: y := 0FDH
+			| 0B5H: y := 0E6H
+			| 0B7H: y := 0FAH
+			| 0BAH: y := 0A7H
+			| 0BBH: y := 0AFH
+			| 0BCH: y := 0ACH
+			| 0BDH: y := 0ABH
+			| 0BFH: y := 0A8H
+			| 0D1H: y := 0A5H
+			| 0DFH: y := 0E1H
+			| 0E1H: y := 0A0H
+			| 0EDH: y := 0A1H
+			| 0F1H: y := 0A4H
+			| 0F3H: y := 0A2H
+			| 0F7H: y := 0F6H
+			| 0FAH: y := 0A3H
+			| 0192H: y := 9FH
+			| 0393H: y := 0E2H
+			| 0398H: y := 0E9H
+			| 03A3H: y := 0E4H
+			| 03A6H: y := 0E8H
+			| 03A9H: y := 0EAH
+			| 03B1H: y := 0E0H
+			| 03B4H: y := 0EBH
+			| 03B5H: y := 0EEH
+			| 03C0H: y := 0E3H
+			| 03C3H: y := 0E5H
+			| 03C4H: y := 0E7H
+			| 03C6H: y := 0EDH
+			| 05D0H..05EAH: y := x - 0550H
+			| 207FH: y := 0FCH
+			| 20A7H: y := 9EH
+			| 2219H: y := 0F9H
+			| 221AH: y := 0FBH
+			| 221EH: y := 0ECH
+			| 2229H: y := 0EFH
+			| 2248H: y := 0F7H
+			| 2261H: y := 0F0H
+			| 2264H: y := 0F3H
+			| 2265H: y := 0F2H
+			| 2310H: y := 0A9H
+			| 2320H..2321H: y := x - 222CH
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2552H..2553H: y := x - 247DH
+			| 2554H: y := 0C9H
+			| 2555H: y := 0B8H
+			| 2556H: y := 0B7H
+			| 2557H: y := 0BBH
+			| 2558H: y := 0D4H
+			| 2559H: y := 0D3H
+			| 255AH: y := 0C8H
+			| 255BH: y := 0BEH
+			| 255CH: y := 0BDH
+			| 255DH: y := 0BCH
+			| 255EH..255FH: y := x - 2498H
+			| 2560H: y := 0CCH
+			| 2561H..2562H: y := x - 24ACH
+			| 2563H: y := 0B9H
+			| 2564H..2565H: y := x - 2493H
+			| 2566H: y := 0CBH
+			| 2567H..2568H: y := x - 2498H
+			| 2569H: y := 0CAH
+			| 256AH: y := 0D8H
+			| 256BH: y := 0D7H
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 258CH: y := 0DDH
+			| 2590H: y := 0DEH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H..9AH: y := x + 0550H
+			| 9BH..9CH: y := x + 07H
+			| 9DH: y := 0A5H
+			| 9EH: y := 20A7H
+			| 9FH: y := 0192H
+			| 0A0H: y := 0E1H
+			| 0A1H: y := 0EDH
+			| 0A2H: y := 0F3H
+			| 0A3H: y := 0FAH
+			| 0A4H: y := 0F1H
+			| 0A5H: y := 0D1H
+			| 0A6H: y := 0AAH
+			| 0A7H: y := 0BAH
+			| 0A8H: y := 0BFH
+			| 0A9H: y := 2310H
+			| 0AAH: y := 0ACH
+			| 0ABH: y := 0BDH
+			| 0ACH: y := 0BCH
+			| 0ADH: y := 0A1H
+			| 0AEH: y := 0ABH
+			| 0AFH: y := 0BBH
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B5H..0B6H: y := x + 24ACH
+			| 0B7H: y := 2556H
+			| 0B8H: y := 2555H
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH: y := 255CH
+			| 0BEH: y := 255BH
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C6H..0C7H: y := x + 2498H
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH..0D0H: y := x + 2498H
+			| 0D1H..0D2H: y := x + 2493H
+			| 0D3H: y := 2559H
+			| 0D4H: y := 2558H
+			| 0D5H..0D6H: y := x + 247DH
+			| 0D7H: y := 256BH
+			| 0D8H: y := 256AH
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH: y := 258CH
+			| 0DEH: y := 2590H
+			| 0DFH: y := 2580H
+			| 0E0H: y := 03B1H
+			| 0E1H: y := 0DFH
+			| 0E2H: y := 0393H
+			| 0E3H: y := 03C0H
+			| 0E4H: y := 03A3H
+			| 0E5H: y := 03C3H
+			| 0E6H: y := 0B5H
+			| 0E7H: y := 03C4H
+			| 0E8H: y := 03A6H
+			| 0E9H: y := 0398H
+			| 0EAH: y := 03A9H
+			| 0EBH: y := 03B4H
+			| 0ECH: y := 221EH
+			| 0EDH: y := 03C6H
+			| 0EEH: y := 03B5H
+			| 0EFH: y := 2229H
+			| 0F0H: y := 2261H
+			| 0F1H: y := 0B1H
+			| 0F2H: y := 2265H
+			| 0F3H: y := 2264H
+			| 0F4H..0F5H: y := x + 222CH
+			| 0F6H: y := 0F7H
+			| 0F7H: y := 2248H
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 2219H
+			| 0FAH: y := 0B7H
+			| 0FBH: y := 221AH
+			| 0FCH: y := 207FH
+			| 0FDH: y := 0B2H
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp862.

+ 313 - 0
BlackBox/Enc/Mod/StdMap_cp863.txt

@@ -0,0 +1,313 @@
+MODULE EncStdMap_cp863;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP863.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0FFH
+			| 0A2H..0A3H: y := x - 07H
+			| 0A4H: y := 98H
+			| 0A6H: y := 0A0H
+			| 0A7H: y := 8FH
+			| 0A8H: y := 0A4H
+			| 0ABH: y := 0AEH
+			| 0ACH: y := 0AAH
+			| 0AFH: y := 0A7H
+			| 0B0H: y := 0F8H
+			| 0B1H: y := 0F1H
+			| 0B2H: y := 0FDH
+			| 0B3H: y := 0A6H
+			| 0B4H: y := 0A1H
+			| 0B5H: y := 0E6H
+			| 0B6H: y := 86H
+			| 0B7H: y := 0FAH
+			| 0B8H: y := 0A5H
+			| 0BBH: y := 0AFH
+			| 0BCH: y := 0ACH
+			| 0BDH: y := 0ABH
+			| 0BEH: y := 0ADH
+			| 0C0H: y := 8EH
+			| 0C2H: y := 84H
+			| 0C7H: y := 80H
+			| 0C8H: y := 91H
+			| 0C9H: y := 90H
+			| 0CAH: y := 92H
+			| 0CBH: y := 94H
+			| 0CEH: y := 0A8H
+			| 0CFH: y := 95H
+			| 0D4H: y := 99H
+			| 0D9H: y := 9DH
+			| 0DBH: y := 9EH
+			| 0DCH: y := 9AH
+			| 0DFH: y := 0E1H
+			| 0E0H: y := 85H
+			| 0E2H: y := 83H
+			| 0E7H: y := 87H
+			| 0E8H: y := 8AH
+			| 0E9H: y := 82H
+			| 0EAH..0EBH: y := x - 62H
+			| 0EEH: y := 8CH
+			| 0EFH: y := 8BH
+			| 0F3H: y := 0A2H
+			| 0F4H: y := 93H
+			| 0F7H: y := 0F6H
+			| 0F9H: y := 97H
+			| 0FAH: y := 0A3H
+			| 0FBH: y := 96H
+			| 0FCH: y := 81H
+			| 0192H: y := 9FH
+			| 0393H: y := 0E2H
+			| 0398H: y := 0E9H
+			| 03A3H: y := 0E4H
+			| 03A6H: y := 0E8H
+			| 03A9H: y := 0EAH
+			| 03B1H: y := 0E0H
+			| 03B4H: y := 0EBH
+			| 03B5H: y := 0EEH
+			| 03C0H: y := 0E3H
+			| 03C3H: y := 0E5H
+			| 03C4H: y := 0E7H
+			| 03C6H: y := 0EDH
+			| 2017H: y := 8DH
+			| 207FH: y := 0FCH
+			| 2219H: y := 0F9H
+			| 221AH: y := 0FBH
+			| 221EH: y := 0ECH
+			| 2229H: y := 0EFH
+			| 2248H: y := 0F7H
+			| 2261H: y := 0F0H
+			| 2264H: y := 0F3H
+			| 2265H: y := 0F2H
+			| 2310H: y := 0A9H
+			| 2320H..2321H: y := x - 222CH
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2552H..2553H: y := x - 247DH
+			| 2554H: y := 0C9H
+			| 2555H: y := 0B8H
+			| 2556H: y := 0B7H
+			| 2557H: y := 0BBH
+			| 2558H: y := 0D4H
+			| 2559H: y := 0D3H
+			| 255AH: y := 0C8H
+			| 255BH: y := 0BEH
+			| 255CH: y := 0BDH
+			| 255DH: y := 0BCH
+			| 255EH..255FH: y := x - 2498H
+			| 2560H: y := 0CCH
+			| 2561H..2562H: y := x - 24ACH
+			| 2563H: y := 0B9H
+			| 2564H..2565H: y := x - 2493H
+			| 2566H: y := 0CBH
+			| 2567H..2568H: y := x - 2498H
+			| 2569H: y := 0CAH
+			| 256AH: y := 0D8H
+			| 256BH: y := 0D7H
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 258CH: y := 0DDH
+			| 2590H: y := 0DEH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 0C7H
+			| 81H: y := 0FCH
+			| 82H: y := 0E9H
+			| 83H: y := 0E2H
+			| 84H: y := 0C2H
+			| 85H: y := 0E0H
+			| 86H: y := 0B6H
+			| 87H: y := 0E7H
+			| 88H..89H: y := x + 62H
+			| 8AH: y := 0E8H
+			| 8BH: y := 0EFH
+			| 8CH: y := 0EEH
+			| 8DH: y := 2017H
+			| 8EH: y := 0C0H
+			| 8FH: y := 0A7H
+			| 90H: y := 0C9H
+			| 91H: y := 0C8H
+			| 92H: y := 0CAH
+			| 93H: y := 0F4H
+			| 94H: y := 0CBH
+			| 95H: y := 0CFH
+			| 96H: y := 0FBH
+			| 97H: y := 0F9H
+			| 98H: y := 0A4H
+			| 99H: y := 0D4H
+			| 9AH: y := 0DCH
+			| 9BH..9CH: y := x + 07H
+			| 9DH: y := 0D9H
+			| 9EH: y := 0DBH
+			| 9FH: y := 0192H
+			| 0A0H: y := 0A6H
+			| 0A1H: y := 0B4H
+			| 0A2H: y := 0F3H
+			| 0A3H: y := 0FAH
+			| 0A4H: y := 0A8H
+			| 0A5H: y := 0B8H
+			| 0A6H: y := 0B3H
+			| 0A7H: y := 0AFH
+			| 0A8H: y := 0CEH
+			| 0A9H: y := 2310H
+			| 0AAH: y := 0ACH
+			| 0ABH: y := 0BDH
+			| 0ACH: y := 0BCH
+			| 0ADH: y := 0BEH
+			| 0AEH: y := 0ABH
+			| 0AFH: y := 0BBH
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B5H..0B6H: y := x + 24ACH
+			| 0B7H: y := 2556H
+			| 0B8H: y := 2555H
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH: y := 255CH
+			| 0BEH: y := 255BH
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C6H..0C7H: y := x + 2498H
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH..0D0H: y := x + 2498H
+			| 0D1H..0D2H: y := x + 2493H
+			| 0D3H: y := 2559H
+			| 0D4H: y := 2558H
+			| 0D5H..0D6H: y := x + 247DH
+			| 0D7H: y := 256BH
+			| 0D8H: y := 256AH
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH: y := 258CH
+			| 0DEH: y := 2590H
+			| 0DFH: y := 2580H
+			| 0E0H: y := 03B1H
+			| 0E1H: y := 0DFH
+			| 0E2H: y := 0393H
+			| 0E3H: y := 03C0H
+			| 0E4H: y := 03A3H
+			| 0E5H: y := 03C3H
+			| 0E6H: y := 0B5H
+			| 0E7H: y := 03C4H
+			| 0E8H: y := 03A6H
+			| 0E9H: y := 0398H
+			| 0EAH: y := 03A9H
+			| 0EBH: y := 03B4H
+			| 0ECH: y := 221EH
+			| 0EDH: y := 03C6H
+			| 0EEH: y := 03B5H
+			| 0EFH: y := 2229H
+			| 0F0H: y := 2261H
+			| 0F1H: y := 0B1H
+			| 0F2H: y := 2265H
+			| 0F3H: y := 2264H
+			| 0F4H..0F5H: y := x + 222CH
+			| 0F6H: y := 0F7H
+			| 0F7H: y := 2248H
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 2219H
+			| 0FAH: y := 0B7H
+			| 0FBH: y := 221AH
+			| 0FCH: y := 207FH
+			| 0FDH: y := 0B2H
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp863.

+ 293 - 0
BlackBox/Enc/Mod/StdMap_cp864.txt

@@ -0,0 +1,293 @@
+MODULE EncStdMap_cp864;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP864.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..24H: y := x
+			| 26H..7FH: y := x
+			| 0A0H: y := 0A0H
+			| 0A2H: y := 0C0H
+			| 0A3H..0A4H: y := x
+			| 0A6H: y := 0DBH
+			| 0ABH: y := 97H
+			| 0ACH: y := 0DCH
+			| 0ADH: y := 0A1H
+			| 0B0H: y := 80H
+			| 0B1H: y := 93H
+			| 0B7H: y := 81H
+			| 0BBH: y := 98H
+			| 0BCH: y := 95H
+			| 0BDH: y := 94H
+			| 0D7H: y := 0DEH
+			| 0F7H: y := 0DDH
+			| 03B2H: y := 90H
+			| 03C6H: y := 92H
+			| 060CH: y := 0ACH
+			| 061BH: y := 0BBH
+			| 061FH: y := 0BFH
+			| 0640H: y := 0E0H
+			| 0651H: y := 0F1H
+			| 0660H..0669H: y := x - 05B0H
+			| 066AH: y := 25H
+			| 2219H..221AH: y := x - 2197H
+			| 221EH: y := 91H
+			| 2248H: y := 96H
+			| 2500H: y := 85H
+			| 2502H: y := 86H
+			| 250CH: y := 8DH
+			| 2510H: y := 8CH
+			| 2514H: y := 8EH
+			| 2518H: y := 8FH
+			| 251CH: y := 8AH
+			| 2524H: y := 88H
+			| 252CH: y := 89H
+			| 2534H: y := 8BH
+			| 253CH: y := 87H
+			| 2592H: y := 84H
+			| 25A0H: y := 0FEH
+			| 0FE7DH: y := 0F0H
+			| 0FE80H..0FE81H: y := x - 0FDBFH
+			| 0FE82H: y := 0A2H
+			| 0FE83H: y := 0C3H
+			| 0FE84H: y := 0A5H
+			| 0FE85H: y := 0C4H
+			| 0FE8BH: y := 0C6H
+			| 0FE8DH: y := 0C7H
+			| 0FE8EH..0FE8FH: y := x - 0FDE6H
+			| 0FE91H: y := 0C8H
+			| 0FE93H: y := 0C9H
+			| 0FE95H: y := 0AAH
+			| 0FE97H: y := 0CAH
+			| 0FE99H: y := 0ABH
+			| 0FE9BH: y := 0CBH
+			| 0FE9DH: y := 0ADH
+			| 0FE9FH: y := 0CCH
+			| 0FEA1H: y := 0AEH
+			| 0FEA3H: y := 0CDH
+			| 0FEA5H: y := 0AFH
+			| 0FEA7H: y := 0CEH
+			| 0FEA9H: y := 0CFH
+			| 0FEABH: y := 0D0H
+			| 0FEADH: y := 0D1H
+			| 0FEAFH: y := 0D2H
+			| 0FEB1H: y := 0BCH
+			| 0FEB3H: y := 0D3H
+			| 0FEB5H: y := 0BDH
+			| 0FEB7H: y := 0D4H
+			| 0FEB9H: y := 0BEH
+			| 0FEBBH: y := 0D5H
+			| 0FEBDH: y := 0EBH
+			| 0FEBFH: y := 0D6H
+			| 0FEC1H: y := 0D7H
+			| 0FEC5H: y := 0D8H
+			| 0FEC9H: y := 0DFH
+			| 0FECAH: y := 0C5H
+			| 0FECBH: y := 0D9H
+			| 0FECCH: y := 0ECH
+			| 0FECDH: y := 0EEH
+			| 0FECEH: y := 0EDH
+			| 0FECFH: y := 0DAH
+			| 0FED0H: y := 0F7H
+			| 0FED1H: y := 0BAH
+			| 0FED3H: y := 0E1H
+			| 0FED5H: y := 0F8H
+			| 0FED7H: y := 0E2H
+			| 0FED9H: y := 0FCH
+			| 0FEDBH: y := 0E3H
+			| 0FEDDH: y := 0FBH
+			| 0FEDFH: y := 0E4H
+			| 0FEE1H: y := 0EFH
+			| 0FEE3H: y := 0E5H
+			| 0FEE5H: y := 0F2H
+			| 0FEE7H: y := 0E6H
+			| 0FEE9H: y := 0F3H
+			| 0FEEBH: y := 0E7H
+			| 0FEECH: y := 0F4H
+			| 0FEEDH: y := 0E8H
+			| 0FEEFH: y := 0E9H
+			| 0FEF0H: y := 0F5H
+			| 0FEF1H: y := 0FDH
+			| 0FEF2H: y := 0F6H
+			| 0FEF3H: y := 0EAH
+			| 0FEF5H..0FEF6H: y := x - 0FDFCH
+			| 0FEF7H..0FEF8H: y := x - 0FE5EH
+			| 0FEFBH..0FEFCH: y := x - 0FE5EH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..24H: y := x
+			| 25H: y := 066AH
+			| 26H..7FH: y := x
+			| 80H: y := 0B0H
+			| 81H: y := 0B7H
+			| 82H..83H: y := x + 2197H
+			| 84H: y := 2592H
+			| 85H: y := 2500H
+			| 86H: y := 2502H
+			| 87H: y := 253CH
+			| 88H: y := 2524H
+			| 89H: y := 252CH
+			| 8AH: y := 251CH
+			| 8BH: y := 2534H
+			| 8CH: y := 2510H
+			| 8DH: y := 250CH
+			| 8EH: y := 2514H
+			| 8FH: y := 2518H
+			| 90H: y := 03B2H
+			| 91H: y := 221EH
+			| 92H: y := 03C6H
+			| 93H: y := 0B1H
+			| 94H: y := 0BDH
+			| 95H: y := 0BCH
+			| 96H: y := 2248H
+			| 97H: y := 0ABH
+			| 98H: y := 0BBH
+			| 99H..9AH: y := x + 0FE5EH
+			| 9DH..9EH: y := x + 0FE5EH
+			| 0A0H: y := 0A0H
+			| 0A1H: y := 0ADH
+			| 0A2H: y := 0FE82H
+			| 0A3H..0A4H: y := x
+			| 0A5H: y := 0FE84H
+			| 0A8H..0A9H: y := x + 0FDE6H
+			| 0AAH: y := 0FE95H
+			| 0ABH: y := 0FE99H
+			| 0ACH: y := 060CH
+			| 0ADH: y := 0FE9DH
+			| 0AEH: y := 0FEA1H
+			| 0AFH: y := 0FEA5H
+			| 0B0H..0B9H: y := x + 05B0H
+			| 0BAH: y := 0FED1H
+			| 0BBH: y := 061BH
+			| 0BCH: y := 0FEB1H
+			| 0BDH: y := 0FEB5H
+			| 0BEH: y := 0FEB9H
+			| 0BFH: y := 061FH
+			| 0C0H: y := 0A2H
+			| 0C1H..0C2H: y := x + 0FDBFH
+			| 0C3H: y := 0FE83H
+			| 0C4H: y := 0FE85H
+			| 0C5H: y := 0FECAH
+			| 0C6H: y := 0FE8BH
+			| 0C7H: y := 0FE8DH
+			| 0C8H: y := 0FE91H
+			| 0C9H: y := 0FE93H
+			| 0CAH: y := 0FE97H
+			| 0CBH: y := 0FE9BH
+			| 0CCH: y := 0FE9FH
+			| 0CDH: y := 0FEA3H
+			| 0CEH: y := 0FEA7H
+			| 0CFH: y := 0FEA9H
+			| 0D0H: y := 0FEABH
+			| 0D1H: y := 0FEADH
+			| 0D2H: y := 0FEAFH
+			| 0D3H: y := 0FEB3H
+			| 0D4H: y := 0FEB7H
+			| 0D5H: y := 0FEBBH
+			| 0D6H: y := 0FEBFH
+			| 0D7H: y := 0FEC1H
+			| 0D8H: y := 0FEC5H
+			| 0D9H: y := 0FECBH
+			| 0DAH: y := 0FECFH
+			| 0DBH: y := 0A6H
+			| 0DCH: y := 0ACH
+			| 0DDH: y := 0F7H
+			| 0DEH: y := 0D7H
+			| 0DFH: y := 0FEC9H
+			| 0E0H: y := 0640H
+			| 0E1H: y := 0FED3H
+			| 0E2H: y := 0FED7H
+			| 0E3H: y := 0FEDBH
+			| 0E4H: y := 0FEDFH
+			| 0E5H: y := 0FEE3H
+			| 0E6H: y := 0FEE7H
+			| 0E7H: y := 0FEEBH
+			| 0E8H: y := 0FEEDH
+			| 0E9H: y := 0FEEFH
+			| 0EAH: y := 0FEF3H
+			| 0EBH: y := 0FEBDH
+			| 0ECH: y := 0FECCH
+			| 0EDH: y := 0FECEH
+			| 0EEH: y := 0FECDH
+			| 0EFH: y := 0FEE1H
+			| 0F0H: y := 0FE7DH
+			| 0F1H: y := 0651H
+			| 0F2H: y := 0FEE5H
+			| 0F3H: y := 0FEE9H
+			| 0F4H: y := 0FEECH
+			| 0F5H: y := 0FEF0H
+			| 0F6H: y := 0FEF2H
+			| 0F7H: y := 0FED0H
+			| 0F8H: y := 0FED5H
+			| 0F9H..0FAH: y := x + 0FDFCH
+			| 0FBH: y := 0FEDDH
+			| 0FCH: y := 0FED9H
+			| 0FDH: y := 0FEF1H
+			| 0FEH: y := 25A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp864.

+ 313 - 0
BlackBox/Enc/Mod/StdMap_cp865.txt

@@ -0,0 +1,313 @@
+MODULE EncStdMap_cp865;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP865.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0FFH
+			| 0A1H: y := 0ADH
+			| 0A3H: y := 9CH
+			| 0A4H: y := 0AFH
+			| 0AAH: y := 0A6H
+			| 0ABH: y := 0AEH
+			| 0ACH: y := 0AAH
+			| 0B0H: y := 0F8H
+			| 0B1H: y := 0F1H
+			| 0B2H: y := 0FDH
+			| 0B5H: y := 0E6H
+			| 0B7H: y := 0FAH
+			| 0BAH: y := 0A7H
+			| 0BCH: y := 0ACH
+			| 0BDH: y := 0ABH
+			| 0BFH: y := 0A8H
+			| 0C4H..0C5H: y := x - 36H
+			| 0C6H: y := 92H
+			| 0C7H: y := 80H
+			| 0C9H: y := 90H
+			| 0D1H: y := 0A5H
+			| 0D6H: y := 99H
+			| 0D8H: y := 9DH
+			| 0DCH: y := 9AH
+			| 0DFH: y := 0E1H
+			| 0E0H: y := 85H
+			| 0E1H: y := 0A0H
+			| 0E2H: y := 83H
+			| 0E4H: y := 84H
+			| 0E5H: y := 86H
+			| 0E6H: y := 91H
+			| 0E7H: y := 87H
+			| 0E8H: y := 8AH
+			| 0E9H: y := 82H
+			| 0EAH..0EBH: y := x - 62H
+			| 0ECH: y := 8DH
+			| 0EDH: y := 0A1H
+			| 0EEH: y := 8CH
+			| 0EFH: y := 8BH
+			| 0F1H: y := 0A4H
+			| 0F2H: y := 95H
+			| 0F3H: y := 0A2H
+			| 0F4H: y := 93H
+			| 0F6H: y := 94H
+			| 0F7H: y := 0F6H
+			| 0F8H: y := 9BH
+			| 0F9H: y := 97H
+			| 0FAH: y := 0A3H
+			| 0FBH: y := 96H
+			| 0FCH: y := 81H
+			| 0FFH: y := 98H
+			| 0192H: y := 9FH
+			| 0393H: y := 0E2H
+			| 0398H: y := 0E9H
+			| 03A3H: y := 0E4H
+			| 03A6H: y := 0E8H
+			| 03A9H: y := 0EAH
+			| 03B1H: y := 0E0H
+			| 03B4H: y := 0EBH
+			| 03B5H: y := 0EEH
+			| 03C0H: y := 0E3H
+			| 03C3H: y := 0E5H
+			| 03C4H: y := 0E7H
+			| 03C6H: y := 0EDH
+			| 207FH: y := 0FCH
+			| 20A7H: y := 9EH
+			| 2219H: y := 0F9H
+			| 221AH: y := 0FBH
+			| 221EH: y := 0ECH
+			| 2229H: y := 0EFH
+			| 2248H: y := 0F7H
+			| 2261H: y := 0F0H
+			| 2264H: y := 0F3H
+			| 2265H: y := 0F2H
+			| 2310H: y := 0A9H
+			| 2320H..2321H: y := x - 222CH
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2552H..2553H: y := x - 247DH
+			| 2554H: y := 0C9H
+			| 2555H: y := 0B8H
+			| 2556H: y := 0B7H
+			| 2557H: y := 0BBH
+			| 2558H: y := 0D4H
+			| 2559H: y := 0D3H
+			| 255AH: y := 0C8H
+			| 255BH: y := 0BEH
+			| 255CH: y := 0BDH
+			| 255DH: y := 0BCH
+			| 255EH..255FH: y := x - 2498H
+			| 2560H: y := 0CCH
+			| 2561H..2562H: y := x - 24ACH
+			| 2563H: y := 0B9H
+			| 2564H..2565H: y := x - 2493H
+			| 2566H: y := 0CBH
+			| 2567H..2568H: y := x - 2498H
+			| 2569H: y := 0CAH
+			| 256AH: y := 0D8H
+			| 256BH: y := 0D7H
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 258CH: y := 0DDH
+			| 2590H: y := 0DEH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 0C7H
+			| 81H: y := 0FCH
+			| 82H: y := 0E9H
+			| 83H: y := 0E2H
+			| 84H: y := 0E4H
+			| 85H: y := 0E0H
+			| 86H: y := 0E5H
+			| 87H: y := 0E7H
+			| 88H..89H: y := x + 62H
+			| 8AH: y := 0E8H
+			| 8BH: y := 0EFH
+			| 8CH: y := 0EEH
+			| 8DH: y := 0ECH
+			| 8EH..8FH: y := x + 36H
+			| 90H: y := 0C9H
+			| 91H: y := 0E6H
+			| 92H: y := 0C6H
+			| 93H: y := 0F4H
+			| 94H: y := 0F6H
+			| 95H: y := 0F2H
+			| 96H: y := 0FBH
+			| 97H: y := 0F9H
+			| 98H: y := 0FFH
+			| 99H: y := 0D6H
+			| 9AH: y := 0DCH
+			| 9BH: y := 0F8H
+			| 9CH: y := 0A3H
+			| 9DH: y := 0D8H
+			| 9EH: y := 20A7H
+			| 9FH: y := 0192H
+			| 0A0H: y := 0E1H
+			| 0A1H: y := 0EDH
+			| 0A2H: y := 0F3H
+			| 0A3H: y := 0FAH
+			| 0A4H: y := 0F1H
+			| 0A5H: y := 0D1H
+			| 0A6H: y := 0AAH
+			| 0A7H: y := 0BAH
+			| 0A8H: y := 0BFH
+			| 0A9H: y := 2310H
+			| 0AAH: y := 0ACH
+			| 0ABH: y := 0BDH
+			| 0ACH: y := 0BCH
+			| 0ADH: y := 0A1H
+			| 0AEH: y := 0ABH
+			| 0AFH: y := 0A4H
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B5H..0B6H: y := x + 24ACH
+			| 0B7H: y := 2556H
+			| 0B8H: y := 2555H
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH: y := 255CH
+			| 0BEH: y := 255BH
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C6H..0C7H: y := x + 2498H
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH..0D0H: y := x + 2498H
+			| 0D1H..0D2H: y := x + 2493H
+			| 0D3H: y := 2559H
+			| 0D4H: y := 2558H
+			| 0D5H..0D6H: y := x + 247DH
+			| 0D7H: y := 256BH
+			| 0D8H: y := 256AH
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH: y := 258CH
+			| 0DEH: y := 2590H
+			| 0DFH: y := 2580H
+			| 0E0H: y := 03B1H
+			| 0E1H: y := 0DFH
+			| 0E2H: y := 0393H
+			| 0E3H: y := 03C0H
+			| 0E4H: y := 03A3H
+			| 0E5H: y := 03C3H
+			| 0E6H: y := 0B5H
+			| 0E7H: y := 03C4H
+			| 0E8H: y := 03A6H
+			| 0E9H: y := 0398H
+			| 0EAH: y := 03A9H
+			| 0EBH: y := 03B4H
+			| 0ECH: y := 221EH
+			| 0EDH: y := 03C6H
+			| 0EEH: y := 03B5H
+			| 0EFH: y := 2229H
+			| 0F0H: y := 2261H
+			| 0F1H: y := 0B1H
+			| 0F2H: y := 2265H
+			| 0F3H: y := 2264H
+			| 0F4H..0F5H: y := x + 222CH
+			| 0F6H: y := 0F7H
+			| 0F7H: y := 2248H
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 2219H
+			| 0FAH: y := 0B7H
+			| 0FBH: y := 221AH
+			| 0FCH: y := 207FH
+			| 0FDH: y := 0B2H
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp865.

+ 195 - 0
BlackBox/Enc/Mod/StdMap_cp866.txt

@@ -0,0 +1,195 @@
+MODULE EncStdMap_cp866;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP866.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0FFH
+			| 0A4H: y := 0FDH
+			| 0B0H: y := 0F8H
+			| 0B7H: y := 0FAH
+			| 0401H: y := 0F0H
+			| 0404H: y := 0F2H
+			| 0407H: y := 0F4H
+			| 040EH: y := 0F6H
+			| 0410H..043FH: y := x - 0390H
+			| 0440H..044FH: y := x - 0360H
+			| 0451H: y := 0F1H
+			| 0454H: y := 0F3H
+			| 0457H: y := 0F5H
+			| 045EH: y := 0F7H
+			| 2116H: y := 0FCH
+			| 2219H: y := 0F9H
+			| 221AH: y := 0FBH
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2552H..2553H: y := x - 247DH
+			| 2554H: y := 0C9H
+			| 2555H: y := 0B8H
+			| 2556H: y := 0B7H
+			| 2557H: y := 0BBH
+			| 2558H: y := 0D4H
+			| 2559H: y := 0D3H
+			| 255AH: y := 0C8H
+			| 255BH: y := 0BEH
+			| 255CH: y := 0BDH
+			| 255DH: y := 0BCH
+			| 255EH..255FH: y := x - 2498H
+			| 2560H: y := 0CCH
+			| 2561H..2562H: y := x - 24ACH
+			| 2563H: y := 0B9H
+			| 2564H..2565H: y := x - 2493H
+			| 2566H: y := 0CBH
+			| 2567H..2568H: y := x - 2498H
+			| 2569H: y := 0CAH
+			| 256AH: y := 0D8H
+			| 256BH: y := 0D7H
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 258CH: y := 0DDH
+			| 2590H: y := 0DEH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H..0AFH: y := x + 0390H
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B5H..0B6H: y := x + 24ACH
+			| 0B7H: y := 2556H
+			| 0B8H: y := 2555H
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH: y := 255CH
+			| 0BEH: y := 255BH
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C6H..0C7H: y := x + 2498H
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH..0D0H: y := x + 2498H
+			| 0D1H..0D2H: y := x + 2493H
+			| 0D3H: y := 2559H
+			| 0D4H: y := 2558H
+			| 0D5H..0D6H: y := x + 247DH
+			| 0D7H: y := 256BH
+			| 0D8H: y := 256AH
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH: y := 258CH
+			| 0DEH: y := 2590H
+			| 0DFH: y := 2580H
+			| 0E0H..0EFH: y := x + 0360H
+			| 0F0H: y := 0401H
+			| 0F1H: y := 0451H
+			| 0F2H: y := 0404H
+			| 0F3H: y := 0454H
+			| 0F4H: y := 0407H
+			| 0F5H: y := 0457H
+			| 0F6H: y := 040EH
+			| 0F7H: y := 045EH
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 2219H
+			| 0FAH: y := 0B7H
+			| 0FBH: y := 221AH
+			| 0FCH: y := 2116H
+			| 0FDH: y := 0A4H
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp866.

+ 231 - 0
BlackBox/Enc/Mod/StdMap_cp869.txt

@@ -0,0 +1,231 @@
+MODULE EncStdMap_cp869;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP869.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0FFH
+			| 0A3H: y := 9CH
+			| 0A6H: y := 8AH
+			| 0A7H: y := 0F5H
+			| 0A8H: y := 0F9H
+			| 0A9H: y := 97H
+			| 0ABH: y := 0AEH
+			| 0ACH: y := 89H
+			| 0ADH: y := 0F0H
+			| 0B0H: y := 0F8H
+			| 0B1H: y := 0F1H
+			| 0B2H..0B3H: y := x - 19H
+			| 0B7H: y := 88H
+			| 0BBH: y := 0AFH
+			| 0BDH: y := 0ABH
+			| 0384H: y := 0EFH
+			| 0385H: y := 0F7H
+			| 0386H: y := 86H
+			| 0388H: y := 8DH
+			| 0389H..038AH: y := x - 02FAH
+			| 038CH: y := 92H
+			| 038EH: y := 95H
+			| 038FH: y := 98H
+			| 0390H: y := 0A1H
+			| 0391H..0397H: y := x - 02EDH
+			| 0398H..0399H: y := x - 02ECH
+			| 039AH..039DH: y := x - 02E5H
+			| 039EH..039FH: y := x - 02E1H
+			| 03A0H..03A1H: y := x - 02DAH
+			| 03A3H..03A9H: y := x - 02D4H
+			| 03AAH: y := 91H
+			| 03ABH: y := 96H
+			| 03ACH: y := 9BH
+			| 03ADH..03AFH: y := x - 0310H
+			| 03B0H: y := 0FCH
+			| 03B1H..03B3H: y := x - 02DBH
+			| 03B4H..03B5H: y := x - 02D7H
+			| 03B6H..03C1H: y := x - 02D6H
+			| 03C2H: y := 0EDH
+			| 03C3H: y := 0ECH
+			| 03C4H: y := 0EEH
+			| 03C5H..03C7H: y := x - 02D3H
+			| 03C8H: y := 0F6H
+			| 03C9H: y := 0FAH
+			| 03CAH: y := 0A0H
+			| 03CBH: y := 0FBH
+			| 03CCH..03CDH: y := x - 032AH
+			| 03CEH: y := 0FDH
+			| 2015H: y := 8EH
+			| 2018H..2019H: y := x - 1F8DH
+			| 2500H: y := 0C4H
+			| 2502H: y := 0B3H
+			| 250CH: y := 0DAH
+			| 2510H: y := 0BFH
+			| 2514H: y := 0C0H
+			| 2518H: y := 0D9H
+			| 251CH: y := 0C3H
+			| 2524H: y := 0B4H
+			| 252CH: y := 0C2H
+			| 2534H: y := 0C1H
+			| 253CH: y := 0C5H
+			| 2550H: y := 0CDH
+			| 2551H: y := 0BAH
+			| 2554H: y := 0C9H
+			| 2557H: y := 0BBH
+			| 255AH: y := 0C8H
+			| 255DH: y := 0BCH
+			| 2560H: y := 0CCH
+			| 2563H: y := 0B9H
+			| 2566H: y := 0CBH
+			| 2569H: y := 0CAH
+			| 256CH: y := 0CEH
+			| 2580H: y := 0DFH
+			| 2584H: y := 0DCH
+			| 2588H: y := 0DBH
+			| 2591H..2593H: y := x - 24E1H
+			| 25A0H: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 86H: y := 0386H
+			| 88H: y := 0B7H
+			| 89H: y := 0ACH
+			| 8AH: y := 0A6H
+			| 8BH..8CH: y := x + 1F8DH
+			| 8DH: y := 0388H
+			| 8EH: y := 2015H
+			| 8FH..90H: y := x + 02FAH
+			| 91H: y := 03AAH
+			| 92H: y := 038CH
+			| 95H: y := 038EH
+			| 96H: y := 03ABH
+			| 97H: y := 0A9H
+			| 98H: y := 038FH
+			| 99H..9AH: y := x + 19H
+			| 9BH: y := 03ACH
+			| 9CH: y := 0A3H
+			| 9DH..9FH: y := x + 0310H
+			| 0A0H: y := 03CAH
+			| 0A1H: y := 0390H
+			| 0A2H..0A3H: y := x + 032AH
+			| 0A4H..0AAH: y := x + 02EDH
+			| 0ABH: y := 0BDH
+			| 0ACH..0ADH: y := x + 02ECH
+			| 0AEH: y := 0ABH
+			| 0AFH: y := 0BBH
+			| 0B0H..0B2H: y := x + 24E1H
+			| 0B3H: y := 2502H
+			| 0B4H: y := 2524H
+			| 0B5H..0B8H: y := x + 02E5H
+			| 0B9H: y := 2563H
+			| 0BAH: y := 2551H
+			| 0BBH: y := 2557H
+			| 0BCH: y := 255DH
+			| 0BDH..0BEH: y := x + 02E1H
+			| 0BFH: y := 2510H
+			| 0C0H: y := 2514H
+			| 0C1H: y := 2534H
+			| 0C2H: y := 252CH
+			| 0C3H: y := 251CH
+			| 0C4H: y := 2500H
+			| 0C5H: y := 253CH
+			| 0C6H..0C7H: y := x + 02DAH
+			| 0C8H: y := 255AH
+			| 0C9H: y := 2554H
+			| 0CAH: y := 2569H
+			| 0CBH: y := 2566H
+			| 0CCH: y := 2560H
+			| 0CDH: y := 2550H
+			| 0CEH: y := 256CH
+			| 0CFH..0D5H: y := x + 02D4H
+			| 0D6H..0D8H: y := x + 02DBH
+			| 0D9H: y := 2518H
+			| 0DAH: y := 250CH
+			| 0DBH: y := 2588H
+			| 0DCH: y := 2584H
+			| 0DDH..0DEH: y := x + 02D7H
+			| 0DFH: y := 2580H
+			| 0E0H..0EBH: y := x + 02D6H
+			| 0ECH: y := 03C3H
+			| 0EDH: y := 03C2H
+			| 0EEH: y := 03C4H
+			| 0EFH: y := 0384H
+			| 0F0H: y := 0ADH
+			| 0F1H: y := 0B1H
+			| 0F2H..0F4H: y := x + 02D3H
+			| 0F5H: y := 0A7H
+			| 0F6H: y := 03C8H
+			| 0F7H: y := 0385H
+			| 0F8H: y := 0B0H
+			| 0F9H: y := 0A8H
+			| 0FAH: y := 03C9H
+			| 0FBH: y := 03CBH
+			| 0FCH: y := 03B0H
+			| 0FDH: y := 03CEH
+			| 0FEH: y := 25A0H
+			| 0FFH: y := 0A0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp869.

+ 95 - 0
BlackBox/Enc/Mod/StdMap_cp874.txt

@@ -0,0 +1,95 @@
+MODULE EncStdMap_cp874;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP874.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0A0H
+			| 0E01H..0E3AH: y := x - 0D60H
+			| 0E3FH..0E5BH: y := x - 0D60H
+			| 2013H..2014H: y := x - 1F7DH
+			| 2018H..2019H: y := x - 1F87H
+			| 201CH..201DH: y := x - 1F89H
+			| 2022H: y := 95H
+			| 2026H: y := 85H
+			| 20ACH: y := 80H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 20ACH
+			| 85H: y := 2026H
+			| 91H..92H: y := x + 1F87H
+			| 93H..94H: y := x + 1F89H
+			| 95H: y := 2022H
+			| 96H..97H: y := x + 1F7DH
+			| 0A0H: y := 0A0H
+			| 0A1H..0DAH: y := x + 0D60H
+			| 0DFH..0FBH: y := x + 0D60H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_cp874.

+ 127 - 0
BlackBox/Enc/Mod/StdMap_georgian_academy.txt

@@ -0,0 +1,127 @@
+MODULE EncStdMap_georgian_academy;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.math.nmsu.edu/~mleisher/Software/csets/GEO-ITA.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..81H: y := x
+			| 8DH..90H: y := x
+			| 9DH..9EH: y := x
+			| 0A0H..0BFH: y := x
+			| 0E7H..0FFH: y := x
+			| 0152H: y := 8CH
+			| 0153H: y := 9CH
+			| 0160H: y := 8AH
+			| 0161H: y := 9AH
+			| 0178H: y := 9FH
+			| 0192H: y := 83H
+			| 02C6H: y := 88H
+			| 02DCH: y := 98H
+			| 10D0H..10F6H: y := x - 1010H
+			| 2013H..2014H: y := x - 1F7DH
+			| 2018H..2019H: y := x - 1F87H
+			| 201AH: y := 82H
+			| 201CH..201DH: y := x - 1F89H
+			| 201EH: y := 84H
+			| 2020H..2021H: y := x - 1F9AH
+			| 2022H: y := 95H
+			| 2026H: y := 85H
+			| 2030H: y := 89H
+			| 2039H: y := 8BH
+			| 203AH: y := 9BH
+			| 2122H: y := 99H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..81H: y := x
+			| 82H: y := 201AH
+			| 83H: y := 0192H
+			| 84H: y := 201EH
+			| 85H: y := 2026H
+			| 86H..87H: y := x + 1F9AH
+			| 88H: y := 02C6H
+			| 89H: y := 2030H
+			| 8AH: y := 0160H
+			| 8BH: y := 2039H
+			| 8CH: y := 0152H
+			| 8DH..90H: y := x
+			| 91H..92H: y := x + 1F87H
+			| 93H..94H: y := x + 1F89H
+			| 95H: y := 2022H
+			| 96H..97H: y := x + 1F7DH
+			| 98H: y := 02DCH
+			| 99H: y := 2122H
+			| 9AH: y := 0161H
+			| 9BH: y := 203AH
+			| 9CH: y := 0153H
+			| 9DH..9EH: y := x
+			| 9FH: y := 0178H
+			| 0A0H..0BFH: y := x
+			| 0C0H..0E6H: y := x + 1010H
+			| 0E7H..0FFH: y := x
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_georgian_academy.

+ 145 - 0
BlackBox/Enc/Mod/StdMap_georgian_ps.txt

@@ -0,0 +1,145 @@
+MODULE EncStdMap_georgian_ps;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.math.nmsu.edu/~mleisher/Software/csets/GEO-PS.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..81H: y := x
+			| 8DH..90H: y := x
+			| 9DH..9EH: y := x
+			| 0A0H..0BFH: y := x
+			| 0E6H..0FFH: y := x
+			| 0152H: y := 8CH
+			| 0153H: y := 9CH
+			| 0160H: y := 8AH
+			| 0161H: y := 9AH
+			| 0178H: y := 9FH
+			| 0192H: y := 83H
+			| 02C6H: y := 88H
+			| 02DCH: y := 98H
+			| 10D0H..10D6H: y := x - 1010H
+			| 10D7H..10DCH: y := x - 100FH
+			| 10DDH..10E2H: y := x - 100EH
+			| 10E3H..10EEH: y := x - 100DH
+			| 10EFH..10F0H: y := x - 100CH
+			| 10F1H: y := 0C7H
+			| 10F2H: y := 0CEH
+			| 10F3H: y := 0D5H
+			| 10F4H: y := 0E2H
+			| 10F5H: y := 0E5H
+			| 2013H..2014H: y := x - 1F7DH
+			| 2018H..2019H: y := x - 1F87H
+			| 201AH: y := 82H
+			| 201CH..201DH: y := x - 1F89H
+			| 201EH: y := 84H
+			| 2020H..2021H: y := x - 1F9AH
+			| 2022H: y := 95H
+			| 2026H: y := 85H
+			| 2030H: y := 89H
+			| 2039H: y := 8BH
+			| 203AH: y := 9BH
+			| 2122H: y := 99H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..81H: y := x
+			| 82H: y := 201AH
+			| 83H: y := 0192H
+			| 84H: y := 201EH
+			| 85H: y := 2026H
+			| 86H..87H: y := x + 1F9AH
+			| 88H: y := 02C6H
+			| 89H: y := 2030H
+			| 8AH: y := 0160H
+			| 8BH: y := 2039H
+			| 8CH: y := 0152H
+			| 8DH..90H: y := x
+			| 91H..92H: y := x + 1F87H
+			| 93H..94H: y := x + 1F89H
+			| 95H: y := 2022H
+			| 96H..97H: y := x + 1F7DH
+			| 98H: y := 02DCH
+			| 99H: y := 2122H
+			| 9AH: y := 0161H
+			| 9BH: y := 203AH
+			| 9CH: y := 0153H
+			| 9DH..9EH: y := x
+			| 9FH: y := 0178H
+			| 0A0H..0BFH: y := x
+			| 0C0H..0C6H: y := x + 1010H
+			| 0C7H: y := 10F1H
+			| 0C8H..0CDH: y := x + 100FH
+			| 0CEH: y := 10F2H
+			| 0CFH..0D4H: y := x + 100EH
+			| 0D5H: y := 10F3H
+			| 0D6H..0E1H: y := x + 100DH
+			| 0E2H: y := 10F4H
+			| 0E3H..0E4H: y := x + 100CH
+			| 0E5H: y := 10F5H
+			| 0E6H..0FFH: y := x
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_georgian_ps.

+ 255 - 0
BlackBox/Enc/Mod/StdMap_hp_roman8.txt

@@ -0,0 +1,255 @@
+MODULE EncStdMap_hp_roman8;
+
+	(* This file was generated automatically *)
+
+	(* Source: Python *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A1H: y := 0B8H
+			| 0A2H: y := 0BFH
+			| 0A3H: y := 0BBH
+			| 0A4H: y := 0BAH
+			| 0A5H: y := 0BCH
+			| 0A7H: y := 0BDH
+			| 0A8H: y := 0ABH
+			| 0AAH: y := 0F9H
+			| 0ABH: y := 0FBH
+			| 0AFH: y := 0B0H
+			| 0B0H: y := 0B3H
+			| 0B1H: y := 0FEH
+			| 0B4H: y := 0A8H
+			| 0B5H..0B6H: y := x + 3EH
+			| 0B7H: y := 0F2H
+			| 0BAH: y := 0FAH
+			| 0BBH: y := 0FDH
+			| 0BCH..0BDH: y := x + 3BH
+			| 0BEH: y := 0F5H
+			| 0BFH: y := 0B9H
+			| 0C0H: y := 0A1H
+			| 0C1H: y := 0E0H
+			| 0C2H: y := 0A2H
+			| 0C3H: y := 0E1H
+			| 0C4H: y := 0D8H
+			| 0C5H: y := 0D0H
+			| 0C6H: y := 0D3H
+			| 0C7H: y := 0B4H
+			| 0C8H: y := 0A3H
+			| 0C9H: y := 0DCH
+			| 0CAH..0CBH: y := x - 26H
+			| 0CCH: y := 0E6H
+			| 0CDH: y := 0E5H
+			| 0CEH..0CFH: y := x - 28H
+			| 0D0H: y := 0E3H
+			| 0D1H: y := 0B6H
+			| 0D2H: y := 0E8H
+			| 0D3H: y := 0E7H
+			| 0D4H: y := 0DFH
+			| 0D5H: y := 0E9H
+			| 0D6H: y := 0DAH
+			| 0D8H: y := 0D2H
+			| 0D9H: y := 0ADH
+			| 0DAH: y := 0EDH
+			| 0DBH: y := 0AEH
+			| 0DCH: y := 0DBH
+			| 0DDH: y := 0B1H
+			| 0DEH: y := 0F0H
+			| 0DFH: y := 0DEH
+			| 0E0H: y := 0C8H
+			| 0E1H: y := 0C4H
+			| 0E2H: y := 0C0H
+			| 0E3H: y := 0E2H
+			| 0E4H: y := 0CCH
+			| 0E5H: y := 0D4H
+			| 0E6H: y := 0D7H
+			| 0E7H: y := 0B5H
+			| 0E8H: y := 0C9H
+			| 0E9H: y := 0C5H
+			| 0EAH: y := 0C1H
+			| 0EBH: y := 0CDH
+			| 0ECH: y := 0D9H
+			| 0EDH: y := 0D5H
+			| 0EEH: y := 0D1H
+			| 0EFH: y := 0DDH
+			| 0F0H: y := 0E4H
+			| 0F1H: y := 0B7H
+			| 0F2H: y := 0CAH
+			| 0F3H: y := 0C6H
+			| 0F4H: y := 0C2H
+			| 0F5H: y := 0EAH
+			| 0F6H: y := 0CEH
+			| 0F8H: y := 0D6H
+			| 0F9H: y := 0CBH
+			| 0FAH: y := 0C7H
+			| 0FBH: y := 0C3H
+			| 0FCH: y := 0CFH
+			| 0FDH: y := 0B2H
+			| 0FEH: y := 0F1H
+			| 0FFH: y := 0EFH
+			| 0160H..0161H: y := x - 75H
+			| 0178H: y := 0EEH
+			| 0192H: y := 0BEH
+			| 02C6H: y := 0AAH
+			| 02CBH: y := 0A9H
+			| 02DCH: y := 0ACH
+			| 2014H: y := 0F6H
+			| 20A4H: y := 0AFH
+			| 25A0H: y := 0FCH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A1H: y := 0C0H
+			| 0A2H: y := 0C2H
+			| 0A3H: y := 0C8H
+			| 0A4H..0A5H: y := x + 26H
+			| 0A6H..0A7H: y := x + 28H
+			| 0A8H: y := 0B4H
+			| 0A9H: y := 02CBH
+			| 0AAH: y := 02C6H
+			| 0ABH: y := 0A8H
+			| 0ACH: y := 02DCH
+			| 0ADH: y := 0D9H
+			| 0AEH: y := 0DBH
+			| 0AFH: y := 20A4H
+			| 0B0H: y := 0AFH
+			| 0B1H: y := 0DDH
+			| 0B2H: y := 0FDH
+			| 0B3H: y := 0B0H
+			| 0B4H: y := 0C7H
+			| 0B5H: y := 0E7H
+			| 0B6H: y := 0D1H
+			| 0B7H: y := 0F1H
+			| 0B8H: y := 0A1H
+			| 0B9H: y := 0BFH
+			| 0BAH: y := 0A4H
+			| 0BBH: y := 0A3H
+			| 0BCH: y := 0A5H
+			| 0BDH: y := 0A7H
+			| 0BEH: y := 0192H
+			| 0BFH: y := 0A2H
+			| 0C0H: y := 0E2H
+			| 0C1H: y := 0EAH
+			| 0C2H: y := 0F4H
+			| 0C3H: y := 0FBH
+			| 0C4H: y := 0E1H
+			| 0C5H: y := 0E9H
+			| 0C6H: y := 0F3H
+			| 0C7H: y := 0FAH
+			| 0C8H: y := 0E0H
+			| 0C9H: y := 0E8H
+			| 0CAH: y := 0F2H
+			| 0CBH: y := 0F9H
+			| 0CCH: y := 0E4H
+			| 0CDH: y := 0EBH
+			| 0CEH: y := 0F6H
+			| 0CFH: y := 0FCH
+			| 0D0H: y := 0C5H
+			| 0D1H: y := 0EEH
+			| 0D2H: y := 0D8H
+			| 0D3H: y := 0C6H
+			| 0D4H: y := 0E5H
+			| 0D5H: y := 0EDH
+			| 0D6H: y := 0F8H
+			| 0D7H: y := 0E6H
+			| 0D8H: y := 0C4H
+			| 0D9H: y := 0ECH
+			| 0DAH: y := 0D6H
+			| 0DBH: y := 0DCH
+			| 0DCH: y := 0C9H
+			| 0DDH: y := 0EFH
+			| 0DEH: y := 0DFH
+			| 0DFH: y := 0D4H
+			| 0E0H: y := 0C1H
+			| 0E1H: y := 0C3H
+			| 0E2H: y := 0E3H
+			| 0E3H: y := 0D0H
+			| 0E4H: y := 0F0H
+			| 0E5H: y := 0CDH
+			| 0E6H: y := 0CCH
+			| 0E7H: y := 0D3H
+			| 0E8H: y := 0D2H
+			| 0E9H: y := 0D5H
+			| 0EAH: y := 0F5H
+			| 0EBH..0ECH: y := x + 75H
+			| 0EDH: y := 0DAH
+			| 0EEH: y := 0178H
+			| 0EFH: y := 0FFH
+			| 0F0H: y := 0DEH
+			| 0F1H: y := 0FEH
+			| 0F2H: y := 0B7H
+			| 0F3H..0F4H: y := x - 3EH
+			| 0F5H: y := 0BEH
+			| 0F6H: y := 2014H
+			| 0F7H..0F8H: y := x - 3BH
+			| 0F9H: y := 0AAH
+			| 0FAH: y := 0BAH
+			| 0FBH: y := 0ABH
+			| 0FCH: y := 25A0H
+			| 0FDH: y := 0BBH
+			| 0FEH: y := 0B1H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_hp_roman8.

+ 77 - 0
BlackBox/Enc/Mod/StdMap_iso8859_1.txt

@@ -0,0 +1,77 @@
+MODULE EncStdMap_iso8859_1;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..0FFH: y := x
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..0FFH: y := x
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_iso8859_1.

+ 205 - 0
BlackBox/Enc/Mod/StdMap_iso8859_10.txt

@@ -0,0 +1,205 @@
+MODULE EncStdMap_iso8859_10;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-10.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A7H: y := 0A7H
+			| 0ADH: y := 0ADH
+			| 0B0H: y := 0B0H
+			| 0B7H: y := 0B7H
+			| 0C1H..0C6H: y := x
+			| 0C9H: y := 0C9H
+			| 0CBH: y := 0CBH
+			| 0CDH..0D0H: y := x
+			| 0D3H..0D6H: y := x
+			| 0D8H: y := 0D8H
+			| 0DAH..0DFH: y := x
+			| 0E1H..0E6H: y := x
+			| 0E9H: y := 0E9H
+			| 0EBH: y := 0EBH
+			| 0EDH..0F0H: y := x
+			| 0F3H..0F6H: y := x
+			| 0F8H: y := 0F8H
+			| 0FAH..0FEH: y := x
+			| 0100H: y := 0C0H
+			| 0101H: y := 0E0H
+			| 0104H: y := 0A1H
+			| 0105H: y := 0B1H
+			| 010CH: y := 0C8H
+			| 010DH: y := 0E8H
+			| 0110H: y := 0A9H
+			| 0111H: y := 0B9H
+			| 0112H: y := 0A2H
+			| 0113H: y := 0B2H
+			| 0116H: y := 0CCH
+			| 0117H: y := 0ECH
+			| 0118H: y := 0CAH
+			| 0119H: y := 0EAH
+			| 0122H: y := 0A3H
+			| 0123H: y := 0B3H
+			| 0128H: y := 0A5H
+			| 0129H: y := 0B5H
+			| 012AH: y := 0A4H
+			| 012BH: y := 0B4H
+			| 012EH: y := 0C7H
+			| 012FH: y := 0E7H
+			| 0136H: y := 0A6H
+			| 0137H: y := 0B6H
+			| 0138H: y := 0FFH
+			| 013BH: y := 0A8H
+			| 013CH: y := 0B8H
+			| 0145H: y := 0D1H
+			| 0146H: y := 0F1H
+			| 014AH: y := 0AFH
+			| 014BH: y := 0BFH
+			| 014CH: y := 0D2H
+			| 014DH: y := 0F2H
+			| 0160H: y := 0AAH
+			| 0161H: y := 0BAH
+			| 0166H: y := 0ABH
+			| 0167H: y := 0BBH
+			| 0168H: y := 0D7H
+			| 0169H: y := 0F7H
+			| 016AH: y := 0AEH
+			| 016BH: y := 0BEH
+			| 0172H: y := 0D9H
+			| 0173H: y := 0F9H
+			| 017DH: y := 0ACH
+			| 017EH: y := 0BCH
+			| 2015H: y := 0BDH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A1H: y := 0104H
+			| 0A2H: y := 0112H
+			| 0A3H: y := 0122H
+			| 0A4H: y := 012AH
+			| 0A5H: y := 0128H
+			| 0A6H: y := 0136H
+			| 0A7H: y := 0A7H
+			| 0A8H: y := 013BH
+			| 0A9H: y := 0110H
+			| 0AAH: y := 0160H
+			| 0ABH: y := 0166H
+			| 0ACH: y := 017DH
+			| 0ADH: y := 0ADH
+			| 0AEH: y := 016AH
+			| 0AFH: y := 014AH
+			| 0B0H: y := 0B0H
+			| 0B1H: y := 0105H
+			| 0B2H: y := 0113H
+			| 0B3H: y := 0123H
+			| 0B4H: y := 012BH
+			| 0B5H: y := 0129H
+			| 0B6H: y := 0137H
+			| 0B7H: y := 0B7H
+			| 0B8H: y := 013CH
+			| 0B9H: y := 0111H
+			| 0BAH: y := 0161H
+			| 0BBH: y := 0167H
+			| 0BCH: y := 017EH
+			| 0BDH: y := 2015H
+			| 0BEH: y := 016BH
+			| 0BFH: y := 014BH
+			| 0C0H: y := 0100H
+			| 0C1H..0C6H: y := x
+			| 0C7H: y := 012EH
+			| 0C8H: y := 010CH
+			| 0C9H: y := 0C9H
+			| 0CAH: y := 0118H
+			| 0CBH: y := 0CBH
+			| 0CCH: y := 0116H
+			| 0CDH..0D0H: y := x
+			| 0D1H: y := 0145H
+			| 0D2H: y := 014CH
+			| 0D3H..0D6H: y := x
+			| 0D7H: y := 0168H
+			| 0D8H: y := 0D8H
+			| 0D9H: y := 0172H
+			| 0DAH..0DFH: y := x
+			| 0E0H: y := 0101H
+			| 0E1H..0E6H: y := x
+			| 0E7H: y := 012FH
+			| 0E8H: y := 010DH
+			| 0E9H: y := 0E9H
+			| 0EAH: y := 0119H
+			| 0EBH: y := 0EBH
+			| 0ECH: y := 0117H
+			| 0EDH..0F0H: y := x
+			| 0F1H: y := 0146H
+			| 0F2H: y := 014DH
+			| 0F3H..0F6H: y := x
+			| 0F7H: y := 0169H
+			| 0F8H: y := 0F8H
+			| 0F9H: y := 0173H
+			| 0FAH..0FEH: y := x
+			| 0FFH: y := 0138H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_iso8859_10.

+ 81 - 0
BlackBox/Enc/Mod/StdMap_iso8859_11.txt

@@ -0,0 +1,81 @@
+MODULE EncStdMap_iso8859_11;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-11.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0E01H..0E3AH: y := x - 0D60H
+			| 0E3FH..0E5BH: y := x - 0D60H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A1H..0DAH: y := x + 0D60H
+			| 0DFH..0FBH: y := x + 0D60H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_iso8859_11.

+ 227 - 0
BlackBox/Enc/Mod/StdMap_iso8859_13.txt

@@ -0,0 +1,227 @@
+MODULE EncStdMap_iso8859_13;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-13.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A2H..0A4H: y := x
+			| 0A6H..0A7H: y := x
+			| 0A9H: y := 0A9H
+			| 0ABH..0AEH: y := x
+			| 0B0H..0B3H: y := x
+			| 0B5H..0B7H: y := x
+			| 0B9H: y := 0B9H
+			| 0BBH..0BEH: y := x
+			| 0C4H..0C5H: y := x
+			| 0C6H: y := 0AFH
+			| 0C9H: y := 0C9H
+			| 0D3H: y := 0D3H
+			| 0D5H..0D7H: y := x
+			| 0D8H: y := 0A8H
+			| 0DCH: y := 0DCH
+			| 0DFH: y := 0DFH
+			| 0E4H..0E5H: y := x
+			| 0E6H: y := 0BFH
+			| 0E9H: y := 0E9H
+			| 0F3H: y := 0F3H
+			| 0F5H..0F7H: y := x
+			| 0F8H: y := 0B8H
+			| 0FCH: y := 0FCH
+			| 0100H: y := 0C2H
+			| 0101H: y := 0E2H
+			| 0104H: y := 0C0H
+			| 0105H: y := 0E0H
+			| 0106H: y := 0C3H
+			| 0107H: y := 0E3H
+			| 010CH: y := 0C8H
+			| 010DH: y := 0E8H
+			| 0112H: y := 0C7H
+			| 0113H: y := 0E7H
+			| 0116H: y := 0CBH
+			| 0117H: y := 0EBH
+			| 0118H: y := 0C6H
+			| 0119H: y := 0E6H
+			| 0122H: y := 0CCH
+			| 0123H: y := 0ECH
+			| 012AH: y := 0CEH
+			| 012BH: y := 0EEH
+			| 012EH: y := 0C1H
+			| 012FH: y := 0E1H
+			| 0136H: y := 0CDH
+			| 0137H: y := 0EDH
+			| 013BH: y := 0CFH
+			| 013CH: y := 0EFH
+			| 0141H: y := 0D9H
+			| 0142H: y := 0F9H
+			| 0143H: y := 0D1H
+			| 0144H: y := 0F1H
+			| 0145H: y := 0D2H
+			| 0146H: y := 0F2H
+			| 014CH: y := 0D4H
+			| 014DH: y := 0F4H
+			| 0156H: y := 0AAH
+			| 0157H: y := 0BAH
+			| 015AH: y := 0DAH
+			| 015BH: y := 0FAH
+			| 0160H: y := 0D0H
+			| 0161H: y := 0F0H
+			| 016AH: y := 0DBH
+			| 016BH: y := 0FBH
+			| 0172H: y := 0D8H
+			| 0173H: y := 0F8H
+			| 0179H: y := 0CAH
+			| 017AH: y := 0EAH
+			| 017BH: y := 0DDH
+			| 017CH: y := 0FDH
+			| 017DH: y := 0DEH
+			| 017EH: y := 0FEH
+			| 2019H: y := 0FFH
+			| 201CH: y := 0B4H
+			| 201DH: y := 0A1H
+			| 201EH: y := 0A5H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A1H: y := 201DH
+			| 0A2H..0A4H: y := x
+			| 0A5H: y := 201EH
+			| 0A6H..0A7H: y := x
+			| 0A8H: y := 0D8H
+			| 0A9H: y := 0A9H
+			| 0AAH: y := 0156H
+			| 0ABH..0AEH: y := x
+			| 0AFH: y := 0C6H
+			| 0B0H..0B3H: y := x
+			| 0B4H: y := 201CH
+			| 0B5H..0B7H: y := x
+			| 0B8H: y := 0F8H
+			| 0B9H: y := 0B9H
+			| 0BAH: y := 0157H
+			| 0BBH..0BEH: y := x
+			| 0BFH: y := 0E6H
+			| 0C0H: y := 0104H
+			| 0C1H: y := 012EH
+			| 0C2H: y := 0100H
+			| 0C3H: y := 0106H
+			| 0C4H..0C5H: y := x
+			| 0C6H: y := 0118H
+			| 0C7H: y := 0112H
+			| 0C8H: y := 010CH
+			| 0C9H: y := 0C9H
+			| 0CAH: y := 0179H
+			| 0CBH: y := 0116H
+			| 0CCH: y := 0122H
+			| 0CDH: y := 0136H
+			| 0CEH: y := 012AH
+			| 0CFH: y := 013BH
+			| 0D0H: y := 0160H
+			| 0D1H: y := 0143H
+			| 0D2H: y := 0145H
+			| 0D3H: y := 0D3H
+			| 0D4H: y := 014CH
+			| 0D5H..0D7H: y := x
+			| 0D8H: y := 0172H
+			| 0D9H: y := 0141H
+			| 0DAH: y := 015AH
+			| 0DBH: y := 016AH
+			| 0DCH: y := 0DCH
+			| 0DDH: y := 017BH
+			| 0DEH: y := 017DH
+			| 0DFH: y := 0DFH
+			| 0E0H: y := 0105H
+			| 0E1H: y := 012FH
+			| 0E2H: y := 0101H
+			| 0E3H: y := 0107H
+			| 0E4H..0E5H: y := x
+			| 0E6H: y := 0119H
+			| 0E7H: y := 0113H
+			| 0E8H: y := 010DH
+			| 0E9H: y := 0E9H
+			| 0EAH: y := 017AH
+			| 0EBH: y := 0117H
+			| 0ECH: y := 0123H
+			| 0EDH: y := 0137H
+			| 0EEH: y := 012BH
+			| 0EFH: y := 013CH
+			| 0F0H: y := 0161H
+			| 0F1H: y := 0144H
+			| 0F2H: y := 0146H
+			| 0F3H: y := 0F3H
+			| 0F4H: y := 014DH
+			| 0F5H..0F7H: y := x
+			| 0F8H: y := 0173H
+			| 0F9H: y := 0142H
+			| 0FAH: y := 015BH
+			| 0FBH: y := 016BH
+			| 0FCH: y := 0FCH
+			| 0FDH: y := 017CH
+			| 0FEH: y := 017EH
+			| 0FFH: y := 2019H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_iso8859_13.

+ 151 - 0
BlackBox/Enc/Mod/StdMap_iso8859_14.txt

@@ -0,0 +1,151 @@
+MODULE EncStdMap_iso8859_14;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-14.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A3H: y := 0A3H
+			| 0A7H: y := 0A7H
+			| 0A9H: y := 0A9H
+			| 0ADH..0AEH: y := x
+			| 0B6H: y := 0B6H
+			| 0C0H..0CFH: y := x
+			| 0D1H..0D6H: y := x
+			| 0D8H..0DDH: y := x
+			| 0DFH..0EFH: y := x
+			| 0F1H..0F6H: y := x
+			| 0F8H..0FDH: y := x
+			| 0FFH: y := 0FFH
+			| 010AH..010BH: y := x - 66H
+			| 0120H..0121H: y := x - 6EH
+			| 0174H: y := 0D0H
+			| 0175H: y := 0F0H
+			| 0176H: y := 0DEH
+			| 0177H: y := 0FEH
+			| 0178H: y := 0AFH
+			| 1E02H..1E03H: y := x - 1D61H
+			| 1E0AH: y := 0A6H
+			| 1E0BH: y := 0ABH
+			| 1E1EH..1E1FH: y := x - 1D6EH
+			| 1E40H..1E41H: y := x - 1D8CH
+			| 1E56H: y := 0B7H
+			| 1E57H: y := 0B9H
+			| 1E60H: y := 0BBH
+			| 1E61H: y := 0BFH
+			| 1E6AH: y := 0D7H
+			| 1E6BH: y := 0F7H
+			| 1E80H: y := 0A8H
+			| 1E81H: y := 0B8H
+			| 1E82H: y := 0AAH
+			| 1E83H: y := 0BAH
+			| 1E84H..1E85H: y := x - 1DC7H
+			| 1EF2H: y := 0ACH
+			| 1EF3H: y := 0BCH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A1H..0A2H: y := x + 1D61H
+			| 0A3H: y := 0A3H
+			| 0A4H..0A5H: y := x + 66H
+			| 0A6H: y := 1E0AH
+			| 0A7H: y := 0A7H
+			| 0A8H: y := 1E80H
+			| 0A9H: y := 0A9H
+			| 0AAH: y := 1E82H
+			| 0ABH: y := 1E0BH
+			| 0ACH: y := 1EF2H
+			| 0ADH..0AEH: y := x
+			| 0AFH: y := 0178H
+			| 0B0H..0B1H: y := x + 1D6EH
+			| 0B2H..0B3H: y := x + 6EH
+			| 0B4H..0B5H: y := x + 1D8CH
+			| 0B6H: y := 0B6H
+			| 0B7H: y := 1E56H
+			| 0B8H: y := 1E81H
+			| 0B9H: y := 1E57H
+			| 0BAH: y := 1E83H
+			| 0BBH: y := 1E60H
+			| 0BCH: y := 1EF3H
+			| 0BDH..0BEH: y := x + 1DC7H
+			| 0BFH: y := 1E61H
+			| 0C0H..0CFH: y := x
+			| 0D0H: y := 0174H
+			| 0D1H..0D6H: y := x
+			| 0D7H: y := 1E6AH
+			| 0D8H..0DDH: y := x
+			| 0DEH: y := 0176H
+			| 0DFH..0EFH: y := x
+			| 0F0H: y := 0175H
+			| 0F1H..0F6H: y := x
+			| 0F7H: y := 1E6BH
+			| 0F8H..0FDH: y := x
+			| 0FEH: y := 0177H
+			| 0FFH: y := 0FFH
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_iso8859_14.

+ 103 - 0
BlackBox/Enc/Mod/StdMap_iso8859_15.txt

@@ -0,0 +1,103 @@
+MODULE EncStdMap_iso8859_15;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-15.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..0A3H: y := x
+			| 0A5H: y := 0A5H
+			| 0A7H: y := 0A7H
+			| 0A9H..0B3H: y := x
+			| 0B5H..0B7H: y := x
+			| 0B9H..0BBH: y := x
+			| 0BFH..0FFH: y := x
+			| 0152H..0153H: y := x - 96H
+			| 0160H: y := 0A6H
+			| 0161H: y := 0A8H
+			| 0178H: y := 0BEH
+			| 017DH: y := 0B4H
+			| 017EH: y := 0B8H
+			| 20ACH: y := 0A4H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..0A3H: y := x
+			| 0A4H: y := 20ACH
+			| 0A5H: y := 0A5H
+			| 0A6H: y := 0160H
+			| 0A7H: y := 0A7H
+			| 0A8H: y := 0161H
+			| 0A9H..0B3H: y := x
+			| 0B4H: y := 017DH
+			| 0B5H..0B7H: y := x
+			| 0B8H: y := 017EH
+			| 0B9H..0BBH: y := x
+			| 0BCH..0BDH: y := x + 96H
+			| 0BEH: y := 0178H
+			| 0BFH..0FFH: y := x
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_iso8859_15.

+ 191 - 0
BlackBox/Enc/Mod/StdMap_iso8859_16.txt

@@ -0,0 +1,191 @@
+MODULE EncStdMap_iso8859_16;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-16.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A7H: y := 0A7H
+			| 0A9H: y := 0A9H
+			| 0ABH: y := 0ABH
+			| 0ADH: y := 0ADH
+			| 0B0H..0B1H: y := x
+			| 0B6H..0B7H: y := x
+			| 0BBH: y := 0BBH
+			| 0C0H..0C2H: y := x
+			| 0C4H: y := 0C4H
+			| 0C6H..0CFH: y := x
+			| 0D2H..0D4H: y := x
+			| 0D6H: y := 0D6H
+			| 0D9H..0DCH: y := x
+			| 0DFH..0E2H: y := x
+			| 0E4H: y := 0E4H
+			| 0E6H..0EFH: y := x
+			| 0F2H..0F4H: y := x
+			| 0F6H: y := 0F6H
+			| 0F9H..0FCH: y := x
+			| 0FFH: y := 0FFH
+			| 0102H: y := 0C3H
+			| 0103H: y := 0E3H
+			| 0104H..0105H: y := x - 63H
+			| 0106H: y := 0C5H
+			| 0107H: y := 0E5H
+			| 010CH: y := 0B2H
+			| 010DH: y := 0B9H
+			| 0110H: y := 0D0H
+			| 0111H: y := 0F0H
+			| 0118H: y := 0DDH
+			| 0119H: y := 0FDH
+			| 0141H: y := 0A3H
+			| 0142H: y := 0B3H
+			| 0143H: y := 0D1H
+			| 0144H: y := 0F1H
+			| 0150H: y := 0D5H
+			| 0151H: y := 0F5H
+			| 0152H..0153H: y := x - 96H
+			| 015AH: y := 0D7H
+			| 015BH: y := 0F7H
+			| 0160H: y := 0A6H
+			| 0161H: y := 0A8H
+			| 0170H: y := 0D8H
+			| 0171H: y := 0F8H
+			| 0178H: y := 0BEH
+			| 0179H: y := 0ACH
+			| 017AH..017BH: y := x - 0CCH
+			| 017CH: y := 0BFH
+			| 017DH: y := 0B4H
+			| 017EH: y := 0B8H
+			| 0218H: y := 0AAH
+			| 0219H: y := 0BAH
+			| 021AH: y := 0DEH
+			| 021BH: y := 0FEH
+			| 201DH: y := 0B5H
+			| 201EH: y := 0A5H
+			| 20ACH: y := 0A4H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A1H..0A2H: y := x + 63H
+			| 0A3H: y := 0141H
+			| 0A4H: y := 20ACH
+			| 0A5H: y := 201EH
+			| 0A6H: y := 0160H
+			| 0A7H: y := 0A7H
+			| 0A8H: y := 0161H
+			| 0A9H: y := 0A9H
+			| 0AAH: y := 0218H
+			| 0ABH: y := 0ABH
+			| 0ACH: y := 0179H
+			| 0ADH: y := 0ADH
+			| 0AEH..0AFH: y := x + 0CCH
+			| 0B0H..0B1H: y := x
+			| 0B2H: y := 010CH
+			| 0B3H: y := 0142H
+			| 0B4H: y := 017DH
+			| 0B5H: y := 201DH
+			| 0B6H..0B7H: y := x
+			| 0B8H: y := 017EH
+			| 0B9H: y := 010DH
+			| 0BAH: y := 0219H
+			| 0BBH: y := 0BBH
+			| 0BCH..0BDH: y := x + 96H
+			| 0BEH: y := 0178H
+			| 0BFH: y := 017CH
+			| 0C0H..0C2H: y := x
+			| 0C3H: y := 0102H
+			| 0C4H: y := 0C4H
+			| 0C5H: y := 0106H
+			| 0C6H..0CFH: y := x
+			| 0D0H: y := 0110H
+			| 0D1H: y := 0143H
+			| 0D2H..0D4H: y := x
+			| 0D5H: y := 0150H
+			| 0D6H: y := 0D6H
+			| 0D7H: y := 015AH
+			| 0D8H: y := 0170H
+			| 0D9H..0DCH: y := x
+			| 0DDH: y := 0118H
+			| 0DEH: y := 021AH
+			| 0DFH..0E2H: y := x
+			| 0E3H: y := 0103H
+			| 0E4H: y := 0E4H
+			| 0E5H: y := 0107H
+			| 0E6H..0EFH: y := x
+			| 0F0H: y := 0111H
+			| 0F1H: y := 0144H
+			| 0F2H..0F4H: y := x
+			| 0F5H: y := 0151H
+			| 0F6H: y := 0F6H
+			| 0F7H: y := 015BH
+			| 0F8H: y := 0171H
+			| 0F9H..0FCH: y := x
+			| 0FDH: y := 0119H
+			| 0FEH: y := 021BH
+			| 0FFH: y := 0FFH
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_iso8859_16.

+ 245 - 0
BlackBox/Enc/Mod/StdMap_iso8859_2.txt

@@ -0,0 +1,245 @@
+MODULE EncStdMap_iso8859_2;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-2.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A4H: y := 0A4H
+			| 0A7H..0A8H: y := x
+			| 0ADH: y := 0ADH
+			| 0B0H: y := 0B0H
+			| 0B4H: y := 0B4H
+			| 0B8H: y := 0B8H
+			| 0C1H..0C2H: y := x
+			| 0C4H: y := 0C4H
+			| 0C7H: y := 0C7H
+			| 0C9H: y := 0C9H
+			| 0CBH: y := 0CBH
+			| 0CDH..0CEH: y := x
+			| 0D3H..0D4H: y := x
+			| 0D6H..0D7H: y := x
+			| 0DAH: y := 0DAH
+			| 0DCH..0DDH: y := x
+			| 0DFH: y := 0DFH
+			| 0E1H..0E2H: y := x
+			| 0E4H: y := 0E4H
+			| 0E7H: y := 0E7H
+			| 0E9H: y := 0E9H
+			| 0EBH: y := 0EBH
+			| 0EDH..0EEH: y := x
+			| 0F3H..0F4H: y := x
+			| 0F6H..0F7H: y := x
+			| 0FAH: y := 0FAH
+			| 0FCH..0FDH: y := x
+			| 0102H: y := 0C3H
+			| 0103H: y := 0E3H
+			| 0104H: y := 0A1H
+			| 0105H: y := 0B1H
+			| 0106H: y := 0C6H
+			| 0107H: y := 0E6H
+			| 010CH: y := 0C8H
+			| 010DH: y := 0E8H
+			| 010EH: y := 0CFH
+			| 010FH: y := 0EFH
+			| 0110H: y := 0D0H
+			| 0111H: y := 0F0H
+			| 0118H: y := 0CAH
+			| 0119H: y := 0EAH
+			| 011AH: y := 0CCH
+			| 011BH: y := 0ECH
+			| 0139H: y := 0C5H
+			| 013AH: y := 0E5H
+			| 013DH: y := 0A5H
+			| 013EH: y := 0B5H
+			| 0141H: y := 0A3H
+			| 0142H: y := 0B3H
+			| 0143H: y := 0D1H
+			| 0144H: y := 0F1H
+			| 0147H: y := 0D2H
+			| 0148H: y := 0F2H
+			| 0150H: y := 0D5H
+			| 0151H: y := 0F5H
+			| 0154H: y := 0C0H
+			| 0155H: y := 0E0H
+			| 0158H: y := 0D8H
+			| 0159H: y := 0F8H
+			| 015AH: y := 0A6H
+			| 015BH: y := 0B6H
+			| 015EH: y := 0AAH
+			| 015FH: y := 0BAH
+			| 0160H: y := 0A9H
+			| 0161H: y := 0B9H
+			| 0162H: y := 0DEH
+			| 0163H: y := 0FEH
+			| 0164H: y := 0ABH
+			| 0165H: y := 0BBH
+			| 016EH: y := 0D9H
+			| 016FH: y := 0F9H
+			| 0170H: y := 0DBH
+			| 0171H: y := 0FBH
+			| 0179H: y := 0ACH
+			| 017AH: y := 0BCH
+			| 017BH: y := 0AFH
+			| 017CH: y := 0BFH
+			| 017DH: y := 0AEH
+			| 017EH: y := 0BEH
+			| 02C7H: y := 0B7H
+			| 02D8H: y := 0A2H
+			| 02D9H: y := 0FFH
+			| 02DBH: y := 0B2H
+			| 02DDH: y := 0BDH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A1H: y := 0104H
+			| 0A2H: y := 02D8H
+			| 0A3H: y := 0141H
+			| 0A4H: y := 0A4H
+			| 0A5H: y := 013DH
+			| 0A6H: y := 015AH
+			| 0A7H..0A8H: y := x
+			| 0A9H: y := 0160H
+			| 0AAH: y := 015EH
+			| 0ABH: y := 0164H
+			| 0ACH: y := 0179H
+			| 0ADH: y := 0ADH
+			| 0AEH: y := 017DH
+			| 0AFH: y := 017BH
+			| 0B0H: y := 0B0H
+			| 0B1H: y := 0105H
+			| 0B2H: y := 02DBH
+			| 0B3H: y := 0142H
+			| 0B4H: y := 0B4H
+			| 0B5H: y := 013EH
+			| 0B6H: y := 015BH
+			| 0B7H: y := 02C7H
+			| 0B8H: y := 0B8H
+			| 0B9H: y := 0161H
+			| 0BAH: y := 015FH
+			| 0BBH: y := 0165H
+			| 0BCH: y := 017AH
+			| 0BDH: y := 02DDH
+			| 0BEH: y := 017EH
+			| 0BFH: y := 017CH
+			| 0C0H: y := 0154H
+			| 0C1H..0C2H: y := x
+			| 0C3H: y := 0102H
+			| 0C4H: y := 0C4H
+			| 0C5H: y := 0139H
+			| 0C6H: y := 0106H
+			| 0C7H: y := 0C7H
+			| 0C8H: y := 010CH
+			| 0C9H: y := 0C9H
+			| 0CAH: y := 0118H
+			| 0CBH: y := 0CBH
+			| 0CCH: y := 011AH
+			| 0CDH..0CEH: y := x
+			| 0CFH: y := 010EH
+			| 0D0H: y := 0110H
+			| 0D1H: y := 0143H
+			| 0D2H: y := 0147H
+			| 0D3H..0D4H: y := x
+			| 0D5H: y := 0150H
+			| 0D6H..0D7H: y := x
+			| 0D8H: y := 0158H
+			| 0D9H: y := 016EH
+			| 0DAH: y := 0DAH
+			| 0DBH: y := 0170H
+			| 0DCH..0DDH: y := x
+			| 0DEH: y := 0162H
+			| 0DFH: y := 0DFH
+			| 0E0H: y := 0155H
+			| 0E1H..0E2H: y := x
+			| 0E3H: y := 0103H
+			| 0E4H: y := 0E4H
+			| 0E5H: y := 013AH
+			| 0E6H: y := 0107H
+			| 0E7H: y := 0E7H
+			| 0E8H: y := 010DH
+			| 0E9H: y := 0E9H
+			| 0EAH: y := 0119H
+			| 0EBH: y := 0EBH
+			| 0ECH: y := 011BH
+			| 0EDH..0EEH: y := x
+			| 0EFH: y := 010FH
+			| 0F0H: y := 0111H
+			| 0F1H: y := 0144H
+			| 0F2H: y := 0148H
+			| 0F3H..0F4H: y := x
+			| 0F5H: y := 0151H
+			| 0F6H..0F7H: y := x
+			| 0F8H: y := 0159H
+			| 0F9H: y := 016FH
+			| 0FAH: y := 0FAH
+			| 0FBH: y := 0171H
+			| 0FCH..0FDH: y := x
+			| 0FEH: y := 0163H
+			| 0FFH: y := 02D9H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_iso8859_2.

+ 171 - 0
BlackBox/Enc/Mod/StdMap_iso8859_3.txt

@@ -0,0 +1,171 @@
+MODULE EncStdMap_iso8859_3;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-3.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A3H..0A4H: y := x
+			| 0A7H..0A8H: y := x
+			| 0ADH: y := 0ADH
+			| 0B0H: y := 0B0H
+			| 0B2H..0B5H: y := x
+			| 0B7H..0B8H: y := x
+			| 0BDH: y := 0BDH
+			| 0C0H..0C2H: y := x
+			| 0C4H: y := 0C4H
+			| 0C7H..0CFH: y := x
+			| 0D1H..0D4H: y := x
+			| 0D6H..0D7H: y := x
+			| 0D9H..0DCH: y := x
+			| 0DFH..0E2H: y := x
+			| 0E4H: y := 0E4H
+			| 0E7H..0EFH: y := x
+			| 0F1H..0F4H: y := x
+			| 0F6H..0F7H: y := x
+			| 0F9H..0FCH: y := x
+			| 0108H: y := 0C6H
+			| 0109H: y := 0E6H
+			| 010AH: y := 0C5H
+			| 010BH: y := 0E5H
+			| 011CH: y := 0D8H
+			| 011DH: y := 0F8H
+			| 011EH: y := 0ABH
+			| 011FH: y := 0BBH
+			| 0120H: y := 0D5H
+			| 0121H: y := 0F5H
+			| 0124H: y := 0A6H
+			| 0125H: y := 0B6H
+			| 0126H: y := 0A1H
+			| 0127H: y := 0B1H
+			| 0130H: y := 0A9H
+			| 0131H: y := 0B9H
+			| 0134H: y := 0ACH
+			| 0135H: y := 0BCH
+			| 015CH: y := 0DEH
+			| 015DH: y := 0FEH
+			| 015EH: y := 0AAH
+			| 015FH: y := 0BAH
+			| 016CH: y := 0DDH
+			| 016DH: y := 0FDH
+			| 017BH: y := 0AFH
+			| 017CH: y := 0BFH
+			| 02D8H: y := 0A2H
+			| 02D9H: y := 0FFH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A1H: y := 0126H
+			| 0A2H: y := 02D8H
+			| 0A3H..0A4H: y := x
+			| 0A6H: y := 0124H
+			| 0A7H..0A8H: y := x
+			| 0A9H: y := 0130H
+			| 0AAH: y := 015EH
+			| 0ABH: y := 011EH
+			| 0ACH: y := 0134H
+			| 0ADH: y := 0ADH
+			| 0AFH: y := 017BH
+			| 0B0H: y := 0B0H
+			| 0B1H: y := 0127H
+			| 0B2H..0B5H: y := x
+			| 0B6H: y := 0125H
+			| 0B7H..0B8H: y := x
+			| 0B9H: y := 0131H
+			| 0BAH: y := 015FH
+			| 0BBH: y := 011FH
+			| 0BCH: y := 0135H
+			| 0BDH: y := 0BDH
+			| 0BFH: y := 017CH
+			| 0C0H..0C2H: y := x
+			| 0C4H: y := 0C4H
+			| 0C5H: y := 010AH
+			| 0C6H: y := 0108H
+			| 0C7H..0CFH: y := x
+			| 0D1H..0D4H: y := x
+			| 0D5H: y := 0120H
+			| 0D6H..0D7H: y := x
+			| 0D8H: y := 011CH
+			| 0D9H..0DCH: y := x
+			| 0DDH: y := 016CH
+			| 0DEH: y := 015CH
+			| 0DFH..0E2H: y := x
+			| 0E4H: y := 0E4H
+			| 0E5H: y := 010BH
+			| 0E6H: y := 0109H
+			| 0E7H..0EFH: y := x
+			| 0F1H..0F4H: y := x
+			| 0F5H: y := 0121H
+			| 0F6H..0F7H: y := x
+			| 0F8H: y := 011DH
+			| 0F9H..0FCH: y := x
+			| 0FDH: y := 016DH
+			| 0FEH: y := 015DH
+			| 0FFH: y := 02D9H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_iso8859_3.

+ 215 - 0
BlackBox/Enc/Mod/StdMap_iso8859_4.txt

@@ -0,0 +1,215 @@
+MODULE EncStdMap_iso8859_4;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-4.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A4H: y := 0A4H
+			| 0A7H..0A8H: y := x
+			| 0ADH: y := 0ADH
+			| 0AFH..0B0H: y := x
+			| 0B4H: y := 0B4H
+			| 0B8H: y := 0B8H
+			| 0C1H..0C6H: y := x
+			| 0C9H: y := 0C9H
+			| 0CBH: y := 0CBH
+			| 0CDH..0CEH: y := x
+			| 0D4H..0D8H: y := x
+			| 0DAH..0DCH: y := x
+			| 0DFH: y := 0DFH
+			| 0E1H..0E6H: y := x
+			| 0E9H: y := 0E9H
+			| 0EBH: y := 0EBH
+			| 0EDH..0EEH: y := x
+			| 0F4H..0F8H: y := x
+			| 0FAH..0FCH: y := x
+			| 0100H: y := 0C0H
+			| 0101H: y := 0E0H
+			| 0104H: y := 0A1H
+			| 0105H: y := 0B1H
+			| 010CH: y := 0C8H
+			| 010DH: y := 0E8H
+			| 0110H: y := 0D0H
+			| 0111H: y := 0F0H
+			| 0112H: y := 0AAH
+			| 0113H: y := 0BAH
+			| 0116H: y := 0CCH
+			| 0117H: y := 0ECH
+			| 0118H: y := 0CAH
+			| 0119H: y := 0EAH
+			| 0122H: y := 0ABH
+			| 0123H: y := 0BBH
+			| 0128H: y := 0A5H
+			| 0129H: y := 0B5H
+			| 012AH: y := 0CFH
+			| 012BH: y := 0EFH
+			| 012EH: y := 0C7H
+			| 012FH: y := 0E7H
+			| 0136H: y := 0D3H
+			| 0137H: y := 0F3H
+			| 0138H: y := 0A2H
+			| 013BH: y := 0A6H
+			| 013CH: y := 0B6H
+			| 0145H: y := 0D1H
+			| 0146H: y := 0F1H
+			| 014AH: y := 0BDH
+			| 014BH: y := 0BFH
+			| 014CH: y := 0D2H
+			| 014DH: y := 0F2H
+			| 0156H: y := 0A3H
+			| 0157H: y := 0B3H
+			| 0160H: y := 0A9H
+			| 0161H: y := 0B9H
+			| 0166H: y := 0ACH
+			| 0167H: y := 0BCH
+			| 0168H: y := 0DDH
+			| 0169H: y := 0FDH
+			| 016AH: y := 0DEH
+			| 016BH: y := 0FEH
+			| 0172H: y := 0D9H
+			| 0173H: y := 0F9H
+			| 017DH: y := 0AEH
+			| 017EH: y := 0BEH
+			| 02C7H: y := 0B7H
+			| 02D9H: y := 0FFH
+			| 02DBH: y := 0B2H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A1H: y := 0104H
+			| 0A2H: y := 0138H
+			| 0A3H: y := 0156H
+			| 0A4H: y := 0A4H
+			| 0A5H: y := 0128H
+			| 0A6H: y := 013BH
+			| 0A7H..0A8H: y := x
+			| 0A9H: y := 0160H
+			| 0AAH: y := 0112H
+			| 0ABH: y := 0122H
+			| 0ACH: y := 0166H
+			| 0ADH: y := 0ADH
+			| 0AEH: y := 017DH
+			| 0AFH..0B0H: y := x
+			| 0B1H: y := 0105H
+			| 0B2H: y := 02DBH
+			| 0B3H: y := 0157H
+			| 0B4H: y := 0B4H
+			| 0B5H: y := 0129H
+			| 0B6H: y := 013CH
+			| 0B7H: y := 02C7H
+			| 0B8H: y := 0B8H
+			| 0B9H: y := 0161H
+			| 0BAH: y := 0113H
+			| 0BBH: y := 0123H
+			| 0BCH: y := 0167H
+			| 0BDH: y := 014AH
+			| 0BEH: y := 017EH
+			| 0BFH: y := 014BH
+			| 0C0H: y := 0100H
+			| 0C1H..0C6H: y := x
+			| 0C7H: y := 012EH
+			| 0C8H: y := 010CH
+			| 0C9H: y := 0C9H
+			| 0CAH: y := 0118H
+			| 0CBH: y := 0CBH
+			| 0CCH: y := 0116H
+			| 0CDH..0CEH: y := x
+			| 0CFH: y := 012AH
+			| 0D0H: y := 0110H
+			| 0D1H: y := 0145H
+			| 0D2H: y := 014CH
+			| 0D3H: y := 0136H
+			| 0D4H..0D8H: y := x
+			| 0D9H: y := 0172H
+			| 0DAH..0DCH: y := x
+			| 0DDH: y := 0168H
+			| 0DEH: y := 016AH
+			| 0DFH: y := 0DFH
+			| 0E0H: y := 0101H
+			| 0E1H..0E6H: y := x
+			| 0E7H: y := 012FH
+			| 0E8H: y := 010DH
+			| 0E9H: y := 0E9H
+			| 0EAH: y := 0119H
+			| 0EBH: y := 0EBH
+			| 0ECH: y := 0117H
+			| 0EDH..0EEH: y := x
+			| 0EFH: y := 012BH
+			| 0F0H: y := 0111H
+			| 0F1H: y := 0146H
+			| 0F2H: y := 014DH
+			| 0F3H: y := 0137H
+			| 0F4H..0F8H: y := x
+			| 0F9H: y := 0173H
+			| 0FAH..0FCH: y := x
+			| 0FDH: y := 0169H
+			| 0FEH: y := 016BH
+			| 0FFH: y := 02D9H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_iso8859_4.

+ 91 - 0
BlackBox/Enc/Mod/StdMap_iso8859_5.txt

@@ -0,0 +1,91 @@
+MODULE EncStdMap_iso8859_5;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-5.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A7H: y := 0FDH
+			| 0ADH: y := 0ADH
+			| 0401H..040CH: y := x - 0360H
+			| 040EH..044FH: y := x - 0360H
+			| 0451H..045CH: y := x - 0360H
+			| 045EH..045FH: y := x - 0360H
+			| 2116H: y := 0F0H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A1H..0ACH: y := x + 0360H
+			| 0ADH: y := 0ADH
+			| 0AEH..0EFH: y := x + 0360H
+			| 0F0H: y := 2116H
+			| 0F1H..0FCH: y := x + 0360H
+			| 0FDH: y := 0A7H
+			| 0FEH..0FFH: y := x + 0360H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_iso8859_5.

+ 91 - 0
BlackBox/Enc/Mod/StdMap_iso8859_6.txt

@@ -0,0 +1,91 @@
+MODULE EncStdMap_iso8859_6;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-6.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A4H: y := 0A4H
+			| 0ADH: y := 0ADH
+			| 060CH: y := 0ACH
+			| 061BH: y := 0BBH
+			| 061FH: y := 0BFH
+			| 0621H..063AH: y := x - 0560H
+			| 0640H..0652H: y := x - 0560H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A4H: y := 0A4H
+			| 0ACH: y := 060CH
+			| 0ADH: y := 0ADH
+			| 0BBH: y := 061BH
+			| 0BFH: y := 061FH
+			| 0C1H..0DAH: y := x + 0560H
+			| 0E0H..0F2H: y := x + 0560H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_iso8859_6.

+ 111 - 0
BlackBox/Enc/Mod/StdMap_iso8859_7.txt

@@ -0,0 +1,111 @@
+MODULE EncStdMap_iso8859_7;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A3H: y := 0A3H
+			| 0A6H..0A9H: y := x
+			| 0ABH..0ADH: y := x
+			| 0B0H..0B3H: y := x
+			| 0B7H: y := 0B7H
+			| 0BBH: y := 0BBH
+			| 0BDH: y := 0BDH
+			| 037AH: y := 0AAH
+			| 0384H..0386H: y := x - 02D0H
+			| 0388H..038AH: y := x - 02D0H
+			| 038CH: y := 0BCH
+			| 038EH..03A1H: y := x - 02D0H
+			| 03A3H..03CEH: y := x - 02D0H
+			| 2015H: y := 0AFH
+			| 2018H..2019H: y := x - 1F77H
+			| 20ACH: y := 0A4H
+			| 20AFH: y := 0A5H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A1H..0A2H: y := x + 1F77H
+			| 0A3H: y := 0A3H
+			| 0A4H: y := 20ACH
+			| 0A5H: y := 20AFH
+			| 0A6H..0A9H: y := x
+			| 0AAH: y := 037AH
+			| 0ABH..0ADH: y := x
+			| 0AFH: y := 2015H
+			| 0B0H..0B3H: y := x
+			| 0B4H..0B6H: y := x + 02D0H
+			| 0B7H: y := 0B7H
+			| 0B8H..0BAH: y := x + 02D0H
+			| 0BBH: y := 0BBH
+			| 0BCH: y := 038CH
+			| 0BDH: y := 0BDH
+			| 0BEH..0D1H: y := x + 02D0H
+			| 0D3H..0FEH: y := x + 02D0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_iso8859_7.

+ 93 - 0
BlackBox/Enc/Mod/StdMap_iso8859_8.txt

@@ -0,0 +1,93 @@
+MODULE EncStdMap_iso8859_8;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-8.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A2H..0A9H: y := x
+			| 0ABH..0B9H: y := x
+			| 0BBH..0BEH: y := x
+			| 0D7H: y := 0AAH
+			| 0F7H: y := 0BAH
+			| 05D0H..05EAH: y := x - 04F0H
+			| 200EH..200FH: y := x - 1F11H
+			| 2017H: y := 0DFH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..0A0H: y := x
+			| 0A2H..0A9H: y := x
+			| 0AAH: y := 0D7H
+			| 0ABH..0B9H: y := x
+			| 0BAH: y := 0F7H
+			| 0BBH..0BEH: y := x
+			| 0DFH: y := 2017H
+			| 0E0H..0FAH: y := x + 04F0H
+			| 0FDH..0FEH: y := x + 1F11H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_iso8859_8.

+ 97 - 0
BlackBox/Enc/Mod/StdMap_iso8859_9.txt

@@ -0,0 +1,97 @@
+MODULE EncStdMap_iso8859_9;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-9.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..0CFH: y := x
+			| 0D1H..0DCH: y := x
+			| 0DFH..0EFH: y := x
+			| 0F1H..0FCH: y := x
+			| 0FFH: y := 0FFH
+			| 011EH: y := 0D0H
+			| 011FH: y := 0F0H
+			| 0130H: y := 0DDH
+			| 0131H: y := 0FDH
+			| 015EH: y := 0DEH
+			| 015FH: y := 0FEH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..0CFH: y := x
+			| 0D0H: y := 011EH
+			| 0D1H..0DCH: y := x
+			| 0DDH: y := 0130H
+			| 0DEH: y := 015EH
+			| 0DFH..0EFH: y := x
+			| 0F0H: y := 011FH
+			| 0F1H..0FCH: y := x
+			| 0FDH: y := 0131H
+			| 0FEH: y := 015FH
+			| 0FFH: y := 0FFH
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_iso8859_9.

+ 223 - 0
BlackBox/Enc/Mod/StdMap_koi8_r.txt

@@ -0,0 +1,223 @@
+MODULE EncStdMap_koi8_r;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 9AH
+			| 0A9H: y := 0BFH
+			| 0B0H: y := 9CH
+			| 0B2H: y := 9DH
+			| 0B7H: y := 9EH
+			| 0F7H: y := 9FH
+			| 0401H: y := 0B3H
+			| 0410H..0411H: y := x - 032FH
+			| 0412H: y := 0F7H
+			| 0413H: y := 0E7H
+			| 0414H..0415H: y := x - 0330H
+			| 0416H: y := 0F6H
+			| 0417H: y := 0FAH
+			| 0418H..041FH: y := x - 032FH
+			| 0420H..0423H: y := x - 032EH
+			| 0424H: y := 0E6H
+			| 0425H: y := 0E8H
+			| 0426H: y := 0E3H
+			| 0427H: y := 0FEH
+			| 0428H: y := 0FBH
+			| 0429H: y := 0FDH
+			| 042AH: y := 0FFH
+			| 042BH: y := 0F9H
+			| 042CH: y := 0F8H
+			| 042DH: y := 0FCH
+			| 042EH: y := 0E0H
+			| 042FH: y := 0F1H
+			| 0430H..0431H: y := x - 036FH
+			| 0432H: y := 0D7H
+			| 0433H: y := 0C7H
+			| 0434H..0435H: y := x - 0370H
+			| 0436H: y := 0D6H
+			| 0437H: y := 0DAH
+			| 0438H..043FH: y := x - 036FH
+			| 0440H..0443H: y := x - 036EH
+			| 0444H: y := 0C6H
+			| 0445H: y := 0C8H
+			| 0446H: y := 0C3H
+			| 0447H: y := 0DEH
+			| 0448H: y := 0DBH
+			| 0449H: y := 0DDH
+			| 044AH: y := 0DFH
+			| 044BH: y := 0D9H
+			| 044CH: y := 0D8H
+			| 044DH: y := 0DCH
+			| 044EH: y := 0C0H
+			| 044FH: y := 0D1H
+			| 0451H: y := 0A3H
+			| 2219H..221AH: y := x - 2184H
+			| 2248H: y := 97H
+			| 2264H..2265H: y := x - 21CCH
+			| 2320H: y := 93H
+			| 2321H: y := 9BH
+			| 2500H: y := 80H
+			| 2502H: y := 81H
+			| 250CH: y := 82H
+			| 2510H: y := 83H
+			| 2514H: y := 84H
+			| 2518H: y := 85H
+			| 251CH: y := 86H
+			| 2524H: y := 87H
+			| 252CH: y := 88H
+			| 2534H: y := 89H
+			| 253CH: y := 8AH
+			| 2550H..2552H: y := x - 24B0H
+			| 2553H..2561H: y := x - 24AFH
+			| 2562H..256CH: y := x - 24AEH
+			| 2580H: y := 8BH
+			| 2584H: y := 8CH
+			| 2588H: y := 8DH
+			| 258CH: y := 8EH
+			| 2590H..2593H: y := x - 2501H
+			| 25A0H: y := 94H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 2500H
+			| 81H: y := 2502H
+			| 82H: y := 250CH
+			| 83H: y := 2510H
+			| 84H: y := 2514H
+			| 85H: y := 2518H
+			| 86H: y := 251CH
+			| 87H: y := 2524H
+			| 88H: y := 252CH
+			| 89H: y := 2534H
+			| 8AH: y := 253CH
+			| 8BH: y := 2580H
+			| 8CH: y := 2584H
+			| 8DH: y := 2588H
+			| 8EH: y := 258CH
+			| 8FH..92H: y := x + 2501H
+			| 93H: y := 2320H
+			| 94H: y := 25A0H
+			| 95H..96H: y := x + 2184H
+			| 97H: y := 2248H
+			| 98H..99H: y := x + 21CCH
+			| 9AH: y := 0A0H
+			| 9BH: y := 2321H
+			| 9CH: y := 0B0H
+			| 9DH: y := 0B2H
+			| 9EH: y := 0B7H
+			| 9FH: y := 0F7H
+			| 0A0H..0A2H: y := x + 24B0H
+			| 0A3H: y := 0451H
+			| 0A4H..0B2H: y := x + 24AFH
+			| 0B3H: y := 0401H
+			| 0B4H..0BEH: y := x + 24AEH
+			| 0BFH: y := 0A9H
+			| 0C0H: y := 044EH
+			| 0C1H..0C2H: y := x + 036FH
+			| 0C3H: y := 0446H
+			| 0C4H..0C5H: y := x + 0370H
+			| 0C6H: y := 0444H
+			| 0C7H: y := 0433H
+			| 0C8H: y := 0445H
+			| 0C9H..0D0H: y := x + 036FH
+			| 0D1H: y := 044FH
+			| 0D2H..0D5H: y := x + 036EH
+			| 0D6H: y := 0436H
+			| 0D7H: y := 0432H
+			| 0D8H: y := 044CH
+			| 0D9H: y := 044BH
+			| 0DAH: y := 0437H
+			| 0DBH: y := 0448H
+			| 0DCH: y := 044DH
+			| 0DDH: y := 0449H
+			| 0DEH: y := 0447H
+			| 0DFH: y := 044AH
+			| 0E0H: y := 042EH
+			| 0E1H..0E2H: y := x + 032FH
+			| 0E3H: y := 0426H
+			| 0E4H..0E5H: y := x + 0330H
+			| 0E6H: y := 0424H
+			| 0E7H: y := 0413H
+			| 0E8H: y := 0425H
+			| 0E9H..0F0H: y := x + 032FH
+			| 0F1H: y := 042FH
+			| 0F2H..0F5H: y := x + 032EH
+			| 0F6H: y := 0416H
+			| 0F7H: y := 0412H
+			| 0F8H: y := 042CH
+			| 0F9H: y := 042BH
+			| 0FAH: y := 0417H
+			| 0FBH: y := 0428H
+			| 0FCH: y := 042DH
+			| 0FDH: y := 0429H
+			| 0FEH: y := 0427H
+			| 0FFH: y := 042AH
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_koi8_r.

+ 243 - 0
BlackBox/Enc/Mod/StdMap_koi8_u.txt

@@ -0,0 +1,243 @@
+MODULE EncStdMap_koi8_u;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-U.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 9AH
+			| 0A9H: y := 0BFH
+			| 0B0H: y := 9CH
+			| 0B2H: y := 9DH
+			| 0B7H: y := 9EH
+			| 0F7H: y := 9FH
+			| 0401H: y := 0B3H
+			| 0404H: y := 0B4H
+			| 0406H..0407H: y := x - 0350H
+			| 0410H..0411H: y := x - 032FH
+			| 0412H: y := 0F7H
+			| 0413H: y := 0E7H
+			| 0414H..0415H: y := x - 0330H
+			| 0416H: y := 0F6H
+			| 0417H: y := 0FAH
+			| 0418H..041FH: y := x - 032FH
+			| 0420H..0423H: y := x - 032EH
+			| 0424H: y := 0E6H
+			| 0425H: y := 0E8H
+			| 0426H: y := 0E3H
+			| 0427H: y := 0FEH
+			| 0428H: y := 0FBH
+			| 0429H: y := 0FDH
+			| 042AH: y := 0FFH
+			| 042BH: y := 0F9H
+			| 042CH: y := 0F8H
+			| 042DH: y := 0FCH
+			| 042EH: y := 0E0H
+			| 042FH: y := 0F1H
+			| 0430H..0431H: y := x - 036FH
+			| 0432H: y := 0D7H
+			| 0433H: y := 0C7H
+			| 0434H..0435H: y := x - 0370H
+			| 0436H: y := 0D6H
+			| 0437H: y := 0DAH
+			| 0438H..043FH: y := x - 036FH
+			| 0440H..0443H: y := x - 036EH
+			| 0444H: y := 0C6H
+			| 0445H: y := 0C8H
+			| 0446H: y := 0C3H
+			| 0447H: y := 0DEH
+			| 0448H: y := 0DBH
+			| 0449H: y := 0DDH
+			| 044AH: y := 0DFH
+			| 044BH: y := 0D9H
+			| 044CH: y := 0D8H
+			| 044DH: y := 0DCH
+			| 044EH: y := 0C0H
+			| 044FH: y := 0D1H
+			| 0451H: y := 0A3H
+			| 0454H: y := 0A4H
+			| 0456H..0457H: y := x - 03B0H
+			| 0490H: y := 0BDH
+			| 0491H: y := 0ADH
+			| 2219H..221AH: y := x - 2184H
+			| 2248H: y := 97H
+			| 2264H..2265H: y := x - 21CCH
+			| 2320H: y := 93H
+			| 2321H: y := 9BH
+			| 2500H: y := 80H
+			| 2502H: y := 81H
+			| 250CH: y := 82H
+			| 2510H: y := 83H
+			| 2514H: y := 84H
+			| 2518H: y := 85H
+			| 251CH: y := 86H
+			| 2524H: y := 87H
+			| 252CH: y := 88H
+			| 2534H: y := 89H
+			| 253CH: y := 8AH
+			| 2550H..2552H: y := x - 24B0H
+			| 2554H: y := 0A5H
+			| 2557H..255BH: y := x - 24AFH
+			| 255DH..2561H: y := x - 24AFH
+			| 2563H: y := 0B5H
+			| 2566H..256AH: y := x - 24AEH
+			| 256CH: y := 0BEH
+			| 2580H: y := 8BH
+			| 2584H: y := 8CH
+			| 2588H: y := 8DH
+			| 258CH: y := 8EH
+			| 2590H..2593H: y := x - 2501H
+			| 25A0H: y := 94H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 2500H
+			| 81H: y := 2502H
+			| 82H: y := 250CH
+			| 83H: y := 2510H
+			| 84H: y := 2514H
+			| 85H: y := 2518H
+			| 86H: y := 251CH
+			| 87H: y := 2524H
+			| 88H: y := 252CH
+			| 89H: y := 2534H
+			| 8AH: y := 253CH
+			| 8BH: y := 2580H
+			| 8CH: y := 2584H
+			| 8DH: y := 2588H
+			| 8EH: y := 258CH
+			| 8FH..92H: y := x + 2501H
+			| 93H: y := 2320H
+			| 94H: y := 25A0H
+			| 95H..96H: y := x + 2184H
+			| 97H: y := 2248H
+			| 98H..99H: y := x + 21CCH
+			| 9AH: y := 0A0H
+			| 9BH: y := 2321H
+			| 9CH: y := 0B0H
+			| 9DH: y := 0B2H
+			| 9EH: y := 0B7H
+			| 9FH: y := 0F7H
+			| 0A0H..0A2H: y := x + 24B0H
+			| 0A3H: y := 0451H
+			| 0A4H: y := 0454H
+			| 0A5H: y := 2554H
+			| 0A6H..0A7H: y := x + 03B0H
+			| 0A8H..0ACH: y := x + 24AFH
+			| 0ADH: y := 0491H
+			| 0AEH..0B2H: y := x + 24AFH
+			| 0B3H: y := 0401H
+			| 0B4H: y := 0404H
+			| 0B5H: y := 2563H
+			| 0B6H..0B7H: y := x + 0350H
+			| 0B8H..0BCH: y := x + 24AEH
+			| 0BDH: y := 0490H
+			| 0BEH: y := 256CH
+			| 0BFH: y := 0A9H
+			| 0C0H: y := 044EH
+			| 0C1H..0C2H: y := x + 036FH
+			| 0C3H: y := 0446H
+			| 0C4H..0C5H: y := x + 0370H
+			| 0C6H: y := 0444H
+			| 0C7H: y := 0433H
+			| 0C8H: y := 0445H
+			| 0C9H..0D0H: y := x + 036FH
+			| 0D1H: y := 044FH
+			| 0D2H..0D5H: y := x + 036EH
+			| 0D6H: y := 0436H
+			| 0D7H: y := 0432H
+			| 0D8H: y := 044CH
+			| 0D9H: y := 044BH
+			| 0DAH: y := 0437H
+			| 0DBH: y := 0448H
+			| 0DCH: y := 044DH
+			| 0DDH: y := 0449H
+			| 0DEH: y := 0447H
+			| 0DFH: y := 044AH
+			| 0E0H: y := 042EH
+			| 0E1H..0E2H: y := x + 032FH
+			| 0E3H: y := 0426H
+			| 0E4H..0E5H: y := x + 0330H
+			| 0E6H: y := 0424H
+			| 0E7H: y := 0413H
+			| 0E8H: y := 0425H
+			| 0E9H..0F0H: y := x + 032FH
+			| 0F1H: y := 042FH
+			| 0F2H..0F5H: y := x + 032EH
+			| 0F6H: y := 0416H
+			| 0F7H: y := 0412H
+			| 0F8H: y := 042CH
+			| 0F9H: y := 042BH
+			| 0FAH: y := 0417H
+			| 0FBH: y := 0428H
+			| 0FCH: y := 042DH
+			| 0FDH: y := 0429H
+			| 0FEH: y := 0427H
+			| 0FFH: y := 042AH
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_koi8_u.

+ 177 - 0
BlackBox/Enc/Mod/StdMap_kz1048.txt

@@ -0,0 +1,177 @@
+MODULE EncStdMap_kz1048;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KZ1048.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0A0H
+			| 0A4H: y := 0A4H
+			| 0A6H..0A7H: y := x
+			| 0A9H: y := 0A9H
+			| 0ABH..0AEH: y := x
+			| 0B0H..0B1H: y := x
+			| 0B5H..0B7H: y := x
+			| 0BBH: y := 0BBH
+			| 0401H: y := 0A8H
+			| 0402H..0403H: y := x - 0382H
+			| 0406H: y := 0B2H
+			| 0409H: y := 8AH
+			| 040AH: y := 8CH
+			| 040FH: y := 8FH
+			| 0410H..044FH: y := x - 0350H
+			| 0451H: y := 0B8H
+			| 0452H: y := 90H
+			| 0453H: y := 83H
+			| 0456H: y := 0B3H
+			| 0459H: y := 9AH
+			| 045AH: y := 9CH
+			| 045FH: y := 9FH
+			| 0492H: y := 0AAH
+			| 0493H: y := 0BAH
+			| 049AH: y := 8DH
+			| 049BH: y := 9DH
+			| 04A2H..04A3H: y := x - 03E5H
+			| 04AEH: y := 0AFH
+			| 04AFH: y := 0BFH
+			| 04B0H..04B1H: y := x - 040FH
+			| 04BAH: y := 8EH
+			| 04BBH: y := 9EH
+			| 04D8H: y := 0A3H
+			| 04D9H: y := 0BCH
+			| 04E8H: y := 0A5H
+			| 04E9H: y := 0B4H
+			| 2013H..2014H: y := x - 1F7DH
+			| 2018H..2019H: y := x - 1F87H
+			| 201AH: y := 82H
+			| 201CH..201DH: y := x - 1F89H
+			| 201EH: y := 84H
+			| 2020H..2021H: y := x - 1F9AH
+			| 2022H: y := 95H
+			| 2026H: y := 85H
+			| 2030H: y := 89H
+			| 2039H: y := 8BH
+			| 203AH: y := 9BH
+			| 20ACH: y := 88H
+			| 2116H: y := 0B9H
+			| 2122H: y := 99H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H..81H: y := x + 0382H
+			| 82H: y := 201AH
+			| 83H: y := 0453H
+			| 84H: y := 201EH
+			| 85H: y := 2026H
+			| 86H..87H: y := x + 1F9AH
+			| 88H: y := 20ACH
+			| 89H: y := 2030H
+			| 8AH: y := 0409H
+			| 8BH: y := 2039H
+			| 8CH: y := 040AH
+			| 8DH: y := 049AH
+			| 8EH: y := 04BAH
+			| 8FH: y := 040FH
+			| 90H: y := 0452H
+			| 91H..92H: y := x + 1F87H
+			| 93H..94H: y := x + 1F89H
+			| 95H: y := 2022H
+			| 96H..97H: y := x + 1F7DH
+			| 99H: y := 2122H
+			| 9AH: y := 0459H
+			| 9BH: y := 203AH
+			| 9CH: y := 045AH
+			| 9DH: y := 049BH
+			| 9EH: y := 04BBH
+			| 9FH: y := 045FH
+			| 0A0H: y := 0A0H
+			| 0A1H..0A2H: y := x + 040FH
+			| 0A3H: y := 04D8H
+			| 0A4H: y := 0A4H
+			| 0A5H: y := 04E8H
+			| 0A6H..0A7H: y := x
+			| 0A8H: y := 0401H
+			| 0A9H: y := 0A9H
+			| 0AAH: y := 0492H
+			| 0ABH..0AEH: y := x
+			| 0AFH: y := 04AEH
+			| 0B0H..0B1H: y := x
+			| 0B2H: y := 0406H
+			| 0B3H: y := 0456H
+			| 0B4H: y := 04E9H
+			| 0B5H..0B7H: y := x
+			| 0B8H: y := 0451H
+			| 0B9H: y := 2116H
+			| 0BAH: y := 0493H
+			| 0BBH: y := 0BBH
+			| 0BCH: y := 04D9H
+			| 0BDH..0BEH: y := x + 03E5H
+			| 0BFH: y := 04AFH
+			| 0C0H..0FFH: y := x + 0350H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_kz1048.

+ 281 - 0
BlackBox/Enc/Mod/StdMap_mac_centraleurope.txt

@@ -0,0 +1,281 @@
+MODULE EncStdMap_mac_centraleurope;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/LATIN2.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0CAH
+			| 0A3H: y := 0A3H
+			| 0A7H: y := 0A4H
+			| 0A8H: y := 0ACH
+			| 0A9H: y := 0A9H
+			| 0ABH: y := 0C7H
+			| 0ACH: y := 0C2H
+			| 0AEH: y := 0A8H
+			| 0B0H: y := 0A1H
+			| 0B6H: y := 0A6H
+			| 0BBH: y := 0C8H
+			| 0C1H: y := 0E7H
+			| 0C4H: y := 80H
+			| 0C9H: y := 83H
+			| 0CDH: y := 0EAH
+			| 0D3H..0D4H: y := x + 1BH
+			| 0D5H: y := 0CDH
+			| 0D6H: y := 85H
+			| 0DAH: y := 0F2H
+			| 0DCH: y := 86H
+			| 0DDH: y := 0F8H
+			| 0DFH: y := 0A7H
+			| 0E1H: y := 87H
+			| 0E4H: y := 8AH
+			| 0E9H: y := 8EH
+			| 0EDH: y := 92H
+			| 0F3H: y := 97H
+			| 0F4H: y := 99H
+			| 0F5H: y := 9BH
+			| 0F6H: y := 9AH
+			| 0F7H: y := 0D6H
+			| 0FAH: y := 9CH
+			| 0FCH: y := 9FH
+			| 0FDH: y := 0F9H
+			| 0100H..0101H: y := x - 7FH
+			| 0104H: y := 84H
+			| 0105H: y := 88H
+			| 0106H..0107H: y := x - 7AH
+			| 010CH: y := 89H
+			| 010DH: y := 8BH
+			| 010EH: y := 91H
+			| 010FH: y := 93H
+			| 0112H..0113H: y := x - 7EH
+			| 0116H: y := 96H
+			| 0117H: y := 98H
+			| 0118H: y := 0A2H
+			| 0119H: y := 0ABH
+			| 011AH..011BH: y := x - 7DH
+			| 0122H: y := 0FEH
+			| 0123H: y := 0AEH
+			| 012AH: y := 0B1H
+			| 012BH: y := 0B4H
+			| 012EH..012FH: y := x - 7FH
+			| 0136H: y := 0B5H
+			| 0137H: y := 0FAH
+			| 0139H..013AH: y := x - 7CH
+			| 013BH..013EH: y := x - 82H
+			| 0141H: y := 0FCH
+			| 0142H: y := 0B8H
+			| 0143H: y := 0C1H
+			| 0144H: y := 0C4H
+			| 0145H..0146H: y := x - 86H
+			| 0147H: y := 0C5H
+			| 0148H: y := 0CBH
+			| 014CH: y := 0CFH
+			| 014DH: y := 0D8H
+			| 0150H: y := 0CCH
+			| 0151H: y := 0CEH
+			| 0154H..0155H: y := x - 7BH
+			| 0156H..0157H: y := x - 77H
+			| 0158H: y := 0DBH
+			| 0159H: y := 0DEH
+			| 015AH..015BH: y := x - 75H
+			| 0160H: y := 0E1H
+			| 0161H: y := 0E4H
+			| 0164H..0165H: y := x - 7CH
+			| 016AH: y := 0EDH
+			| 016BH: y := 0F0H
+			| 016EH: y := 0F1H
+			| 016FH..0173H: y := x - 7CH
+			| 0179H..017AH: y := x - 0EAH
+			| 017BH: y := 0FBH
+			| 017CH: y := 0FDH
+			| 017DH..017EH: y := x - 92H
+			| 02C7H: y := 0FFH
+			| 2013H..2014H: y := x - 1F43H
+			| 2018H..2019H: y := x - 1F44H
+			| 201AH: y := 0E2H
+			| 201CH..201DH: y := x - 1F4AH
+			| 201EH: y := 0E3H
+			| 2020H: y := 0A0H
+			| 2022H: y := 0A5H
+			| 2026H: y := 0C9H
+			| 2039H..203AH: y := x - 1F5DH
+			| 2122H: y := 0AAH
+			| 2202H: y := 0B6H
+			| 2206H: y := 0C6H
+			| 2211H: y := 0B7H
+			| 221AH: y := 0C3H
+			| 2260H: y := 0ADH
+			| 2264H..2265H: y := x - 21B2H
+			| 25CAH: y := 0D7H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 0C4H
+			| 81H..82H: y := x + 7FH
+			| 83H: y := 0C9H
+			| 84H: y := 0104H
+			| 85H: y := 0D6H
+			| 86H: y := 0DCH
+			| 87H: y := 0E1H
+			| 88H: y := 0105H
+			| 89H: y := 010CH
+			| 8AH: y := 0E4H
+			| 8BH: y := 010DH
+			| 8CH..8DH: y := x + 7AH
+			| 8EH: y := 0E9H
+			| 8FH..90H: y := x + 0EAH
+			| 91H: y := 010EH
+			| 92H: y := 0EDH
+			| 93H: y := 010FH
+			| 94H..95H: y := x + 7EH
+			| 96H: y := 0116H
+			| 97H: y := 0F3H
+			| 98H: y := 0117H
+			| 99H: y := 0F4H
+			| 9AH: y := 0F6H
+			| 9BH: y := 0F5H
+			| 9CH: y := 0FAH
+			| 9DH..9EH: y := x + 7DH
+			| 9FH: y := 0FCH
+			| 0A0H: y := 2020H
+			| 0A1H: y := 0B0H
+			| 0A2H: y := 0118H
+			| 0A3H: y := 0A3H
+			| 0A4H: y := 0A7H
+			| 0A5H: y := 2022H
+			| 0A6H: y := 0B6H
+			| 0A7H: y := 0DFH
+			| 0A8H: y := 0AEH
+			| 0A9H: y := 0A9H
+			| 0AAH: y := 2122H
+			| 0ABH: y := 0119H
+			| 0ACH: y := 0A8H
+			| 0ADH: y := 2260H
+			| 0AEH: y := 0123H
+			| 0AFH..0B0H: y := x + 7FH
+			| 0B1H: y := 012AH
+			| 0B2H..0B3H: y := x + 21B2H
+			| 0B4H: y := 012BH
+			| 0B5H: y := 0136H
+			| 0B6H: y := 2202H
+			| 0B7H: y := 2211H
+			| 0B8H: y := 0142H
+			| 0B9H..0BCH: y := x + 82H
+			| 0BDH..0BEH: y := x + 7CH
+			| 0BFH..0C0H: y := x + 86H
+			| 0C1H: y := 0143H
+			| 0C2H: y := 0ACH
+			| 0C3H: y := 221AH
+			| 0C4H: y := 0144H
+			| 0C5H: y := 0147H
+			| 0C6H: y := 2206H
+			| 0C7H: y := 0ABH
+			| 0C8H: y := 0BBH
+			| 0C9H: y := 2026H
+			| 0CAH: y := 0A0H
+			| 0CBH: y := 0148H
+			| 0CCH: y := 0150H
+			| 0CDH: y := 0D5H
+			| 0CEH: y := 0151H
+			| 0CFH: y := 014CH
+			| 0D0H..0D1H: y := x + 1F43H
+			| 0D2H..0D3H: y := x + 1F4AH
+			| 0D4H..0D5H: y := x + 1F44H
+			| 0D6H: y := 0F7H
+			| 0D7H: y := 25CAH
+			| 0D8H: y := 014DH
+			| 0D9H..0DAH: y := x + 7BH
+			| 0DBH: y := 0158H
+			| 0DCH..0DDH: y := x + 1F5DH
+			| 0DEH: y := 0159H
+			| 0DFH..0E0H: y := x + 77H
+			| 0E1H: y := 0160H
+			| 0E2H: y := 201AH
+			| 0E3H: y := 201EH
+			| 0E4H: y := 0161H
+			| 0E5H..0E6H: y := x + 75H
+			| 0E7H: y := 0C1H
+			| 0E8H..0E9H: y := x + 7CH
+			| 0EAH: y := 0CDH
+			| 0EBH..0ECH: y := x + 92H
+			| 0EDH: y := 016AH
+			| 0EEH..0EFH: y := x - 1BH
+			| 0F0H: y := 016BH
+			| 0F1H: y := 016EH
+			| 0F2H: y := 0DAH
+			| 0F3H..0F7H: y := x + 7CH
+			| 0F8H: y := 0DDH
+			| 0F9H: y := 0FDH
+			| 0FAH: y := 0137H
+			| 0FBH: y := 017BH
+			| 0FCH: y := 0141H
+			| 0FDH: y := 017CH
+			| 0FEH: y := 0122H
+			| 0FFH: y := 02C7H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_mac_centraleurope.

+ 201 - 0
BlackBox/Enc/Mod/StdMap_mac_cyrillic.txt

@@ -0,0 +1,201 @@
+MODULE EncStdMap_mac_cyrillic;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/CYRILLIC.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0CAH
+			| 0A2H..0A3H: y := x
+			| 0A4H: y := 0FFH
+			| 0A7H: y := 0A4H
+			| 0A9H: y := 0A9H
+			| 0ABH: y := 0C7H
+			| 0ACH: y := 0C2H
+			| 0AEH: y := 0A8H
+			| 0B0H: y := 0A1H
+			| 0B1H: y := 0B1H
+			| 0B5H: y := 0B5H
+			| 0B6H: y := 0A6H
+			| 0BBH: y := 0C8H
+			| 0F7H: y := 0D6H
+			| 0192H: y := 0C4H
+			| 0401H: y := 0DDH
+			| 0402H: y := 0ABH
+			| 0403H: y := 0AEH
+			| 0404H: y := 0B8H
+			| 0405H: y := 0C1H
+			| 0406H: y := 0A7H
+			| 0407H: y := 0BAH
+			| 0408H: y := 0B7H
+			| 0409H: y := 0BCH
+			| 040AH: y := 0BEH
+			| 040BH: y := 0CBH
+			| 040CH: y := 0CDH
+			| 040EH: y := 0D8H
+			| 040FH: y := 0DAH
+			| 0410H..042FH: y := x - 0390H
+			| 0430H..044EH: y := x - 0350H
+			| 044FH: y := 0DFH
+			| 0451H: y := 0DEH
+			| 0452H: y := 0ACH
+			| 0453H: y := 0AFH
+			| 0454H: y := 0B9H
+			| 0455H: y := 0CFH
+			| 0456H: y := 0B4H
+			| 0457H: y := 0BBH
+			| 0458H: y := 0C0H
+			| 0459H: y := 0BDH
+			| 045AH: y := 0BFH
+			| 045BH: y := 0CCH
+			| 045CH: y := 0CEH
+			| 045EH: y := 0D9H
+			| 045FH: y := 0DBH
+			| 2013H..2014H: y := x - 1F43H
+			| 2018H..2019H: y := x - 1F44H
+			| 201CH..201DH: y := x - 1F4AH
+			| 201EH: y := 0D7H
+			| 2020H: y := 0A0H
+			| 2022H: y := 0A5H
+			| 2026H: y := 0C9H
+			| 2116H: y := 0DCH
+			| 2122H: y := 0AAH
+			| 2202H: y := 0B6H
+			| 2206H: y := 0C6H
+			| 221AH: y := 0C3H
+			| 221EH: y := 0B0H
+			| 2248H: y := 0C5H
+			| 2260H: y := 0ADH
+			| 2264H..2265H: y := x - 21B2H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H..9FH: y := x + 0390H
+			| 0A0H: y := 2020H
+			| 0A1H: y := 0B0H
+			| 0A2H..0A3H: y := x
+			| 0A4H: y := 0A7H
+			| 0A5H: y := 2022H
+			| 0A6H: y := 0B6H
+			| 0A7H: y := 0406H
+			| 0A8H: y := 0AEH
+			| 0A9H: y := 0A9H
+			| 0AAH: y := 2122H
+			| 0ABH: y := 0402H
+			| 0ACH: y := 0452H
+			| 0ADH: y := 2260H
+			| 0AEH: y := 0403H
+			| 0AFH: y := 0453H
+			| 0B0H: y := 221EH
+			| 0B1H: y := 0B1H
+			| 0B2H..0B3H: y := x + 21B2H
+			| 0B4H: y := 0456H
+			| 0B5H: y := 0B5H
+			| 0B6H: y := 2202H
+			| 0B7H: y := 0408H
+			| 0B8H: y := 0404H
+			| 0B9H: y := 0454H
+			| 0BAH: y := 0407H
+			| 0BBH: y := 0457H
+			| 0BCH: y := 0409H
+			| 0BDH: y := 0459H
+			| 0BEH: y := 040AH
+			| 0BFH: y := 045AH
+			| 0C0H: y := 0458H
+			| 0C1H: y := 0405H
+			| 0C2H: y := 0ACH
+			| 0C3H: y := 221AH
+			| 0C4H: y := 0192H
+			| 0C5H: y := 2248H
+			| 0C6H: y := 2206H
+			| 0C7H: y := 0ABH
+			| 0C8H: y := 0BBH
+			| 0C9H: y := 2026H
+			| 0CAH: y := 0A0H
+			| 0CBH: y := 040BH
+			| 0CCH: y := 045BH
+			| 0CDH: y := 040CH
+			| 0CEH: y := 045CH
+			| 0CFH: y := 0455H
+			| 0D0H..0D1H: y := x + 1F43H
+			| 0D2H..0D3H: y := x + 1F4AH
+			| 0D4H..0D5H: y := x + 1F44H
+			| 0D6H: y := 0F7H
+			| 0D7H: y := 201EH
+			| 0D8H: y := 040EH
+			| 0D9H: y := 045EH
+			| 0DAH: y := 040FH
+			| 0DBH: y := 045FH
+			| 0DCH: y := 2116H
+			| 0DDH: y := 0401H
+			| 0DEH: y := 0451H
+			| 0DFH: y := 044FH
+			| 0E0H..0FEH: y := x + 0350H
+			| 0FFH: y := 0A4H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_mac_cyrillic.

+ 287 - 0
BlackBox/Enc/Mod/StdMap_mac_greek.txt

@@ -0,0 +1,287 @@
+MODULE EncStdMap_mac_greek;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/GREEK.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0CAH
+			| 0A3H: y := 92H
+			| 0A5H: y := 0B4H
+			| 0A6H: y := 9BH
+			| 0A7H: y := 0ACH
+			| 0A8H: y := 8CH
+			| 0A9H: y := 0A9H
+			| 0ABH: y := 0C7H
+			| 0ACH: y := 0C2H
+			| 0ADH: y := 9CH
+			| 0AEH: y := 0A8H
+			| 0B0H: y := 0AEH
+			| 0B1H: y := 0B1H
+			| 0B2H: y := 82H
+			| 0B3H: y := 84H
+			| 0B9H: y := 81H
+			| 0BBH: y := 0C8H
+			| 0BDH: y := 97H
+			| 0C4H: y := 80H
+			| 0C9H: y := 83H
+			| 0D6H: y := 85H
+			| 0DCH: y := 86H
+			| 0DFH: y := 0A7H
+			| 0E0H: y := 88H
+			| 0E2H: y := 89H
+			| 0E4H: y := 8AH
+			| 0E7H: y := 8DH
+			| 0E8H: y := 8FH
+			| 0E9H: y := 8EH
+			| 0EAH..0EBH: y := x - 5AH
+			| 0EEH..0EFH: y := x - 5AH
+			| 0F4H: y := 99H
+			| 0F6H: y := 9AH
+			| 0F7H: y := 0D6H
+			| 0F9H: y := 9DH
+			| 0FBH..0FCH: y := x - 5DH
+			| 0153H: y := 0CFH
+			| 0384H: y := 8BH
+			| 0385H: y := 87H
+			| 0386H: y := 0CDH
+			| 0387H: y := 0AFH
+			| 0388H: y := 0CEH
+			| 0389H..038AH: y := x - 02B2H
+			| 038CH: y := 0D9H
+			| 038EH: y := 0DAH
+			| 038FH: y := 0DFH
+			| 0390H: y := 0FDH
+			| 0391H: y := 0B0H
+			| 0392H: y := 0B5H
+			| 0393H..0394H: y := x - 02F2H
+			| 0395H..0397H: y := x - 02DFH
+			| 0398H: y := 0A3H
+			| 0399H..039AH: y := x - 02E0H
+			| 039BH: y := 0A4H
+			| 039CH: y := 0BBH
+			| 039DH: y := 0C1H
+			| 039EH: y := 0A5H
+			| 039FH: y := 0C3H
+			| 03A0H: y := 0A6H
+			| 03A1H: y := 0C4H
+			| 03A3H: y := 0AAH
+			| 03A4H: y := 0C6H
+			| 03A5H: y := 0CBH
+			| 03A6H: y := 0BCH
+			| 03A7H: y := 0CCH
+			| 03A8H..03A9H: y := x - 02EAH
+			| 03AAH: y := 0ABH
+			| 03ABH: y := 0BDH
+			| 03ACH: y := 0C0H
+			| 03ADH..03AFH: y := x - 02D2H
+			| 03B0H: y := 0FEH
+			| 03B1H..03B2H: y := x - 02D0H
+			| 03B3H: y := 0E7H
+			| 03B4H..03B5H: y := x - 02D0H
+			| 03B6H: y := 0FAH
+			| 03B7H: y := 0E8H
+			| 03B8H: y := 0F5H
+			| 03B9H: y := 0E9H
+			| 03BAH..03BDH: y := x - 02CFH
+			| 03BEH: y := 0EAH
+			| 03BFH..03C0H: y := x - 02D0H
+			| 03C1H: y := 0F2H
+			| 03C2H: y := 0F7H
+			| 03C3H..03C4H: y := x - 02D0H
+			| 03C5H: y := 0F9H
+			| 03C6H: y := 0E6H
+			| 03C7H: y := 0F8H
+			| 03C8H: y := 0E3H
+			| 03C9H: y := 0F6H
+			| 03CAH..03CBH: y := x - 02CFH
+			| 03CCH: y := 0DEH
+			| 03CDH: y := 0E0H
+			| 03CEH: y := 0F1H
+			| 2013H: y := 0D0H
+			| 2015H: y := 0D1H
+			| 2018H..2019H: y := x - 1F44H
+			| 201CH..201DH: y := x - 1F4AH
+			| 2020H: y := 0A0H
+			| 2022H: y := 96H
+			| 2026H: y := 0C9H
+			| 2030H: y := 98H
+			| 2122H: y := 93H
+			| 2248H: y := 0C5H
+			| 2260H: y := 0ADH
+			| 2264H..2265H: y := x - 21B2H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 0C4H
+			| 81H: y := 0B9H
+			| 82H: y := 0B2H
+			| 83H: y := 0C9H
+			| 84H: y := 0B3H
+			| 85H: y := 0D6H
+			| 86H: y := 0DCH
+			| 87H: y := 0385H
+			| 88H: y := 0E0H
+			| 89H: y := 0E2H
+			| 8AH: y := 0E4H
+			| 8BH: y := 0384H
+			| 8CH: y := 0A8H
+			| 8DH: y := 0E7H
+			| 8EH: y := 0E9H
+			| 8FH: y := 0E8H
+			| 90H..91H: y := x + 5AH
+			| 92H: y := 0A3H
+			| 93H: y := 2122H
+			| 94H..95H: y := x + 5AH
+			| 96H: y := 2022H
+			| 97H: y := 0BDH
+			| 98H: y := 2030H
+			| 99H: y := 0F4H
+			| 9AH: y := 0F6H
+			| 9BH: y := 0A6H
+			| 9CH: y := 0ADH
+			| 9DH: y := 0F9H
+			| 9EH..9FH: y := x + 5DH
+			| 0A0H: y := 2020H
+			| 0A1H..0A2H: y := x + 02F2H
+			| 0A3H: y := 0398H
+			| 0A4H: y := 039BH
+			| 0A5H: y := 039EH
+			| 0A6H: y := 03A0H
+			| 0A7H: y := 0DFH
+			| 0A8H: y := 0AEH
+			| 0A9H: y := 0A9H
+			| 0AAH: y := 03A3H
+			| 0ABH: y := 03AAH
+			| 0ACH: y := 0A7H
+			| 0ADH: y := 2260H
+			| 0AEH: y := 0B0H
+			| 0AFH: y := 0387H
+			| 0B0H: y := 0391H
+			| 0B1H: y := 0B1H
+			| 0B2H..0B3H: y := x + 21B2H
+			| 0B4H: y := 0A5H
+			| 0B5H: y := 0392H
+			| 0B6H..0B8H: y := x + 02DFH
+			| 0B9H..0BAH: y := x + 02E0H
+			| 0BBH: y := 039CH
+			| 0BCH: y := 03A6H
+			| 0BDH: y := 03ABH
+			| 0BEH..0BFH: y := x + 02EAH
+			| 0C0H: y := 03ACH
+			| 0C1H: y := 039DH
+			| 0C2H: y := 0ACH
+			| 0C3H: y := 039FH
+			| 0C4H: y := 03A1H
+			| 0C5H: y := 2248H
+			| 0C6H: y := 03A4H
+			| 0C7H: y := 0ABH
+			| 0C8H: y := 0BBH
+			| 0C9H: y := 2026H
+			| 0CAH: y := 0A0H
+			| 0CBH: y := 03A5H
+			| 0CCH: y := 03A7H
+			| 0CDH: y := 0386H
+			| 0CEH: y := 0388H
+			| 0CFH: y := 0153H
+			| 0D0H: y := 2013H
+			| 0D1H: y := 2015H
+			| 0D2H..0D3H: y := x + 1F4AH
+			| 0D4H..0D5H: y := x + 1F44H
+			| 0D6H: y := 0F7H
+			| 0D7H..0D8H: y := x + 02B2H
+			| 0D9H: y := 038CH
+			| 0DAH: y := 038EH
+			| 0DBH..0DDH: y := x + 02D2H
+			| 0DEH: y := 03CCH
+			| 0DFH: y := 038FH
+			| 0E0H: y := 03CDH
+			| 0E1H..0E2H: y := x + 02D0H
+			| 0E3H: y := 03C8H
+			| 0E4H..0E5H: y := x + 02D0H
+			| 0E6H: y := 03C6H
+			| 0E7H: y := 03B3H
+			| 0E8H: y := 03B7H
+			| 0E9H: y := 03B9H
+			| 0EAH: y := 03BEH
+			| 0EBH..0EEH: y := x + 02CFH
+			| 0EFH..0F0H: y := x + 02D0H
+			| 0F1H: y := 03CEH
+			| 0F2H: y := 03C1H
+			| 0F3H..0F4H: y := x + 02D0H
+			| 0F5H: y := 03B8H
+			| 0F6H: y := 03C9H
+			| 0F7H: y := 03C2H
+			| 0F8H: y := 03C7H
+			| 0F9H: y := 03C5H
+			| 0FAH: y := 03B6H
+			| 0FBH..0FCH: y := x + 02CFH
+			| 0FDH: y := 0390H
+			| 0FEH: y := 03B0H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_mac_greek.

+ 299 - 0
BlackBox/Enc/Mod/StdMap_mac_iceland.txt

@@ -0,0 +1,299 @@
+MODULE EncStdMap_mac_iceland;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/ICELAND.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0CAH
+			| 0A1H: y := 0C1H
+			| 0A2H..0A3H: y := x
+			| 0A4H: y := 0DBH
+			| 0A5H: y := 0B4H
+			| 0A7H: y := 0A4H
+			| 0A8H: y := 0ACH
+			| 0A9H: y := 0A9H
+			| 0AAH: y := 0BBH
+			| 0ABH: y := 0C7H
+			| 0ACH: y := 0C2H
+			| 0AEH: y := 0A8H
+			| 0AFH: y := 0F8H
+			| 0B0H: y := 0A1H
+			| 0B1H: y := 0B1H
+			| 0B4H: y := 0ABH
+			| 0B5H: y := 0B5H
+			| 0B6H: y := 0A6H
+			| 0B7H: y := 0E1H
+			| 0B8H: y := 0FCH
+			| 0BAH: y := 0BCH
+			| 0BBH: y := 0C8H
+			| 0BFH: y := 0C0H
+			| 0C0H: y := 0CBH
+			| 0C1H: y := 0E7H
+			| 0C2H: y := 0E5H
+			| 0C3H: y := 0CCH
+			| 0C4H..0C5H: y := x - 44H
+			| 0C6H: y := 0AEH
+			| 0C7H: y := 82H
+			| 0C8H: y := 0E9H
+			| 0C9H: y := 83H
+			| 0CAH: y := 0E6H
+			| 0CBH: y := 0E8H
+			| 0CCH: y := 0EDH
+			| 0CDH..0CFH: y := x + 1DH
+			| 0D0H: y := 0DCH
+			| 0D1H: y := 84H
+			| 0D2H: y := 0F1H
+			| 0D3H..0D4H: y := x + 1BH
+			| 0D5H: y := 0CDH
+			| 0D6H: y := 85H
+			| 0D8H: y := 0AFH
+			| 0D9H: y := 0F4H
+			| 0DAH..0DBH: y := x + 18H
+			| 0DCH: y := 86H
+			| 0DDH: y := 0A0H
+			| 0DEH: y := 0DEH
+			| 0DFH: y := 0A7H
+			| 0E0H: y := 88H
+			| 0E1H: y := 87H
+			| 0E2H: y := 89H
+			| 0E3H: y := 8BH
+			| 0E4H: y := 8AH
+			| 0E5H: y := 8CH
+			| 0E6H: y := 0BEH
+			| 0E7H: y := 8DH
+			| 0E8H: y := 8FH
+			| 0E9H: y := 8EH
+			| 0EAH..0EBH: y := x - 5AH
+			| 0ECH: y := 93H
+			| 0EDH: y := 92H
+			| 0EEH..0EFH: y := x - 5AH
+			| 0F0H: y := 0DDH
+			| 0F1H: y := 96H
+			| 0F2H: y := 98H
+			| 0F3H: y := 97H
+			| 0F4H: y := 99H
+			| 0F5H: y := 9BH
+			| 0F6H: y := 9AH
+			| 0F7H: y := 0D6H
+			| 0F8H: y := 0BFH
+			| 0F9H: y := 9DH
+			| 0FAH: y := 9CH
+			| 0FBH..0FCH: y := x - 5DH
+			| 0FDH: y := 0E0H
+			| 0FEH: y := 0DFH
+			| 0FFH: y := 0D8H
+			| 0131H: y := 0F5H
+			| 0152H..0153H: y := x - 84H
+			| 0178H: y := 0D9H
+			| 0192H: y := 0C4H
+			| 02C6H: y := 0F6H
+			| 02C7H: y := 0FFH
+			| 02D8H..02DAH: y := x - 01DFH
+			| 02DBH: y := 0FEH
+			| 02DCH: y := 0F7H
+			| 02DDH: y := 0FDH
+			| 03C0H: y := 0B9H
+			| 2013H..2014H: y := x - 1F43H
+			| 2018H..2019H: y := x - 1F44H
+			| 201AH: y := 0E2H
+			| 201CH..201DH: y := x - 1F4AH
+			| 201EH: y := 0E3H
+			| 2022H: y := 0A5H
+			| 2026H: y := 0C9H
+			| 2030H: y := 0E4H
+			| 2044H: y := 0DAH
+			| 2122H: y := 0AAH
+			| 2126H: y := 0BDH
+			| 2202H: y := 0B6H
+			| 2206H: y := 0C6H
+			| 220FH: y := 0B8H
+			| 2211H: y := 0B7H
+			| 221AH: y := 0C3H
+			| 221EH: y := 0B0H
+			| 222BH: y := 0BAH
+			| 2248H: y := 0C5H
+			| 2260H: y := 0ADH
+			| 2264H..2265H: y := x - 21B2H
+			| 25CAH: y := 0D7H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H..81H: y := x + 44H
+			| 82H: y := 0C7H
+			| 83H: y := 0C9H
+			| 84H: y := 0D1H
+			| 85H: y := 0D6H
+			| 86H: y := 0DCH
+			| 87H: y := 0E1H
+			| 88H: y := 0E0H
+			| 89H: y := 0E2H
+			| 8AH: y := 0E4H
+			| 8BH: y := 0E3H
+			| 8CH: y := 0E5H
+			| 8DH: y := 0E7H
+			| 8EH: y := 0E9H
+			| 8FH: y := 0E8H
+			| 90H..91H: y := x + 5AH
+			| 92H: y := 0EDH
+			| 93H: y := 0ECH
+			| 94H..95H: y := x + 5AH
+			| 96H: y := 0F1H
+			| 97H: y := 0F3H
+			| 98H: y := 0F2H
+			| 99H: y := 0F4H
+			| 9AH: y := 0F6H
+			| 9BH: y := 0F5H
+			| 9CH: y := 0FAH
+			| 9DH: y := 0F9H
+			| 9EH..9FH: y := x + 5DH
+			| 0A0H: y := 0DDH
+			| 0A1H: y := 0B0H
+			| 0A2H..0A3H: y := x
+			| 0A4H: y := 0A7H
+			| 0A5H: y := 2022H
+			| 0A6H: y := 0B6H
+			| 0A7H: y := 0DFH
+			| 0A8H: y := 0AEH
+			| 0A9H: y := 0A9H
+			| 0AAH: y := 2122H
+			| 0ABH: y := 0B4H
+			| 0ACH: y := 0A8H
+			| 0ADH: y := 2260H
+			| 0AEH: y := 0C6H
+			| 0AFH: y := 0D8H
+			| 0B0H: y := 221EH
+			| 0B1H: y := 0B1H
+			| 0B2H..0B3H: y := x + 21B2H
+			| 0B4H: y := 0A5H
+			| 0B5H: y := 0B5H
+			| 0B6H: y := 2202H
+			| 0B7H: y := 2211H
+			| 0B8H: y := 220FH
+			| 0B9H: y := 03C0H
+			| 0BAH: y := 222BH
+			| 0BBH: y := 0AAH
+			| 0BCH: y := 0BAH
+			| 0BDH: y := 2126H
+			| 0BEH: y := 0E6H
+			| 0BFH: y := 0F8H
+			| 0C0H: y := 0BFH
+			| 0C1H: y := 0A1H
+			| 0C2H: y := 0ACH
+			| 0C3H: y := 221AH
+			| 0C4H: y := 0192H
+			| 0C5H: y := 2248H
+			| 0C6H: y := 2206H
+			| 0C7H: y := 0ABH
+			| 0C8H: y := 0BBH
+			| 0C9H: y := 2026H
+			| 0CAH: y := 0A0H
+			| 0CBH: y := 0C0H
+			| 0CCH: y := 0C3H
+			| 0CDH: y := 0D5H
+			| 0CEH..0CFH: y := x + 84H
+			| 0D0H..0D1H: y := x + 1F43H
+			| 0D2H..0D3H: y := x + 1F4AH
+			| 0D4H..0D5H: y := x + 1F44H
+			| 0D6H: y := 0F7H
+			| 0D7H: y := 25CAH
+			| 0D8H: y := 0FFH
+			| 0D9H: y := 0178H
+			| 0DAH: y := 2044H
+			| 0DBH: y := 0A4H
+			| 0DCH: y := 0D0H
+			| 0DDH: y := 0F0H
+			| 0DEH: y := 0DEH
+			| 0DFH: y := 0FEH
+			| 0E0H: y := 0FDH
+			| 0E1H: y := 0B7H
+			| 0E2H: y := 201AH
+			| 0E3H: y := 201EH
+			| 0E4H: y := 2030H
+			| 0E5H: y := 0C2H
+			| 0E6H: y := 0CAH
+			| 0E7H: y := 0C1H
+			| 0E8H: y := 0CBH
+			| 0E9H: y := 0C8H
+			| 0EAH..0ECH: y := x - 1DH
+			| 0EDH: y := 0CCH
+			| 0EEH..0EFH: y := x - 1BH
+			| 0F1H: y := 0D2H
+			| 0F2H..0F3H: y := x - 18H
+			| 0F4H: y := 0D9H
+			| 0F5H: y := 0131H
+			| 0F6H: y := 02C6H
+			| 0F7H: y := 02DCH
+			| 0F8H: y := 0AFH
+			| 0F9H..0FBH: y := x + 01DFH
+			| 0FCH: y := 0B8H
+			| 0FDH: y := 02DDH
+			| 0FEH: y := 02DBH
+			| 0FFH: y := 02C7H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_mac_iceland.

+ 295 - 0
BlackBox/Enc/Mod/StdMap_mac_roman.txt

@@ -0,0 +1,295 @@
+MODULE EncStdMap_mac_roman;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/ROMAN.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0CAH
+			| 0A1H: y := 0C1H
+			| 0A2H..0A3H: y := x
+			| 0A4H: y := 0DBH
+			| 0A5H: y := 0B4H
+			| 0A7H: y := 0A4H
+			| 0A8H: y := 0ACH
+			| 0A9H: y := 0A9H
+			| 0AAH: y := 0BBH
+			| 0ABH: y := 0C7H
+			| 0ACH: y := 0C2H
+			| 0AEH: y := 0A8H
+			| 0AFH: y := 0F8H
+			| 0B0H: y := 0A1H
+			| 0B1H: y := 0B1H
+			| 0B4H: y := 0ABH
+			| 0B5H: y := 0B5H
+			| 0B6H: y := 0A6H
+			| 0B7H: y := 0E1H
+			| 0B8H: y := 0FCH
+			| 0BAH: y := 0BCH
+			| 0BBH: y := 0C8H
+			| 0BFH: y := 0C0H
+			| 0C0H: y := 0CBH
+			| 0C1H: y := 0E7H
+			| 0C2H: y := 0E5H
+			| 0C3H: y := 0CCH
+			| 0C4H..0C5H: y := x - 44H
+			| 0C6H: y := 0AEH
+			| 0C7H: y := 82H
+			| 0C8H: y := 0E9H
+			| 0C9H: y := 83H
+			| 0CAH: y := 0E6H
+			| 0CBH: y := 0E8H
+			| 0CCH: y := 0EDH
+			| 0CDH..0CFH: y := x + 1DH
+			| 0D1H: y := 84H
+			| 0D2H: y := 0F1H
+			| 0D3H..0D4H: y := x + 1BH
+			| 0D5H: y := 0CDH
+			| 0D6H: y := 85H
+			| 0D8H: y := 0AFH
+			| 0D9H: y := 0F4H
+			| 0DAH..0DBH: y := x + 18H
+			| 0DCH: y := 86H
+			| 0DFH: y := 0A7H
+			| 0E0H: y := 88H
+			| 0E1H: y := 87H
+			| 0E2H: y := 89H
+			| 0E3H: y := 8BH
+			| 0E4H: y := 8AH
+			| 0E5H: y := 8CH
+			| 0E6H: y := 0BEH
+			| 0E7H: y := 8DH
+			| 0E8H: y := 8FH
+			| 0E9H: y := 8EH
+			| 0EAH..0EBH: y := x - 5AH
+			| 0ECH: y := 93H
+			| 0EDH: y := 92H
+			| 0EEH..0EFH: y := x - 5AH
+			| 0F1H: y := 96H
+			| 0F2H: y := 98H
+			| 0F3H: y := 97H
+			| 0F4H: y := 99H
+			| 0F5H: y := 9BH
+			| 0F6H: y := 9AH
+			| 0F7H: y := 0D6H
+			| 0F8H: y := 0BFH
+			| 0F9H: y := 9DH
+			| 0FAH: y := 9CH
+			| 0FBH..0FCH: y := x - 5DH
+			| 0FFH: y := 0D8H
+			| 0131H: y := 0F5H
+			| 0152H..0153H: y := x - 84H
+			| 0178H: y := 0D9H
+			| 0192H: y := 0C4H
+			| 02C6H: y := 0F6H
+			| 02C7H: y := 0FFH
+			| 02D8H..02DAH: y := x - 01DFH
+			| 02DBH: y := 0FEH
+			| 02DCH: y := 0F7H
+			| 02DDH: y := 0FDH
+			| 03C0H: y := 0B9H
+			| 2013H..2014H: y := x - 1F43H
+			| 2018H..2019H: y := x - 1F44H
+			| 201AH: y := 0E2H
+			| 201CH..201DH: y := x - 1F4AH
+			| 201EH: y := 0E3H
+			| 2020H: y := 0A0H
+			| 2021H: y := 0E0H
+			| 2022H: y := 0A5H
+			| 2026H: y := 0C9H
+			| 2030H: y := 0E4H
+			| 2039H..203AH: y := x - 1F5DH
+			| 2044H: y := 0DAH
+			| 2122H: y := 0AAH
+			| 2126H: y := 0BDH
+			| 2202H: y := 0B6H
+			| 2206H: y := 0C6H
+			| 220FH: y := 0B8H
+			| 2211H: y := 0B7H
+			| 221AH: y := 0C3H
+			| 221EH: y := 0B0H
+			| 222BH: y := 0BAH
+			| 2248H: y := 0C5H
+			| 2260H: y := 0ADH
+			| 2264H..2265H: y := x - 21B2H
+			| 25CAH: y := 0D7H
+			| 0FB01H..0FB02H: y := x - 0FA23H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H..81H: y := x + 44H
+			| 82H: y := 0C7H
+			| 83H: y := 0C9H
+			| 84H: y := 0D1H
+			| 85H: y := 0D6H
+			| 86H: y := 0DCH
+			| 87H: y := 0E1H
+			| 88H: y := 0E0H
+			| 89H: y := 0E2H
+			| 8AH: y := 0E4H
+			| 8BH: y := 0E3H
+			| 8CH: y := 0E5H
+			| 8DH: y := 0E7H
+			| 8EH: y := 0E9H
+			| 8FH: y := 0E8H
+			| 90H..91H: y := x + 5AH
+			| 92H: y := 0EDH
+			| 93H: y := 0ECH
+			| 94H..95H: y := x + 5AH
+			| 96H: y := 0F1H
+			| 97H: y := 0F3H
+			| 98H: y := 0F2H
+			| 99H: y := 0F4H
+			| 9AH: y := 0F6H
+			| 9BH: y := 0F5H
+			| 9CH: y := 0FAH
+			| 9DH: y := 0F9H
+			| 9EH..9FH: y := x + 5DH
+			| 0A0H: y := 2020H
+			| 0A1H: y := 0B0H
+			| 0A2H..0A3H: y := x
+			| 0A4H: y := 0A7H
+			| 0A5H: y := 2022H
+			| 0A6H: y := 0B6H
+			| 0A7H: y := 0DFH
+			| 0A8H: y := 0AEH
+			| 0A9H: y := 0A9H
+			| 0AAH: y := 2122H
+			| 0ABH: y := 0B4H
+			| 0ACH: y := 0A8H
+			| 0ADH: y := 2260H
+			| 0AEH: y := 0C6H
+			| 0AFH: y := 0D8H
+			| 0B0H: y := 221EH
+			| 0B1H: y := 0B1H
+			| 0B2H..0B3H: y := x + 21B2H
+			| 0B4H: y := 0A5H
+			| 0B5H: y := 0B5H
+			| 0B6H: y := 2202H
+			| 0B7H: y := 2211H
+			| 0B8H: y := 220FH
+			| 0B9H: y := 03C0H
+			| 0BAH: y := 222BH
+			| 0BBH: y := 0AAH
+			| 0BCH: y := 0BAH
+			| 0BDH: y := 2126H
+			| 0BEH: y := 0E6H
+			| 0BFH: y := 0F8H
+			| 0C0H: y := 0BFH
+			| 0C1H: y := 0A1H
+			| 0C2H: y := 0ACH
+			| 0C3H: y := 221AH
+			| 0C4H: y := 0192H
+			| 0C5H: y := 2248H
+			| 0C6H: y := 2206H
+			| 0C7H: y := 0ABH
+			| 0C8H: y := 0BBH
+			| 0C9H: y := 2026H
+			| 0CAH: y := 0A0H
+			| 0CBH: y := 0C0H
+			| 0CCH: y := 0C3H
+			| 0CDH: y := 0D5H
+			| 0CEH..0CFH: y := x + 84H
+			| 0D0H..0D1H: y := x + 1F43H
+			| 0D2H..0D3H: y := x + 1F4AH
+			| 0D4H..0D5H: y := x + 1F44H
+			| 0D6H: y := 0F7H
+			| 0D7H: y := 25CAH
+			| 0D8H: y := 0FFH
+			| 0D9H: y := 0178H
+			| 0DAH: y := 2044H
+			| 0DBH: y := 0A4H
+			| 0DCH..0DDH: y := x + 1F5DH
+			| 0DEH..0DFH: y := x + 0FA23H
+			| 0E0H: y := 2021H
+			| 0E1H: y := 0B7H
+			| 0E2H: y := 201AH
+			| 0E3H: y := 201EH
+			| 0E4H: y := 2030H
+			| 0E5H: y := 0C2H
+			| 0E6H: y := 0CAH
+			| 0E7H: y := 0C1H
+			| 0E8H: y := 0CBH
+			| 0E9H: y := 0C8H
+			| 0EAH..0ECH: y := x - 1DH
+			| 0EDH: y := 0CCH
+			| 0EEH..0EFH: y := x - 1BH
+			| 0F1H: y := 0D2H
+			| 0F2H..0F3H: y := x - 18H
+			| 0F4H: y := 0D9H
+			| 0F5H: y := 0131H
+			| 0F6H: y := 02C6H
+			| 0F7H: y := 02DCH
+			| 0F8H: y := 0AFH
+			| 0F9H..0FBH: y := x + 01DFH
+			| 0FCH: y := 0B8H
+			| 0FDH: y := 02DDH
+			| 0FEH: y := 02DBH
+			| 0FFH: y := 02C7H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_mac_roman.

+ 291 - 0
BlackBox/Enc/Mod/StdMap_mac_turkish.txt

@@ -0,0 +1,291 @@
+MODULE EncStdMap_mac_turkish;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/TURKISH.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0CAH
+			| 0A1H: y := 0C1H
+			| 0A2H..0A3H: y := x
+			| 0A5H: y := 0B4H
+			| 0A7H: y := 0A4H
+			| 0A8H: y := 0ACH
+			| 0A9H: y := 0A9H
+			| 0AAH: y := 0BBH
+			| 0ABH: y := 0C7H
+			| 0ACH: y := 0C2H
+			| 0AEH: y := 0A8H
+			| 0AFH: y := 0F8H
+			| 0B0H: y := 0A1H
+			| 0B1H: y := 0B1H
+			| 0B4H: y := 0ABH
+			| 0B5H: y := 0B5H
+			| 0B6H: y := 0A6H
+			| 0B7H: y := 0E1H
+			| 0B8H: y := 0FCH
+			| 0BAH: y := 0BCH
+			| 0BBH: y := 0C8H
+			| 0BFH: y := 0C0H
+			| 0C0H: y := 0CBH
+			| 0C1H: y := 0E7H
+			| 0C2H: y := 0E5H
+			| 0C3H: y := 0CCH
+			| 0C4H..0C5H: y := x - 44H
+			| 0C6H: y := 0AEH
+			| 0C7H: y := 82H
+			| 0C8H: y := 0E9H
+			| 0C9H: y := 83H
+			| 0CAH: y := 0E6H
+			| 0CBH: y := 0E8H
+			| 0CCH: y := 0EDH
+			| 0CDH..0CFH: y := x + 1DH
+			| 0D1H: y := 84H
+			| 0D2H: y := 0F1H
+			| 0D3H..0D4H: y := x + 1BH
+			| 0D5H: y := 0CDH
+			| 0D6H: y := 85H
+			| 0D8H: y := 0AFH
+			| 0D9H: y := 0F4H
+			| 0DAH..0DBH: y := x + 18H
+			| 0DCH: y := 86H
+			| 0DFH: y := 0A7H
+			| 0E0H: y := 88H
+			| 0E1H: y := 87H
+			| 0E2H: y := 89H
+			| 0E3H: y := 8BH
+			| 0E4H: y := 8AH
+			| 0E5H: y := 8CH
+			| 0E6H: y := 0BEH
+			| 0E7H: y := 8DH
+			| 0E8H: y := 8FH
+			| 0E9H: y := 8EH
+			| 0EAH..0EBH: y := x - 5AH
+			| 0ECH: y := 93H
+			| 0EDH: y := 92H
+			| 0EEH..0EFH: y := x - 5AH
+			| 0F1H: y := 96H
+			| 0F2H: y := 98H
+			| 0F3H: y := 97H
+			| 0F4H: y := 99H
+			| 0F5H: y := 9BH
+			| 0F6H: y := 9AH
+			| 0F7H: y := 0D6H
+			| 0F8H: y := 0BFH
+			| 0F9H: y := 9DH
+			| 0FAH: y := 9CH
+			| 0FBH..0FCH: y := x - 5DH
+			| 0FFH: y := 0D8H
+			| 011EH..011FH: y := x - 44H
+			| 0130H..0131H: y := x - 54H
+			| 0152H..0153H: y := x - 84H
+			| 015EH..015FH: y := x - 80H
+			| 0178H: y := 0D9H
+			| 0192H: y := 0C4H
+			| 02C6H: y := 0F6H
+			| 02C7H: y := 0FFH
+			| 02D8H..02DAH: y := x - 01DFH
+			| 02DBH: y := 0FEH
+			| 02DCH: y := 0F7H
+			| 02DDH: y := 0FDH
+			| 03C0H: y := 0B9H
+			| 2013H..2014H: y := x - 1F43H
+			| 2018H..2019H: y := x - 1F44H
+			| 201AH: y := 0E2H
+			| 201CH..201DH: y := x - 1F4AH
+			| 201EH: y := 0E3H
+			| 2020H: y := 0A0H
+			| 2021H: y := 0E0H
+			| 2022H: y := 0A5H
+			| 2026H: y := 0C9H
+			| 2030H: y := 0E4H
+			| 2122H: y := 0AAH
+			| 2126H: y := 0BDH
+			| 2202H: y := 0B6H
+			| 2206H: y := 0C6H
+			| 220FH: y := 0B8H
+			| 2211H: y := 0B7H
+			| 221AH: y := 0C3H
+			| 221EH: y := 0B0H
+			| 222BH: y := 0BAH
+			| 2248H: y := 0C5H
+			| 2260H: y := 0ADH
+			| 2264H..2265H: y := x - 21B2H
+			| 25CAH: y := 0D7H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H..81H: y := x + 44H
+			| 82H: y := 0C7H
+			| 83H: y := 0C9H
+			| 84H: y := 0D1H
+			| 85H: y := 0D6H
+			| 86H: y := 0DCH
+			| 87H: y := 0E1H
+			| 88H: y := 0E0H
+			| 89H: y := 0E2H
+			| 8AH: y := 0E4H
+			| 8BH: y := 0E3H
+			| 8CH: y := 0E5H
+			| 8DH: y := 0E7H
+			| 8EH: y := 0E9H
+			| 8FH: y := 0E8H
+			| 90H..91H: y := x + 5AH
+			| 92H: y := 0EDH
+			| 93H: y := 0ECH
+			| 94H..95H: y := x + 5AH
+			| 96H: y := 0F1H
+			| 97H: y := 0F3H
+			| 98H: y := 0F2H
+			| 99H: y := 0F4H
+			| 9AH: y := 0F6H
+			| 9BH: y := 0F5H
+			| 9CH: y := 0FAH
+			| 9DH: y := 0F9H
+			| 9EH..9FH: y := x + 5DH
+			| 0A0H: y := 2020H
+			| 0A1H: y := 0B0H
+			| 0A2H..0A3H: y := x
+			| 0A4H: y := 0A7H
+			| 0A5H: y := 2022H
+			| 0A6H: y := 0B6H
+			| 0A7H: y := 0DFH
+			| 0A8H: y := 0AEH
+			| 0A9H: y := 0A9H
+			| 0AAH: y := 2122H
+			| 0ABH: y := 0B4H
+			| 0ACH: y := 0A8H
+			| 0ADH: y := 2260H
+			| 0AEH: y := 0C6H
+			| 0AFH: y := 0D8H
+			| 0B0H: y := 221EH
+			| 0B1H: y := 0B1H
+			| 0B2H..0B3H: y := x + 21B2H
+			| 0B4H: y := 0A5H
+			| 0B5H: y := 0B5H
+			| 0B6H: y := 2202H
+			| 0B7H: y := 2211H
+			| 0B8H: y := 220FH
+			| 0B9H: y := 03C0H
+			| 0BAH: y := 222BH
+			| 0BBH: y := 0AAH
+			| 0BCH: y := 0BAH
+			| 0BDH: y := 2126H
+			| 0BEH: y := 0E6H
+			| 0BFH: y := 0F8H
+			| 0C0H: y := 0BFH
+			| 0C1H: y := 0A1H
+			| 0C2H: y := 0ACH
+			| 0C3H: y := 221AH
+			| 0C4H: y := 0192H
+			| 0C5H: y := 2248H
+			| 0C6H: y := 2206H
+			| 0C7H: y := 0ABH
+			| 0C8H: y := 0BBH
+			| 0C9H: y := 2026H
+			| 0CAH: y := 0A0H
+			| 0CBH: y := 0C0H
+			| 0CCH: y := 0C3H
+			| 0CDH: y := 0D5H
+			| 0CEH..0CFH: y := x + 84H
+			| 0D0H..0D1H: y := x + 1F43H
+			| 0D2H..0D3H: y := x + 1F4AH
+			| 0D4H..0D5H: y := x + 1F44H
+			| 0D6H: y := 0F7H
+			| 0D7H: y := 25CAH
+			| 0D8H: y := 0FFH
+			| 0D9H: y := 0178H
+			| 0DAH..0DBH: y := x + 44H
+			| 0DCH..0DDH: y := x + 54H
+			| 0DEH..0DFH: y := x + 80H
+			| 0E0H: y := 2021H
+			| 0E1H: y := 0B7H
+			| 0E2H: y := 201AH
+			| 0E3H: y := 201EH
+			| 0E4H: y := 2030H
+			| 0E5H: y := 0C2H
+			| 0E6H: y := 0CAH
+			| 0E7H: y := 0C1H
+			| 0E8H: y := 0CBH
+			| 0E9H: y := 0C8H
+			| 0EAH..0ECH: y := x - 1DH
+			| 0EDH: y := 0CCH
+			| 0EEH..0EFH: y := x - 1BH
+			| 0F1H: y := 0D2H
+			| 0F2H..0F3H: y := x - 18H
+			| 0F4H: y := 0D9H
+			| 0F6H: y := 02C6H
+			| 0F7H: y := 02DCH
+			| 0F8H: y := 0AFH
+			| 0F9H..0FBH: y := x + 01DFH
+			| 0FCH: y := 0B8H
+			| 0FDH: y := 02DDH
+			| 0FEH: y := 02DBH
+			| 0FFH: y := 02C7H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_mac_turkish.

+ 195 - 0
BlackBox/Enc/Mod/StdMap_ptcp154.txt

@@ -0,0 +1,195 @@
+MODULE EncStdMap_ptcp154;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.math.nmsu.edu/~mleisher/Software/csets/PTCP154.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..7FH: y := x
+			| 0A0H: y := 0A0H
+			| 0A7H: y := 0A7H
+			| 0A9H: y := 0A9H
+			| 0ABH..0ACH: y := x
+			| 0AEH: y := 0AEH
+			| 0B0H: y := 0B0H
+			| 0B6H..0B7H: y := x
+			| 0BBH: y := 0BBH
+			| 0401H: y := 0A8H
+			| 0406H: y := 0B2H
+			| 0408H: y := 0A3H
+			| 040EH: y := 0A1H
+			| 0410H..044FH: y := x - 0350H
+			| 0451H: y := 0B8H
+			| 0456H: y := 0B3H
+			| 0458H: y := 0BCH
+			| 045EH: y := 0A2H
+			| 0492H: y := 81H
+			| 0493H: y := 83H
+			| 0496H: y := 80H
+			| 0497H: y := 90H
+			| 0498H: y := 0A5H
+			| 0499H: y := 0B4H
+			| 049AH: y := 8DH
+			| 049BH: y := 9DH
+			| 049CH: y := 0AFH
+			| 049DH: y := 0BFH
+			| 04A0H: y := 8AH
+			| 04A1H: y := 9AH
+			| 04A2H: y := 8CH
+			| 04A3H: y := 9CH
+			| 04AAH..04ABH: y := x - 03EDH
+			| 04AEH: y := 87H
+			| 04AFH: y := 89H
+			| 04B0H: y := 0A6H
+			| 04B1H: y := 0B1H
+			| 04B2H: y := 88H
+			| 04B3H: y := 98H
+			| 04B6H: y := 86H
+			| 04B7H: y := 99H
+			| 04B8H: y := 8FH
+			| 04B9H: y := 9FH
+			| 04BAH: y := 8EH
+			| 04BBH: y := 9EH
+			| 04D8H: y := 0AAH
+			| 04D9H: y := 0BAH
+			| 04E2H: y := 8BH
+			| 04E3H: y := 9BH
+			| 04E8H: y := 0A4H
+			| 04E9H: y := 0B5H
+			| 04EEH: y := 82H
+			| 04EFH: y := 0ADH
+			| 2013H..2014H: y := x - 1F7DH
+			| 2018H..2019H: y := x - 1F87H
+			| 201CH..201DH: y := x - 1F89H
+			| 201EH: y := 84H
+			| 2022H: y := 95H
+			| 2026H: y := 85H
+			| 2116H: y := 0B9H
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..7FH: y := x
+			| 80H: y := 0496H
+			| 81H: y := 0492H
+			| 82H: y := 04EEH
+			| 83H: y := 0493H
+			| 84H: y := 201EH
+			| 85H: y := 2026H
+			| 86H: y := 04B6H
+			| 87H: y := 04AEH
+			| 88H: y := 04B2H
+			| 89H: y := 04AFH
+			| 8AH: y := 04A0H
+			| 8BH: y := 04E2H
+			| 8CH: y := 04A2H
+			| 8DH: y := 049AH
+			| 8EH: y := 04BAH
+			| 8FH: y := 04B8H
+			| 90H: y := 0497H
+			| 91H..92H: y := x + 1F87H
+			| 93H..94H: y := x + 1F89H
+			| 95H: y := 2022H
+			| 96H..97H: y := x + 1F7DH
+			| 98H: y := 04B3H
+			| 99H: y := 04B7H
+			| 9AH: y := 04A1H
+			| 9BH: y := 04E3H
+			| 9CH: y := 04A3H
+			| 9DH: y := 049BH
+			| 9EH: y := 04BBH
+			| 9FH: y := 04B9H
+			| 0A0H: y := 0A0H
+			| 0A1H: y := 040EH
+			| 0A2H: y := 045EH
+			| 0A3H: y := 0408H
+			| 0A4H: y := 04E8H
+			| 0A5H: y := 0498H
+			| 0A6H: y := 04B0H
+			| 0A7H: y := 0A7H
+			| 0A8H: y := 0401H
+			| 0A9H: y := 0A9H
+			| 0AAH: y := 04D8H
+			| 0ABH..0ACH: y := x
+			| 0ADH: y := 04EFH
+			| 0AEH: y := 0AEH
+			| 0AFH: y := 049CH
+			| 0B0H: y := 0B0H
+			| 0B1H: y := 04B1H
+			| 0B2H: y := 0406H
+			| 0B3H: y := 0456H
+			| 0B4H: y := 0499H
+			| 0B5H: y := 04E9H
+			| 0B6H..0B7H: y := x
+			| 0B8H: y := 0451H
+			| 0B9H: y := 2116H
+			| 0BAH: y := 04D9H
+			| 0BBH: y := 0BBH
+			| 0BCH: y := 0458H
+			| 0BDH..0BEH: y := x + 03EDH
+			| 0BFH: y := 049DH
+			| 0C0H..0FFH: y := x + 0350H
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_ptcp154.

+ 317 - 0
BlackBox/Enc/Mod/StdMap_viscii.txt

@@ -0,0 +1,317 @@
+MODULE EncStdMap_viscii;
+
+	(* This file was generated automatically *)
+
+	(* Source: http://www.math.nmsu.edu/~mleisher/Software/csets/VISCII.TXT *)
+
+	IMPORT Codecs := EncCodecs;
+
+	TYPE
+		Encoder = POINTER TO RECORD (Codecs.Encoder) END;
+		Decoder = POINTER TO RECORD (Codecs.Decoder)
+			b: INTEGER;
+			st: INTEGER; (* 0 - no state, > 0 - number of chars expected, -1 - error *)
+		END;
+
+	(* Encoder *)
+
+	PROCEDURE (e: Encoder) Encode (IN f: ARRAY OF CHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF SHORTCHAR; VAR tW: INTEGER);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+			CASE x OF
+			| 00H..01H: y := x
+			| 03H..04H: y := x
+			| 07H..13H: y := x
+			| 15H..18H: y := x
+			| 1AH..1DH: y := x
+			| 1FH..7FH: y := x
+			| 0C0H..0C3H: y := x
+			| 0C8H..0CAH: y := x
+			| 0CCH..0CDH: y := x
+			| 0D2H..0D4H: y := x
+			| 0D5H: y := 0A0H
+			| 0D9H..0DAH: y := x
+			| 0DDH: y := 0DDH
+			| 0E0H..0E3H: y := x
+			| 0E8H..0EAH: y := x
+			| 0ECH..0EDH: y := x
+			| 0F2H..0F5H: y := x
+			| 0F9H..0FAH: y := x
+			| 0FDH: y := 0FDH
+			| 0102H: y := 0C5H
+			| 0103H: y := 0E5H
+			| 0110H: y := 0D0H
+			| 0111H: y := 0F0H
+			| 0128H: y := 0CEH
+			| 0129H: y := 0EEH
+			| 0168H: y := 9DH
+			| 0169H: y := 0FBH
+			| 01A0H: y := 0B4H
+			| 01A1H: y := 0BDH
+			| 01AFH: y := 0BFH
+			| 01B0H: y := 0DFH
+			| 1EA0H: y := 80H
+			| 1EA1H: y := 0D5H
+			| 1EA2H: y := 0C4H
+			| 1EA3H: y := 0E4H
+			| 1EA4H: y := 84H
+			| 1EA5H: y := 0A4H
+			| 1EA6H: y := 85H
+			| 1EA7H: y := 0A5H
+			| 1EA8H: y := 86H
+			| 1EA9H: y := 0A6H
+			| 1EAAH: y := 06H
+			| 1EABH: y := 0E7H
+			| 1EACH: y := 87H
+			| 1EADH: y := 0A7H
+			| 1EAEH: y := 81H
+			| 1EAFH: y := 0A1H
+			| 1EB0H: y := 82H
+			| 1EB1H: y := 0A2H
+			| 1EB2H: y := 02H
+			| 1EB3H: y := 0C6H
+			| 1EB4H: y := 05H
+			| 1EB5H: y := 0C7H
+			| 1EB6H: y := 83H
+			| 1EB7H: y := 0A3H
+			| 1EB8H: y := 89H
+			| 1EB9H: y := 0A9H
+			| 1EBAH: y := 0CBH
+			| 1EBBH: y := 0EBH
+			| 1EBCH: y := 88H
+			| 1EBDH: y := 0A8H
+			| 1EBEH: y := 8AH
+			| 1EBFH: y := 0AAH
+			| 1EC0H: y := 8BH
+			| 1EC1H: y := 0ABH
+			| 1EC2H: y := 8CH
+			| 1EC3H: y := 0ACH
+			| 1EC4H: y := 8DH
+			| 1EC5H: y := 0ADH
+			| 1EC6H: y := 8EH
+			| 1EC7H: y := 0AEH
+			| 1EC8H: y := 9BH
+			| 1EC9H: y := 0EFH
+			| 1ECAH: y := 98H
+			| 1ECBH: y := 0B8H
+			| 1ECCH: y := 9AH
+			| 1ECDH: y := 0F7H
+			| 1ECEH: y := 99H
+			| 1ECFH: y := 0F6H
+			| 1ED0H: y := 8FH
+			| 1ED1H: y := 0AFH
+			| 1ED2H: y := 90H
+			| 1ED3H: y := 0B0H
+			| 1ED4H: y := 91H
+			| 1ED5H: y := 0B1H
+			| 1ED6H: y := 92H
+			| 1ED7H: y := 0B2H
+			| 1ED8H: y := 93H
+			| 1ED9H: y := 0B5H
+			| 1EDAH: y := 95H
+			| 1EDBH: y := 0BEH
+			| 1EDCH: y := 96H
+			| 1EDDH: y := 0B6H
+			| 1EDEH: y := 97H
+			| 1EDFH: y := 0B7H
+			| 1EE0H: y := 0B3H
+			| 1EE1H: y := 0DEH
+			| 1EE2H: y := 94H
+			| 1EE3H: y := 0FEH
+			| 1EE4H: y := 9EH
+			| 1EE5H: y := 0F8H
+			| 1EE6H: y := 9CH
+			| 1EE7H: y := 0FCH
+			| 1EE8H: y := 0BAH
+			| 1EE9H: y := 0D1H
+			| 1EEAH: y := 0BBH
+			| 1EEBH: y := 0D7H
+			| 1EECH: y := 0BCH
+			| 1EEDH: y := 0D8H
+			| 1EEEH: y := 0FFH
+			| 1EEFH: y := 0E6H
+			| 1EF0H: y := 0B9H
+			| 1EF1H: y := 0F1H
+			| 1EF2H: y := 9FH
+			| 1EF3H: y := 0CFH
+			| 1EF4H: y := 1EH
+			| 1EF5H: y := 0DCH
+			| 1EF6H: y := 14H
+			| 1EF7H: y := 0D6H
+			| 1EF8H: y := 19H
+			| 1EF9H: y := 0DBH
+			ELSE
+				RETURN
+			END;
+			t[tW] := SHORT(CHR(y)); INC(tW);
+			INC(fR);
+			DEC(fLen)
+		END
+	END Encode;
+
+	PROCEDURE NewEncoder* (): Codecs.Encoder;
+		VAR e: Encoder;
+	BEGIN
+		NEW(e); RETURN e
+	END NewEncoder;
+
+	(* Decoder *)
+
+	PROCEDURE (d: Decoder) Decode (IN f: ARRAY OF SHORTCHAR; VAR fR, fLen: INTEGER; VAR t: ARRAY OF CHAR; VAR tW: INTEGER; OUT state: BOOLEAN);
+		VAR x, y: INTEGER;
+	BEGIN
+		WHILE fLen > 0 DO
+			x := ORD(f[fR]);
+
+			CASE x OF
+			| 00H..01H: y := x
+			| 02H: y := 1EB2H
+			| 03H..04H: y := x
+			| 05H: y := 1EB4H
+			| 06H: y := 1EAAH
+			| 07H..13H: y := x
+			| 14H: y := 1EF6H
+			| 15H..18H: y := x
+			| 19H: y := 1EF8H
+			| 1AH..1DH: y := x
+			| 1EH: y := 1EF4H
+			| 1FH..7FH: y := x
+			| 80H: y := 1EA0H
+			| 81H: y := 1EAEH
+			| 82H: y := 1EB0H
+			| 83H: y := 1EB6H
+			| 84H: y := 1EA4H
+			| 85H: y := 1EA6H
+			| 86H: y := 1EA8H
+			| 87H: y := 1EACH
+			| 88H: y := 1EBCH
+			| 89H: y := 1EB8H
+			| 8AH: y := 1EBEH
+			| 8BH: y := 1EC0H
+			| 8CH: y := 1EC2H
+			| 8DH: y := 1EC4H
+			| 8EH: y := 1EC6H
+			| 8FH: y := 1ED0H
+			| 90H: y := 1ED2H
+			| 91H: y := 1ED4H
+			| 92H: y := 1ED6H
+			| 93H: y := 1ED8H
+			| 94H: y := 1EE2H
+			| 95H: y := 1EDAH
+			| 96H: y := 1EDCH
+			| 97H: y := 1EDEH
+			| 98H: y := 1ECAH
+			| 99H: y := 1ECEH
+			| 9AH: y := 1ECCH
+			| 9BH: y := 1EC8H
+			| 9CH: y := 1EE6H
+			| 9DH: y := 0168H
+			| 9EH: y := 1EE4H
+			| 9FH: y := 1EF2H
+			| 0A0H: y := 0D5H
+			| 0A1H: y := 1EAFH
+			| 0A2H: y := 1EB1H
+			| 0A3H: y := 1EB7H
+			| 0A4H: y := 1EA5H
+			| 0A5H: y := 1EA7H
+			| 0A6H: y := 1EA9H
+			| 0A7H: y := 1EADH
+			| 0A8H: y := 1EBDH
+			| 0A9H: y := 1EB9H
+			| 0AAH: y := 1EBFH
+			| 0ABH: y := 1EC1H
+			| 0ACH: y := 1EC3H
+			| 0ADH: y := 1EC5H
+			| 0AEH: y := 1EC7H
+			| 0AFH: y := 1ED1H
+			| 0B0H: y := 1ED3H
+			| 0B1H: y := 1ED5H
+			| 0B2H: y := 1ED7H
+			| 0B3H: y := 1EE0H
+			| 0B4H: y := 01A0H
+			| 0B5H: y := 1ED9H
+			| 0B6H: y := 1EDDH
+			| 0B7H: y := 1EDFH
+			| 0B8H: y := 1ECBH
+			| 0B9H: y := 1EF0H
+			| 0BAH: y := 1EE8H
+			| 0BBH: y := 1EEAH
+			| 0BCH: y := 1EECH
+			| 0BDH: y := 01A1H
+			| 0BEH: y := 1EDBH
+			| 0BFH: y := 01AFH
+			| 0C0H..0C3H: y := x
+			| 0C4H: y := 1EA2H
+			| 0C5H: y := 0102H
+			| 0C6H: y := 1EB3H
+			| 0C7H: y := 1EB5H
+			| 0C8H..0CAH: y := x
+			| 0CBH: y := 1EBAH
+			| 0CCH..0CDH: y := x
+			| 0CEH: y := 0128H
+			| 0CFH: y := 1EF3H
+			| 0D0H: y := 0110H
+			| 0D1H: y := 1EE9H
+			| 0D2H..0D4H: y := x
+			| 0D5H: y := 1EA1H
+			| 0D6H: y := 1EF7H
+			| 0D7H: y := 1EEBH
+			| 0D8H: y := 1EEDH
+			| 0D9H..0DAH: y := x
+			| 0DBH: y := 1EF9H
+			| 0DCH: y := 1EF5H
+			| 0DDH: y := 0DDH
+			| 0DEH: y := 1EE1H
+			| 0DFH: y := 01B0H
+			| 0E0H..0E3H: y := x
+			| 0E4H: y := 1EA3H
+			| 0E5H: y := 0103H
+			| 0E6H: y := 1EEFH
+			| 0E7H: y := 1EABH
+			| 0E8H..0EAH: y := x
+			| 0EBH: y := 1EBBH
+			| 0ECH..0EDH: y := x
+			| 0EEH: y := 0129H
+			| 0EFH: y := 1EC9H
+			| 0F0H: y := 0111H
+			| 0F1H: y := 1EF1H
+			| 0F2H..0F5H: y := x
+			| 0F6H: y := 1ECFH
+			| 0F7H: y := 1ECDH
+			| 0F8H: y := 1EE5H
+			| 0F9H..0FAH: y := x
+			| 0FBH: y := 0169H
+			| 0FCH: y := 1EE7H
+			| 0FDH: y := 0FDH
+			| 0FEH: y := 1EE3H
+			| 0FFH: y := 1EEEH
+			ELSE
+				d.st := -1; RETURN
+			END;
+
+			t[tW] := CHR(y); INC(tW);
+
+			INC(fR);
+			DEC(fLen)
+		END;
+
+		IF d.st = 0 THEN state := FALSE
+		ELSIF d.st > 0 THEN state := TRUE
+		ELSE HALT(100)
+		END
+	END Decode;
+
+	PROCEDURE (d: Decoder) Reset;
+	BEGIN
+		d.st := 0
+	END Reset;
+
+	PROCEDURE NewDecoder* (): Codecs.Decoder;
+		VAR d: Decoder;
+	BEGIN
+		NEW(d); d.Reset; RETURN d
+	END NewDecoder;
+
+END EncStdMap_viscii.

+ 278 - 0
BlackBox/Enc/Mod/gen-StdMaps/EDB

@@ -0,0 +1,278 @@
+# Encodings index
+#
+# Alexander Shiryaev, 2012.10
+#
+# name descr_file_format desr_file ref_comment
+
+### source: unicode.org
+
+# commented because special processing required
+# GSM0338:	A:	MAPPINGS/ETSI/GSM0338.TXT:		http://www.unicode.org/Public/MAPPINGS/ETSI/GSM0338.TXT
+
+ISO8859-1:	A:	MAPPINGS/ISO8859/8859-1.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT
+ISO8859-2:	A:	MAPPINGS/ISO8859/8859-2.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-2.TXT
+ISO8859-3:	A:	MAPPINGS/ISO8859/8859-3.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-3.TXT
+ISO8859-4:	A:	MAPPINGS/ISO8859/8859-4.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-4.TXT
+ISO8859-5:	A:	MAPPINGS/ISO8859/8859-5.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-5.TXT
+ISO8859-6:	A:	MAPPINGS/ISO8859/8859-6.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-6.TXT
+ISO8859-7:	A:	MAPPINGS/ISO8859/8859-7.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT
+ISO8859-8:	A:	MAPPINGS/ISO8859/8859-8.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-8.TXT
+ISO8859-9:	A:	MAPPINGS/ISO8859/8859-9.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-9.TXT
+ISO8859-10:	A:	MAPPINGS/ISO8859/8859-10.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-10.TXT
+ISO8859-11:	A:	MAPPINGS/ISO8859/8859-11.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-11.TXT
+ISO8859-13:	A:	MAPPINGS/ISO8859/8859-13.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-13.TXT
+ISO8859-14:	A:	MAPPINGS/ISO8859/8859-14.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-14.TXT
+ISO8859-15:	A:	MAPPINGS/ISO8859/8859-15.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-15.TXT
+ISO8859-16:	A:	MAPPINGS/ISO8859/8859-16.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-16.TXT
+
+# ISO8859-1-1998:		A:	MAPPINGS/ISO8859/DatedVersions/8859-1-1998.TXT:		http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-1-1998.TXT
+# ISO8859-2-1999:		A:	MAPPINGS/ISO8859/DatedVersions/8859-2-1999.TXT:		http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-2-1999.TXT
+# ISO8859-3-1999:		A:	MAPPINGS/ISO8859/DatedVersions/8859-3-1999.TXT:		http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-3-1999.TXT
+# ISO8859-4-1998:		A:	MAPPINGS/ISO8859/DatedVersions/8859-4-1998.TXT:		http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-4-1998.TXT
+# ISO8859-5-1999:		A:	MAPPINGS/ISO8859/DatedVersions/8859-5-1999.TXT:		http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-5-1999.TXT
+# ISO8859-6-1999:		A:	MAPPINGS/ISO8859/DatedVersions/8859-6-1999.TXT:		http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-6-1999.TXT
+# ISO8859-7-1987A:	A:	MAPPINGS/ISO8859/DatedVersions/8859-7-1987a.txt:	http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-7-1987a.txt
+# ISO8859-7-1987B:	A:	MAPPINGS/ISO8859/DatedVersions/8859-7-1987b.txt:	http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-7-1987b.txt
+# ISO8859-7-2003:		A:	MAPPINGS/ISO8859/DatedVersions/8859-7-2003.txt:		http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-7-2003.txt
+# ISO8859-8-1999:		A:	MAPPINGS/ISO8859/DatedVersions/8859-8-1999.TXT:		http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-8-1999.TXT
+# ISO8859-9-1999:		A:	MAPPINGS/ISO8859/DatedVersions/8859-9-1999.TXT:		http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-9-1999.TXT
+# ISO8859-10-1998:	A:	MAPPINGS/ISO8859/DatedVersions/8859-10-1998.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-10-1998.TXT
+# ISO8859-11-2001:	A:	MAPPINGS/ISO8859/DatedVersions/8859-11-2001.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-11-2001.TXT
+# ISO8859-13-1998:	A:	MAPPINGS/ISO8859/DatedVersions/8859-13-1998.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-13-1998.TXT
+# ISO8859-14-1998:	A:	MAPPINGS/ISO8859/DatedVersions/8859-14-1998.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-14-1998.TXT
+# ISO8859-15-1999:	A:	MAPPINGS/ISO8859/DatedVersions/8859-15-1999.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-15-1999.TXT
+# ISO8859-16-2001:	A:	MAPPINGS/ISO8859/DatedVersions/8859-16-2001.TXT:	http://www.unicode.org/Public/MAPPINGS/ISO8859/DatedVersions/8859-16-2001.TXT
+
+# MAPPINGS/VENDORS/ADOBE/stdenc.txt
+# MAPPINGS/VENDORS/ADOBE/symbol.txt
+# MAPPINGS/VENDORS/ADOBE/zdingbat.txt
+
+# MAPPINGS/VENDORS/APPLE/ARABIC.TXT
+# MAPPINGS/VENDORS/APPLE/CELTIC.TXT
+# subset of MAC-CENTRALEUROPE:
+# MAPPINGS/VENDORS/APPLE/CENTEURO.TXT
+# MAPPINGS/VENDORS/APPLE/CHINSIMP.TXT
+# MAPPINGS/VENDORS/APPLE/CHINTRAD.TXT
+# MAPPINGS/VENDORS/APPLE/CORPCHAR.TXT
+# MAPPINGS/VENDORS/APPLE/CROATIAN.TXT
+# MAPPINGS/VENDORS/APPLE/CYRILLIC.TXT
+# MAPPINGS/VENDORS/APPLE/DEVANAGA.TXT
+# MAPPINGS/VENDORS/APPLE/DINGBATS.TXT
+# MAPPINGS/VENDORS/APPLE/FARSI.TXT
+# MAPPINGS/VENDORS/APPLE/GAELIC.TXT
+# MAPPINGS/VENDORS/APPLE/GREEK.TXT
+# MAPPINGS/VENDORS/APPLE/GUJARATI.TXT
+# MAPPINGS/VENDORS/APPLE/GURMUKHI.TXT
+# MAPPINGS/VENDORS/APPLE/HEBREW.TXT
+# MAPPINGS/VENDORS/APPLE/ICELAND.TXT
+# MAPPINGS/VENDORS/APPLE/INUIT.TXT
+# MAPPINGS/VENDORS/APPLE/JAPANESE.TXT
+# MAPPINGS/VENDORS/APPLE/KEYBOARD.TXT
+# MAPPINGS/VENDORS/APPLE/KOREAN.TXT
+# MAPPINGS/VENDORS/APPLE/ROMAN.TXT
+# MAPPINGS/VENDORS/APPLE/ROMANIAN.TXT
+# MAPPINGS/VENDORS/APPLE/SYMBOL.TXT
+# MAPPINGS/VENDORS/APPLE/THAI.TXT
+# MAPPINGS/VENDORS/APPLE/TURKISH.TXT
+# MAPPINGS/VENDORS/APPLE/UKRAINE.TXT
+
+CP037:	A:	MAPPINGS/VENDORS/MICSFT/EBCDIC/CP037.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP037.TXT
+CP500:	A:	MAPPINGS/VENDORS/MICSFT/EBCDIC/CP500.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP500.TXT
+CP875:	A:	MAPPINGS/VENDORS/MICSFT/EBCDIC/CP875.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP875.TXT
+CP1026:	A:	MAPPINGS/VENDORS/MICSFT/EBCDIC/CP1026.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP1026.TXT
+
+MAC-CYRILLIC:		A:	MAPPINGS/VENDORS/MICSFT/MAC/CYRILLIC.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/CYRILLIC.TXT
+MAC-GREEK:			A:	MAPPINGS/VENDORS/MICSFT/MAC/GREEK.TXT:		http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/GREEK.TXT
+MAC-ICELAND:		A:	MAPPINGS/VENDORS/MICSFT/MAC/ICELAND.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/ICELAND.TXT
+MAC-CENTRALEUROPE:	A:	MAPPINGS/VENDORS/MICSFT/MAC/LATIN2.TXT:		http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/LATIN2.TXT
+MAC-ROMAN:			A:	MAPPINGS/VENDORS/MICSFT/MAC/ROMAN.TXT:		http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/ROMAN.TXT
+MAC-TURKISH:		A:	MAPPINGS/VENDORS/MICSFT/MAC/TURKISH.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/TURKISH.TXT
+
+CP437:	A:	MAPPINGS/VENDORS/MICSFT/PC/CP437.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP437.TXT
+
+CP737:	A:	MAPPINGS/VENDORS/MICSFT/PC/CP737.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP737.TXT
+CP775:	A:	MAPPINGS/VENDORS/MICSFT/PC/CP775.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP775.TXT
+
+CP850:	A:	MAPPINGS/VENDORS/MICSFT/PC/CP850.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP850.TXT
+CP852:	A:	MAPPINGS/VENDORS/MICSFT/PC/CP852.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP852.TXT
+CP855:	A:	MAPPINGS/VENDORS/MICSFT/PC/CP855.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP855.TXT
+CP857:	A:	MAPPINGS/VENDORS/MICSFT/PC/CP857.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP857.TXT
+
+CP860:	A:	MAPPINGS/VENDORS/MICSFT/PC/CP860.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP860.TXT
+CP861:	A:	MAPPINGS/VENDORS/MICSFT/PC/CP861.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP861.TXT
+CP862:	A:	MAPPINGS/VENDORS/MICSFT/PC/CP862.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP862.TXT
+CP863:	A:	MAPPINGS/VENDORS/MICSFT/PC/CP863.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP863.TXT
+CP864:	A:	MAPPINGS/VENDORS/MICSFT/PC/CP864.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP864.TXT
+CP865:	A:	MAPPINGS/VENDORS/MICSFT/PC/CP865.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP865.TXT
+CP866:	A:	MAPPINGS/VENDORS/MICSFT/PC/CP866.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP866.TXT
+CP869:	A:	MAPPINGS/VENDORS/MICSFT/PC/CP869.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP869.TXT
+
+# older version of WINDOWS/CP874.TXT, identical:
+# CP874:	A:	MAPPINGS/VENDORS/MICSFT/PC/CP874.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP874.TXT
+CP874:	A:	MAPPINGS/VENDORS/MICSFT/WINDOWS/CP874.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP874.TXT
+
+CP932:	A:	MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT
+CP936:	A:	MAPPINGS/VENDORS/MICSFT/WINDOWS/CP936.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP936.TXT
+CP949:	A:	MAPPINGS/VENDORS/MICSFT/WINDOWS/CP949.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP949.TXT
+CP950:	A:	MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT
+
+CP1250:	A:	MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT
+CP1251:	A:	MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT
+CP1252:	A:	MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT
+CP1253:	A:	MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1253.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1253.TXT
+CP1254:	A:	MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1254.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1254.TXT
+CP1255:	A:	MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1255.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1255.TXT
+CP1256:	A:	MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1256.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1256.TXT
+CP1257:	A:	MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1257.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1257.TXT
+CP1258:	A:	MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1258.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1258.TXT
+
+# MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit874.txt
+# MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit932.txt
+# MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit936.txt
+# MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit949.txt
+# MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit950.txt
+# MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1250.txt
+# MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1251.txt
+# MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1252.txt
+# MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1253.txt
+# MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1254.txt
+# MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1255.txt
+# MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1256.txt
+# MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1257.txt
+# MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1258.txt
+# MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1361.txt
+
+# A:	MAPPINGS/VENDORS/MISC/APL-ISO-IR-68.TXT
+ATARIST:	A:	MAPPINGS/VENDORS/MISC/ATARIST.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/ATARIST.TXT
+CP424:		A:	MAPPINGS/VENDORS/MISC/CP424.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP424.TXT
+CP856:		A:	MAPPINGS/VENDORS/MISC/CP856.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP856.TXT
+CP1006:		A:	MAPPINGS/VENDORS/MISC/CP1006.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP1006.TXT
+# A:	MAPPINGS/VENDORS/MISC/IBMGRAPH.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/IBMGRAPH.TXT
+KOI8-R:		A:	MAPPINGS/VENDORS/MISC/KOI8-R.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT
+KOI8-U:		A:	MAPPINGS/VENDORS/MISC/KOI8-U.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-U.TXT
+KPS9566:	A:	MAPPINGS/VENDORS/MISC/KPS9566.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KPS9566.TXT
+KZ1048:		A:	MAPPINGS/VENDORS/MISC/KZ1048.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KZ1048.TXT
+# MAPPINGS/VENDORS/MISC/SGML.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT
+# A:	MAPPINGS/VENDORS/MISC/US-ASCII-QUOTES.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/US-ASCII-QUOTES.TXT
+
+NEXTSTEP:	A:	MAPPINGS/VENDORS/NEXT/NEXTSTEP.TXT:	http://www.unicode.org/Public/MAPPINGS/VENDORS/NEXT/NEXTSTEP.TXT
+### end of source unicode.org
+
+### source: Python
+# ???
+CP720:		pySBCS:	CP720:		Python
+# IBM:
+CP858:		pySBCS:	CP858:		Python
+# IBM:
+CP1140:		pySBCS:	CP1140:		Python
+
+HP-ROMAN8:	pySBCS:	HP-ROMAN8:	Python
+
+# uuu:		pyDBCS:	UTF-8:		Python
+# sss:		pyDBCS:	SJIS:		Python
+### end of source Python
+
+### source: csets
+# already in unicode.org:
+# csets-2.1/8859-16.TXT
+
+# csets-2.1/ALTVAR.TXT
+# csets-2.1/ARMSCII-7.TXT
+# csets-2.1/ARMSCII-8.TXT
+# csets-2.1/ARMSCII-8A.TXT
+# csets-2.1/AST166-7.TXT
+# csets-2.1/AST166-8.TXT
+# csets-2.1/AST166-A.TXT
+# csets-2.1/ATEX.TXT
+# csets-2.1/BRM.TXT
+
+# unexpected line: 0xFF    0x????  #
+# CP1133:	A:	csets-2.1/CP1133.TXT:	http://www.math.nmsu.edu/~mleisher/Software/csets/CP1133.TXT
+
+# csets-2.1/CSCD.TXT
+# csets-2.1/CSCSX.TXT
+# csets-2.1/CSXPLUS.TXT
+# csets-2.1/DECMCS.TXT
+# csets-2.1/EGAF.TXT
+
+GEORGIAN-ACADEMY:	A:	csets-2.1/GEO-ITA.TXT:	http://www.math.nmsu.edu/~mleisher/Software/csets/GEO-ITA.TXT
+GEORGIAN-PS:		A:	csets-2.1/GEO-PS.TXT:	http://www.math.nmsu.edu/~mleisher/Software/csets/GEO-PS.TXT
+
+# csets-2.1/GN-LINUX.TXT
+# csets-2.1/GN-TIMESG.TXT
+# csets-2.1/GN-WIN.TXT
+# csets-2.1/HAMSH.TXT
+# csets-2.1/IRNA.TXT
+# csets-2.1/IRANSYSTEM.TXT
+# csets-2.1/ISIRI2900.TXT
+# csets-2.1/ISIRI3342.TXT
+# csets-2.1/ISO002.TXT
+# csets-2.1/ISO006.TXT
+# csets-2.1/ISO053.TXT
+# csets-2.1/ISOIR111.TXT
+# csets-2.1/JAGHBUB.TXT
+
+# obsoleted:
+# csets-2.1/KOI8RU.TXT
+# already in unicode.org:
+# csets-2.1/KOI8U.TXT
+
+# csets-2.1/KOI8UNI.TXT
+
+# already in unicode.org:
+# csets-2.1/KZ1048.TXT
+
+# csets-2.1/MOZPALI.TXT
+# csets-2.1/MULELAO1.TXT
+# csets-2.1/NAVLS.TXT
+# csets-2.1/NBSC.TXT
+# csets-2.1/NORMYN.TXT
+# csets-2.1/OSNOVAR.TXT
+# csets-2.1/PAFOR1.TXT
+# csets-2.1/PAKEW.TXT
+# csets-2.1/PAKH2SKJ.TXT
+# csets-2.1/PALBIT.TXT
+# csets-2.1/PATRA.TXT
+# csets-2.1/PAVELT.TXT
+# csets-2.1/PAVRI.TXT
+
+PTCP154:	A:	csets-2.1/PTCP154.TXT:	http://www.math.nmsu.edu/~mleisher/Software/csets/PTCP154.TXT
+
+# csets-2.1/RISCOS.TXT
+# csets-2.1/SEASCII.TXT
+# csets-2.1/SHIFTGB.TXT
+# csets-2.1/SOCNET-C.TXT
+# csets-2.1/SOCNET-L.TXT
+# csets-2.1/TEX-CMMI.TXT
+# csets-2.1/TEX-CMR.TXT
+# csets-2.1/TEX-CMSY.TXT
+# csets-2.1/TEX-CMTI.TXT
+# csets-2.1/TEX-CMTT.TXT
+
+# subset of ISO8859-11:
+# csets-2.1/TIS620.TXT
+
+# csets-2.1/UCODE.TXT
+# csets-2.1/VIQRI.TXT
+
+VISCII:	A:	csets-2.1/VISCII.TXT:	http://www.math.nmsu.edu/~mleisher/Software/csets/VISCII.TXT
+
+# csets-2.1/VN5712-1.TXT
+# csets-2.1/VN5712-2.TXT
+# csets-2.1/VNI.TXT
+# csets-2.1/VPS.TXT
+### end of source csets
+
+# TIS-620: skipped because this is subset of ISO8859-11
+
+# TODO:
+# MAC-CROATIAN
+# MAC-ROMAINA
+# MAC-UKRAINE
+# MAC-HEBREW
+# MAC-ARABIC
+# MAC-THAI
+
+# other:
+# MAC-SYMBOL
+# MAC-DINGBAT

+ 303 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-1.TXT

@@ -0,0 +1,303 @@
+#
+#	Name:             ISO/IEC 8859-1:1998 to Unicode
+#	Unicode version:  3.0
+#	Table version:    1.0
+#	Table format:     Format A
+#	Date:             1999 July 27
+#	Authors:          Ken Whistler <kenw@sybase.com>
+#
+#	Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
+#
+#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#	No claims are made as to fitness for any particular purpose.  No
+#	warranties of any kind are expressed or implied.  The recipient
+#	agrees to determine applicability of information provided.  If this
+#	file has been provided on optical media by Unicode, Inc., the sole
+#	remedy for any claim will be exchange of defective media within 90
+#	days of receipt.
+#
+#	Unicode, Inc. hereby grants the right to freely use the information
+#	supplied in this file in the creation of products supporting the
+#	Unicode Standard, and to make copies of this file in any form for
+#	internal or external distribution as long as this notice remains
+#	attached.
+#
+#	General notes:
+#
+#	This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-1:1998 characters map into Unicode.
+#
+#	Format:  Three tab-separated columns
+#		 Column #1 is the ISO/IEC 8859-1 code (in hex as 0xXX)
+#		 Column #2 is the Unicode (in hex as 0xXXXX)
+#		 Column #3 the Unicode name (follows a comment sign, '#')
+#
+#	The entries are in ISO/IEC 8859-1 order.
+#
+#	Version history
+#	1.0 version updates 0.1 version by adding mappings for all
+#	control characters.
+#
+#	Updated versions of this file may be found in:
+#		<ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#	Any comments or problems, contact <errata@unicode.org>
+#	Please note that <errata@unicode.org> is an archival address;
+#	notices will be checked, but do not expect an immediate response.
+#
+0x00	0x0000	#	NULL
+0x01	0x0001	#	START OF HEADING
+0x02	0x0002	#	START OF TEXT
+0x03	0x0003	#	END OF TEXT
+0x04	0x0004	#	END OF TRANSMISSION
+0x05	0x0005	#	ENQUIRY
+0x06	0x0006	#	ACKNOWLEDGE
+0x07	0x0007	#	BELL
+0x08	0x0008	#	BACKSPACE
+0x09	0x0009	#	HORIZONTAL TABULATION
+0x0A	0x000A	#	LINE FEED
+0x0B	0x000B	#	VERTICAL TABULATION
+0x0C	0x000C	#	FORM FEED
+0x0D	0x000D	#	CARRIAGE RETURN
+0x0E	0x000E	#	SHIFT OUT
+0x0F	0x000F	#	SHIFT IN
+0x10	0x0010	#	DATA LINK ESCAPE
+0x11	0x0011	#	DEVICE CONTROL ONE
+0x12	0x0012	#	DEVICE CONTROL TWO
+0x13	0x0013	#	DEVICE CONTROL THREE
+0x14	0x0014	#	DEVICE CONTROL FOUR
+0x15	0x0015	#	NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#	SYNCHRONOUS IDLE
+0x17	0x0017	#	END OF TRANSMISSION BLOCK
+0x18	0x0018	#	CANCEL
+0x19	0x0019	#	END OF MEDIUM
+0x1A	0x001A	#	SUBSTITUTE
+0x1B	0x001B	#	ESCAPE
+0x1C	0x001C	#	FILE SEPARATOR
+0x1D	0x001D	#	GROUP SEPARATOR
+0x1E	0x001E	#	RECORD SEPARATOR
+0x1F	0x001F	#	UNIT SEPARATOR
+0x20	0x0020	#	SPACE
+0x21	0x0021	#	EXCLAMATION MARK
+0x22	0x0022	#	QUOTATION MARK
+0x23	0x0023	#	NUMBER SIGN
+0x24	0x0024	#	DOLLAR SIGN
+0x25	0x0025	#	PERCENT SIGN
+0x26	0x0026	#	AMPERSAND
+0x27	0x0027	#	APOSTROPHE
+0x28	0x0028	#	LEFT PARENTHESIS
+0x29	0x0029	#	RIGHT PARENTHESIS
+0x2A	0x002A	#	ASTERISK
+0x2B	0x002B	#	PLUS SIGN
+0x2C	0x002C	#	COMMA
+0x2D	0x002D	#	HYPHEN-MINUS
+0x2E	0x002E	#	FULL STOP
+0x2F	0x002F	#	SOLIDUS
+0x30	0x0030	#	DIGIT ZERO
+0x31	0x0031	#	DIGIT ONE
+0x32	0x0032	#	DIGIT TWO
+0x33	0x0033	#	DIGIT THREE
+0x34	0x0034	#	DIGIT FOUR
+0x35	0x0035	#	DIGIT FIVE
+0x36	0x0036	#	DIGIT SIX
+0x37	0x0037	#	DIGIT SEVEN
+0x38	0x0038	#	DIGIT EIGHT
+0x39	0x0039	#	DIGIT NINE
+0x3A	0x003A	#	COLON
+0x3B	0x003B	#	SEMICOLON
+0x3C	0x003C	#	LESS-THAN SIGN
+0x3D	0x003D	#	EQUALS SIGN
+0x3E	0x003E	#	GREATER-THAN SIGN
+0x3F	0x003F	#	QUESTION MARK
+0x40	0x0040	#	COMMERCIAL AT
+0x41	0x0041	#	LATIN CAPITAL LETTER A
+0x42	0x0042	#	LATIN CAPITAL LETTER B
+0x43	0x0043	#	LATIN CAPITAL LETTER C
+0x44	0x0044	#	LATIN CAPITAL LETTER D
+0x45	0x0045	#	LATIN CAPITAL LETTER E
+0x46	0x0046	#	LATIN CAPITAL LETTER F
+0x47	0x0047	#	LATIN CAPITAL LETTER G
+0x48	0x0048	#	LATIN CAPITAL LETTER H
+0x49	0x0049	#	LATIN CAPITAL LETTER I
+0x4A	0x004A	#	LATIN CAPITAL LETTER J
+0x4B	0x004B	#	LATIN CAPITAL LETTER K
+0x4C	0x004C	#	LATIN CAPITAL LETTER L
+0x4D	0x004D	#	LATIN CAPITAL LETTER M
+0x4E	0x004E	#	LATIN CAPITAL LETTER N
+0x4F	0x004F	#	LATIN CAPITAL LETTER O
+0x50	0x0050	#	LATIN CAPITAL LETTER P
+0x51	0x0051	#	LATIN CAPITAL LETTER Q
+0x52	0x0052	#	LATIN CAPITAL LETTER R
+0x53	0x0053	#	LATIN CAPITAL LETTER S
+0x54	0x0054	#	LATIN CAPITAL LETTER T
+0x55	0x0055	#	LATIN CAPITAL LETTER U
+0x56	0x0056	#	LATIN CAPITAL LETTER V
+0x57	0x0057	#	LATIN CAPITAL LETTER W
+0x58	0x0058	#	LATIN CAPITAL LETTER X
+0x59	0x0059	#	LATIN CAPITAL LETTER Y
+0x5A	0x005A	#	LATIN CAPITAL LETTER Z
+0x5B	0x005B	#	LEFT SQUARE BRACKET
+0x5C	0x005C	#	REVERSE SOLIDUS
+0x5D	0x005D	#	RIGHT SQUARE BRACKET
+0x5E	0x005E	#	CIRCUMFLEX ACCENT
+0x5F	0x005F	#	LOW LINE
+0x60	0x0060	#	GRAVE ACCENT
+0x61	0x0061	#	LATIN SMALL LETTER A
+0x62	0x0062	#	LATIN SMALL LETTER B
+0x63	0x0063	#	LATIN SMALL LETTER C
+0x64	0x0064	#	LATIN SMALL LETTER D
+0x65	0x0065	#	LATIN SMALL LETTER E
+0x66	0x0066	#	LATIN SMALL LETTER F
+0x67	0x0067	#	LATIN SMALL LETTER G
+0x68	0x0068	#	LATIN SMALL LETTER H
+0x69	0x0069	#	LATIN SMALL LETTER I
+0x6A	0x006A	#	LATIN SMALL LETTER J
+0x6B	0x006B	#	LATIN SMALL LETTER K
+0x6C	0x006C	#	LATIN SMALL LETTER L
+0x6D	0x006D	#	LATIN SMALL LETTER M
+0x6E	0x006E	#	LATIN SMALL LETTER N
+0x6F	0x006F	#	LATIN SMALL LETTER O
+0x70	0x0070	#	LATIN SMALL LETTER P
+0x71	0x0071	#	LATIN SMALL LETTER Q
+0x72	0x0072	#	LATIN SMALL LETTER R
+0x73	0x0073	#	LATIN SMALL LETTER S
+0x74	0x0074	#	LATIN SMALL LETTER T
+0x75	0x0075	#	LATIN SMALL LETTER U
+0x76	0x0076	#	LATIN SMALL LETTER V
+0x77	0x0077	#	LATIN SMALL LETTER W
+0x78	0x0078	#	LATIN SMALL LETTER X
+0x79	0x0079	#	LATIN SMALL LETTER Y
+0x7A	0x007A	#	LATIN SMALL LETTER Z
+0x7B	0x007B	#	LEFT CURLY BRACKET
+0x7C	0x007C	#	VERTICAL LINE
+0x7D	0x007D	#	RIGHT CURLY BRACKET
+0x7E	0x007E	#	TILDE
+0x7F	0x007F	#	DELETE
+0x80	0x0080	#	<control>
+0x81	0x0081	#	<control>
+0x82	0x0082	#	<control>
+0x83	0x0083	#	<control>
+0x84	0x0084	#	<control>
+0x85	0x0085	#	<control>
+0x86	0x0086	#	<control>
+0x87	0x0087	#	<control>
+0x88	0x0088	#	<control>
+0x89	0x0089	#	<control>
+0x8A	0x008A	#	<control>
+0x8B	0x008B	#	<control>
+0x8C	0x008C	#	<control>
+0x8D	0x008D	#	<control>
+0x8E	0x008E	#	<control>
+0x8F	0x008F	#	<control>
+0x90	0x0090	#	<control>
+0x91	0x0091	#	<control>
+0x92	0x0092	#	<control>
+0x93	0x0093	#	<control>
+0x94	0x0094	#	<control>
+0x95	0x0095	#	<control>
+0x96	0x0096	#	<control>
+0x97	0x0097	#	<control>
+0x98	0x0098	#	<control>
+0x99	0x0099	#	<control>
+0x9A	0x009A	#	<control>
+0x9B	0x009B	#	<control>
+0x9C	0x009C	#	<control>
+0x9D	0x009D	#	<control>
+0x9E	0x009E	#	<control>
+0x9F	0x009F	#	<control>
+0xA0	0x00A0	#	NO-BREAK SPACE
+0xA1	0x00A1	#	INVERTED EXCLAMATION MARK
+0xA2	0x00A2	#	CENT SIGN
+0xA3	0x00A3	#	POUND SIGN
+0xA4	0x00A4	#	CURRENCY SIGN
+0xA5	0x00A5	#	YEN SIGN
+0xA6	0x00A6	#	BROKEN BAR
+0xA7	0x00A7	#	SECTION SIGN
+0xA8	0x00A8	#	DIAERESIS
+0xA9	0x00A9	#	COPYRIGHT SIGN
+0xAA	0x00AA	#	FEMININE ORDINAL INDICATOR
+0xAB	0x00AB	#	LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC	0x00AC	#	NOT SIGN
+0xAD	0x00AD	#	SOFT HYPHEN
+0xAE	0x00AE	#	REGISTERED SIGN
+0xAF	0x00AF	#	MACRON
+0xB0	0x00B0	#	DEGREE SIGN
+0xB1	0x00B1	#	PLUS-MINUS SIGN
+0xB2	0x00B2	#	SUPERSCRIPT TWO
+0xB3	0x00B3	#	SUPERSCRIPT THREE
+0xB4	0x00B4	#	ACUTE ACCENT
+0xB5	0x00B5	#	MICRO SIGN
+0xB6	0x00B6	#	PILCROW SIGN
+0xB7	0x00B7	#	MIDDLE DOT
+0xB8	0x00B8	#	CEDILLA
+0xB9	0x00B9	#	SUPERSCRIPT ONE
+0xBA	0x00BA	#	MASCULINE ORDINAL INDICATOR
+0xBB	0x00BB	#	RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC	0x00BC	#	VULGAR FRACTION ONE QUARTER
+0xBD	0x00BD	#	VULGAR FRACTION ONE HALF
+0xBE	0x00BE	#	VULGAR FRACTION THREE QUARTERS
+0xBF	0x00BF	#	INVERTED QUESTION MARK
+0xC0	0x00C0	#	LATIN CAPITAL LETTER A WITH GRAVE
+0xC1	0x00C1	#	LATIN CAPITAL LETTER A WITH ACUTE
+0xC2	0x00C2	#	LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3	0x00C3	#	LATIN CAPITAL LETTER A WITH TILDE
+0xC4	0x00C4	#	LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5	0x00C5	#	LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6	0x00C6	#	LATIN CAPITAL LETTER AE
+0xC7	0x00C7	#	LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8	0x00C8	#	LATIN CAPITAL LETTER E WITH GRAVE
+0xC9	0x00C9	#	LATIN CAPITAL LETTER E WITH ACUTE
+0xCA	0x00CA	#	LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB	0x00CB	#	LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC	0x00CC	#	LATIN CAPITAL LETTER I WITH GRAVE
+0xCD	0x00CD	#	LATIN CAPITAL LETTER I WITH ACUTE
+0xCE	0x00CE	#	LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF	0x00CF	#	LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0	0x00D0	#	LATIN CAPITAL LETTER ETH (Icelandic)
+0xD1	0x00D1	#	LATIN CAPITAL LETTER N WITH TILDE
+0xD2	0x00D2	#	LATIN CAPITAL LETTER O WITH GRAVE
+0xD3	0x00D3	#	LATIN CAPITAL LETTER O WITH ACUTE
+0xD4	0x00D4	#	LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5	0x00D5	#	LATIN CAPITAL LETTER O WITH TILDE
+0xD6	0x00D6	#	LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7	0x00D7	#	MULTIPLICATION SIGN
+0xD8	0x00D8	#	LATIN CAPITAL LETTER O WITH STROKE
+0xD9	0x00D9	#	LATIN CAPITAL LETTER U WITH GRAVE
+0xDA	0x00DA	#	LATIN CAPITAL LETTER U WITH ACUTE
+0xDB	0x00DB	#	LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC	0x00DC	#	LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD	0x00DD	#	LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE	0x00DE	#	LATIN CAPITAL LETTER THORN (Icelandic)
+0xDF	0x00DF	#	LATIN SMALL LETTER SHARP S (German)
+0xE0	0x00E0	#	LATIN SMALL LETTER A WITH GRAVE
+0xE1	0x00E1	#	LATIN SMALL LETTER A WITH ACUTE
+0xE2	0x00E2	#	LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3	0x00E3	#	LATIN SMALL LETTER A WITH TILDE
+0xE4	0x00E4	#	LATIN SMALL LETTER A WITH DIAERESIS
+0xE5	0x00E5	#	LATIN SMALL LETTER A WITH RING ABOVE
+0xE6	0x00E6	#	LATIN SMALL LETTER AE
+0xE7	0x00E7	#	LATIN SMALL LETTER C WITH CEDILLA
+0xE8	0x00E8	#	LATIN SMALL LETTER E WITH GRAVE
+0xE9	0x00E9	#	LATIN SMALL LETTER E WITH ACUTE
+0xEA	0x00EA	#	LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB	0x00EB	#	LATIN SMALL LETTER E WITH DIAERESIS
+0xEC	0x00EC	#	LATIN SMALL LETTER I WITH GRAVE
+0xED	0x00ED	#	LATIN SMALL LETTER I WITH ACUTE
+0xEE	0x00EE	#	LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF	0x00EF	#	LATIN SMALL LETTER I WITH DIAERESIS
+0xF0	0x00F0	#	LATIN SMALL LETTER ETH (Icelandic)
+0xF1	0x00F1	#	LATIN SMALL LETTER N WITH TILDE
+0xF2	0x00F2	#	LATIN SMALL LETTER O WITH GRAVE
+0xF3	0x00F3	#	LATIN SMALL LETTER O WITH ACUTE
+0xF4	0x00F4	#	LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5	0x00F5	#	LATIN SMALL LETTER O WITH TILDE
+0xF6	0x00F6	#	LATIN SMALL LETTER O WITH DIAERESIS
+0xF7	0x00F7	#	DIVISION SIGN
+0xF8	0x00F8	#	LATIN SMALL LETTER O WITH STROKE
+0xF9	0x00F9	#	LATIN SMALL LETTER U WITH GRAVE
+0xFA	0x00FA	#	LATIN SMALL LETTER U WITH ACUTE
+0xFB	0x00FB	#	LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC	0x00FC	#	LATIN SMALL LETTER U WITH DIAERESIS
+0xFD	0x00FD	#	LATIN SMALL LETTER Y WITH ACUTE
+0xFE	0x00FE	#	LATIN SMALL LETTER THORN (Icelandic)
+0xFF	0x00FF	#	LATIN SMALL LETTER Y WITH DIAERESIS

+ 303 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-10.TXT

@@ -0,0 +1,303 @@
+#
+#	Name:             ISO/IEC 8859-10:1998 to Unicode
+#	Unicode version:  3.0
+#	Table version:    1.1
+#	Table format:     Format A
+#	Date:             1999 October 11
+#	Authors:          Ken Whistler <kenw@sybase.com>
+#
+#	Copyright (c) 1999 Unicode, Inc.  All Rights reserved.
+#
+#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#	No claims are made as to fitness for any particular purpose.  No
+#	warranties of any kind are expressed or implied.  The recipient
+#	agrees to determine applicability of information provided.  If this
+#	file has been provided on optical media by Unicode, Inc., the sole
+#	remedy for any claim will be exchange of defective media within 90
+#	days of receipt.
+#
+#	Unicode, Inc. hereby grants the right to freely use the information
+#	supplied in this file in the creation of products supporting the
+#	Unicode Standard, and to make copies of this file in any form for
+#	internal or external distribution as long as this notice remains
+#	attached.
+#
+#	General notes:
+#
+#	This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-10:1998 characters map into Unicode.
+#
+#	Format:  Three tab-separated columns
+#		 Column #1 is the ISO/IEC 8859-10 code (in hex as 0xXX)
+#		 Column #2 is the Unicode (in hex as 0xXXXX)
+#		 Column #3 the Unicode name (follows a comment sign, '#')
+#
+#	The entries are in ISO/IEC 8859-10 order.
+#
+#	Version history
+#	1.0 version new.
+#       1.1 corrected mistake in mapping of 0xA4
+#
+#	Updated versions of this file may be found in:
+#		<ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#	Any comments or problems, contact <errata@unicode.org>
+#	Please note that <errata@unicode.org> is an archival address;
+#	notices will be checked, but do not expect an immediate response.
+#
+0x00	0x0000	#	NULL
+0x01	0x0001	#	START OF HEADING
+0x02	0x0002	#	START OF TEXT
+0x03	0x0003	#	END OF TEXT
+0x04	0x0004	#	END OF TRANSMISSION
+0x05	0x0005	#	ENQUIRY
+0x06	0x0006	#	ACKNOWLEDGE
+0x07	0x0007	#	BELL
+0x08	0x0008	#	BACKSPACE
+0x09	0x0009	#	HORIZONTAL TABULATION
+0x0A	0x000A	#	LINE FEED
+0x0B	0x000B	#	VERTICAL TABULATION
+0x0C	0x000C	#	FORM FEED
+0x0D	0x000D	#	CARRIAGE RETURN
+0x0E	0x000E	#	SHIFT OUT
+0x0F	0x000F	#	SHIFT IN
+0x10	0x0010	#	DATA LINK ESCAPE
+0x11	0x0011	#	DEVICE CONTROL ONE
+0x12	0x0012	#	DEVICE CONTROL TWO
+0x13	0x0013	#	DEVICE CONTROL THREE
+0x14	0x0014	#	DEVICE CONTROL FOUR
+0x15	0x0015	#	NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#	SYNCHRONOUS IDLE
+0x17	0x0017	#	END OF TRANSMISSION BLOCK
+0x18	0x0018	#	CANCEL
+0x19	0x0019	#	END OF MEDIUM
+0x1A	0x001A	#	SUBSTITUTE
+0x1B	0x001B	#	ESCAPE
+0x1C	0x001C	#	FILE SEPARATOR
+0x1D	0x001D	#	GROUP SEPARATOR
+0x1E	0x001E	#	RECORD SEPARATOR
+0x1F	0x001F	#	UNIT SEPARATOR
+0x20	0x0020	#	SPACE
+0x21	0x0021	#	EXCLAMATION MARK
+0x22	0x0022	#	QUOTATION MARK
+0x23	0x0023	#	NUMBER SIGN
+0x24	0x0024	#	DOLLAR SIGN
+0x25	0x0025	#	PERCENT SIGN
+0x26	0x0026	#	AMPERSAND
+0x27	0x0027	#	APOSTROPHE
+0x28	0x0028	#	LEFT PARENTHESIS
+0x29	0x0029	#	RIGHT PARENTHESIS
+0x2A	0x002A	#	ASTERISK
+0x2B	0x002B	#	PLUS SIGN
+0x2C	0x002C	#	COMMA
+0x2D	0x002D	#	HYPHEN-MINUS
+0x2E	0x002E	#	FULL STOP
+0x2F	0x002F	#	SOLIDUS
+0x30	0x0030	#	DIGIT ZERO
+0x31	0x0031	#	DIGIT ONE
+0x32	0x0032	#	DIGIT TWO
+0x33	0x0033	#	DIGIT THREE
+0x34	0x0034	#	DIGIT FOUR
+0x35	0x0035	#	DIGIT FIVE
+0x36	0x0036	#	DIGIT SIX
+0x37	0x0037	#	DIGIT SEVEN
+0x38	0x0038	#	DIGIT EIGHT
+0x39	0x0039	#	DIGIT NINE
+0x3A	0x003A	#	COLON
+0x3B	0x003B	#	SEMICOLON
+0x3C	0x003C	#	LESS-THAN SIGN
+0x3D	0x003D	#	EQUALS SIGN
+0x3E	0x003E	#	GREATER-THAN SIGN
+0x3F	0x003F	#	QUESTION MARK
+0x40	0x0040	#	COMMERCIAL AT
+0x41	0x0041	#	LATIN CAPITAL LETTER A
+0x42	0x0042	#	LATIN CAPITAL LETTER B
+0x43	0x0043	#	LATIN CAPITAL LETTER C
+0x44	0x0044	#	LATIN CAPITAL LETTER D
+0x45	0x0045	#	LATIN CAPITAL LETTER E
+0x46	0x0046	#	LATIN CAPITAL LETTER F
+0x47	0x0047	#	LATIN CAPITAL LETTER G
+0x48	0x0048	#	LATIN CAPITAL LETTER H
+0x49	0x0049	#	LATIN CAPITAL LETTER I
+0x4A	0x004A	#	LATIN CAPITAL LETTER J
+0x4B	0x004B	#	LATIN CAPITAL LETTER K
+0x4C	0x004C	#	LATIN CAPITAL LETTER L
+0x4D	0x004D	#	LATIN CAPITAL LETTER M
+0x4E	0x004E	#	LATIN CAPITAL LETTER N
+0x4F	0x004F	#	LATIN CAPITAL LETTER O
+0x50	0x0050	#	LATIN CAPITAL LETTER P
+0x51	0x0051	#	LATIN CAPITAL LETTER Q
+0x52	0x0052	#	LATIN CAPITAL LETTER R
+0x53	0x0053	#	LATIN CAPITAL LETTER S
+0x54	0x0054	#	LATIN CAPITAL LETTER T
+0x55	0x0055	#	LATIN CAPITAL LETTER U
+0x56	0x0056	#	LATIN CAPITAL LETTER V
+0x57	0x0057	#	LATIN CAPITAL LETTER W
+0x58	0x0058	#	LATIN CAPITAL LETTER X
+0x59	0x0059	#	LATIN CAPITAL LETTER Y
+0x5A	0x005A	#	LATIN CAPITAL LETTER Z
+0x5B	0x005B	#	LEFT SQUARE BRACKET
+0x5C	0x005C	#	REVERSE SOLIDUS
+0x5D	0x005D	#	RIGHT SQUARE BRACKET
+0x5E	0x005E	#	CIRCUMFLEX ACCENT
+0x5F	0x005F	#	LOW LINE
+0x60	0x0060	#	GRAVE ACCENT
+0x61	0x0061	#	LATIN SMALL LETTER A
+0x62	0x0062	#	LATIN SMALL LETTER B
+0x63	0x0063	#	LATIN SMALL LETTER C
+0x64	0x0064	#	LATIN SMALL LETTER D
+0x65	0x0065	#	LATIN SMALL LETTER E
+0x66	0x0066	#	LATIN SMALL LETTER F
+0x67	0x0067	#	LATIN SMALL LETTER G
+0x68	0x0068	#	LATIN SMALL LETTER H
+0x69	0x0069	#	LATIN SMALL LETTER I
+0x6A	0x006A	#	LATIN SMALL LETTER J
+0x6B	0x006B	#	LATIN SMALL LETTER K
+0x6C	0x006C	#	LATIN SMALL LETTER L
+0x6D	0x006D	#	LATIN SMALL LETTER M
+0x6E	0x006E	#	LATIN SMALL LETTER N
+0x6F	0x006F	#	LATIN SMALL LETTER O
+0x70	0x0070	#	LATIN SMALL LETTER P
+0x71	0x0071	#	LATIN SMALL LETTER Q
+0x72	0x0072	#	LATIN SMALL LETTER R
+0x73	0x0073	#	LATIN SMALL LETTER S
+0x74	0x0074	#	LATIN SMALL LETTER T
+0x75	0x0075	#	LATIN SMALL LETTER U
+0x76	0x0076	#	LATIN SMALL LETTER V
+0x77	0x0077	#	LATIN SMALL LETTER W
+0x78	0x0078	#	LATIN SMALL LETTER X
+0x79	0x0079	#	LATIN SMALL LETTER Y
+0x7A	0x007A	#	LATIN SMALL LETTER Z
+0x7B	0x007B	#	LEFT CURLY BRACKET
+0x7C	0x007C	#	VERTICAL LINE
+0x7D	0x007D	#	RIGHT CURLY BRACKET
+0x7E	0x007E	#	TILDE
+0x7F	0x007F	#	DELETE
+0x80	0x0080	#	<control>
+0x81	0x0081	#	<control>
+0x82	0x0082	#	<control>
+0x83	0x0083	#	<control>
+0x84	0x0084	#	<control>
+0x85	0x0085	#	<control>
+0x86	0x0086	#	<control>
+0x87	0x0087	#	<control>
+0x88	0x0088	#	<control>
+0x89	0x0089	#	<control>
+0x8A	0x008A	#	<control>
+0x8B	0x008B	#	<control>
+0x8C	0x008C	#	<control>
+0x8D	0x008D	#	<control>
+0x8E	0x008E	#	<control>
+0x8F	0x008F	#	<control>
+0x90	0x0090	#	<control>
+0x91	0x0091	#	<control>
+0x92	0x0092	#	<control>
+0x93	0x0093	#	<control>
+0x94	0x0094	#	<control>
+0x95	0x0095	#	<control>
+0x96	0x0096	#	<control>
+0x97	0x0097	#	<control>
+0x98	0x0098	#	<control>
+0x99	0x0099	#	<control>
+0x9A	0x009A	#	<control>
+0x9B	0x009B	#	<control>
+0x9C	0x009C	#	<control>
+0x9D	0x009D	#	<control>
+0x9E	0x009E	#	<control>
+0x9F	0x009F	#	<control>
+0xA0	0x00A0	#	NO-BREAK SPACE
+0xA1	0x0104	#	LATIN CAPITAL LETTER A WITH OGONEK
+0xA2	0x0112	#	LATIN CAPITAL LETTER E WITH MACRON
+0xA3	0x0122	#	LATIN CAPITAL LETTER G WITH CEDILLA
+0xA4	0x012A	#	LATIN CAPITAL LETTER I WITH MACRON
+0xA5	0x0128	#	LATIN CAPITAL LETTER I WITH TILDE
+0xA6	0x0136	#	LATIN CAPITAL LETTER K WITH CEDILLA
+0xA7	0x00A7	#	SECTION SIGN
+0xA8	0x013B	#	LATIN CAPITAL LETTER L WITH CEDILLA
+0xA9	0x0110	#	LATIN CAPITAL LETTER D WITH STROKE
+0xAA	0x0160	#	LATIN CAPITAL LETTER S WITH CARON
+0xAB	0x0166	#	LATIN CAPITAL LETTER T WITH STROKE
+0xAC	0x017D	#	LATIN CAPITAL LETTER Z WITH CARON
+0xAD	0x00AD	#	SOFT HYPHEN
+0xAE	0x016A	#	LATIN CAPITAL LETTER U WITH MACRON
+0xAF	0x014A	#	LATIN CAPITAL LETTER ENG
+0xB0	0x00B0	#	DEGREE SIGN
+0xB1	0x0105	#	LATIN SMALL LETTER A WITH OGONEK
+0xB2	0x0113	#	LATIN SMALL LETTER E WITH MACRON
+0xB3	0x0123	#	LATIN SMALL LETTER G WITH CEDILLA
+0xB4	0x012B	#	LATIN SMALL LETTER I WITH MACRON
+0xB5	0x0129	#	LATIN SMALL LETTER I WITH TILDE
+0xB6	0x0137	#	LATIN SMALL LETTER K WITH CEDILLA
+0xB7	0x00B7	#	MIDDLE DOT
+0xB8	0x013C	#	LATIN SMALL LETTER L WITH CEDILLA
+0xB9	0x0111	#	LATIN SMALL LETTER D WITH STROKE
+0xBA	0x0161	#	LATIN SMALL LETTER S WITH CARON
+0xBB	0x0167	#	LATIN SMALL LETTER T WITH STROKE
+0xBC	0x017E	#	LATIN SMALL LETTER Z WITH CARON
+0xBD	0x2015	#	HORIZONTAL BAR
+0xBE	0x016B	#	LATIN SMALL LETTER U WITH MACRON
+0xBF	0x014B	#	LATIN SMALL LETTER ENG
+0xC0	0x0100	#	LATIN CAPITAL LETTER A WITH MACRON
+0xC1	0x00C1	#	LATIN CAPITAL LETTER A WITH ACUTE
+0xC2	0x00C2	#	LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3	0x00C3	#	LATIN CAPITAL LETTER A WITH TILDE
+0xC4	0x00C4	#	LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5	0x00C5	#	LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6	0x00C6	#	LATIN CAPITAL LETTER AE
+0xC7	0x012E	#	LATIN CAPITAL LETTER I WITH OGONEK
+0xC8	0x010C	#	LATIN CAPITAL LETTER C WITH CARON
+0xC9	0x00C9	#	LATIN CAPITAL LETTER E WITH ACUTE
+0xCA	0x0118	#	LATIN CAPITAL LETTER E WITH OGONEK
+0xCB	0x00CB	#	LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC	0x0116	#	LATIN CAPITAL LETTER E WITH DOT ABOVE
+0xCD	0x00CD	#	LATIN CAPITAL LETTER I WITH ACUTE
+0xCE	0x00CE	#	LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF	0x00CF	#	LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0	0x00D0	#	LATIN CAPITAL LETTER ETH (Icelandic)
+0xD1	0x0145	#	LATIN CAPITAL LETTER N WITH CEDILLA
+0xD2	0x014C	#	LATIN CAPITAL LETTER O WITH MACRON
+0xD3	0x00D3	#	LATIN CAPITAL LETTER O WITH ACUTE
+0xD4	0x00D4	#	LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5	0x00D5	#	LATIN CAPITAL LETTER O WITH TILDE
+0xD6	0x00D6	#	LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7	0x0168	#	LATIN CAPITAL LETTER U WITH TILDE
+0xD8	0x00D8	#	LATIN CAPITAL LETTER O WITH STROKE
+0xD9	0x0172	#	LATIN CAPITAL LETTER U WITH OGONEK
+0xDA	0x00DA	#	LATIN CAPITAL LETTER U WITH ACUTE
+0xDB	0x00DB	#	LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC	0x00DC	#	LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD	0x00DD	#	LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE	0x00DE	#	LATIN CAPITAL LETTER THORN (Icelandic)
+0xDF	0x00DF	#	LATIN SMALL LETTER SHARP S (German)
+0xE0	0x0101	#	LATIN SMALL LETTER A WITH MACRON
+0xE1	0x00E1	#	LATIN SMALL LETTER A WITH ACUTE
+0xE2	0x00E2	#	LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3	0x00E3	#	LATIN SMALL LETTER A WITH TILDE
+0xE4	0x00E4	#	LATIN SMALL LETTER A WITH DIAERESIS
+0xE5	0x00E5	#	LATIN SMALL LETTER A WITH RING ABOVE
+0xE6	0x00E6	#	LATIN SMALL LETTER AE
+0xE7	0x012F	#	LATIN SMALL LETTER I WITH OGONEK
+0xE8	0x010D	#	LATIN SMALL LETTER C WITH CARON
+0xE9	0x00E9	#	LATIN SMALL LETTER E WITH ACUTE
+0xEA	0x0119	#	LATIN SMALL LETTER E WITH OGONEK
+0xEB	0x00EB	#	LATIN SMALL LETTER E WITH DIAERESIS
+0xEC	0x0117	#	LATIN SMALL LETTER E WITH DOT ABOVE
+0xED	0x00ED	#	LATIN SMALL LETTER I WITH ACUTE
+0xEE	0x00EE	#	LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF	0x00EF	#	LATIN SMALL LETTER I WITH DIAERESIS
+0xF0	0x00F0	#	LATIN SMALL LETTER ETH (Icelandic)
+0xF1	0x0146	#	LATIN SMALL LETTER N WITH CEDILLA
+0xF2	0x014D	#	LATIN SMALL LETTER O WITH MACRON
+0xF3	0x00F3	#	LATIN SMALL LETTER O WITH ACUTE
+0xF4	0x00F4	#	LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5	0x00F5	#	LATIN SMALL LETTER O WITH TILDE
+0xF6	0x00F6	#	LATIN SMALL LETTER O WITH DIAERESIS
+0xF7	0x0169	#	LATIN SMALL LETTER U WITH TILDE
+0xF8	0x00F8	#	LATIN SMALL LETTER O WITH STROKE
+0xF9	0x0173	#	LATIN SMALL LETTER U WITH OGONEK
+0xFA	0x00FA	#	LATIN SMALL LETTER U WITH ACUTE
+0xFB	0x00FB	#	LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC	0x00FC	#	LATIN SMALL LETTER U WITH DIAERESIS
+0xFD	0x00FD	#	LATIN SMALL LETTER Y WITH ACUTE
+0xFE	0x00FE	#	LATIN SMALL LETTER THORN (Icelandic)
+0xFF	0x0138	#	LATIN SMALL LETTER KRA

+ 297 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-11.TXT

@@ -0,0 +1,297 @@
+#
+#	Name:             ISO/IEC 8859-11:2001 to Unicode
+#	Unicode version:  3.2
+#	Table version:    1.0
+#	Table format:     Format A
+#	Date:             2002 October 7
+#	Authors:          Ken Whistler <kenw@sybase.com>
+#
+#	Copyright (c) 2002 Unicode, Inc.  All Rights reserved.
+#
+#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#	No claims are made as to fitness for any particular purpose.  No
+#	warranties of any kind are expressed or implied.  The recipient
+#	agrees to determine applicability of information provided.  If this
+#	file has been provided on optical media by Unicode, Inc., the sole
+#	remedy for any claim will be exchange of defective media within 90
+#	days of receipt.
+#
+#	Unicode, Inc. hereby grants the right to freely use the information
+#	supplied in this file in the creation of products supporting the
+#	Unicode Standard, and to make copies of this file in any form for
+#	internal or external distribution as long as this notice remains
+#	attached.
+#
+#	General notes:
+#
+#	This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-11:2001 characters map into Unicode.
+#
+#	ISO/IEC 8859-11:2001 is equivalent to TIS 620-2533 (1990) with
+#	the addition of 0xA0 NO-BREAK SPACE.
+#
+#	Format:  Three tab-separated columns
+#		 Column #1 is the ISO/IEC 8859-11 code (in hex as 0xXX)
+#		 Column #2 is the Unicode (in hex as 0xXXXX)
+#		 Column #3 the Unicode name (follows a comment sign, '#')
+#
+#	The entries are in ISO/IEC 8859-11 order.
+#
+#	Version history:
+#		2002 October 7  Created
+#
+#	Updated versions of this file may be found in:
+#		<ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#	For any comments or problems, please use the Unicode
+#	web contact form at:
+#		http://www.unicode.org/unicode/reporting.html
+#
+0x00	0x0000	#	NULL
+0x01	0x0001	#	START OF HEADING
+0x02	0x0002	#	START OF TEXT
+0x03	0x0003	#	END OF TEXT
+0x04	0x0004	#	END OF TRANSMISSION
+0x05	0x0005	#	ENQUIRY
+0x06	0x0006	#	ACKNOWLEDGE
+0x07	0x0007	#	BELL
+0x08	0x0008	#	BACKSPACE
+0x09	0x0009	#	HORIZONTAL TABULATION
+0x0A	0x000A	#	LINE FEED
+0x0B	0x000B	#	VERTICAL TABULATION
+0x0C	0x000C	#	FORM FEED
+0x0D	0x000D	#	CARRIAGE RETURN
+0x0E	0x000E	#	SHIFT OUT
+0x0F	0x000F	#	SHIFT IN
+0x10	0x0010	#	DATA LINK ESCAPE
+0x11	0x0011	#	DEVICE CONTROL ONE
+0x12	0x0012	#	DEVICE CONTROL TWO
+0x13	0x0013	#	DEVICE CONTROL THREE
+0x14	0x0014	#	DEVICE CONTROL FOUR
+0x15	0x0015	#	NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#	SYNCHRONOUS IDLE
+0x17	0x0017	#	END OF TRANSMISSION BLOCK
+0x18	0x0018	#	CANCEL
+0x19	0x0019	#	END OF MEDIUM
+0x1A	0x001A	#	SUBSTITUTE
+0x1B	0x001B	#	ESCAPE
+0x1C	0x001C	#	FILE SEPARATOR
+0x1D	0x001D	#	GROUP SEPARATOR
+0x1E	0x001E	#	RECORD SEPARATOR
+0x1F	0x001F	#	UNIT SEPARATOR
+0x20	0x0020	#	SPACE
+0x21	0x0021	#	EXCLAMATION MARK
+0x22	0x0022	#	QUOTATION MARK
+0x23	0x0023	#	NUMBER SIGN
+0x24	0x0024	#	DOLLAR SIGN
+0x25	0x0025	#	PERCENT SIGN
+0x26	0x0026	#	AMPERSAND
+0x27	0x0027	#	APOSTROPHE
+0x28	0x0028	#	LEFT PARENTHESIS
+0x29	0x0029	#	RIGHT PARENTHESIS
+0x2A	0x002A	#	ASTERISK
+0x2B	0x002B	#	PLUS SIGN
+0x2C	0x002C	#	COMMA
+0x2D	0x002D	#	HYPHEN-MINUS
+0x2E	0x002E	#	FULL STOP
+0x2F	0x002F	#	SOLIDUS
+0x30	0x0030	#	DIGIT ZERO
+0x31	0x0031	#	DIGIT ONE
+0x32	0x0032	#	DIGIT TWO
+0x33	0x0033	#	DIGIT THREE
+0x34	0x0034	#	DIGIT FOUR
+0x35	0x0035	#	DIGIT FIVE
+0x36	0x0036	#	DIGIT SIX
+0x37	0x0037	#	DIGIT SEVEN
+0x38	0x0038	#	DIGIT EIGHT
+0x39	0x0039	#	DIGIT NINE
+0x3A	0x003A	#	COLON
+0x3B	0x003B	#	SEMICOLON
+0x3C	0x003C	#	LESS-THAN SIGN
+0x3D	0x003D	#	EQUALS SIGN
+0x3E	0x003E	#	GREATER-THAN SIGN
+0x3F	0x003F	#	QUESTION MARK
+0x40	0x0040	#	COMMERCIAL AT
+0x41	0x0041	#	LATIN CAPITAL LETTER A
+0x42	0x0042	#	LATIN CAPITAL LETTER B
+0x43	0x0043	#	LATIN CAPITAL LETTER C
+0x44	0x0044	#	LATIN CAPITAL LETTER D
+0x45	0x0045	#	LATIN CAPITAL LETTER E
+0x46	0x0046	#	LATIN CAPITAL LETTER F
+0x47	0x0047	#	LATIN CAPITAL LETTER G
+0x48	0x0048	#	LATIN CAPITAL LETTER H
+0x49	0x0049	#	LATIN CAPITAL LETTER I
+0x4A	0x004A	#	LATIN CAPITAL LETTER J
+0x4B	0x004B	#	LATIN CAPITAL LETTER K
+0x4C	0x004C	#	LATIN CAPITAL LETTER L
+0x4D	0x004D	#	LATIN CAPITAL LETTER M
+0x4E	0x004E	#	LATIN CAPITAL LETTER N
+0x4F	0x004F	#	LATIN CAPITAL LETTER O
+0x50	0x0050	#	LATIN CAPITAL LETTER P
+0x51	0x0051	#	LATIN CAPITAL LETTER Q
+0x52	0x0052	#	LATIN CAPITAL LETTER R
+0x53	0x0053	#	LATIN CAPITAL LETTER S
+0x54	0x0054	#	LATIN CAPITAL LETTER T
+0x55	0x0055	#	LATIN CAPITAL LETTER U
+0x56	0x0056	#	LATIN CAPITAL LETTER V
+0x57	0x0057	#	LATIN CAPITAL LETTER W
+0x58	0x0058	#	LATIN CAPITAL LETTER X
+0x59	0x0059	#	LATIN CAPITAL LETTER Y
+0x5A	0x005A	#	LATIN CAPITAL LETTER Z
+0x5B	0x005B	#	LEFT SQUARE BRACKET
+0x5C	0x005C	#	REVERSE SOLIDUS
+0x5D	0x005D	#	RIGHT SQUARE BRACKET
+0x5E	0x005E	#	CIRCUMFLEX ACCENT
+0x5F	0x005F	#	LOW LINE
+0x60	0x0060	#	GRAVE ACCENT
+0x61	0x0061	#	LATIN SMALL LETTER A
+0x62	0x0062	#	LATIN SMALL LETTER B
+0x63	0x0063	#	LATIN SMALL LETTER C
+0x64	0x0064	#	LATIN SMALL LETTER D
+0x65	0x0065	#	LATIN SMALL LETTER E
+0x66	0x0066	#	LATIN SMALL LETTER F
+0x67	0x0067	#	LATIN SMALL LETTER G
+0x68	0x0068	#	LATIN SMALL LETTER H
+0x69	0x0069	#	LATIN SMALL LETTER I
+0x6A	0x006A	#	LATIN SMALL LETTER J
+0x6B	0x006B	#	LATIN SMALL LETTER K
+0x6C	0x006C	#	LATIN SMALL LETTER L
+0x6D	0x006D	#	LATIN SMALL LETTER M
+0x6E	0x006E	#	LATIN SMALL LETTER N
+0x6F	0x006F	#	LATIN SMALL LETTER O
+0x70	0x0070	#	LATIN SMALL LETTER P
+0x71	0x0071	#	LATIN SMALL LETTER Q
+0x72	0x0072	#	LATIN SMALL LETTER R
+0x73	0x0073	#	LATIN SMALL LETTER S
+0x74	0x0074	#	LATIN SMALL LETTER T
+0x75	0x0075	#	LATIN SMALL LETTER U
+0x76	0x0076	#	LATIN SMALL LETTER V
+0x77	0x0077	#	LATIN SMALL LETTER W
+0x78	0x0078	#	LATIN SMALL LETTER X
+0x79	0x0079	#	LATIN SMALL LETTER Y
+0x7A	0x007A	#	LATIN SMALL LETTER Z
+0x7B	0x007B	#	LEFT CURLY BRACKET
+0x7C	0x007C	#	VERTICAL LINE
+0x7D	0x007D	#	RIGHT CURLY BRACKET
+0x7E	0x007E	#	TILDE
+0x7F	0x007F	#	DELETE
+0x80	0x0080	#	<control>
+0x81	0x0081	#	<control>
+0x82	0x0082	#	<control>
+0x83	0x0083	#	<control>
+0x84	0x0084	#	<control>
+0x85	0x0085	#	<control>
+0x86	0x0086	#	<control>
+0x87	0x0087	#	<control>
+0x88	0x0088	#	<control>
+0x89	0x0089	#	<control>
+0x8A	0x008A	#	<control>
+0x8B	0x008B	#	<control>
+0x8C	0x008C	#	<control>
+0x8D	0x008D	#	<control>
+0x8E	0x008E	#	<control>
+0x8F	0x008F	#	<control>
+0x90	0x0090	#	<control>
+0x91	0x0091	#	<control>
+0x92	0x0092	#	<control>
+0x93	0x0093	#	<control>
+0x94	0x0094	#	<control>
+0x95	0x0095	#	<control>
+0x96	0x0096	#	<control>
+0x97	0x0097	#	<control>
+0x98	0x0098	#	<control>
+0x99	0x0099	#	<control>
+0x9A	0x009A	#	<control>
+0x9B	0x009B	#	<control>
+0x9C	0x009C	#	<control>
+0x9D	0x009D	#	<control>
+0x9E	0x009E	#	<control>
+0x9F	0x009F	#	<control>
+0xA0	0x00A0	#	NO-BREAK SPACE
+0xA1	0x0E01	#	THAI CHARACTER KO KAI
+0xA2	0x0E02	#	THAI CHARACTER KHO KHAI
+0xA3	0x0E03	#	THAI CHARACTER KHO KHUAT
+0xA4	0x0E04	#	THAI CHARACTER KHO KHWAI
+0xA5	0x0E05	#	THAI CHARACTER KHO KHON
+0xA6	0x0E06	#	THAI CHARACTER KHO RAKHANG
+0xA7	0x0E07	#	THAI CHARACTER NGO NGU
+0xA8	0x0E08	#	THAI CHARACTER CHO CHAN
+0xA9	0x0E09	#	THAI CHARACTER CHO CHING
+0xAA	0x0E0A	#	THAI CHARACTER CHO CHANG
+0xAB	0x0E0B	#	THAI CHARACTER SO SO
+0xAC	0x0E0C	#	THAI CHARACTER CHO CHOE
+0xAD	0x0E0D	#	THAI CHARACTER YO YING
+0xAE	0x0E0E	#	THAI CHARACTER DO CHADA
+0xAF	0x0E0F	#	THAI CHARACTER TO PATAK
+0xB0	0x0E10	#	THAI CHARACTER THO THAN
+0xB1	0x0E11	#	THAI CHARACTER THO NANGMONTHO
+0xB2	0x0E12	#	THAI CHARACTER THO PHUTHAO
+0xB3	0x0E13	#	THAI CHARACTER NO NEN
+0xB4	0x0E14	#	THAI CHARACTER DO DEK
+0xB5	0x0E15	#	THAI CHARACTER TO TAO
+0xB6	0x0E16	#	THAI CHARACTER THO THUNG
+0xB7	0x0E17	#	THAI CHARACTER THO THAHAN
+0xB8	0x0E18	#	THAI CHARACTER THO THONG
+0xB9	0x0E19	#	THAI CHARACTER NO NU
+0xBA	0x0E1A	#	THAI CHARACTER BO BAIMAI
+0xBB	0x0E1B	#	THAI CHARACTER PO PLA
+0xBC	0x0E1C	#	THAI CHARACTER PHO PHUNG
+0xBD	0x0E1D	#	THAI CHARACTER FO FA
+0xBE	0x0E1E	#	THAI CHARACTER PHO PHAN
+0xBF	0x0E1F	#	THAI CHARACTER FO FAN
+0xC0	0x0E20	#	THAI CHARACTER PHO SAMPHAO
+0xC1	0x0E21	#	THAI CHARACTER MO MA
+0xC2	0x0E22	#	THAI CHARACTER YO YAK
+0xC3	0x0E23	#	THAI CHARACTER RO RUA
+0xC4	0x0E24	#	THAI CHARACTER RU
+0xC5	0x0E25	#	THAI CHARACTER LO LING
+0xC6	0x0E26	#	THAI CHARACTER LU
+0xC7	0x0E27	#	THAI CHARACTER WO WAEN
+0xC8	0x0E28	#	THAI CHARACTER SO SALA
+0xC9	0x0E29	#	THAI CHARACTER SO RUSI
+0xCA	0x0E2A	#	THAI CHARACTER SO SUA
+0xCB	0x0E2B	#	THAI CHARACTER HO HIP
+0xCC	0x0E2C	#	THAI CHARACTER LO CHULA
+0xCD	0x0E2D	#	THAI CHARACTER O ANG
+0xCE	0x0E2E	#	THAI CHARACTER HO NOKHUK
+0xCF	0x0E2F	#	THAI CHARACTER PAIYANNOI
+0xD0	0x0E30	#	THAI CHARACTER SARA A
+0xD1	0x0E31	#	THAI CHARACTER MAI HAN-AKAT
+0xD2	0x0E32	#	THAI CHARACTER SARA AA
+0xD3	0x0E33	#	THAI CHARACTER SARA AM
+0xD4	0x0E34	#	THAI CHARACTER SARA I
+0xD5	0x0E35	#	THAI CHARACTER SARA II
+0xD6	0x0E36	#	THAI CHARACTER SARA UE
+0xD7	0x0E37	#	THAI CHARACTER SARA UEE
+0xD8	0x0E38	#	THAI CHARACTER SARA U
+0xD9	0x0E39	#	THAI CHARACTER SARA UU
+0xDA	0x0E3A	#	THAI CHARACTER PHINTHU
+0xDF	0x0E3F	#	THAI CURRENCY SYMBOL BAHT
+0xE0	0x0E40	#	THAI CHARACTER SARA E
+0xE1	0x0E41	#	THAI CHARACTER SARA AE
+0xE2	0x0E42	#	THAI CHARACTER SARA O
+0xE3	0x0E43	#	THAI CHARACTER SARA AI MAIMUAN
+0xE4	0x0E44	#	THAI CHARACTER SARA AI MAIMALAI
+0xE5	0x0E45	#	THAI CHARACTER LAKKHANGYAO
+0xE6	0x0E46	#	THAI CHARACTER MAIYAMOK
+0xE7	0x0E47	#	THAI CHARACTER MAITAIKHU
+0xE8	0x0E48	#	THAI CHARACTER MAI EK
+0xE9	0x0E49	#	THAI CHARACTER MAI THO
+0xEA	0x0E4A	#	THAI CHARACTER MAI TRI
+0xEB	0x0E4B	#	THAI CHARACTER MAI CHATTAWA
+0xEC	0x0E4C	#	THAI CHARACTER THANTHAKHAT
+0xED	0x0E4D	#	THAI CHARACTER NIKHAHIT
+0xEE	0x0E4E	#	THAI CHARACTER YAMAKKAN
+0xEF	0x0E4F	#	THAI CHARACTER FONGMAN
+0xF0	0x0E50	#	THAI DIGIT ZERO
+0xF1	0x0E51	#	THAI DIGIT ONE
+0xF2	0x0E52	#	THAI DIGIT TWO
+0xF3	0x0E53	#	THAI DIGIT THREE
+0xF4	0x0E54	#	THAI DIGIT FOUR
+0xF5	0x0E55	#	THAI DIGIT FIVE
+0xF6	0x0E56	#	THAI DIGIT SIX
+0xF7	0x0E57	#	THAI DIGIT SEVEN
+0xF8	0x0E58	#	THAI DIGIT EIGHT
+0xF9	0x0E59	#	THAI DIGIT NINE
+0xFA	0x0E5A	#	THAI CHARACTER ANGKHANKHU
+0xFB	0x0E5B	#	THAI CHARACTER KHOMUT

+ 299 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-13.TXT

@@ -0,0 +1,299 @@
+#
+#	Name:             ISO/IEC 8859-13:1998  to Unicode
+#	Unicode version:  3.0
+#	Table version:    1.0
+#	Table format:     Format A
+#	Date:             1999 July 27
+#	Authors:          Ken Whistler <kenw@sybase.com>
+#
+#	Copyright (c) 1998 - 1999 Unicode, Inc.  All Rights reserved.
+#
+#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#	No claims are made as to fitness for any particular purpose.  No
+#	warranties of any kind are expressed or implied.  The recipient
+#	agrees to determine applicability of information provided.  If this
+#	file has been provided on optical media by Unicode, Inc., the sole
+#	remedy for any claim will be exchange of defective media within 90
+#	days of receipt.
+#
+#	Unicode, Inc. hereby grants the right to freely use the information
+#	supplied in this file in the creation of products supporting the
+#	Unicode Standard, and to make copies of this file in any form for
+#	internal or external distribution as long as this notice remains
+#	attached.
+#
+#	General notes:
+#
+#	This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-13:1998 characters map into Unicode.
+#
+#	Format:  Three tab-separated columns
+#		 Column #1 is the ISO/IEC 8859-13 code (in hex as 0xXX)
+#		 Column #2 is the Unicode (in hex as 0xXXXX)
+#		 Column #3 the Unicode name (follows a comment sign, '#')
+#
+#	The entries are in ISO/IEC 8859-13 order.
+#
+#	Updated versions of this file may be found in:
+#		<ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#	Any comments or problems, contact <errata@unicode.org>
+#	Please note that <errata@unicode.org> is an archival address;
+#	notices will be checked, but do not expect an immediate response.
+#
+0x00	0x0000	#	NULL
+0x01	0x0001	#	START OF HEADING
+0x02	0x0002	#	START OF TEXT
+0x03	0x0003	#	END OF TEXT
+0x04	0x0004	#	END OF TRANSMISSION
+0x05	0x0005	#	ENQUIRY
+0x06	0x0006	#	ACKNOWLEDGE
+0x07	0x0007	#	BELL
+0x08	0x0008	#	BACKSPACE
+0x09	0x0009	#	HORIZONTAL TABULATION
+0x0A	0x000A	#	LINE FEED
+0x0B	0x000B	#	VERTICAL TABULATION
+0x0C	0x000C	#	FORM FEED
+0x0D	0x000D	#	CARRIAGE RETURN
+0x0E	0x000E	#	SHIFT OUT
+0x0F	0x000F	#	SHIFT IN
+0x10	0x0010	#	DATA LINK ESCAPE
+0x11	0x0011	#	DEVICE CONTROL ONE
+0x12	0x0012	#	DEVICE CONTROL TWO
+0x13	0x0013	#	DEVICE CONTROL THREE
+0x14	0x0014	#	DEVICE CONTROL FOUR
+0x15	0x0015	#	NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#	SYNCHRONOUS IDLE
+0x17	0x0017	#	END OF TRANSMISSION BLOCK
+0x18	0x0018	#	CANCEL
+0x19	0x0019	#	END OF MEDIUM
+0x1A	0x001A	#	SUBSTITUTE
+0x1B	0x001B	#	ESCAPE
+0x1C	0x001C	#	FILE SEPARATOR
+0x1D	0x001D	#	GROUP SEPARATOR
+0x1E	0x001E	#	RECORD SEPARATOR
+0x1F	0x001F	#	UNIT SEPARATOR
+0x20	0x0020	#	SPACE
+0x21	0x0021	#	EXCLAMATION MARK
+0x22	0x0022	#	QUOTATION MARK
+0x23	0x0023	#	NUMBER SIGN
+0x24	0x0024	#	DOLLAR SIGN
+0x25	0x0025	#	PERCENT SIGN
+0x26	0x0026	#	AMPERSAND
+0x27	0x0027	#	APOSTROPHE
+0x28	0x0028	#	LEFT PARENTHESIS
+0x29	0x0029	#	RIGHT PARENTHESIS
+0x2A	0x002A	#	ASTERISK
+0x2B	0x002B	#	PLUS SIGN
+0x2C	0x002C	#	COMMA
+0x2D	0x002D	#	HYPHEN-MINUS
+0x2E	0x002E	#	FULL STOP
+0x2F	0x002F	#	SOLIDUS
+0x30	0x0030	#	DIGIT ZERO
+0x31	0x0031	#	DIGIT ONE
+0x32	0x0032	#	DIGIT TWO
+0x33	0x0033	#	DIGIT THREE
+0x34	0x0034	#	DIGIT FOUR
+0x35	0x0035	#	DIGIT FIVE
+0x36	0x0036	#	DIGIT SIX
+0x37	0x0037	#	DIGIT SEVEN
+0x38	0x0038	#	DIGIT EIGHT
+0x39	0x0039	#	DIGIT NINE
+0x3A	0x003A	#	COLON
+0x3B	0x003B	#	SEMICOLON
+0x3C	0x003C	#	LESS-THAN SIGN
+0x3D	0x003D	#	EQUALS SIGN
+0x3E	0x003E	#	GREATER-THAN SIGN
+0x3F	0x003F	#	QUESTION MARK
+0x40	0x0040	#	COMMERCIAL AT
+0x41	0x0041	#	LATIN CAPITAL LETTER A
+0x42	0x0042	#	LATIN CAPITAL LETTER B
+0x43	0x0043	#	LATIN CAPITAL LETTER C
+0x44	0x0044	#	LATIN CAPITAL LETTER D
+0x45	0x0045	#	LATIN CAPITAL LETTER E
+0x46	0x0046	#	LATIN CAPITAL LETTER F
+0x47	0x0047	#	LATIN CAPITAL LETTER G
+0x48	0x0048	#	LATIN CAPITAL LETTER H
+0x49	0x0049	#	LATIN CAPITAL LETTER I
+0x4A	0x004A	#	LATIN CAPITAL LETTER J
+0x4B	0x004B	#	LATIN CAPITAL LETTER K
+0x4C	0x004C	#	LATIN CAPITAL LETTER L
+0x4D	0x004D	#	LATIN CAPITAL LETTER M
+0x4E	0x004E	#	LATIN CAPITAL LETTER N
+0x4F	0x004F	#	LATIN CAPITAL LETTER O
+0x50	0x0050	#	LATIN CAPITAL LETTER P
+0x51	0x0051	#	LATIN CAPITAL LETTER Q
+0x52	0x0052	#	LATIN CAPITAL LETTER R
+0x53	0x0053	#	LATIN CAPITAL LETTER S
+0x54	0x0054	#	LATIN CAPITAL LETTER T
+0x55	0x0055	#	LATIN CAPITAL LETTER U
+0x56	0x0056	#	LATIN CAPITAL LETTER V
+0x57	0x0057	#	LATIN CAPITAL LETTER W
+0x58	0x0058	#	LATIN CAPITAL LETTER X
+0x59	0x0059	#	LATIN CAPITAL LETTER Y
+0x5A	0x005A	#	LATIN CAPITAL LETTER Z
+0x5B	0x005B	#	LEFT SQUARE BRACKET
+0x5C	0x005C	#	REVERSE SOLIDUS
+0x5D	0x005D	#	RIGHT SQUARE BRACKET
+0x5E	0x005E	#	CIRCUMFLEX ACCENT
+0x5F	0x005F	#	LOW LINE
+0x60	0x0060	#	GRAVE ACCENT
+0x61	0x0061	#	LATIN SMALL LETTER A
+0x62	0x0062	#	LATIN SMALL LETTER B
+0x63	0x0063	#	LATIN SMALL LETTER C
+0x64	0x0064	#	LATIN SMALL LETTER D
+0x65	0x0065	#	LATIN SMALL LETTER E
+0x66	0x0066	#	LATIN SMALL LETTER F
+0x67	0x0067	#	LATIN SMALL LETTER G
+0x68	0x0068	#	LATIN SMALL LETTER H
+0x69	0x0069	#	LATIN SMALL LETTER I
+0x6A	0x006A	#	LATIN SMALL LETTER J
+0x6B	0x006B	#	LATIN SMALL LETTER K
+0x6C	0x006C	#	LATIN SMALL LETTER L
+0x6D	0x006D	#	LATIN SMALL LETTER M
+0x6E	0x006E	#	LATIN SMALL LETTER N
+0x6F	0x006F	#	LATIN SMALL LETTER O
+0x70	0x0070	#	LATIN SMALL LETTER P
+0x71	0x0071	#	LATIN SMALL LETTER Q
+0x72	0x0072	#	LATIN SMALL LETTER R
+0x73	0x0073	#	LATIN SMALL LETTER S
+0x74	0x0074	#	LATIN SMALL LETTER T
+0x75	0x0075	#	LATIN SMALL LETTER U
+0x76	0x0076	#	LATIN SMALL LETTER V
+0x77	0x0077	#	LATIN SMALL LETTER W
+0x78	0x0078	#	LATIN SMALL LETTER X
+0x79	0x0079	#	LATIN SMALL LETTER Y
+0x7A	0x007A	#	LATIN SMALL LETTER Z
+0x7B	0x007B	#	LEFT CURLY BRACKET
+0x7C	0x007C	#	VERTICAL LINE
+0x7D	0x007D	#	RIGHT CURLY BRACKET
+0x7E	0x007E	#	TILDE
+0x7F	0x007F	#	DELETE
+0x80	0x0080	#	<control>
+0x81	0x0081	#	<control>
+0x82	0x0082	#	<control>
+0x83	0x0083	#	<control>
+0x84	0x0084	#	<control>
+0x85	0x0085	#	<control>
+0x86	0x0086	#	<control>
+0x87	0x0087	#	<control>
+0x88	0x0088	#	<control>
+0x89	0x0089	#	<control>
+0x8A	0x008A	#	<control>
+0x8B	0x008B	#	<control>
+0x8C	0x008C	#	<control>
+0x8D	0x008D	#	<control>
+0x8E	0x008E	#	<control>
+0x8F	0x008F	#	<control>
+0x90	0x0090	#	<control>
+0x91	0x0091	#	<control>
+0x92	0x0092	#	<control>
+0x93	0x0093	#	<control>
+0x94	0x0094	#	<control>
+0x95	0x0095	#	<control>
+0x96	0x0096	#	<control>
+0x97	0x0097	#	<control>
+0x98	0x0098	#	<control>
+0x99	0x0099	#	<control>
+0x9A	0x009A	#	<control>
+0x9B	0x009B	#	<control>
+0x9C	0x009C	#	<control>
+0x9D	0x009D	#	<control>
+0x9E	0x009E	#	<control>
+0x9F	0x009F	#	<control>
+0xA0	0x00A0	#	NO-BREAK SPACE
+0xA1	0x201D	#	RIGHT DOUBLE QUOTATION MARK
+0xA2	0x00A2	#	CENT SIGN
+0xA3	0x00A3	#	POUND SIGN
+0xA4	0x00A4	#	CURRENCY SIGN
+0xA5	0x201E	#	DOUBLE LOW-9 QUOTATION MARK
+0xA6	0x00A6	#	BROKEN BAR
+0xA7	0x00A7	#	SECTION SIGN
+0xA8	0x00D8	#	LATIN CAPITAL LETTER O WITH STROKE
+0xA9	0x00A9	#	COPYRIGHT SIGN
+0xAA	0x0156	#	LATIN CAPITAL LETTER R WITH CEDILLA
+0xAB	0x00AB	#	LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC	0x00AC	#	NOT SIGN
+0xAD	0x00AD	#	SOFT HYPHEN
+0xAE	0x00AE	#	REGISTERED SIGN
+0xAF	0x00C6	#	LATIN CAPITAL LETTER AE
+0xB0	0x00B0	#	DEGREE SIGN
+0xB1	0x00B1	#	PLUS-MINUS SIGN
+0xB2	0x00B2	#	SUPERSCRIPT TWO
+0xB3	0x00B3	#	SUPERSCRIPT THREE
+0xB4	0x201C	#	LEFT DOUBLE QUOTATION MARK
+0xB5	0x00B5	#	MICRO SIGN
+0xB6	0x00B6	#	PILCROW SIGN
+0xB7	0x00B7	#	MIDDLE DOT
+0xB8	0x00F8	#	LATIN SMALL LETTER O WITH STROKE
+0xB9	0x00B9	#	SUPERSCRIPT ONE
+0xBA	0x0157	#	LATIN SMALL LETTER R WITH CEDILLA
+0xBB	0x00BB	#	RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC	0x00BC	#	VULGAR FRACTION ONE QUARTER
+0xBD	0x00BD	#	VULGAR FRACTION ONE HALF
+0xBE	0x00BE	#	VULGAR FRACTION THREE QUARTERS
+0xBF	0x00E6	#	LATIN SMALL LETTER AE
+0xC0	0x0104	#	LATIN CAPITAL LETTER A WITH OGONEK
+0xC1	0x012E	#	LATIN CAPITAL LETTER I WITH OGONEK
+0xC2	0x0100	#	LATIN CAPITAL LETTER A WITH MACRON
+0xC3	0x0106	#	LATIN CAPITAL LETTER C WITH ACUTE
+0xC4	0x00C4	#	LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5	0x00C5	#	LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6	0x0118	#	LATIN CAPITAL LETTER E WITH OGONEK
+0xC7	0x0112	#	LATIN CAPITAL LETTER E WITH MACRON
+0xC8	0x010C	#	LATIN CAPITAL LETTER C WITH CARON
+0xC9	0x00C9	#	LATIN CAPITAL LETTER E WITH ACUTE
+0xCA	0x0179	#	LATIN CAPITAL LETTER Z WITH ACUTE
+0xCB	0x0116	#	LATIN CAPITAL LETTER E WITH DOT ABOVE
+0xCC	0x0122	#	LATIN CAPITAL LETTER G WITH CEDILLA
+0xCD	0x0136	#	LATIN CAPITAL LETTER K WITH CEDILLA
+0xCE	0x012A	#	LATIN CAPITAL LETTER I WITH MACRON
+0xCF	0x013B	#	LATIN CAPITAL LETTER L WITH CEDILLA
+0xD0	0x0160	#	LATIN CAPITAL LETTER S WITH CARON
+0xD1	0x0143	#	LATIN CAPITAL LETTER N WITH ACUTE
+0xD2	0x0145	#	LATIN CAPITAL LETTER N WITH CEDILLA
+0xD3	0x00D3	#	LATIN CAPITAL LETTER O WITH ACUTE
+0xD4	0x014C	#	LATIN CAPITAL LETTER O WITH MACRON
+0xD5	0x00D5	#	LATIN CAPITAL LETTER O WITH TILDE
+0xD6	0x00D6	#	LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7	0x00D7	#	MULTIPLICATION SIGN
+0xD8	0x0172	#	LATIN CAPITAL LETTER U WITH OGONEK
+0xD9	0x0141	#	LATIN CAPITAL LETTER L WITH STROKE
+0xDA	0x015A	#	LATIN CAPITAL LETTER S WITH ACUTE
+0xDB	0x016A	#	LATIN CAPITAL LETTER U WITH MACRON
+0xDC	0x00DC	#	LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD	0x017B	#	LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xDE	0x017D	#	LATIN CAPITAL LETTER Z WITH CARON
+0xDF	0x00DF	#	LATIN SMALL LETTER SHARP S (German)
+0xE0	0x0105	#	LATIN SMALL LETTER A WITH OGONEK
+0xE1	0x012F	#	LATIN SMALL LETTER I WITH OGONEK
+0xE2	0x0101	#	LATIN SMALL LETTER A WITH MACRON
+0xE3	0x0107	#	LATIN SMALL LETTER C WITH ACUTE
+0xE4	0x00E4	#	LATIN SMALL LETTER A WITH DIAERESIS
+0xE5	0x00E5	#	LATIN SMALL LETTER A WITH RING ABOVE
+0xE6	0x0119	#	LATIN SMALL LETTER E WITH OGONEK
+0xE7	0x0113	#	LATIN SMALL LETTER E WITH MACRON
+0xE8	0x010D	#	LATIN SMALL LETTER C WITH CARON
+0xE9	0x00E9	#	LATIN SMALL LETTER E WITH ACUTE
+0xEA	0x017A	#	LATIN SMALL LETTER Z WITH ACUTE
+0xEB	0x0117	#	LATIN SMALL LETTER E WITH DOT ABOVE
+0xEC	0x0123	#	LATIN SMALL LETTER G WITH CEDILLA
+0xED	0x0137	#	LATIN SMALL LETTER K WITH CEDILLA
+0xEE	0x012B	#	LATIN SMALL LETTER I WITH MACRON
+0xEF	0x013C	#	LATIN SMALL LETTER L WITH CEDILLA
+0xF0	0x0161	#	LATIN SMALL LETTER S WITH CARON
+0xF1	0x0144	#	LATIN SMALL LETTER N WITH ACUTE
+0xF2	0x0146	#	LATIN SMALL LETTER N WITH CEDILLA
+0xF3	0x00F3	#	LATIN SMALL LETTER O WITH ACUTE
+0xF4	0x014D	#	LATIN SMALL LETTER O WITH MACRON
+0xF5	0x00F5	#	LATIN SMALL LETTER O WITH TILDE
+0xF6	0x00F6	#	LATIN SMALL LETTER O WITH DIAERESIS
+0xF7	0x00F7	#	DIVISION SIGN
+0xF8	0x0173	#	LATIN SMALL LETTER U WITH OGONEK
+0xF9	0x0142	#	LATIN SMALL LETTER L WITH STROKE
+0xFA	0x015B	#	LATIN SMALL LETTER S WITH ACUTE
+0xFB	0x016B	#	LATIN SMALL LETTER U WITH MACRON
+0xFC	0x00FC	#	LATIN SMALL LETTER U WITH DIAERESIS
+0xFD	0x017C	#	LATIN SMALL LETTER Z WITH DOT ABOVE
+0xFE	0x017E	#	LATIN SMALL LETTER Z WITH CARON
+0xFF	0x2019	#	RIGHT SINGLE QUOTATION MARK

+ 301 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-14.TXT

@@ -0,0 +1,301 @@
+#
+#	Name:             ISO/IEC 8859-14:1998 to Unicode
+#	Unicode version:  3.0
+#	Table version:    1.0
+#	Table format:     Format A
+#	Date:             1999 July 27
+#	Authors:          Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/>
+#			  Ken Whistler <kenw@sybase.com>
+#
+#	Copyright (c) 1998 - 1999 Unicode, Inc.  All Rights reserved.
+#
+#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#	No claims are made as to fitness for any particular purpose.  No
+#	warranties of any kind are expressed or implied.  The recipient
+#	agrees to determine applicability of information provided.  If this
+#	file has been provided on optical media by Unicode, Inc., the sole
+#	remedy for any claim will be exchange of defective media within 90
+#	days of receipt.
+#
+#	Unicode, Inc. hereby grants the right to freely use the information
+#	supplied in this file in the creation of products supporting the
+#	Unicode Standard, and to make copies of this file in any form for
+#	internal or external distribution as long as this notice remains
+#	attached.
+#
+#	General notes:
+#
+#	This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-14:1998 characters map into Unicode.
+#
+#	Format:  Three tab-separated columns
+#		 Column #1 is the ISO/IEC 8859-14 code (in hex as 0xXX)
+#		 Column #2 is the Unicode (in hex as 0xXXXX)
+#		 Column #3 the Unicode name (follows a comment sign, '#')
+#
+#	The entries are in ISO/IEC 8859-14 order.
+#
+#	Updated versions of this file may be found in:
+#		<ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#	Any comments or problems, contact <errata@unicode.org>
+#	Please note that <errata@unicode.org> is an archival address;
+#	notices will be checked, but do not expect an immediate response.
+#
+0x00	0x0000	#	NULL
+0x01	0x0001	#	START OF HEADING
+0x02	0x0002	#	START OF TEXT
+0x03	0x0003	#	END OF TEXT
+0x04	0x0004	#	END OF TRANSMISSION
+0x05	0x0005	#	ENQUIRY
+0x06	0x0006	#	ACKNOWLEDGE
+0x07	0x0007	#	BELL
+0x08	0x0008	#	BACKSPACE
+0x09	0x0009	#	HORIZONTAL TABULATION
+0x0A	0x000A	#	LINE FEED
+0x0B	0x000B	#	VERTICAL TABULATION
+0x0C	0x000C	#	FORM FEED
+0x0D	0x000D	#	CARRIAGE RETURN
+0x0E	0x000E	#	SHIFT OUT
+0x0F	0x000F	#	SHIFT IN
+0x10	0x0010	#	DATA LINK ESCAPE
+0x11	0x0011	#	DEVICE CONTROL ONE
+0x12	0x0012	#	DEVICE CONTROL TWO
+0x13	0x0013	#	DEVICE CONTROL THREE
+0x14	0x0014	#	DEVICE CONTROL FOUR
+0x15	0x0015	#	NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#	SYNCHRONOUS IDLE
+0x17	0x0017	#	END OF TRANSMISSION BLOCK
+0x18	0x0018	#	CANCEL
+0x19	0x0019	#	END OF MEDIUM
+0x1A	0x001A	#	SUBSTITUTE
+0x1B	0x001B	#	ESCAPE
+0x1C	0x001C	#	FILE SEPARATOR
+0x1D	0x001D	#	GROUP SEPARATOR
+0x1E	0x001E	#	RECORD SEPARATOR
+0x1F	0x001F	#	UNIT SEPARATOR
+0x20	0x0020	#	SPACE
+0x21	0x0021	#	EXCLAMATION MARK
+0x22	0x0022	#	QUOTATION MARK
+0x23	0x0023	#	NUMBER SIGN
+0x24	0x0024	#	DOLLAR SIGN
+0x25	0x0025	#	PERCENT SIGN
+0x26	0x0026	#	AMPERSAND
+0x27	0x0027	#	APOSTROPHE
+0x28	0x0028	#	LEFT PARENTHESIS
+0x29	0x0029	#	RIGHT PARENTHESIS
+0x2A	0x002A	#	ASTERISK
+0x2B	0x002B	#	PLUS SIGN
+0x2C	0x002C	#	COMMA
+0x2D	0x002D	#	HYPHEN-MINUS
+0x2E	0x002E	#	FULL STOP
+0x2F	0x002F	#	SOLIDUS
+0x30	0x0030	#	DIGIT ZERO
+0x31	0x0031	#	DIGIT ONE
+0x32	0x0032	#	DIGIT TWO
+0x33	0x0033	#	DIGIT THREE
+0x34	0x0034	#	DIGIT FOUR
+0x35	0x0035	#	DIGIT FIVE
+0x36	0x0036	#	DIGIT SIX
+0x37	0x0037	#	DIGIT SEVEN
+0x38	0x0038	#	DIGIT EIGHT
+0x39	0x0039	#	DIGIT NINE
+0x3A	0x003A	#	COLON
+0x3B	0x003B	#	SEMICOLON
+0x3C	0x003C	#	LESS-THAN SIGN
+0x3D	0x003D	#	EQUALS SIGN
+0x3E	0x003E	#	GREATER-THAN SIGN
+0x3F	0x003F	#	QUESTION MARK
+0x40	0x0040	#	COMMERCIAL AT
+0x41	0x0041	#	LATIN CAPITAL LETTER A
+0x42	0x0042	#	LATIN CAPITAL LETTER B
+0x43	0x0043	#	LATIN CAPITAL LETTER C
+0x44	0x0044	#	LATIN CAPITAL LETTER D
+0x45	0x0045	#	LATIN CAPITAL LETTER E
+0x46	0x0046	#	LATIN CAPITAL LETTER F
+0x47	0x0047	#	LATIN CAPITAL LETTER G
+0x48	0x0048	#	LATIN CAPITAL LETTER H
+0x49	0x0049	#	LATIN CAPITAL LETTER I
+0x4A	0x004A	#	LATIN CAPITAL LETTER J
+0x4B	0x004B	#	LATIN CAPITAL LETTER K
+0x4C	0x004C	#	LATIN CAPITAL LETTER L
+0x4D	0x004D	#	LATIN CAPITAL LETTER M
+0x4E	0x004E	#	LATIN CAPITAL LETTER N
+0x4F	0x004F	#	LATIN CAPITAL LETTER O
+0x50	0x0050	#	LATIN CAPITAL LETTER P
+0x51	0x0051	#	LATIN CAPITAL LETTER Q
+0x52	0x0052	#	LATIN CAPITAL LETTER R
+0x53	0x0053	#	LATIN CAPITAL LETTER S
+0x54	0x0054	#	LATIN CAPITAL LETTER T
+0x55	0x0055	#	LATIN CAPITAL LETTER U
+0x56	0x0056	#	LATIN CAPITAL LETTER V
+0x57	0x0057	#	LATIN CAPITAL LETTER W
+0x58	0x0058	#	LATIN CAPITAL LETTER X
+0x59	0x0059	#	LATIN CAPITAL LETTER Y
+0x5A	0x005A	#	LATIN CAPITAL LETTER Z
+0x5B	0x005B	#	LEFT SQUARE BRACKET
+0x5C	0x005C	#	REVERSE SOLIDUS
+0x5D	0x005D	#	RIGHT SQUARE BRACKET
+0x5E	0x005E	#	CIRCUMFLEX ACCENT
+0x5F	0x005F	#	LOW LINE
+0x60	0x0060	#	GRAVE ACCENT
+0x61	0x0061	#	LATIN SMALL LETTER A
+0x62	0x0062	#	LATIN SMALL LETTER B
+0x63	0x0063	#	LATIN SMALL LETTER C
+0x64	0x0064	#	LATIN SMALL LETTER D
+0x65	0x0065	#	LATIN SMALL LETTER E
+0x66	0x0066	#	LATIN SMALL LETTER F
+0x67	0x0067	#	LATIN SMALL LETTER G
+0x68	0x0068	#	LATIN SMALL LETTER H
+0x69	0x0069	#	LATIN SMALL LETTER I
+0x6A	0x006A	#	LATIN SMALL LETTER J
+0x6B	0x006B	#	LATIN SMALL LETTER K
+0x6C	0x006C	#	LATIN SMALL LETTER L
+0x6D	0x006D	#	LATIN SMALL LETTER M
+0x6E	0x006E	#	LATIN SMALL LETTER N
+0x6F	0x006F	#	LATIN SMALL LETTER O
+0x70	0x0070	#	LATIN SMALL LETTER P
+0x71	0x0071	#	LATIN SMALL LETTER Q
+0x72	0x0072	#	LATIN SMALL LETTER R
+0x73	0x0073	#	LATIN SMALL LETTER S
+0x74	0x0074	#	LATIN SMALL LETTER T
+0x75	0x0075	#	LATIN SMALL LETTER U
+0x76	0x0076	#	LATIN SMALL LETTER V
+0x77	0x0077	#	LATIN SMALL LETTER W
+0x78	0x0078	#	LATIN SMALL LETTER X
+0x79	0x0079	#	LATIN SMALL LETTER Y
+0x7A	0x007A	#	LATIN SMALL LETTER Z
+0x7B	0x007B	#	LEFT CURLY BRACKET
+0x7C	0x007C	#	VERTICAL LINE
+0x7D	0x007D	#	RIGHT CURLY BRACKET
+0x7E	0x007E	#	TILDE
+0x7F	0x007F	#	DELETE
+0x80	0x0080	#	<control>
+0x81	0x0081	#	<control>
+0x82	0x0082	#	<control>
+0x83	0x0083	#	<control>
+0x84	0x0084	#	<control>
+0x85	0x0085	#	<control>
+0x86	0x0086	#	<control>
+0x87	0x0087	#	<control>
+0x88	0x0088	#	<control>
+0x89	0x0089	#	<control>
+0x8A	0x008A	#	<control>
+0x8B	0x008B	#	<control>
+0x8C	0x008C	#	<control>
+0x8D	0x008D	#	<control>
+0x8E	0x008E	#	<control>
+0x8F	0x008F	#	<control>
+0x90	0x0090	#	<control>
+0x91	0x0091	#	<control>
+0x92	0x0092	#	<control>
+0x93	0x0093	#	<control>
+0x94	0x0094	#	<control>
+0x95	0x0095	#	<control>
+0x96	0x0096	#	<control>
+0x97	0x0097	#	<control>
+0x98	0x0098	#	<control>
+0x99	0x0099	#	<control>
+0x9A	0x009A	#	<control>
+0x9B	0x009B	#	<control>
+0x9C	0x009C	#	<control>
+0x9D	0x009D	#	<control>
+0x9E	0x009E	#	<control>
+0x9F	0x009F	#	<control>
+0xA0	0x00A0	#	NO-BREAK SPACE
+0xA1	0x1E02	#	LATIN CAPITAL LETTER B WITH DOT ABOVE
+0xA2	0x1E03	#	LATIN SMALL LETTER B WITH DOT ABOVE
+0xA3	0x00A3	#	POUND SIGN
+0xA4	0x010A	#	LATIN CAPITAL LETTER C WITH DOT ABOVE
+0xA5	0x010B	#	LATIN SMALL LETTER C WITH DOT ABOVE
+0xA6	0x1E0A	#	LATIN CAPITAL LETTER D WITH DOT ABOVE
+0xA7	0x00A7	#	SECTION SIGN
+0xA8	0x1E80	#	LATIN CAPITAL LETTER W WITH GRAVE
+0xA9	0x00A9	#	COPYRIGHT SIGN
+0xAA	0x1E82	#	LATIN CAPITAL LETTER W WITH ACUTE
+0xAB	0x1E0B	#	LATIN SMALL LETTER D WITH DOT ABOVE
+0xAC	0x1EF2	#	LATIN CAPITAL LETTER Y WITH GRAVE
+0xAD	0x00AD	#	SOFT HYPHEN
+0xAE	0x00AE	#	REGISTERED SIGN
+0xAF	0x0178	#	LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xB0	0x1E1E	#	LATIN CAPITAL LETTER F WITH DOT ABOVE
+0xB1	0x1E1F	#	LATIN SMALL LETTER F WITH DOT ABOVE
+0xB2	0x0120	#	LATIN CAPITAL LETTER G WITH DOT ABOVE
+0xB3	0x0121	#	LATIN SMALL LETTER G WITH DOT ABOVE
+0xB4	0x1E40	#	LATIN CAPITAL LETTER M WITH DOT ABOVE
+0xB5	0x1E41	#	LATIN SMALL LETTER M WITH DOT ABOVE
+0xB6	0x00B6	#	PILCROW SIGN
+0xB7	0x1E56	#	LATIN CAPITAL LETTER P WITH DOT ABOVE
+0xB8	0x1E81	#	LATIN SMALL LETTER W WITH GRAVE
+0xB9	0x1E57	#	LATIN SMALL LETTER P WITH DOT ABOVE
+0xBA	0x1E83	#	LATIN SMALL LETTER W WITH ACUTE
+0xBB	0x1E60	#	LATIN CAPITAL LETTER S WITH DOT ABOVE
+0xBC	0x1EF3	#	LATIN SMALL LETTER Y WITH GRAVE
+0xBD	0x1E84	#	LATIN CAPITAL LETTER W WITH DIAERESIS
+0xBE	0x1E85	#	LATIN SMALL LETTER W WITH DIAERESIS
+0xBF	0x1E61	#	LATIN SMALL LETTER S WITH DOT ABOVE
+0xC0	0x00C0	#	LATIN CAPITAL LETTER A WITH GRAVE
+0xC1	0x00C1	#	LATIN CAPITAL LETTER A WITH ACUTE
+0xC2	0x00C2	#	LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3	0x00C3	#	LATIN CAPITAL LETTER A WITH TILDE
+0xC4	0x00C4	#	LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5	0x00C5	#	LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6	0x00C6	#	LATIN CAPITAL LETTER AE
+0xC7	0x00C7	#	LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8	0x00C8	#	LATIN CAPITAL LETTER E WITH GRAVE
+0xC9	0x00C9	#	LATIN CAPITAL LETTER E WITH ACUTE
+0xCA	0x00CA	#	LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB	0x00CB	#	LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC	0x00CC	#	LATIN CAPITAL LETTER I WITH GRAVE
+0xCD	0x00CD	#	LATIN CAPITAL LETTER I WITH ACUTE
+0xCE	0x00CE	#	LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF	0x00CF	#	LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0	0x0174	#	LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+0xD1	0x00D1	#	LATIN CAPITAL LETTER N WITH TILDE
+0xD2	0x00D2	#	LATIN CAPITAL LETTER O WITH GRAVE
+0xD3	0x00D3	#	LATIN CAPITAL LETTER O WITH ACUTE
+0xD4	0x00D4	#	LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5	0x00D5	#	LATIN CAPITAL LETTER O WITH TILDE
+0xD6	0x00D6	#	LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7	0x1E6A	#	LATIN CAPITAL LETTER T WITH DOT ABOVE
+0xD8	0x00D8	#	LATIN CAPITAL LETTER O WITH STROKE
+0xD9	0x00D9	#	LATIN CAPITAL LETTER U WITH GRAVE
+0xDA	0x00DA	#	LATIN CAPITAL LETTER U WITH ACUTE
+0xDB	0x00DB	#	LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC	0x00DC	#	LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD	0x00DD	#	LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE	0x0176	#	LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+0xDF	0x00DF	#	LATIN SMALL LETTER SHARP S
+0xE0	0x00E0	#	LATIN SMALL LETTER A WITH GRAVE
+0xE1	0x00E1	#	LATIN SMALL LETTER A WITH ACUTE
+0xE2	0x00E2	#	LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3	0x00E3	#	LATIN SMALL LETTER A WITH TILDE
+0xE4	0x00E4	#	LATIN SMALL LETTER A WITH DIAERESIS
+0xE5	0x00E5	#	LATIN SMALL LETTER A WITH RING ABOVE
+0xE6	0x00E6	#	LATIN SMALL LETTER AE
+0xE7	0x00E7	#	LATIN SMALL LETTER C WITH CEDILLA
+0xE8	0x00E8	#	LATIN SMALL LETTER E WITH GRAVE
+0xE9	0x00E9	#	LATIN SMALL LETTER E WITH ACUTE
+0xEA	0x00EA	#	LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB	0x00EB	#	LATIN SMALL LETTER E WITH DIAERESIS
+0xEC	0x00EC	#	LATIN SMALL LETTER I WITH GRAVE
+0xED	0x00ED	#	LATIN SMALL LETTER I WITH ACUTE
+0xEE	0x00EE	#	LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF	0x00EF	#	LATIN SMALL LETTER I WITH DIAERESIS
+0xF0	0x0175	#	LATIN SMALL LETTER W WITH CIRCUMFLEX
+0xF1	0x00F1	#	LATIN SMALL LETTER N WITH TILDE
+0xF2	0x00F2	#	LATIN SMALL LETTER O WITH GRAVE
+0xF3	0x00F3	#	LATIN SMALL LETTER O WITH ACUTE
+0xF4	0x00F4	#	LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5	0x00F5	#	LATIN SMALL LETTER O WITH TILDE
+0xF6	0x00F6	#	LATIN SMALL LETTER O WITH DIAERESIS
+0xF7	0x1E6B	#	LATIN SMALL LETTER T WITH DOT ABOVE
+0xF8	0x00F8	#	LATIN SMALL LETTER O WITH STROKE
+0xF9	0x00F9	#	LATIN SMALL LETTER U WITH GRAVE
+0xFA	0x00FA	#	LATIN SMALL LETTER U WITH ACUTE
+0xFB	0x00FB	#	LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC	0x00FC	#	LATIN SMALL LETTER U WITH DIAERESIS
+0xFD	0x00FD	#	LATIN SMALL LETTER Y WITH ACUTE
+0xFE	0x0177	#	LATIN SMALL LETTER Y WITH CIRCUMFLEX
+0xFF	0x00FF	#	LATIN SMALL LETTER Y WITH DIAERESIS
+

+ 303 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-15.TXT

@@ -0,0 +1,303 @@
+#
+#	Name:             ISO/IEC 8859-15:1999 to Unicode
+#	Unicode version:  3.0
+#	Table version:    1.0
+#	Table format:     Format A
+#	Date:             1999 July 27
+#	Authors:          Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/>
+#			  Ken Whistler <kenw@sybase.com>
+#
+#	Copyright (c) 1998 - 1999 Unicode, Inc.  All Rights reserved.
+#
+#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#	No claims are made as to fitness for any particular purpose.  No
+#	warranties of any kind are expressed or implied.  The recipient
+#	agrees to determine applicability of information provided.  If this
+#	file has been provided on optical media by Unicode, Inc., the sole
+#	remedy for any claim will be exchange of defective media within 90
+#	days of receipt.
+#
+#	Unicode, Inc. hereby grants the right to freely use the information
+#	supplied in this file in the creation of products supporting the
+#	Unicode Standard, and to make copies of this file in any form for
+#	internal or external distribution as long as this notice remains
+#	attached.
+#
+#	General notes:
+#
+#	This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-15:1999 characters map into Unicode.
+#
+#	Format:  Three tab-separated columns
+#		 Column #1 is the ISO/IEC 8859-15 code (in hex as 0xXX)
+#		 Column #2 is the Unicode (in hex as 0xXXXX)
+#		 Column #3 the Unicode name (follows a comment sign, '#')
+#
+#	The entries are in ISO/IEC 8859-15 order.
+#
+#	Version history
+#
+#	Updated versions of this file may be found in:
+#		<ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#	Any comments or problems, contact <errata@unicode.org>
+#	Please note that <errata@unicode.org> is an archival address;
+#	notices will be checked, but do not expect an immediate response.
+#
+0x00	0x0000	#	NULL
+0x01	0x0001	#	START OF HEADING
+0x02	0x0002	#	START OF TEXT
+0x03	0x0003	#	END OF TEXT
+0x04	0x0004	#	END OF TRANSMISSION
+0x05	0x0005	#	ENQUIRY
+0x06	0x0006	#	ACKNOWLEDGE
+0x07	0x0007	#	BELL
+0x08	0x0008	#	BACKSPACE
+0x09	0x0009	#	HORIZONTAL TABULATION
+0x0A	0x000A	#	LINE FEED
+0x0B	0x000B	#	VERTICAL TABULATION
+0x0C	0x000C	#	FORM FEED
+0x0D	0x000D	#	CARRIAGE RETURN
+0x0E	0x000E	#	SHIFT OUT
+0x0F	0x000F	#	SHIFT IN
+0x10	0x0010	#	DATA LINK ESCAPE
+0x11	0x0011	#	DEVICE CONTROL ONE
+0x12	0x0012	#	DEVICE CONTROL TWO
+0x13	0x0013	#	DEVICE CONTROL THREE
+0x14	0x0014	#	DEVICE CONTROL FOUR
+0x15	0x0015	#	NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#	SYNCHRONOUS IDLE
+0x17	0x0017	#	END OF TRANSMISSION BLOCK
+0x18	0x0018	#	CANCEL
+0x19	0x0019	#	END OF MEDIUM
+0x1A	0x001A	#	SUBSTITUTE
+0x1B	0x001B	#	ESCAPE
+0x1C	0x001C	#	FILE SEPARATOR
+0x1D	0x001D	#	GROUP SEPARATOR
+0x1E	0x001E	#	RECORD SEPARATOR
+0x1F	0x001F	#	UNIT SEPARATOR
+0x20	0x0020	#	SPACE
+0x21	0x0021	#	EXCLAMATION MARK
+0x22	0x0022	#	QUOTATION MARK
+0x23	0x0023	#	NUMBER SIGN
+0x24	0x0024	#	DOLLAR SIGN
+0x25	0x0025	#	PERCENT SIGN
+0x26	0x0026	#	AMPERSAND
+0x27	0x0027	#	APOSTROPHE
+0x28	0x0028	#	LEFT PARENTHESIS
+0x29	0x0029	#	RIGHT PARENTHESIS
+0x2A	0x002A	#	ASTERISK
+0x2B	0x002B	#	PLUS SIGN
+0x2C	0x002C	#	COMMA
+0x2D	0x002D	#	HYPHEN-MINUS
+0x2E	0x002E	#	FULL STOP
+0x2F	0x002F	#	SOLIDUS
+0x30	0x0030	#	DIGIT ZERO
+0x31	0x0031	#	DIGIT ONE
+0x32	0x0032	#	DIGIT TWO
+0x33	0x0033	#	DIGIT THREE
+0x34	0x0034	#	DIGIT FOUR
+0x35	0x0035	#	DIGIT FIVE
+0x36	0x0036	#	DIGIT SIX
+0x37	0x0037	#	DIGIT SEVEN
+0x38	0x0038	#	DIGIT EIGHT
+0x39	0x0039	#	DIGIT NINE
+0x3A	0x003A	#	COLON
+0x3B	0x003B	#	SEMICOLON
+0x3C	0x003C	#	LESS-THAN SIGN
+0x3D	0x003D	#	EQUALS SIGN
+0x3E	0x003E	#	GREATER-THAN SIGN
+0x3F	0x003F	#	QUESTION MARK
+0x40	0x0040	#	COMMERCIAL AT
+0x41	0x0041	#	LATIN CAPITAL LETTER A
+0x42	0x0042	#	LATIN CAPITAL LETTER B
+0x43	0x0043	#	LATIN CAPITAL LETTER C
+0x44	0x0044	#	LATIN CAPITAL LETTER D
+0x45	0x0045	#	LATIN CAPITAL LETTER E
+0x46	0x0046	#	LATIN CAPITAL LETTER F
+0x47	0x0047	#	LATIN CAPITAL LETTER G
+0x48	0x0048	#	LATIN CAPITAL LETTER H
+0x49	0x0049	#	LATIN CAPITAL LETTER I
+0x4A	0x004A	#	LATIN CAPITAL LETTER J
+0x4B	0x004B	#	LATIN CAPITAL LETTER K
+0x4C	0x004C	#	LATIN CAPITAL LETTER L
+0x4D	0x004D	#	LATIN CAPITAL LETTER M
+0x4E	0x004E	#	LATIN CAPITAL LETTER N
+0x4F	0x004F	#	LATIN CAPITAL LETTER O
+0x50	0x0050	#	LATIN CAPITAL LETTER P
+0x51	0x0051	#	LATIN CAPITAL LETTER Q
+0x52	0x0052	#	LATIN CAPITAL LETTER R
+0x53	0x0053	#	LATIN CAPITAL LETTER S
+0x54	0x0054	#	LATIN CAPITAL LETTER T
+0x55	0x0055	#	LATIN CAPITAL LETTER U
+0x56	0x0056	#	LATIN CAPITAL LETTER V
+0x57	0x0057	#	LATIN CAPITAL LETTER W
+0x58	0x0058	#	LATIN CAPITAL LETTER X
+0x59	0x0059	#	LATIN CAPITAL LETTER Y
+0x5A	0x005A	#	LATIN CAPITAL LETTER Z
+0x5B	0x005B	#	LEFT SQUARE BRACKET
+0x5C	0x005C	#	REVERSE SOLIDUS
+0x5D	0x005D	#	RIGHT SQUARE BRACKET
+0x5E	0x005E	#	CIRCUMFLEX ACCENT
+0x5F	0x005F	#	LOW LINE
+0x60	0x0060	#	GRAVE ACCENT
+0x61	0x0061	#	LATIN SMALL LETTER A
+0x62	0x0062	#	LATIN SMALL LETTER B
+0x63	0x0063	#	LATIN SMALL LETTER C
+0x64	0x0064	#	LATIN SMALL LETTER D
+0x65	0x0065	#	LATIN SMALL LETTER E
+0x66	0x0066	#	LATIN SMALL LETTER F
+0x67	0x0067	#	LATIN SMALL LETTER G
+0x68	0x0068	#	LATIN SMALL LETTER H
+0x69	0x0069	#	LATIN SMALL LETTER I
+0x6A	0x006A	#	LATIN SMALL LETTER J
+0x6B	0x006B	#	LATIN SMALL LETTER K
+0x6C	0x006C	#	LATIN SMALL LETTER L
+0x6D	0x006D	#	LATIN SMALL LETTER M
+0x6E	0x006E	#	LATIN SMALL LETTER N
+0x6F	0x006F	#	LATIN SMALL LETTER O
+0x70	0x0070	#	LATIN SMALL LETTER P
+0x71	0x0071	#	LATIN SMALL LETTER Q
+0x72	0x0072	#	LATIN SMALL LETTER R
+0x73	0x0073	#	LATIN SMALL LETTER S
+0x74	0x0074	#	LATIN SMALL LETTER T
+0x75	0x0075	#	LATIN SMALL LETTER U
+0x76	0x0076	#	LATIN SMALL LETTER V
+0x77	0x0077	#	LATIN SMALL LETTER W
+0x78	0x0078	#	LATIN SMALL LETTER X
+0x79	0x0079	#	LATIN SMALL LETTER Y
+0x7A	0x007A	#	LATIN SMALL LETTER Z
+0x7B	0x007B	#	LEFT CURLY BRACKET
+0x7C	0x007C	#	VERTICAL LINE
+0x7D	0x007D	#	RIGHT CURLY BRACKET
+0x7E	0x007E	#	TILDE
+0x7F	0x007F	#	DELETE
+0x80	0x0080	#	<control>
+0x81	0x0081	#	<control>
+0x82	0x0082	#	<control>
+0x83	0x0083	#	<control>
+0x84	0x0084	#	<control>
+0x85	0x0085	#	<control>
+0x86	0x0086	#	<control>
+0x87	0x0087	#	<control>
+0x88	0x0088	#	<control>
+0x89	0x0089	#	<control>
+0x8A	0x008A	#	<control>
+0x8B	0x008B	#	<control>
+0x8C	0x008C	#	<control>
+0x8D	0x008D	#	<control>
+0x8E	0x008E	#	<control>
+0x8F	0x008F	#	<control>
+0x90	0x0090	#	<control>
+0x91	0x0091	#	<control>
+0x92	0x0092	#	<control>
+0x93	0x0093	#	<control>
+0x94	0x0094	#	<control>
+0x95	0x0095	#	<control>
+0x96	0x0096	#	<control>
+0x97	0x0097	#	<control>
+0x98	0x0098	#	<control>
+0x99	0x0099	#	<control>
+0x9A	0x009A	#	<control>
+0x9B	0x009B	#	<control>
+0x9C	0x009C	#	<control>
+0x9D	0x009D	#	<control>
+0x9E	0x009E	#	<control>
+0x9F	0x009F	#	<control>
+0xA0	0x00A0	#	NO-BREAK SPACE
+0xA1	0x00A1	#	INVERTED EXCLAMATION MARK
+0xA2	0x00A2	#	CENT SIGN
+0xA3	0x00A3	#	POUND SIGN
+0xA4	0x20AC	#	EURO SIGN
+0xA5	0x00A5	#	YEN SIGN
+0xA6	0x0160	#	LATIN CAPITAL LETTER S WITH CARON
+0xA7	0x00A7	#	SECTION SIGN
+0xA8	0x0161	#	LATIN SMALL LETTER S WITH CARON
+0xA9	0x00A9	#	COPYRIGHT SIGN
+0xAA	0x00AA	#	FEMININE ORDINAL INDICATOR
+0xAB	0x00AB	#	LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC	0x00AC	#	NOT SIGN
+0xAD	0x00AD	#	SOFT HYPHEN
+0xAE	0x00AE	#	REGISTERED SIGN
+0xAF	0x00AF	#	MACRON
+0xB0	0x00B0	#	DEGREE SIGN
+0xB1	0x00B1	#	PLUS-MINUS SIGN
+0xB2	0x00B2	#	SUPERSCRIPT TWO
+0xB3	0x00B3	#	SUPERSCRIPT THREE
+0xB4	0x017D	#	LATIN CAPITAL LETTER Z WITH CARON
+0xB5	0x00B5	#	MICRO SIGN
+0xB6	0x00B6	#	PILCROW SIGN
+0xB7	0x00B7	#	MIDDLE DOT
+0xB8	0x017E	#	LATIN SMALL LETTER Z WITH CARON
+0xB9	0x00B9	#	SUPERSCRIPT ONE
+0xBA	0x00BA	#	MASCULINE ORDINAL INDICATOR
+0xBB	0x00BB	#	RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC	0x0152	#	LATIN CAPITAL LIGATURE OE
+0xBD	0x0153	#	LATIN SMALL LIGATURE OE
+0xBE	0x0178	#	LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xBF	0x00BF	#	INVERTED QUESTION MARK
+0xC0	0x00C0	#	LATIN CAPITAL LETTER A WITH GRAVE
+0xC1	0x00C1	#	LATIN CAPITAL LETTER A WITH ACUTE
+0xC2	0x00C2	#	LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3	0x00C3	#	LATIN CAPITAL LETTER A WITH TILDE
+0xC4	0x00C4	#	LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5	0x00C5	#	LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6	0x00C6	#	LATIN CAPITAL LETTER AE
+0xC7	0x00C7	#	LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8	0x00C8	#	LATIN CAPITAL LETTER E WITH GRAVE
+0xC9	0x00C9	#	LATIN CAPITAL LETTER E WITH ACUTE
+0xCA	0x00CA	#	LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB	0x00CB	#	LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC	0x00CC	#	LATIN CAPITAL LETTER I WITH GRAVE
+0xCD	0x00CD	#	LATIN CAPITAL LETTER I WITH ACUTE
+0xCE	0x00CE	#	LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF	0x00CF	#	LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0	0x00D0	#	LATIN CAPITAL LETTER ETH
+0xD1	0x00D1	#	LATIN CAPITAL LETTER N WITH TILDE
+0xD2	0x00D2	#	LATIN CAPITAL LETTER O WITH GRAVE
+0xD3	0x00D3	#	LATIN CAPITAL LETTER O WITH ACUTE
+0xD4	0x00D4	#	LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5	0x00D5	#	LATIN CAPITAL LETTER O WITH TILDE
+0xD6	0x00D6	#	LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7	0x00D7	#	MULTIPLICATION SIGN
+0xD8	0x00D8	#	LATIN CAPITAL LETTER O WITH STROKE
+0xD9	0x00D9	#	LATIN CAPITAL LETTER U WITH GRAVE
+0xDA	0x00DA	#	LATIN CAPITAL LETTER U WITH ACUTE
+0xDB	0x00DB	#	LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC	0x00DC	#	LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD	0x00DD	#	LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE	0x00DE	#	LATIN CAPITAL LETTER THORN
+0xDF	0x00DF	#	LATIN SMALL LETTER SHARP S
+0xE0	0x00E0	#	LATIN SMALL LETTER A WITH GRAVE
+0xE1	0x00E1	#	LATIN SMALL LETTER A WITH ACUTE
+0xE2	0x00E2	#	LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3	0x00E3	#	LATIN SMALL LETTER A WITH TILDE
+0xE4	0x00E4	#	LATIN SMALL LETTER A WITH DIAERESIS
+0xE5	0x00E5	#	LATIN SMALL LETTER A WITH RING ABOVE
+0xE6	0x00E6	#	LATIN SMALL LETTER AE
+0xE7	0x00E7	#	LATIN SMALL LETTER C WITH CEDILLA
+0xE8	0x00E8	#	LATIN SMALL LETTER E WITH GRAVE
+0xE9	0x00E9	#	LATIN SMALL LETTER E WITH ACUTE
+0xEA	0x00EA	#	LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB	0x00EB	#	LATIN SMALL LETTER E WITH DIAERESIS
+0xEC	0x00EC	#	LATIN SMALL LETTER I WITH GRAVE
+0xED	0x00ED	#	LATIN SMALL LETTER I WITH ACUTE
+0xEE	0x00EE	#	LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF	0x00EF	#	LATIN SMALL LETTER I WITH DIAERESIS
+0xF0	0x00F0	#	LATIN SMALL LETTER ETH
+0xF1	0x00F1	#	LATIN SMALL LETTER N WITH TILDE
+0xF2	0x00F2	#	LATIN SMALL LETTER O WITH GRAVE
+0xF3	0x00F3	#	LATIN SMALL LETTER O WITH ACUTE
+0xF4	0x00F4	#	LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5	0x00F5	#	LATIN SMALL LETTER O WITH TILDE
+0xF6	0x00F6	#	LATIN SMALL LETTER O WITH DIAERESIS
+0xF7	0x00F7	#	DIVISION SIGN
+0xF8	0x00F8	#	LATIN SMALL LETTER O WITH STROKE
+0xF9	0x00F9	#	LATIN SMALL LETTER U WITH GRAVE
+0xFA	0x00FA	#	LATIN SMALL LETTER U WITH ACUTE
+0xFB	0x00FB	#	LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC	0x00FC	#	LATIN SMALL LETTER U WITH DIAERESIS
+0xFD	0x00FD	#	LATIN SMALL LETTER Y WITH ACUTE
+0xFE	0x00FE	#	LATIN SMALL LETTER THORN
+0xFF	0x00FF	#	LATIN SMALL LETTER Y WITH DIAERESIS
+

+ 299 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-16.TXT

@@ -0,0 +1,299 @@
+#
+#	Name:             ISO/IEC 8859-16:2001 to Unicode
+#	Unicode version:  3.0
+#	Table version:    1.0
+#	Table format:     Format A
+#	Date:             2001 July 26
+#	Authors:          Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/>
+#
+#	Copyright (c) 1999-2001 Unicode, Inc.  All Rights reserved.
+#
+#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#	No claims are made as to fitness for any particular purpose.  No
+#	warranties of any kind are expressed or implied.  The recipient
+#	agrees to determine applicability of information provided.  If this
+#	file has been provided on optical media by Unicode, Inc., the sole
+#	remedy for any claim will be exchange of defective media within 90
+#	days of receipt.
+#
+#	Unicode, Inc. hereby grants the right to freely use the information
+#	supplied in this file in the creation of products supporting the
+#	Unicode Standard, and to make copies of this file in any form for
+#	internal or external distribution as long as this notice remains
+#	attached.
+#
+#	General notes:
+#
+#	This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-16:2001 characters map into Unicode.
+#
+#	Format:  Three tab-separated columns
+#		 Column #1 is the ISO/IEC 8859-16 code (in hex as 0xXX)
+#		 Column #2 is the Unicode (in hex as 0xXXXX)
+#		 Column #3 the Unicode name (follows a comment sign, '#')
+#
+#	The entries are in ISO/IEC 8859-16 order.
+#
+#	Updated versions of this file may be found in:
+#		<ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#	Any comments or problems, contact <errata@unicode.org>
+#	Please note that <errata@unicode.org> is an archival address;
+#	notices will be checked, but do not expect an immediate response.
+#
+0x00	0x0000	#	NULL
+0x01	0x0001	#	START OF HEADING
+0x02	0x0002	#	START OF TEXT
+0x03	0x0003	#	END OF TEXT
+0x04	0x0004	#	END OF TRANSMISSION
+0x05	0x0005	#	ENQUIRY
+0x06	0x0006	#	ACKNOWLEDGE
+0x07	0x0007	#	BELL
+0x08	0x0008	#	BACKSPACE
+0x09	0x0009	#	HORIZONTAL TABULATION
+0x0A	0x000A	#	LINE FEED
+0x0B	0x000B	#	VERTICAL TABULATION
+0x0C	0x000C	#	FORM FEED
+0x0D	0x000D	#	CARRIAGE RETURN
+0x0E	0x000E	#	SHIFT OUT
+0x0F	0x000F	#	SHIFT IN
+0x10	0x0010	#	DATA LINK ESCAPE
+0x11	0x0011	#	DEVICE CONTROL ONE
+0x12	0x0012	#	DEVICE CONTROL TWO
+0x13	0x0013	#	DEVICE CONTROL THREE
+0x14	0x0014	#	DEVICE CONTROL FOUR
+0x15	0x0015	#	NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#	SYNCHRONOUS IDLE
+0x17	0x0017	#	END OF TRANSMISSION BLOCK
+0x18	0x0018	#	CANCEL
+0x19	0x0019	#	END OF MEDIUM
+0x1A	0x001A	#	SUBSTITUTE
+0x1B	0x001B	#	ESCAPE
+0x1C	0x001C	#	FILE SEPARATOR
+0x1D	0x001D	#	GROUP SEPARATOR
+0x1E	0x001E	#	RECORD SEPARATOR
+0x1F	0x001F	#	UNIT SEPARATOR
+0x20	0x0020	#	SPACE
+0x21	0x0021	#	EXCLAMATION MARK
+0x22	0x0022	#	QUOTATION MARK
+0x23	0x0023	#	NUMBER SIGN
+0x24	0x0024	#	DOLLAR SIGN
+0x25	0x0025	#	PERCENT SIGN
+0x26	0x0026	#	AMPERSAND
+0x27	0x0027	#	APOSTROPHE
+0x28	0x0028	#	LEFT PARENTHESIS
+0x29	0x0029	#	RIGHT PARENTHESIS
+0x2A	0x002A	#	ASTERISK
+0x2B	0x002B	#	PLUS SIGN
+0x2C	0x002C	#	COMMA
+0x2D	0x002D	#	HYPHEN-MINUS
+0x2E	0x002E	#	FULL STOP
+0x2F	0x002F	#	SOLIDUS
+0x30	0x0030	#	DIGIT ZERO
+0x31	0x0031	#	DIGIT ONE
+0x32	0x0032	#	DIGIT TWO
+0x33	0x0033	#	DIGIT THREE
+0x34	0x0034	#	DIGIT FOUR
+0x35	0x0035	#	DIGIT FIVE
+0x36	0x0036	#	DIGIT SIX
+0x37	0x0037	#	DIGIT SEVEN
+0x38	0x0038	#	DIGIT EIGHT
+0x39	0x0039	#	DIGIT NINE
+0x3A	0x003A	#	COLON
+0x3B	0x003B	#	SEMICOLON
+0x3C	0x003C	#	LESS-THAN SIGN
+0x3D	0x003D	#	EQUALS SIGN
+0x3E	0x003E	#	GREATER-THAN SIGN
+0x3F	0x003F	#	QUESTION MARK
+0x40	0x0040	#	COMMERCIAL AT
+0x41	0x0041	#	LATIN CAPITAL LETTER A
+0x42	0x0042	#	LATIN CAPITAL LETTER B
+0x43	0x0043	#	LATIN CAPITAL LETTER C
+0x44	0x0044	#	LATIN CAPITAL LETTER D
+0x45	0x0045	#	LATIN CAPITAL LETTER E
+0x46	0x0046	#	LATIN CAPITAL LETTER F
+0x47	0x0047	#	LATIN CAPITAL LETTER G
+0x48	0x0048	#	LATIN CAPITAL LETTER H
+0x49	0x0049	#	LATIN CAPITAL LETTER I
+0x4A	0x004A	#	LATIN CAPITAL LETTER J
+0x4B	0x004B	#	LATIN CAPITAL LETTER K
+0x4C	0x004C	#	LATIN CAPITAL LETTER L
+0x4D	0x004D	#	LATIN CAPITAL LETTER M
+0x4E	0x004E	#	LATIN CAPITAL LETTER N
+0x4F	0x004F	#	LATIN CAPITAL LETTER O
+0x50	0x0050	#	LATIN CAPITAL LETTER P
+0x51	0x0051	#	LATIN CAPITAL LETTER Q
+0x52	0x0052	#	LATIN CAPITAL LETTER R
+0x53	0x0053	#	LATIN CAPITAL LETTER S
+0x54	0x0054	#	LATIN CAPITAL LETTER T
+0x55	0x0055	#	LATIN CAPITAL LETTER U
+0x56	0x0056	#	LATIN CAPITAL LETTER V
+0x57	0x0057	#	LATIN CAPITAL LETTER W
+0x58	0x0058	#	LATIN CAPITAL LETTER X
+0x59	0x0059	#	LATIN CAPITAL LETTER Y
+0x5A	0x005A	#	LATIN CAPITAL LETTER Z
+0x5B	0x005B	#	LEFT SQUARE BRACKET
+0x5C	0x005C	#	REVERSE SOLIDUS
+0x5D	0x005D	#	RIGHT SQUARE BRACKET
+0x5E	0x005E	#	CIRCUMFLEX ACCENT
+0x5F	0x005F	#	LOW LINE
+0x60	0x0060	#	GRAVE ACCENT
+0x61	0x0061	#	LATIN SMALL LETTER A
+0x62	0x0062	#	LATIN SMALL LETTER B
+0x63	0x0063	#	LATIN SMALL LETTER C
+0x64	0x0064	#	LATIN SMALL LETTER D
+0x65	0x0065	#	LATIN SMALL LETTER E
+0x66	0x0066	#	LATIN SMALL LETTER F
+0x67	0x0067	#	LATIN SMALL LETTER G
+0x68	0x0068	#	LATIN SMALL LETTER H
+0x69	0x0069	#	LATIN SMALL LETTER I
+0x6A	0x006A	#	LATIN SMALL LETTER J
+0x6B	0x006B	#	LATIN SMALL LETTER K
+0x6C	0x006C	#	LATIN SMALL LETTER L
+0x6D	0x006D	#	LATIN SMALL LETTER M
+0x6E	0x006E	#	LATIN SMALL LETTER N
+0x6F	0x006F	#	LATIN SMALL LETTER O
+0x70	0x0070	#	LATIN SMALL LETTER P
+0x71	0x0071	#	LATIN SMALL LETTER Q
+0x72	0x0072	#	LATIN SMALL LETTER R
+0x73	0x0073	#	LATIN SMALL LETTER S
+0x74	0x0074	#	LATIN SMALL LETTER T
+0x75	0x0075	#	LATIN SMALL LETTER U
+0x76	0x0076	#	LATIN SMALL LETTER V
+0x77	0x0077	#	LATIN SMALL LETTER W
+0x78	0x0078	#	LATIN SMALL LETTER X
+0x79	0x0079	#	LATIN SMALL LETTER Y
+0x7A	0x007A	#	LATIN SMALL LETTER Z
+0x7B	0x007B	#	LEFT CURLY BRACKET
+0x7C	0x007C	#	VERTICAL LINE
+0x7D	0x007D	#	RIGHT CURLY BRACKET
+0x7E	0x007E	#	TILDE
+0x7F	0x007F	#	DELETE
+0x80	0x0080	#	<control>
+0x81	0x0081	#	<control>
+0x82	0x0082	#	<control>
+0x83	0x0083	#	<control>
+0x84	0x0084	#	<control>
+0x85	0x0085	#	<control>
+0x86	0x0086	#	<control>
+0x87	0x0087	#	<control>
+0x88	0x0088	#	<control>
+0x89	0x0089	#	<control>
+0x8A	0x008A	#	<control>
+0x8B	0x008B	#	<control>
+0x8C	0x008C	#	<control>
+0x8D	0x008D	#	<control>
+0x8E	0x008E	#	<control>
+0x8F	0x008F	#	<control>
+0x90	0x0090	#	<control>
+0x91	0x0091	#	<control>
+0x92	0x0092	#	<control>
+0x93	0x0093	#	<control>
+0x94	0x0094	#	<control>
+0x95	0x0095	#	<control>
+0x96	0x0096	#	<control>
+0x97	0x0097	#	<control>
+0x98	0x0098	#	<control>
+0x99	0x0099	#	<control>
+0x9A	0x009A	#	<control>
+0x9B	0x009B	#	<control>
+0x9C	0x009C	#	<control>
+0x9D	0x009D	#	<control>
+0x9E	0x009E	#	<control>
+0x9F	0x009F	#	<control>
+0xA0	0x00A0	#	NO-BREAK SPACE
+0xA1	0x0104	#	LATIN CAPITAL LETTER A WITH OGONEK
+0xA2	0x0105	#	LATIN SMALL LETTER A WITH OGONEK
+0xA3	0x0141	#	LATIN CAPITAL LETTER L WITH STROKE
+0xA4	0x20AC	#	EURO SIGN
+0xA5	0x201E	#	DOUBLE LOW-9 QUOTATION MARK
+0xA6	0x0160	#	LATIN CAPITAL LETTER S WITH CARON
+0xA7	0x00A7	#	SECTION SIGN
+0xA8	0x0161	#	LATIN SMALL LETTER S WITH CARON
+0xA9	0x00A9	#	COPYRIGHT SIGN
+0xAA	0x0218	#	LATIN CAPITAL LETTER S WITH COMMA BELOW
+0xAB	0x00AB	#	LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC	0x0179	#	LATIN CAPITAL LETTER Z WITH ACUTE
+0xAD	0x00AD	#	SOFT HYPHEN
+0xAE	0x017A	#	LATIN SMALL LETTER Z WITH ACUTE
+0xAF	0x017B	#	LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xB0	0x00B0	#	DEGREE SIGN
+0xB1	0x00B1	#	PLUS-MINUS SIGN
+0xB2	0x010C	#	LATIN CAPITAL LETTER C WITH CARON
+0xB3	0x0142	#	LATIN SMALL LETTER L WITH STROKE
+0xB4	0x017D	#	LATIN CAPITAL LETTER Z WITH CARON
+0xB5	0x201D	#	RIGHT DOUBLE QUOTATION MARK
+0xB6	0x00B6	#	PILCROW SIGN
+0xB7	0x00B7	#	MIDDLE DOT
+0xB8	0x017E	#	LATIN SMALL LETTER Z WITH CARON
+0xB9	0x010D	#	LATIN SMALL LETTER C WITH CARON
+0xBA	0x0219	#	LATIN SMALL LETTER S WITH COMMA BELOW
+0xBB	0x00BB	#	RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC	0x0152	#	LATIN CAPITAL LIGATURE OE
+0xBD	0x0153	#	LATIN SMALL LIGATURE OE
+0xBE	0x0178	#	LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xBF	0x017C	#	LATIN SMALL LETTER Z WITH DOT ABOVE
+0xC0	0x00C0	#	LATIN CAPITAL LETTER A WITH GRAVE
+0xC1	0x00C1	#	LATIN CAPITAL LETTER A WITH ACUTE
+0xC2	0x00C2	#	LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3	0x0102	#	LATIN CAPITAL LETTER A WITH BREVE
+0xC4	0x00C4	#	LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5	0x0106	#	LATIN CAPITAL LETTER C WITH ACUTE
+0xC6	0x00C6	#	LATIN CAPITAL LETTER AE
+0xC7	0x00C7	#	LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8	0x00C8	#	LATIN CAPITAL LETTER E WITH GRAVE
+0xC9	0x00C9	#	LATIN CAPITAL LETTER E WITH ACUTE
+0xCA	0x00CA	#	LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB	0x00CB	#	LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC	0x00CC	#	LATIN CAPITAL LETTER I WITH GRAVE
+0xCD	0x00CD	#	LATIN CAPITAL LETTER I WITH ACUTE
+0xCE	0x00CE	#	LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF	0x00CF	#	LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0	0x0110	#	LATIN CAPITAL LETTER D WITH STROKE
+0xD1	0x0143	#	LATIN CAPITAL LETTER N WITH ACUTE
+0xD2	0x00D2	#	LATIN CAPITAL LETTER O WITH GRAVE
+0xD3	0x00D3	#	LATIN CAPITAL LETTER O WITH ACUTE
+0xD4	0x00D4	#	LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5	0x0150	#	LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0xD6	0x00D6	#	LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7	0x015A	#	LATIN CAPITAL LETTER S WITH ACUTE
+0xD8	0x0170	#	LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0xD9	0x00D9	#	LATIN CAPITAL LETTER U WITH GRAVE
+0xDA	0x00DA	#	LATIN CAPITAL LETTER U WITH ACUTE
+0xDB	0x00DB	#	LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC	0x00DC	#	LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD	0x0118	#	LATIN CAPITAL LETTER E WITH OGONEK
+0xDE	0x021A	#	LATIN CAPITAL LETTER T WITH COMMA BELOW
+0xDF	0x00DF	#	LATIN SMALL LETTER SHARP S
+0xE0	0x00E0	#	LATIN SMALL LETTER A WITH GRAVE
+0xE1	0x00E1	#	LATIN SMALL LETTER A WITH ACUTE
+0xE2	0x00E2	#	LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3	0x0103	#	LATIN SMALL LETTER A WITH BREVE
+0xE4	0x00E4	#	LATIN SMALL LETTER A WITH DIAERESIS
+0xE5	0x0107	#	LATIN SMALL LETTER C WITH ACUTE
+0xE6	0x00E6	#	LATIN SMALL LETTER AE
+0xE7	0x00E7	#	LATIN SMALL LETTER C WITH CEDILLA
+0xE8	0x00E8	#	LATIN SMALL LETTER E WITH GRAVE
+0xE9	0x00E9	#	LATIN SMALL LETTER E WITH ACUTE
+0xEA	0x00EA	#	LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB	0x00EB	#	LATIN SMALL LETTER E WITH DIAERESIS
+0xEC	0x00EC	#	LATIN SMALL LETTER I WITH GRAVE
+0xED	0x00ED	#	LATIN SMALL LETTER I WITH ACUTE
+0xEE	0x00EE	#	LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF	0x00EF	#	LATIN SMALL LETTER I WITH DIAERESIS
+0xF0	0x0111	#	LATIN SMALL LETTER D WITH STROKE
+0xF1	0x0144	#	LATIN SMALL LETTER N WITH ACUTE
+0xF2	0x00F2	#	LATIN SMALL LETTER O WITH GRAVE
+0xF3	0x00F3	#	LATIN SMALL LETTER O WITH ACUTE
+0xF4	0x00F4	#	LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5	0x0151	#	LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0xF6	0x00F6	#	LATIN SMALL LETTER O WITH DIAERESIS
+0xF7	0x015B	#	LATIN SMALL LETTER S WITH ACUTE
+0xF8	0x0171	#	LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0xF9	0x00F9	#	LATIN SMALL LETTER U WITH GRAVE
+0xFA	0x00FA	#	LATIN SMALL LETTER U WITH ACUTE
+0xFB	0x00FB	#	LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC	0x00FC	#	LATIN SMALL LETTER U WITH DIAERESIS
+0xFD	0x0119	#	LATIN SMALL LETTER E WITH OGONEK
+0xFE	0x021B	#	LATIN SMALL LETTER T WITH COMMA BELOW
+0xFF	0x00FF	#	LATIN SMALL LETTER Y WITH DIAERESIS

+ 303 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-2.TXT

@@ -0,0 +1,303 @@
+#
+#	Name:             ISO 8859-2:1999 to Unicode
+#	Unicode version:  3.0
+#	Table version:    1.0
+#	Table format:     Format A
+#	Date:             1999 July 27
+#	Authors:          Ken Whistler <kenw@sybase.com>
+#
+#	Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
+#
+#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#	No claims are made as to fitness for any particular purpose.  No
+#	warranties of any kind are expressed or implied.  The recipient
+#	agrees to determine applicability of information provided.  If this
+#	file has been provided on optical media by Unicode, Inc., the sole
+#	remedy for any claim will be exchange of defective media within 90
+#	days of receipt.
+#
+#	Unicode, Inc. hereby grants the right to freely use the information
+#	supplied in this file in the creation of products supporting the
+#	Unicode Standard, and to make copies of this file in any form for
+#	internal or external distribution as long as this notice remains
+#	attached.
+#
+#	General notes:
+#
+#	This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-2:1999 characters map into Unicode.
+#
+#	Format:  Three tab-separated columns
+#		 Column #1 is the ISO/IEC 8859-2 code (in hex as 0xXX)
+#		 Column #2 is the Unicode (in hex as 0xXXXX)
+#		 Column #3 the Unicode name (follows a comment sign, '#')
+#
+#	The entries are in ISO/IEC 8859-2 order.
+#
+#	Version history
+#	1.0 version updates 0.1 version by adding mappings for all
+#	control characters.
+#
+#	Updated versions of this file may be found in:
+#		<ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#	Any comments or problems, contact <errata@unicode.org>
+#	Please note that <errata@unicode.org> is an archival address;
+#	notices will be checked, but do not expect an immediate response.
+#
+0x00	0x0000	#	NULL
+0x01	0x0001	#	START OF HEADING
+0x02	0x0002	#	START OF TEXT
+0x03	0x0003	#	END OF TEXT
+0x04	0x0004	#	END OF TRANSMISSION
+0x05	0x0005	#	ENQUIRY
+0x06	0x0006	#	ACKNOWLEDGE
+0x07	0x0007	#	BELL
+0x08	0x0008	#	BACKSPACE
+0x09	0x0009	#	HORIZONTAL TABULATION
+0x0A	0x000A	#	LINE FEED
+0x0B	0x000B	#	VERTICAL TABULATION
+0x0C	0x000C	#	FORM FEED
+0x0D	0x000D	#	CARRIAGE RETURN
+0x0E	0x000E	#	SHIFT OUT
+0x0F	0x000F	#	SHIFT IN
+0x10	0x0010	#	DATA LINK ESCAPE
+0x11	0x0011	#	DEVICE CONTROL ONE
+0x12	0x0012	#	DEVICE CONTROL TWO
+0x13	0x0013	#	DEVICE CONTROL THREE
+0x14	0x0014	#	DEVICE CONTROL FOUR
+0x15	0x0015	#	NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#	SYNCHRONOUS IDLE
+0x17	0x0017	#	END OF TRANSMISSION BLOCK
+0x18	0x0018	#	CANCEL
+0x19	0x0019	#	END OF MEDIUM
+0x1A	0x001A	#	SUBSTITUTE
+0x1B	0x001B	#	ESCAPE
+0x1C	0x001C	#	FILE SEPARATOR
+0x1D	0x001D	#	GROUP SEPARATOR
+0x1E	0x001E	#	RECORD SEPARATOR
+0x1F	0x001F	#	UNIT SEPARATOR
+0x20	0x0020	#	SPACE
+0x21	0x0021	#	EXCLAMATION MARK
+0x22	0x0022	#	QUOTATION MARK
+0x23	0x0023	#	NUMBER SIGN
+0x24	0x0024	#	DOLLAR SIGN
+0x25	0x0025	#	PERCENT SIGN
+0x26	0x0026	#	AMPERSAND
+0x27	0x0027	#	APOSTROPHE
+0x28	0x0028	#	LEFT PARENTHESIS
+0x29	0x0029	#	RIGHT PARENTHESIS
+0x2A	0x002A	#	ASTERISK
+0x2B	0x002B	#	PLUS SIGN
+0x2C	0x002C	#	COMMA
+0x2D	0x002D	#	HYPHEN-MINUS
+0x2E	0x002E	#	FULL STOP
+0x2F	0x002F	#	SOLIDUS
+0x30	0x0030	#	DIGIT ZERO
+0x31	0x0031	#	DIGIT ONE
+0x32	0x0032	#	DIGIT TWO
+0x33	0x0033	#	DIGIT THREE
+0x34	0x0034	#	DIGIT FOUR
+0x35	0x0035	#	DIGIT FIVE
+0x36	0x0036	#	DIGIT SIX
+0x37	0x0037	#	DIGIT SEVEN
+0x38	0x0038	#	DIGIT EIGHT
+0x39	0x0039	#	DIGIT NINE
+0x3A	0x003A	#	COLON
+0x3B	0x003B	#	SEMICOLON
+0x3C	0x003C	#	LESS-THAN SIGN
+0x3D	0x003D	#	EQUALS SIGN
+0x3E	0x003E	#	GREATER-THAN SIGN
+0x3F	0x003F	#	QUESTION MARK
+0x40	0x0040	#	COMMERCIAL AT
+0x41	0x0041	#	LATIN CAPITAL LETTER A
+0x42	0x0042	#	LATIN CAPITAL LETTER B
+0x43	0x0043	#	LATIN CAPITAL LETTER C
+0x44	0x0044	#	LATIN CAPITAL LETTER D
+0x45	0x0045	#	LATIN CAPITAL LETTER E
+0x46	0x0046	#	LATIN CAPITAL LETTER F
+0x47	0x0047	#	LATIN CAPITAL LETTER G
+0x48	0x0048	#	LATIN CAPITAL LETTER H
+0x49	0x0049	#	LATIN CAPITAL LETTER I
+0x4A	0x004A	#	LATIN CAPITAL LETTER J
+0x4B	0x004B	#	LATIN CAPITAL LETTER K
+0x4C	0x004C	#	LATIN CAPITAL LETTER L
+0x4D	0x004D	#	LATIN CAPITAL LETTER M
+0x4E	0x004E	#	LATIN CAPITAL LETTER N
+0x4F	0x004F	#	LATIN CAPITAL LETTER O
+0x50	0x0050	#	LATIN CAPITAL LETTER P
+0x51	0x0051	#	LATIN CAPITAL LETTER Q
+0x52	0x0052	#	LATIN CAPITAL LETTER R
+0x53	0x0053	#	LATIN CAPITAL LETTER S
+0x54	0x0054	#	LATIN CAPITAL LETTER T
+0x55	0x0055	#	LATIN CAPITAL LETTER U
+0x56	0x0056	#	LATIN CAPITAL LETTER V
+0x57	0x0057	#	LATIN CAPITAL LETTER W
+0x58	0x0058	#	LATIN CAPITAL LETTER X
+0x59	0x0059	#	LATIN CAPITAL LETTER Y
+0x5A	0x005A	#	LATIN CAPITAL LETTER Z
+0x5B	0x005B	#	LEFT SQUARE BRACKET
+0x5C	0x005C	#	REVERSE SOLIDUS
+0x5D	0x005D	#	RIGHT SQUARE BRACKET
+0x5E	0x005E	#	CIRCUMFLEX ACCENT
+0x5F	0x005F	#	LOW LINE
+0x60	0x0060	#	GRAVE ACCENT
+0x61	0x0061	#	LATIN SMALL LETTER A
+0x62	0x0062	#	LATIN SMALL LETTER B
+0x63	0x0063	#	LATIN SMALL LETTER C
+0x64	0x0064	#	LATIN SMALL LETTER D
+0x65	0x0065	#	LATIN SMALL LETTER E
+0x66	0x0066	#	LATIN SMALL LETTER F
+0x67	0x0067	#	LATIN SMALL LETTER G
+0x68	0x0068	#	LATIN SMALL LETTER H
+0x69	0x0069	#	LATIN SMALL LETTER I
+0x6A	0x006A	#	LATIN SMALL LETTER J
+0x6B	0x006B	#	LATIN SMALL LETTER K
+0x6C	0x006C	#	LATIN SMALL LETTER L
+0x6D	0x006D	#	LATIN SMALL LETTER M
+0x6E	0x006E	#	LATIN SMALL LETTER N
+0x6F	0x006F	#	LATIN SMALL LETTER O
+0x70	0x0070	#	LATIN SMALL LETTER P
+0x71	0x0071	#	LATIN SMALL LETTER Q
+0x72	0x0072	#	LATIN SMALL LETTER R
+0x73	0x0073	#	LATIN SMALL LETTER S
+0x74	0x0074	#	LATIN SMALL LETTER T
+0x75	0x0075	#	LATIN SMALL LETTER U
+0x76	0x0076	#	LATIN SMALL LETTER V
+0x77	0x0077	#	LATIN SMALL LETTER W
+0x78	0x0078	#	LATIN SMALL LETTER X
+0x79	0x0079	#	LATIN SMALL LETTER Y
+0x7A	0x007A	#	LATIN SMALL LETTER Z
+0x7B	0x007B	#	LEFT CURLY BRACKET
+0x7C	0x007C	#	VERTICAL LINE
+0x7D	0x007D	#	RIGHT CURLY BRACKET
+0x7E	0x007E	#	TILDE
+0x7F	0x007F	#	DELETE
+0x80	0x0080	#	<control>
+0x81	0x0081	#	<control>
+0x82	0x0082	#	<control>
+0x83	0x0083	#	<control>
+0x84	0x0084	#	<control>
+0x85	0x0085	#	<control>
+0x86	0x0086	#	<control>
+0x87	0x0087	#	<control>
+0x88	0x0088	#	<control>
+0x89	0x0089	#	<control>
+0x8A	0x008A	#	<control>
+0x8B	0x008B	#	<control>
+0x8C	0x008C	#	<control>
+0x8D	0x008D	#	<control>
+0x8E	0x008E	#	<control>
+0x8F	0x008F	#	<control>
+0x90	0x0090	#	<control>
+0x91	0x0091	#	<control>
+0x92	0x0092	#	<control>
+0x93	0x0093	#	<control>
+0x94	0x0094	#	<control>
+0x95	0x0095	#	<control>
+0x96	0x0096	#	<control>
+0x97	0x0097	#	<control>
+0x98	0x0098	#	<control>
+0x99	0x0099	#	<control>
+0x9A	0x009A	#	<control>
+0x9B	0x009B	#	<control>
+0x9C	0x009C	#	<control>
+0x9D	0x009D	#	<control>
+0x9E	0x009E	#	<control>
+0x9F	0x009F	#	<control>
+0xA0	0x00A0	#	NO-BREAK SPACE
+0xA1	0x0104	#	LATIN CAPITAL LETTER A WITH OGONEK
+0xA2	0x02D8	#	BREVE
+0xA3	0x0141	#	LATIN CAPITAL LETTER L WITH STROKE
+0xA4	0x00A4	#	CURRENCY SIGN
+0xA5	0x013D	#	LATIN CAPITAL LETTER L WITH CARON
+0xA6	0x015A	#	LATIN CAPITAL LETTER S WITH ACUTE
+0xA7	0x00A7	#	SECTION SIGN
+0xA8	0x00A8	#	DIAERESIS
+0xA9	0x0160	#	LATIN CAPITAL LETTER S WITH CARON
+0xAA	0x015E	#	LATIN CAPITAL LETTER S WITH CEDILLA
+0xAB	0x0164	#	LATIN CAPITAL LETTER T WITH CARON
+0xAC	0x0179	#	LATIN CAPITAL LETTER Z WITH ACUTE
+0xAD	0x00AD	#	SOFT HYPHEN
+0xAE	0x017D	#	LATIN CAPITAL LETTER Z WITH CARON
+0xAF	0x017B	#	LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xB0	0x00B0	#	DEGREE SIGN
+0xB1	0x0105	#	LATIN SMALL LETTER A WITH OGONEK
+0xB2	0x02DB	#	OGONEK
+0xB3	0x0142	#	LATIN SMALL LETTER L WITH STROKE
+0xB4	0x00B4	#	ACUTE ACCENT
+0xB5	0x013E	#	LATIN SMALL LETTER L WITH CARON
+0xB6	0x015B	#	LATIN SMALL LETTER S WITH ACUTE
+0xB7	0x02C7	#	CARON
+0xB8	0x00B8	#	CEDILLA
+0xB9	0x0161	#	LATIN SMALL LETTER S WITH CARON
+0xBA	0x015F	#	LATIN SMALL LETTER S WITH CEDILLA
+0xBB	0x0165	#	LATIN SMALL LETTER T WITH CARON
+0xBC	0x017A	#	LATIN SMALL LETTER Z WITH ACUTE
+0xBD	0x02DD	#	DOUBLE ACUTE ACCENT
+0xBE	0x017E	#	LATIN SMALL LETTER Z WITH CARON
+0xBF	0x017C	#	LATIN SMALL LETTER Z WITH DOT ABOVE
+0xC0	0x0154	#	LATIN CAPITAL LETTER R WITH ACUTE
+0xC1	0x00C1	#	LATIN CAPITAL LETTER A WITH ACUTE
+0xC2	0x00C2	#	LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3	0x0102	#	LATIN CAPITAL LETTER A WITH BREVE
+0xC4	0x00C4	#	LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5	0x0139	#	LATIN CAPITAL LETTER L WITH ACUTE
+0xC6	0x0106	#	LATIN CAPITAL LETTER C WITH ACUTE
+0xC7	0x00C7	#	LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8	0x010C	#	LATIN CAPITAL LETTER C WITH CARON
+0xC9	0x00C9	#	LATIN CAPITAL LETTER E WITH ACUTE
+0xCA	0x0118	#	LATIN CAPITAL LETTER E WITH OGONEK
+0xCB	0x00CB	#	LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC	0x011A	#	LATIN CAPITAL LETTER E WITH CARON
+0xCD	0x00CD	#	LATIN CAPITAL LETTER I WITH ACUTE
+0xCE	0x00CE	#	LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF	0x010E	#	LATIN CAPITAL LETTER D WITH CARON
+0xD0	0x0110	#	LATIN CAPITAL LETTER D WITH STROKE
+0xD1	0x0143	#	LATIN CAPITAL LETTER N WITH ACUTE
+0xD2	0x0147	#	LATIN CAPITAL LETTER N WITH CARON
+0xD3	0x00D3	#	LATIN CAPITAL LETTER O WITH ACUTE
+0xD4	0x00D4	#	LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5	0x0150	#	LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0xD6	0x00D6	#	LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7	0x00D7	#	MULTIPLICATION SIGN
+0xD8	0x0158	#	LATIN CAPITAL LETTER R WITH CARON
+0xD9	0x016E	#	LATIN CAPITAL LETTER U WITH RING ABOVE
+0xDA	0x00DA	#	LATIN CAPITAL LETTER U WITH ACUTE
+0xDB	0x0170	#	LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0xDC	0x00DC	#	LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD	0x00DD	#	LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE	0x0162	#	LATIN CAPITAL LETTER T WITH CEDILLA
+0xDF	0x00DF	#	LATIN SMALL LETTER SHARP S
+0xE0	0x0155	#	LATIN SMALL LETTER R WITH ACUTE
+0xE1	0x00E1	#	LATIN SMALL LETTER A WITH ACUTE
+0xE2	0x00E2	#	LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3	0x0103	#	LATIN SMALL LETTER A WITH BREVE
+0xE4	0x00E4	#	LATIN SMALL LETTER A WITH DIAERESIS
+0xE5	0x013A	#	LATIN SMALL LETTER L WITH ACUTE
+0xE6	0x0107	#	LATIN SMALL LETTER C WITH ACUTE
+0xE7	0x00E7	#	LATIN SMALL LETTER C WITH CEDILLA
+0xE8	0x010D	#	LATIN SMALL LETTER C WITH CARON
+0xE9	0x00E9	#	LATIN SMALL LETTER E WITH ACUTE
+0xEA	0x0119	#	LATIN SMALL LETTER E WITH OGONEK
+0xEB	0x00EB	#	LATIN SMALL LETTER E WITH DIAERESIS
+0xEC	0x011B	#	LATIN SMALL LETTER E WITH CARON
+0xED	0x00ED	#	LATIN SMALL LETTER I WITH ACUTE
+0xEE	0x00EE	#	LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF	0x010F	#	LATIN SMALL LETTER D WITH CARON
+0xF0	0x0111	#	LATIN SMALL LETTER D WITH STROKE
+0xF1	0x0144	#	LATIN SMALL LETTER N WITH ACUTE
+0xF2	0x0148	#	LATIN SMALL LETTER N WITH CARON
+0xF3	0x00F3	#	LATIN SMALL LETTER O WITH ACUTE
+0xF4	0x00F4	#	LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5	0x0151	#	LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0xF6	0x00F6	#	LATIN SMALL LETTER O WITH DIAERESIS
+0xF7	0x00F7	#	DIVISION SIGN
+0xF8	0x0159	#	LATIN SMALL LETTER R WITH CARON
+0xF9	0x016F	#	LATIN SMALL LETTER U WITH RING ABOVE
+0xFA	0x00FA	#	LATIN SMALL LETTER U WITH ACUTE
+0xFB	0x0171	#	LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0xFC	0x00FC	#	LATIN SMALL LETTER U WITH DIAERESIS
+0xFD	0x00FD	#	LATIN SMALL LETTER Y WITH ACUTE
+0xFE	0x0163	#	LATIN SMALL LETTER T WITH CEDILLA
+0xFF	0x02D9	#	DOT ABOVE

+ 296 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-3.TXT

@@ -0,0 +1,296 @@
+#
+#	Name:             ISO/IEC 8859-3:1999 to Unicode
+#	Unicode version:  3.0
+#	Table version:    1.0
+#	Table format:     Format A
+#	Date:             1999 July 27
+#	Authors:          Ken Whistler <kenw@sybase.com>
+#
+#	Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
+#
+#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#	No claims are made as to fitness for any particular purpose.  No
+#	warranties of any kind are expressed or implied.  The recipient
+#	agrees to determine applicability of information provided.  If this
+#	file has been provided on optical media by Unicode, Inc., the sole
+#	remedy for any claim will be exchange of defective media within 90
+#	days of receipt.
+#
+#	Unicode, Inc. hereby grants the right to freely use the information
+#	supplied in this file in the creation of products supporting the
+#	Unicode Standard, and to make copies of this file in any form for
+#	internal or external distribution as long as this notice remains
+#	attached.
+#
+#	General notes:
+#
+#	This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-3:1999 characters map into Unicode.
+#
+#	Format:  Three tab-separated columns
+#		 Column #1 is the ISO/IEC 8859-3 code (in hex as 0xXX)
+#		 Column #2 is the Unicode (in hex as 0xXXXX)
+#		 Column #3 the Unicode name (follows a comment sign, '#')
+#
+#	The entries are in ISO/IEC 8859-3 order.
+#
+#	Version history
+#	1.0 version updates 0.1 version by adding mappings for all
+#	control characters.
+#
+#	Updated versions of this file may be found in:
+#		<ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#	Any comments or problems, contact <errata@unicode.org>
+#	Please note that <errata@unicode.org> is an archival address;
+#	notices will be checked, but do not expect an immediate response.
+#
+0x00	0x0000	#	NULL
+0x01	0x0001	#	START OF HEADING
+0x02	0x0002	#	START OF TEXT
+0x03	0x0003	#	END OF TEXT
+0x04	0x0004	#	END OF TRANSMISSION
+0x05	0x0005	#	ENQUIRY
+0x06	0x0006	#	ACKNOWLEDGE
+0x07	0x0007	#	BELL
+0x08	0x0008	#	BACKSPACE
+0x09	0x0009	#	HORIZONTAL TABULATION
+0x0A	0x000A	#	LINE FEED
+0x0B	0x000B	#	VERTICAL TABULATION
+0x0C	0x000C	#	FORM FEED
+0x0D	0x000D	#	CARRIAGE RETURN
+0x0E	0x000E	#	SHIFT OUT
+0x0F	0x000F	#	SHIFT IN
+0x10	0x0010	#	DATA LINK ESCAPE
+0x11	0x0011	#	DEVICE CONTROL ONE
+0x12	0x0012	#	DEVICE CONTROL TWO
+0x13	0x0013	#	DEVICE CONTROL THREE
+0x14	0x0014	#	DEVICE CONTROL FOUR
+0x15	0x0015	#	NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#	SYNCHRONOUS IDLE
+0x17	0x0017	#	END OF TRANSMISSION BLOCK
+0x18	0x0018	#	CANCEL
+0x19	0x0019	#	END OF MEDIUM
+0x1A	0x001A	#	SUBSTITUTE
+0x1B	0x001B	#	ESCAPE
+0x1C	0x001C	#	FILE SEPARATOR
+0x1D	0x001D	#	GROUP SEPARATOR
+0x1E	0x001E	#	RECORD SEPARATOR
+0x1F	0x001F	#	UNIT SEPARATOR
+0x20	0x0020	#	SPACE
+0x21	0x0021	#	EXCLAMATION MARK
+0x22	0x0022	#	QUOTATION MARK
+0x23	0x0023	#	NUMBER SIGN
+0x24	0x0024	#	DOLLAR SIGN
+0x25	0x0025	#	PERCENT SIGN
+0x26	0x0026	#	AMPERSAND
+0x27	0x0027	#	APOSTROPHE
+0x28	0x0028	#	LEFT PARENTHESIS
+0x29	0x0029	#	RIGHT PARENTHESIS
+0x2A	0x002A	#	ASTERISK
+0x2B	0x002B	#	PLUS SIGN
+0x2C	0x002C	#	COMMA
+0x2D	0x002D	#	HYPHEN-MINUS
+0x2E	0x002E	#	FULL STOP
+0x2F	0x002F	#	SOLIDUS
+0x30	0x0030	#	DIGIT ZERO
+0x31	0x0031	#	DIGIT ONE
+0x32	0x0032	#	DIGIT TWO
+0x33	0x0033	#	DIGIT THREE
+0x34	0x0034	#	DIGIT FOUR
+0x35	0x0035	#	DIGIT FIVE
+0x36	0x0036	#	DIGIT SIX
+0x37	0x0037	#	DIGIT SEVEN
+0x38	0x0038	#	DIGIT EIGHT
+0x39	0x0039	#	DIGIT NINE
+0x3A	0x003A	#	COLON
+0x3B	0x003B	#	SEMICOLON
+0x3C	0x003C	#	LESS-THAN SIGN
+0x3D	0x003D	#	EQUALS SIGN
+0x3E	0x003E	#	GREATER-THAN SIGN
+0x3F	0x003F	#	QUESTION MARK
+0x40	0x0040	#	COMMERCIAL AT
+0x41	0x0041	#	LATIN CAPITAL LETTER A
+0x42	0x0042	#	LATIN CAPITAL LETTER B
+0x43	0x0043	#	LATIN CAPITAL LETTER C
+0x44	0x0044	#	LATIN CAPITAL LETTER D
+0x45	0x0045	#	LATIN CAPITAL LETTER E
+0x46	0x0046	#	LATIN CAPITAL LETTER F
+0x47	0x0047	#	LATIN CAPITAL LETTER G
+0x48	0x0048	#	LATIN CAPITAL LETTER H
+0x49	0x0049	#	LATIN CAPITAL LETTER I
+0x4A	0x004A	#	LATIN CAPITAL LETTER J
+0x4B	0x004B	#	LATIN CAPITAL LETTER K
+0x4C	0x004C	#	LATIN CAPITAL LETTER L
+0x4D	0x004D	#	LATIN CAPITAL LETTER M
+0x4E	0x004E	#	LATIN CAPITAL LETTER N
+0x4F	0x004F	#	LATIN CAPITAL LETTER O
+0x50	0x0050	#	LATIN CAPITAL LETTER P
+0x51	0x0051	#	LATIN CAPITAL LETTER Q
+0x52	0x0052	#	LATIN CAPITAL LETTER R
+0x53	0x0053	#	LATIN CAPITAL LETTER S
+0x54	0x0054	#	LATIN CAPITAL LETTER T
+0x55	0x0055	#	LATIN CAPITAL LETTER U
+0x56	0x0056	#	LATIN CAPITAL LETTER V
+0x57	0x0057	#	LATIN CAPITAL LETTER W
+0x58	0x0058	#	LATIN CAPITAL LETTER X
+0x59	0x0059	#	LATIN CAPITAL LETTER Y
+0x5A	0x005A	#	LATIN CAPITAL LETTER Z
+0x5B	0x005B	#	LEFT SQUARE BRACKET
+0x5C	0x005C	#	REVERSE SOLIDUS
+0x5D	0x005D	#	RIGHT SQUARE BRACKET
+0x5E	0x005E	#	CIRCUMFLEX ACCENT
+0x5F	0x005F	#	LOW LINE
+0x60	0x0060	#	GRAVE ACCENT
+0x61	0x0061	#	LATIN SMALL LETTER A
+0x62	0x0062	#	LATIN SMALL LETTER B
+0x63	0x0063	#	LATIN SMALL LETTER C
+0x64	0x0064	#	LATIN SMALL LETTER D
+0x65	0x0065	#	LATIN SMALL LETTER E
+0x66	0x0066	#	LATIN SMALL LETTER F
+0x67	0x0067	#	LATIN SMALL LETTER G
+0x68	0x0068	#	LATIN SMALL LETTER H
+0x69	0x0069	#	LATIN SMALL LETTER I
+0x6A	0x006A	#	LATIN SMALL LETTER J
+0x6B	0x006B	#	LATIN SMALL LETTER K
+0x6C	0x006C	#	LATIN SMALL LETTER L
+0x6D	0x006D	#	LATIN SMALL LETTER M
+0x6E	0x006E	#	LATIN SMALL LETTER N
+0x6F	0x006F	#	LATIN SMALL LETTER O
+0x70	0x0070	#	LATIN SMALL LETTER P
+0x71	0x0071	#	LATIN SMALL LETTER Q
+0x72	0x0072	#	LATIN SMALL LETTER R
+0x73	0x0073	#	LATIN SMALL LETTER S
+0x74	0x0074	#	LATIN SMALL LETTER T
+0x75	0x0075	#	LATIN SMALL LETTER U
+0x76	0x0076	#	LATIN SMALL LETTER V
+0x77	0x0077	#	LATIN SMALL LETTER W
+0x78	0x0078	#	LATIN SMALL LETTER X
+0x79	0x0079	#	LATIN SMALL LETTER Y
+0x7A	0x007A	#	LATIN SMALL LETTER Z
+0x7B	0x007B	#	LEFT CURLY BRACKET
+0x7C	0x007C	#	VERTICAL LINE
+0x7D	0x007D	#	RIGHT CURLY BRACKET
+0x7E	0x007E	#	TILDE
+0x7F	0x007F	#	DELETE
+0x80	0x0080	#	<control>
+0x81	0x0081	#	<control>
+0x82	0x0082	#	<control>
+0x83	0x0083	#	<control>
+0x84	0x0084	#	<control>
+0x85	0x0085	#	<control>
+0x86	0x0086	#	<control>
+0x87	0x0087	#	<control>
+0x88	0x0088	#	<control>
+0x89	0x0089	#	<control>
+0x8A	0x008A	#	<control>
+0x8B	0x008B	#	<control>
+0x8C	0x008C	#	<control>
+0x8D	0x008D	#	<control>
+0x8E	0x008E	#	<control>
+0x8F	0x008F	#	<control>
+0x90	0x0090	#	<control>
+0x91	0x0091	#	<control>
+0x92	0x0092	#	<control>
+0x93	0x0093	#	<control>
+0x94	0x0094	#	<control>
+0x95	0x0095	#	<control>
+0x96	0x0096	#	<control>
+0x97	0x0097	#	<control>
+0x98	0x0098	#	<control>
+0x99	0x0099	#	<control>
+0x9A	0x009A	#	<control>
+0x9B	0x009B	#	<control>
+0x9C	0x009C	#	<control>
+0x9D	0x009D	#	<control>
+0x9E	0x009E	#	<control>
+0x9F	0x009F	#	<control>
+0xA0	0x00A0	#	NO-BREAK SPACE
+0xA1	0x0126	#	LATIN CAPITAL LETTER H WITH STROKE
+0xA2	0x02D8	#	BREVE
+0xA3	0x00A3	#	POUND SIGN
+0xA4	0x00A4	#	CURRENCY SIGN
+0xA6	0x0124	#	LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0xA7	0x00A7	#	SECTION SIGN
+0xA8	0x00A8	#	DIAERESIS
+0xA9	0x0130	#	LATIN CAPITAL LETTER I WITH DOT ABOVE
+0xAA	0x015E	#	LATIN CAPITAL LETTER S WITH CEDILLA
+0xAB	0x011E	#	LATIN CAPITAL LETTER G WITH BREVE
+0xAC	0x0134	#	LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+0xAD	0x00AD	#	SOFT HYPHEN
+0xAF	0x017B	#	LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xB0	0x00B0	#	DEGREE SIGN
+0xB1	0x0127	#	LATIN SMALL LETTER H WITH STROKE
+0xB2	0x00B2	#	SUPERSCRIPT TWO
+0xB3	0x00B3	#	SUPERSCRIPT THREE
+0xB4	0x00B4	#	ACUTE ACCENT
+0xB5	0x00B5	#	MICRO SIGN
+0xB6	0x0125	#	LATIN SMALL LETTER H WITH CIRCUMFLEX
+0xB7	0x00B7	#	MIDDLE DOT
+0xB8	0x00B8	#	CEDILLA
+0xB9	0x0131	#	LATIN SMALL LETTER DOTLESS I
+0xBA	0x015F	#	LATIN SMALL LETTER S WITH CEDILLA
+0xBB	0x011F	#	LATIN SMALL LETTER G WITH BREVE
+0xBC	0x0135	#	LATIN SMALL LETTER J WITH CIRCUMFLEX
+0xBD	0x00BD	#	VULGAR FRACTION ONE HALF
+0xBF	0x017C	#	LATIN SMALL LETTER Z WITH DOT ABOVE
+0xC0	0x00C0	#	LATIN CAPITAL LETTER A WITH GRAVE
+0xC1	0x00C1	#	LATIN CAPITAL LETTER A WITH ACUTE
+0xC2	0x00C2	#	LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC4	0x00C4	#	LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5	0x010A	#	LATIN CAPITAL LETTER C WITH DOT ABOVE
+0xC6	0x0108	#	LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+0xC7	0x00C7	#	LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8	0x00C8	#	LATIN CAPITAL LETTER E WITH GRAVE
+0xC9	0x00C9	#	LATIN CAPITAL LETTER E WITH ACUTE
+0xCA	0x00CA	#	LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB	0x00CB	#	LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC	0x00CC	#	LATIN CAPITAL LETTER I WITH GRAVE
+0xCD	0x00CD	#	LATIN CAPITAL LETTER I WITH ACUTE
+0xCE	0x00CE	#	LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF	0x00CF	#	LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD1	0x00D1	#	LATIN CAPITAL LETTER N WITH TILDE
+0xD2	0x00D2	#	LATIN CAPITAL LETTER O WITH GRAVE
+0xD3	0x00D3	#	LATIN CAPITAL LETTER O WITH ACUTE
+0xD4	0x00D4	#	LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5	0x0120	#	LATIN CAPITAL LETTER G WITH DOT ABOVE
+0xD6	0x00D6	#	LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7	0x00D7	#	MULTIPLICATION SIGN
+0xD8	0x011C	#	LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0xD9	0x00D9	#	LATIN CAPITAL LETTER U WITH GRAVE
+0xDA	0x00DA	#	LATIN CAPITAL LETTER U WITH ACUTE
+0xDB	0x00DB	#	LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC	0x00DC	#	LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD	0x016C	#	LATIN CAPITAL LETTER U WITH BREVE
+0xDE	0x015C	#	LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+0xDF	0x00DF	#	LATIN SMALL LETTER SHARP S
+0xE0	0x00E0	#	LATIN SMALL LETTER A WITH GRAVE
+0xE1	0x00E1	#	LATIN SMALL LETTER A WITH ACUTE
+0xE2	0x00E2	#	LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE4	0x00E4	#	LATIN SMALL LETTER A WITH DIAERESIS
+0xE5	0x010B	#	LATIN SMALL LETTER C WITH DOT ABOVE
+0xE6	0x0109	#	LATIN SMALL LETTER C WITH CIRCUMFLEX
+0xE7	0x00E7	#	LATIN SMALL LETTER C WITH CEDILLA
+0xE8	0x00E8	#	LATIN SMALL LETTER E WITH GRAVE
+0xE9	0x00E9	#	LATIN SMALL LETTER E WITH ACUTE
+0xEA	0x00EA	#	LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB	0x00EB	#	LATIN SMALL LETTER E WITH DIAERESIS
+0xEC	0x00EC	#	LATIN SMALL LETTER I WITH GRAVE
+0xED	0x00ED	#	LATIN SMALL LETTER I WITH ACUTE
+0xEE	0x00EE	#	LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF	0x00EF	#	LATIN SMALL LETTER I WITH DIAERESIS
+0xF1	0x00F1	#	LATIN SMALL LETTER N WITH TILDE
+0xF2	0x00F2	#	LATIN SMALL LETTER O WITH GRAVE
+0xF3	0x00F3	#	LATIN SMALL LETTER O WITH ACUTE
+0xF4	0x00F4	#	LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5	0x0121	#	LATIN SMALL LETTER G WITH DOT ABOVE
+0xF6	0x00F6	#	LATIN SMALL LETTER O WITH DIAERESIS
+0xF7	0x00F7	#	DIVISION SIGN
+0xF8	0x011D	#	LATIN SMALL LETTER G WITH CIRCUMFLEX
+0xF9	0x00F9	#	LATIN SMALL LETTER U WITH GRAVE
+0xFA	0x00FA	#	LATIN SMALL LETTER U WITH ACUTE
+0xFB	0x00FB	#	LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC	0x00FC	#	LATIN SMALL LETTER U WITH DIAERESIS
+0xFD	0x016D	#	LATIN SMALL LETTER U WITH BREVE
+0xFE	0x015D	#	LATIN SMALL LETTER S WITH CIRCUMFLEX
+0xFF	0x02D9	#	DOT ABOVE

+ 303 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-4.TXT

@@ -0,0 +1,303 @@
+#
+#	Name:             ISO/IEC 8859-4:1998 to Unicode
+#	Unicode version:  3.0
+#	Table version:    1.0
+#	Table format:     Format A
+#	Date:             1999 July 27
+#	Authors:          Ken Whistler <kenw@sybase.com>
+#
+#	Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
+#
+#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#	No claims are made as to fitness for any particular purpose.  No
+#	warranties of any kind are expressed or implied.  The recipient
+#	agrees to determine applicability of information provided.  If this
+#	file has been provided on optical media by Unicode, Inc., the sole
+#	remedy for any claim will be exchange of defective media within 90
+#	days of receipt.
+#
+#	Unicode, Inc. hereby grants the right to freely use the information
+#	supplied in this file in the creation of products supporting the
+#	Unicode Standard, and to make copies of this file in any form for
+#	internal or external distribution as long as this notice remains
+#	attached.
+#
+#	General notes:
+#
+#	This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-4:1998 characters map into Unicode.
+#
+#	Format:  Three tab-separated columns
+#		 Column #1 is the ISO/IEC 8859-4 code (in hex as 0xXX)
+#		 Column #2 is the Unicode (in hex as 0xXXXX)
+#		 Column #3 the Unicode name (follows a comment sign, '#')
+#
+#	The entries are in ISO/IEC 8859-4 order.
+#
+#	Version history
+#	1.0 version updates 0.1 version by adding mappings for all
+#	control characters.
+#
+#	Updated versions of this file may be found in:
+#		<ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#	Any comments or problems, contact <errata@unicode.org>
+#	Please note that <errata@unicode.org> is an archival address;
+#	notices will be checked, but do not expect an immediate response.
+#
+0x00	0x0000	#	NULL
+0x01	0x0001	#	START OF HEADING
+0x02	0x0002	#	START OF TEXT
+0x03	0x0003	#	END OF TEXT
+0x04	0x0004	#	END OF TRANSMISSION
+0x05	0x0005	#	ENQUIRY
+0x06	0x0006	#	ACKNOWLEDGE
+0x07	0x0007	#	BELL
+0x08	0x0008	#	BACKSPACE
+0x09	0x0009	#	HORIZONTAL TABULATION
+0x0A	0x000A	#	LINE FEED
+0x0B	0x000B	#	VERTICAL TABULATION
+0x0C	0x000C	#	FORM FEED
+0x0D	0x000D	#	CARRIAGE RETURN
+0x0E	0x000E	#	SHIFT OUT
+0x0F	0x000F	#	SHIFT IN
+0x10	0x0010	#	DATA LINK ESCAPE
+0x11	0x0011	#	DEVICE CONTROL ONE
+0x12	0x0012	#	DEVICE CONTROL TWO
+0x13	0x0013	#	DEVICE CONTROL THREE
+0x14	0x0014	#	DEVICE CONTROL FOUR
+0x15	0x0015	#	NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#	SYNCHRONOUS IDLE
+0x17	0x0017	#	END OF TRANSMISSION BLOCK
+0x18	0x0018	#	CANCEL
+0x19	0x0019	#	END OF MEDIUM
+0x1A	0x001A	#	SUBSTITUTE
+0x1B	0x001B	#	ESCAPE
+0x1C	0x001C	#	FILE SEPARATOR
+0x1D	0x001D	#	GROUP SEPARATOR
+0x1E	0x001E	#	RECORD SEPARATOR
+0x1F	0x001F	#	UNIT SEPARATOR
+0x20	0x0020	#	SPACE
+0x21	0x0021	#	EXCLAMATION MARK
+0x22	0x0022	#	QUOTATION MARK
+0x23	0x0023	#	NUMBER SIGN
+0x24	0x0024	#	DOLLAR SIGN
+0x25	0x0025	#	PERCENT SIGN
+0x26	0x0026	#	AMPERSAND
+0x27	0x0027	#	APOSTROPHE
+0x28	0x0028	#	LEFT PARENTHESIS
+0x29	0x0029	#	RIGHT PARENTHESIS
+0x2A	0x002A	#	ASTERISK
+0x2B	0x002B	#	PLUS SIGN
+0x2C	0x002C	#	COMMA
+0x2D	0x002D	#	HYPHEN-MINUS
+0x2E	0x002E	#	FULL STOP
+0x2F	0x002F	#	SOLIDUS
+0x30	0x0030	#	DIGIT ZERO
+0x31	0x0031	#	DIGIT ONE
+0x32	0x0032	#	DIGIT TWO
+0x33	0x0033	#	DIGIT THREE
+0x34	0x0034	#	DIGIT FOUR
+0x35	0x0035	#	DIGIT FIVE
+0x36	0x0036	#	DIGIT SIX
+0x37	0x0037	#	DIGIT SEVEN
+0x38	0x0038	#	DIGIT EIGHT
+0x39	0x0039	#	DIGIT NINE
+0x3A	0x003A	#	COLON
+0x3B	0x003B	#	SEMICOLON
+0x3C	0x003C	#	LESS-THAN SIGN
+0x3D	0x003D	#	EQUALS SIGN
+0x3E	0x003E	#	GREATER-THAN SIGN
+0x3F	0x003F	#	QUESTION MARK
+0x40	0x0040	#	COMMERCIAL AT
+0x41	0x0041	#	LATIN CAPITAL LETTER A
+0x42	0x0042	#	LATIN CAPITAL LETTER B
+0x43	0x0043	#	LATIN CAPITAL LETTER C
+0x44	0x0044	#	LATIN CAPITAL LETTER D
+0x45	0x0045	#	LATIN CAPITAL LETTER E
+0x46	0x0046	#	LATIN CAPITAL LETTER F
+0x47	0x0047	#	LATIN CAPITAL LETTER G
+0x48	0x0048	#	LATIN CAPITAL LETTER H
+0x49	0x0049	#	LATIN CAPITAL LETTER I
+0x4A	0x004A	#	LATIN CAPITAL LETTER J
+0x4B	0x004B	#	LATIN CAPITAL LETTER K
+0x4C	0x004C	#	LATIN CAPITAL LETTER L
+0x4D	0x004D	#	LATIN CAPITAL LETTER M
+0x4E	0x004E	#	LATIN CAPITAL LETTER N
+0x4F	0x004F	#	LATIN CAPITAL LETTER O
+0x50	0x0050	#	LATIN CAPITAL LETTER P
+0x51	0x0051	#	LATIN CAPITAL LETTER Q
+0x52	0x0052	#	LATIN CAPITAL LETTER R
+0x53	0x0053	#	LATIN CAPITAL LETTER S
+0x54	0x0054	#	LATIN CAPITAL LETTER T
+0x55	0x0055	#	LATIN CAPITAL LETTER U
+0x56	0x0056	#	LATIN CAPITAL LETTER V
+0x57	0x0057	#	LATIN CAPITAL LETTER W
+0x58	0x0058	#	LATIN CAPITAL LETTER X
+0x59	0x0059	#	LATIN CAPITAL LETTER Y
+0x5A	0x005A	#	LATIN CAPITAL LETTER Z
+0x5B	0x005B	#	LEFT SQUARE BRACKET
+0x5C	0x005C	#	REVERSE SOLIDUS
+0x5D	0x005D	#	RIGHT SQUARE BRACKET
+0x5E	0x005E	#	CIRCUMFLEX ACCENT
+0x5F	0x005F	#	LOW LINE
+0x60	0x0060	#	GRAVE ACCENT
+0x61	0x0061	#	LATIN SMALL LETTER A
+0x62	0x0062	#	LATIN SMALL LETTER B
+0x63	0x0063	#	LATIN SMALL LETTER C
+0x64	0x0064	#	LATIN SMALL LETTER D
+0x65	0x0065	#	LATIN SMALL LETTER E
+0x66	0x0066	#	LATIN SMALL LETTER F
+0x67	0x0067	#	LATIN SMALL LETTER G
+0x68	0x0068	#	LATIN SMALL LETTER H
+0x69	0x0069	#	LATIN SMALL LETTER I
+0x6A	0x006A	#	LATIN SMALL LETTER J
+0x6B	0x006B	#	LATIN SMALL LETTER K
+0x6C	0x006C	#	LATIN SMALL LETTER L
+0x6D	0x006D	#	LATIN SMALL LETTER M
+0x6E	0x006E	#	LATIN SMALL LETTER N
+0x6F	0x006F	#	LATIN SMALL LETTER O
+0x70	0x0070	#	LATIN SMALL LETTER P
+0x71	0x0071	#	LATIN SMALL LETTER Q
+0x72	0x0072	#	LATIN SMALL LETTER R
+0x73	0x0073	#	LATIN SMALL LETTER S
+0x74	0x0074	#	LATIN SMALL LETTER T
+0x75	0x0075	#	LATIN SMALL LETTER U
+0x76	0x0076	#	LATIN SMALL LETTER V
+0x77	0x0077	#	LATIN SMALL LETTER W
+0x78	0x0078	#	LATIN SMALL LETTER X
+0x79	0x0079	#	LATIN SMALL LETTER Y
+0x7A	0x007A	#	LATIN SMALL LETTER Z
+0x7B	0x007B	#	LEFT CURLY BRACKET
+0x7C	0x007C	#	VERTICAL LINE
+0x7D	0x007D	#	RIGHT CURLY BRACKET
+0x7E	0x007E	#	TILDE
+0x7F	0x007F	#	DELETE
+0x80	0x0080	#	<control>
+0x81	0x0081	#	<control>
+0x82	0x0082	#	<control>
+0x83	0x0083	#	<control>
+0x84	0x0084	#	<control>
+0x85	0x0085	#	<control>
+0x86	0x0086	#	<control>
+0x87	0x0087	#	<control>
+0x88	0x0088	#	<control>
+0x89	0x0089	#	<control>
+0x8A	0x008A	#	<control>
+0x8B	0x008B	#	<control>
+0x8C	0x008C	#	<control>
+0x8D	0x008D	#	<control>
+0x8E	0x008E	#	<control>
+0x8F	0x008F	#	<control>
+0x90	0x0090	#	<control>
+0x91	0x0091	#	<control>
+0x92	0x0092	#	<control>
+0x93	0x0093	#	<control>
+0x94	0x0094	#	<control>
+0x95	0x0095	#	<control>
+0x96	0x0096	#	<control>
+0x97	0x0097	#	<control>
+0x98	0x0098	#	<control>
+0x99	0x0099	#	<control>
+0x9A	0x009A	#	<control>
+0x9B	0x009B	#	<control>
+0x9C	0x009C	#	<control>
+0x9D	0x009D	#	<control>
+0x9E	0x009E	#	<control>
+0x9F	0x009F	#	<control>
+0xA0	0x00A0	#	NO-BREAK SPACE
+0xA1	0x0104	#	LATIN CAPITAL LETTER A WITH OGONEK
+0xA2	0x0138	#	LATIN SMALL LETTER KRA
+0xA3	0x0156	#	LATIN CAPITAL LETTER R WITH CEDILLA
+0xA4	0x00A4	#	CURRENCY SIGN
+0xA5	0x0128	#	LATIN CAPITAL LETTER I WITH TILDE
+0xA6	0x013B	#	LATIN CAPITAL LETTER L WITH CEDILLA
+0xA7	0x00A7	#	SECTION SIGN
+0xA8	0x00A8	#	DIAERESIS
+0xA9	0x0160	#	LATIN CAPITAL LETTER S WITH CARON
+0xAA	0x0112	#	LATIN CAPITAL LETTER E WITH MACRON
+0xAB	0x0122	#	LATIN CAPITAL LETTER G WITH CEDILLA
+0xAC	0x0166	#	LATIN CAPITAL LETTER T WITH STROKE
+0xAD	0x00AD	#	SOFT HYPHEN
+0xAE	0x017D	#	LATIN CAPITAL LETTER Z WITH CARON
+0xAF	0x00AF	#	MACRON
+0xB0	0x00B0	#	DEGREE SIGN
+0xB1	0x0105	#	LATIN SMALL LETTER A WITH OGONEK
+0xB2	0x02DB	#	OGONEK
+0xB3	0x0157	#	LATIN SMALL LETTER R WITH CEDILLA
+0xB4	0x00B4	#	ACUTE ACCENT
+0xB5	0x0129	#	LATIN SMALL LETTER I WITH TILDE
+0xB6	0x013C	#	LATIN SMALL LETTER L WITH CEDILLA
+0xB7	0x02C7	#	CARON
+0xB8	0x00B8	#	CEDILLA
+0xB9	0x0161	#	LATIN SMALL LETTER S WITH CARON
+0xBA	0x0113	#	LATIN SMALL LETTER E WITH MACRON
+0xBB	0x0123	#	LATIN SMALL LETTER G WITH CEDILLA
+0xBC	0x0167	#	LATIN SMALL LETTER T WITH STROKE
+0xBD	0x014A	#	LATIN CAPITAL LETTER ENG
+0xBE	0x017E	#	LATIN SMALL LETTER Z WITH CARON
+0xBF	0x014B	#	LATIN SMALL LETTER ENG
+0xC0	0x0100	#	LATIN CAPITAL LETTER A WITH MACRON
+0xC1	0x00C1	#	LATIN CAPITAL LETTER A WITH ACUTE
+0xC2	0x00C2	#	LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3	0x00C3	#	LATIN CAPITAL LETTER A WITH TILDE
+0xC4	0x00C4	#	LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5	0x00C5	#	LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6	0x00C6	#	LATIN CAPITAL LETTER AE
+0xC7	0x012E	#	LATIN CAPITAL LETTER I WITH OGONEK
+0xC8	0x010C	#	LATIN CAPITAL LETTER C WITH CARON
+0xC9	0x00C9	#	LATIN CAPITAL LETTER E WITH ACUTE
+0xCA	0x0118	#	LATIN CAPITAL LETTER E WITH OGONEK
+0xCB	0x00CB	#	LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC	0x0116	#	LATIN CAPITAL LETTER E WITH DOT ABOVE
+0xCD	0x00CD	#	LATIN CAPITAL LETTER I WITH ACUTE
+0xCE	0x00CE	#	LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF	0x012A	#	LATIN CAPITAL LETTER I WITH MACRON
+0xD0	0x0110	#	LATIN CAPITAL LETTER D WITH STROKE
+0xD1	0x0145	#	LATIN CAPITAL LETTER N WITH CEDILLA
+0xD2	0x014C	#	LATIN CAPITAL LETTER O WITH MACRON
+0xD3	0x0136	#	LATIN CAPITAL LETTER K WITH CEDILLA
+0xD4	0x00D4	#	LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5	0x00D5	#	LATIN CAPITAL LETTER O WITH TILDE
+0xD6	0x00D6	#	LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7	0x00D7	#	MULTIPLICATION SIGN
+0xD8	0x00D8	#	LATIN CAPITAL LETTER O WITH STROKE
+0xD9	0x0172	#	LATIN CAPITAL LETTER U WITH OGONEK
+0xDA	0x00DA	#	LATIN CAPITAL LETTER U WITH ACUTE
+0xDB	0x00DB	#	LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC	0x00DC	#	LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD	0x0168	#	LATIN CAPITAL LETTER U WITH TILDE
+0xDE	0x016A	#	LATIN CAPITAL LETTER U WITH MACRON
+0xDF	0x00DF	#	LATIN SMALL LETTER SHARP S
+0xE0	0x0101	#	LATIN SMALL LETTER A WITH MACRON
+0xE1	0x00E1	#	LATIN SMALL LETTER A WITH ACUTE
+0xE2	0x00E2	#	LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3	0x00E3	#	LATIN SMALL LETTER A WITH TILDE
+0xE4	0x00E4	#	LATIN SMALL LETTER A WITH DIAERESIS
+0xE5	0x00E5	#	LATIN SMALL LETTER A WITH RING ABOVE
+0xE6	0x00E6	#	LATIN SMALL LETTER AE
+0xE7	0x012F	#	LATIN SMALL LETTER I WITH OGONEK
+0xE8	0x010D	#	LATIN SMALL LETTER C WITH CARON
+0xE9	0x00E9	#	LATIN SMALL LETTER E WITH ACUTE
+0xEA	0x0119	#	LATIN SMALL LETTER E WITH OGONEK
+0xEB	0x00EB	#	LATIN SMALL LETTER E WITH DIAERESIS
+0xEC	0x0117	#	LATIN SMALL LETTER E WITH DOT ABOVE
+0xED	0x00ED	#	LATIN SMALL LETTER I WITH ACUTE
+0xEE	0x00EE	#	LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF	0x012B	#	LATIN SMALL LETTER I WITH MACRON
+0xF0	0x0111	#	LATIN SMALL LETTER D WITH STROKE
+0xF1	0x0146	#	LATIN SMALL LETTER N WITH CEDILLA
+0xF2	0x014D	#	LATIN SMALL LETTER O WITH MACRON
+0xF3	0x0137	#	LATIN SMALL LETTER K WITH CEDILLA
+0xF4	0x00F4	#	LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5	0x00F5	#	LATIN SMALL LETTER O WITH TILDE
+0xF6	0x00F6	#	LATIN SMALL LETTER O WITH DIAERESIS
+0xF7	0x00F7	#	DIVISION SIGN
+0xF8	0x00F8	#	LATIN SMALL LETTER O WITH STROKE
+0xF9	0x0173	#	LATIN SMALL LETTER U WITH OGONEK
+0xFA	0x00FA	#	LATIN SMALL LETTER U WITH ACUTE
+0xFB	0x00FB	#	LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC	0x00FC	#	LATIN SMALL LETTER U WITH DIAERESIS
+0xFD	0x0169	#	LATIN SMALL LETTER U WITH TILDE
+0xFE	0x016B	#	LATIN SMALL LETTER U WITH MACRON
+0xFF	0x02D9	#	DOT ABOVE

+ 303 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-5.TXT

@@ -0,0 +1,303 @@
+#
+#	Name:             ISO 8859-5:1999 to Unicode
+#	Unicode version:  3.0
+#	Table version:    1.0
+#	Table format:     Format A
+#	Date:             1999 July 27
+#	Authors:          Ken Whistler <kenw@sybase.com>
+#
+#	Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
+#
+#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#	No claims are made as to fitness for any particular purpose.  No
+#	warranties of any kind are expressed or implied.  The recipient
+#	agrees to determine applicability of information provided.  If this
+#	file has been provided on optical media by Unicode, Inc., the sole
+#	remedy for any claim will be exchange of defective media within 90
+#	days of receipt.
+#
+#	Unicode, Inc. hereby grants the right to freely use the information
+#	supplied in this file in the creation of products supporting the
+#	Unicode Standard, and to make copies of this file in any form for
+#	internal or external distribution as long as this notice remains
+#	attached.
+#
+#	General notes:
+#
+#	This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-5:1999 characters map into Unicode.
+#
+#	Format:  Three tab-separated columns
+#		 Column #1 is the ISO/IEC 8859-5 code (in hex as 0xXX)
+#		 Column #2 is the Unicode (in hex as 0xXXXX)
+#		 Column #3 the Unicode name (follows a comment sign, '#')
+#
+#	The entries are in ISO/IEC 8859-5 order.
+#
+#	Version history
+#	1.0 version updates 0.1 version by adding mappings for all
+#	control characters.
+#
+#	Updated versions of this file may be found in:
+#		<ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#	Any comments or problems, contact <errata@unicode.org>
+#	Please note that <errata@unicode.org> is an archival address;
+#	notices will be checked, but do not expect an immediate response.
+#
+0x00	0x0000	#	NULL
+0x01	0x0001	#	START OF HEADING
+0x02	0x0002	#	START OF TEXT
+0x03	0x0003	#	END OF TEXT
+0x04	0x0004	#	END OF TRANSMISSION
+0x05	0x0005	#	ENQUIRY
+0x06	0x0006	#	ACKNOWLEDGE
+0x07	0x0007	#	BELL
+0x08	0x0008	#	BACKSPACE
+0x09	0x0009	#	HORIZONTAL TABULATION
+0x0A	0x000A	#	LINE FEED
+0x0B	0x000B	#	VERTICAL TABULATION
+0x0C	0x000C	#	FORM FEED
+0x0D	0x000D	#	CARRIAGE RETURN
+0x0E	0x000E	#	SHIFT OUT
+0x0F	0x000F	#	SHIFT IN
+0x10	0x0010	#	DATA LINK ESCAPE
+0x11	0x0011	#	DEVICE CONTROL ONE
+0x12	0x0012	#	DEVICE CONTROL TWO
+0x13	0x0013	#	DEVICE CONTROL THREE
+0x14	0x0014	#	DEVICE CONTROL FOUR
+0x15	0x0015	#	NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#	SYNCHRONOUS IDLE
+0x17	0x0017	#	END OF TRANSMISSION BLOCK
+0x18	0x0018	#	CANCEL
+0x19	0x0019	#	END OF MEDIUM
+0x1A	0x001A	#	SUBSTITUTE
+0x1B	0x001B	#	ESCAPE
+0x1C	0x001C	#	FILE SEPARATOR
+0x1D	0x001D	#	GROUP SEPARATOR
+0x1E	0x001E	#	RECORD SEPARATOR
+0x1F	0x001F	#	UNIT SEPARATOR
+0x20	0x0020	#	SPACE
+0x21	0x0021	#	EXCLAMATION MARK
+0x22	0x0022	#	QUOTATION MARK
+0x23	0x0023	#	NUMBER SIGN
+0x24	0x0024	#	DOLLAR SIGN
+0x25	0x0025	#	PERCENT SIGN
+0x26	0x0026	#	AMPERSAND
+0x27	0x0027	#	APOSTROPHE
+0x28	0x0028	#	LEFT PARENTHESIS
+0x29	0x0029	#	RIGHT PARENTHESIS
+0x2A	0x002A	#	ASTERISK
+0x2B	0x002B	#	PLUS SIGN
+0x2C	0x002C	#	COMMA
+0x2D	0x002D	#	HYPHEN-MINUS
+0x2E	0x002E	#	FULL STOP
+0x2F	0x002F	#	SOLIDUS
+0x30	0x0030	#	DIGIT ZERO
+0x31	0x0031	#	DIGIT ONE
+0x32	0x0032	#	DIGIT TWO
+0x33	0x0033	#	DIGIT THREE
+0x34	0x0034	#	DIGIT FOUR
+0x35	0x0035	#	DIGIT FIVE
+0x36	0x0036	#	DIGIT SIX
+0x37	0x0037	#	DIGIT SEVEN
+0x38	0x0038	#	DIGIT EIGHT
+0x39	0x0039	#	DIGIT NINE
+0x3A	0x003A	#	COLON
+0x3B	0x003B	#	SEMICOLON
+0x3C	0x003C	#	LESS-THAN SIGN
+0x3D	0x003D	#	EQUALS SIGN
+0x3E	0x003E	#	GREATER-THAN SIGN
+0x3F	0x003F	#	QUESTION MARK
+0x40	0x0040	#	COMMERCIAL AT
+0x41	0x0041	#	LATIN CAPITAL LETTER A
+0x42	0x0042	#	LATIN CAPITAL LETTER B
+0x43	0x0043	#	LATIN CAPITAL LETTER C
+0x44	0x0044	#	LATIN CAPITAL LETTER D
+0x45	0x0045	#	LATIN CAPITAL LETTER E
+0x46	0x0046	#	LATIN CAPITAL LETTER F
+0x47	0x0047	#	LATIN CAPITAL LETTER G
+0x48	0x0048	#	LATIN CAPITAL LETTER H
+0x49	0x0049	#	LATIN CAPITAL LETTER I
+0x4A	0x004A	#	LATIN CAPITAL LETTER J
+0x4B	0x004B	#	LATIN CAPITAL LETTER K
+0x4C	0x004C	#	LATIN CAPITAL LETTER L
+0x4D	0x004D	#	LATIN CAPITAL LETTER M
+0x4E	0x004E	#	LATIN CAPITAL LETTER N
+0x4F	0x004F	#	LATIN CAPITAL LETTER O
+0x50	0x0050	#	LATIN CAPITAL LETTER P
+0x51	0x0051	#	LATIN CAPITAL LETTER Q
+0x52	0x0052	#	LATIN CAPITAL LETTER R
+0x53	0x0053	#	LATIN CAPITAL LETTER S
+0x54	0x0054	#	LATIN CAPITAL LETTER T
+0x55	0x0055	#	LATIN CAPITAL LETTER U
+0x56	0x0056	#	LATIN CAPITAL LETTER V
+0x57	0x0057	#	LATIN CAPITAL LETTER W
+0x58	0x0058	#	LATIN CAPITAL LETTER X
+0x59	0x0059	#	LATIN CAPITAL LETTER Y
+0x5A	0x005A	#	LATIN CAPITAL LETTER Z
+0x5B	0x005B	#	LEFT SQUARE BRACKET
+0x5C	0x005C	#	REVERSE SOLIDUS
+0x5D	0x005D	#	RIGHT SQUARE BRACKET
+0x5E	0x005E	#	CIRCUMFLEX ACCENT
+0x5F	0x005F	#	LOW LINE
+0x60	0x0060	#	GRAVE ACCENT
+0x61	0x0061	#	LATIN SMALL LETTER A
+0x62	0x0062	#	LATIN SMALL LETTER B
+0x63	0x0063	#	LATIN SMALL LETTER C
+0x64	0x0064	#	LATIN SMALL LETTER D
+0x65	0x0065	#	LATIN SMALL LETTER E
+0x66	0x0066	#	LATIN SMALL LETTER F
+0x67	0x0067	#	LATIN SMALL LETTER G
+0x68	0x0068	#	LATIN SMALL LETTER H
+0x69	0x0069	#	LATIN SMALL LETTER I
+0x6A	0x006A	#	LATIN SMALL LETTER J
+0x6B	0x006B	#	LATIN SMALL LETTER K
+0x6C	0x006C	#	LATIN SMALL LETTER L
+0x6D	0x006D	#	LATIN SMALL LETTER M
+0x6E	0x006E	#	LATIN SMALL LETTER N
+0x6F	0x006F	#	LATIN SMALL LETTER O
+0x70	0x0070	#	LATIN SMALL LETTER P
+0x71	0x0071	#	LATIN SMALL LETTER Q
+0x72	0x0072	#	LATIN SMALL LETTER R
+0x73	0x0073	#	LATIN SMALL LETTER S
+0x74	0x0074	#	LATIN SMALL LETTER T
+0x75	0x0075	#	LATIN SMALL LETTER U
+0x76	0x0076	#	LATIN SMALL LETTER V
+0x77	0x0077	#	LATIN SMALL LETTER W
+0x78	0x0078	#	LATIN SMALL LETTER X
+0x79	0x0079	#	LATIN SMALL LETTER Y
+0x7A	0x007A	#	LATIN SMALL LETTER Z
+0x7B	0x007B	#	LEFT CURLY BRACKET
+0x7C	0x007C	#	VERTICAL LINE
+0x7D	0x007D	#	RIGHT CURLY BRACKET
+0x7E	0x007E	#	TILDE
+0x7F	0x007F	#	DELETE
+0x80	0x0080	#	<control>
+0x81	0x0081	#	<control>
+0x82	0x0082	#	<control>
+0x83	0x0083	#	<control>
+0x84	0x0084	#	<control>
+0x85	0x0085	#	<control>
+0x86	0x0086	#	<control>
+0x87	0x0087	#	<control>
+0x88	0x0088	#	<control>
+0x89	0x0089	#	<control>
+0x8A	0x008A	#	<control>
+0x8B	0x008B	#	<control>
+0x8C	0x008C	#	<control>
+0x8D	0x008D	#	<control>
+0x8E	0x008E	#	<control>
+0x8F	0x008F	#	<control>
+0x90	0x0090	#	<control>
+0x91	0x0091	#	<control>
+0x92	0x0092	#	<control>
+0x93	0x0093	#	<control>
+0x94	0x0094	#	<control>
+0x95	0x0095	#	<control>
+0x96	0x0096	#	<control>
+0x97	0x0097	#	<control>
+0x98	0x0098	#	<control>
+0x99	0x0099	#	<control>
+0x9A	0x009A	#	<control>
+0x9B	0x009B	#	<control>
+0x9C	0x009C	#	<control>
+0x9D	0x009D	#	<control>
+0x9E	0x009E	#	<control>
+0x9F	0x009F	#	<control>
+0xA0	0x00A0	#	NO-BREAK SPACE
+0xA1	0x0401	#	CYRILLIC CAPITAL LETTER IO
+0xA2	0x0402	#	CYRILLIC CAPITAL LETTER DJE
+0xA3	0x0403	#	CYRILLIC CAPITAL LETTER GJE
+0xA4	0x0404	#	CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0xA5	0x0405	#	CYRILLIC CAPITAL LETTER DZE
+0xA6	0x0406	#	CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0xA7	0x0407	#	CYRILLIC CAPITAL LETTER YI
+0xA8	0x0408	#	CYRILLIC CAPITAL LETTER JE
+0xA9	0x0409	#	CYRILLIC CAPITAL LETTER LJE
+0xAA	0x040A	#	CYRILLIC CAPITAL LETTER NJE
+0xAB	0x040B	#	CYRILLIC CAPITAL LETTER TSHE
+0xAC	0x040C	#	CYRILLIC CAPITAL LETTER KJE
+0xAD	0x00AD	#	SOFT HYPHEN
+0xAE	0x040E	#	CYRILLIC CAPITAL LETTER SHORT U
+0xAF	0x040F	#	CYRILLIC CAPITAL LETTER DZHE
+0xB0	0x0410	#	CYRILLIC CAPITAL LETTER A
+0xB1	0x0411	#	CYRILLIC CAPITAL LETTER BE
+0xB2	0x0412	#	CYRILLIC CAPITAL LETTER VE
+0xB3	0x0413	#	CYRILLIC CAPITAL LETTER GHE
+0xB4	0x0414	#	CYRILLIC CAPITAL LETTER DE
+0xB5	0x0415	#	CYRILLIC CAPITAL LETTER IE
+0xB6	0x0416	#	CYRILLIC CAPITAL LETTER ZHE
+0xB7	0x0417	#	CYRILLIC CAPITAL LETTER ZE
+0xB8	0x0418	#	CYRILLIC CAPITAL LETTER I
+0xB9	0x0419	#	CYRILLIC CAPITAL LETTER SHORT I
+0xBA	0x041A	#	CYRILLIC CAPITAL LETTER KA
+0xBB	0x041B	#	CYRILLIC CAPITAL LETTER EL
+0xBC	0x041C	#	CYRILLIC CAPITAL LETTER EM
+0xBD	0x041D	#	CYRILLIC CAPITAL LETTER EN
+0xBE	0x041E	#	CYRILLIC CAPITAL LETTER O
+0xBF	0x041F	#	CYRILLIC CAPITAL LETTER PE
+0xC0	0x0420	#	CYRILLIC CAPITAL LETTER ER
+0xC1	0x0421	#	CYRILLIC CAPITAL LETTER ES
+0xC2	0x0422	#	CYRILLIC CAPITAL LETTER TE
+0xC3	0x0423	#	CYRILLIC CAPITAL LETTER U
+0xC4	0x0424	#	CYRILLIC CAPITAL LETTER EF
+0xC5	0x0425	#	CYRILLIC CAPITAL LETTER HA
+0xC6	0x0426	#	CYRILLIC CAPITAL LETTER TSE
+0xC7	0x0427	#	CYRILLIC CAPITAL LETTER CHE
+0xC8	0x0428	#	CYRILLIC CAPITAL LETTER SHA
+0xC9	0x0429	#	CYRILLIC CAPITAL LETTER SHCHA
+0xCA	0x042A	#	CYRILLIC CAPITAL LETTER HARD SIGN
+0xCB	0x042B	#	CYRILLIC CAPITAL LETTER YERU
+0xCC	0x042C	#	CYRILLIC CAPITAL LETTER SOFT SIGN
+0xCD	0x042D	#	CYRILLIC CAPITAL LETTER E
+0xCE	0x042E	#	CYRILLIC CAPITAL LETTER YU
+0xCF	0x042F	#	CYRILLIC CAPITAL LETTER YA
+0xD0	0x0430	#	CYRILLIC SMALL LETTER A
+0xD1	0x0431	#	CYRILLIC SMALL LETTER BE
+0xD2	0x0432	#	CYRILLIC SMALL LETTER VE
+0xD3	0x0433	#	CYRILLIC SMALL LETTER GHE
+0xD4	0x0434	#	CYRILLIC SMALL LETTER DE
+0xD5	0x0435	#	CYRILLIC SMALL LETTER IE
+0xD6	0x0436	#	CYRILLIC SMALL LETTER ZHE
+0xD7	0x0437	#	CYRILLIC SMALL LETTER ZE
+0xD8	0x0438	#	CYRILLIC SMALL LETTER I
+0xD9	0x0439	#	CYRILLIC SMALL LETTER SHORT I
+0xDA	0x043A	#	CYRILLIC SMALL LETTER KA
+0xDB	0x043B	#	CYRILLIC SMALL LETTER EL
+0xDC	0x043C	#	CYRILLIC SMALL LETTER EM
+0xDD	0x043D	#	CYRILLIC SMALL LETTER EN
+0xDE	0x043E	#	CYRILLIC SMALL LETTER O
+0xDF	0x043F	#	CYRILLIC SMALL LETTER PE
+0xE0	0x0440	#	CYRILLIC SMALL LETTER ER
+0xE1	0x0441	#	CYRILLIC SMALL LETTER ES
+0xE2	0x0442	#	CYRILLIC SMALL LETTER TE
+0xE3	0x0443	#	CYRILLIC SMALL LETTER U
+0xE4	0x0444	#	CYRILLIC SMALL LETTER EF
+0xE5	0x0445	#	CYRILLIC SMALL LETTER HA
+0xE6	0x0446	#	CYRILLIC SMALL LETTER TSE
+0xE7	0x0447	#	CYRILLIC SMALL LETTER CHE
+0xE8	0x0448	#	CYRILLIC SMALL LETTER SHA
+0xE9	0x0449	#	CYRILLIC SMALL LETTER SHCHA
+0xEA	0x044A	#	CYRILLIC SMALL LETTER HARD SIGN
+0xEB	0x044B	#	CYRILLIC SMALL LETTER YERU
+0xEC	0x044C	#	CYRILLIC SMALL LETTER SOFT SIGN
+0xED	0x044D	#	CYRILLIC SMALL LETTER E
+0xEE	0x044E	#	CYRILLIC SMALL LETTER YU
+0xEF	0x044F	#	CYRILLIC SMALL LETTER YA
+0xF0	0x2116	#	NUMERO SIGN
+0xF1	0x0451	#	CYRILLIC SMALL LETTER IO
+0xF2	0x0452	#	CYRILLIC SMALL LETTER DJE
+0xF3	0x0453	#	CYRILLIC SMALL LETTER GJE
+0xF4	0x0454	#	CYRILLIC SMALL LETTER UKRAINIAN IE
+0xF5	0x0455	#	CYRILLIC SMALL LETTER DZE
+0xF6	0x0456	#	CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0xF7	0x0457	#	CYRILLIC SMALL LETTER YI
+0xF8	0x0458	#	CYRILLIC SMALL LETTER JE
+0xF9	0x0459	#	CYRILLIC SMALL LETTER LJE
+0xFA	0x045A	#	CYRILLIC SMALL LETTER NJE
+0xFB	0x045B	#	CYRILLIC SMALL LETTER TSHE
+0xFC	0x045C	#	CYRILLIC SMALL LETTER KJE
+0xFD	0x00A7	#	SECTION SIGN
+0xFE	0x045E	#	CYRILLIC SMALL LETTER SHORT U
+0xFF	0x045F	#	CYRILLIC SMALL LETTER DZHE

+ 260 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-6.TXT

@@ -0,0 +1,260 @@
+#
+#	Name:             ISO 8859-6:1999 to Unicode
+#	Unicode version:  3.0
+#	Table version:    1.0
+#	Table format:     Format A
+#	Date:             1999 July 27
+#	Authors:          Ken Whistler <kenw@sybase.com>
+#
+#	Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
+#
+#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#	No claims are made as to fitness for any particular purpose.  No
+#	warranties of any kind are expressed or implied.  The recipient
+#	agrees to determine applicability of information provided.  If this
+#	file has been provided on optical media by Unicode, Inc., the sole
+#	remedy for any claim will be exchange of defective media within 90
+#	days of receipt.
+#
+#	Unicode, Inc. hereby grants the right to freely use the information
+#	supplied in this file in the creation of products supporting the
+#	Unicode Standard, and to make copies of this file in any form for
+#	internal or external distribution as long as this notice remains
+#	attached.
+#
+#	General notes:
+#
+#	This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-6:1999 characters map into Unicode.
+#
+#	Format:  Three tab-separated columns
+#		 Column #1 is the ISO/IEC 8859-6 code (in hex as 0xXX)
+#		 Column #2 is the Unicode (in hex as 0xXXXX)
+#		 Column #3 the Unicode name (follows a comment sign, '#')
+#
+#	The entries are in ISO/IEC 8859-6 order.
+#
+#	Version history
+#	1.0 version updates 0.1 version by adding mappings for all
+#	control characters.
+#	0x30..0x39 remapped to the ASCII digits (U+0030..U+0039) instead
+#	of the Arabic digits (U+0660..U+0669).
+#
+#	Updated versions of this file may be found in:
+#		<ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#	Any comments or problems, contact <errata@unicode.org>
+#	Please note that <errata@unicode.org> is an archival address;
+#	notices will be checked, but do not expect an immediate response.
+#
+0x00	0x0000	#	NULL
+0x01	0x0001	#	START OF HEADING
+0x02	0x0002	#	START OF TEXT
+0x03	0x0003	#	END OF TEXT
+0x04	0x0004	#	END OF TRANSMISSION
+0x05	0x0005	#	ENQUIRY
+0x06	0x0006	#	ACKNOWLEDGE
+0x07	0x0007	#	BELL
+0x08	0x0008	#	BACKSPACE
+0x09	0x0009	#	HORIZONTAL TABULATION
+0x0A	0x000A	#	LINE FEED
+0x0B	0x000B	#	VERTICAL TABULATION
+0x0C	0x000C	#	FORM FEED
+0x0D	0x000D	#	CARRIAGE RETURN
+0x0E	0x000E	#	SHIFT OUT
+0x0F	0x000F	#	SHIFT IN
+0x10	0x0010	#	DATA LINK ESCAPE
+0x11	0x0011	#	DEVICE CONTROL ONE
+0x12	0x0012	#	DEVICE CONTROL TWO
+0x13	0x0013	#	DEVICE CONTROL THREE
+0x14	0x0014	#	DEVICE CONTROL FOUR
+0x15	0x0015	#	NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#	SYNCHRONOUS IDLE
+0x17	0x0017	#	END OF TRANSMISSION BLOCK
+0x18	0x0018	#	CANCEL
+0x19	0x0019	#	END OF MEDIUM
+0x1A	0x001A	#	SUBSTITUTE
+0x1B	0x001B	#	ESCAPE
+0x1C	0x001C	#	FILE SEPARATOR
+0x1D	0x001D	#	GROUP SEPARATOR
+0x1E	0x001E	#	RECORD SEPARATOR
+0x1F	0x001F	#	UNIT SEPARATOR
+0x20	0x0020	#	SPACE
+0x21	0x0021	#	EXCLAMATION MARK
+0x22	0x0022	#	QUOTATION MARK
+0x23	0x0023	#	NUMBER SIGN
+0x24	0x0024	#	DOLLAR SIGN
+0x25	0x0025	#	PERCENT SIGN
+0x26	0x0026	#	AMPERSAND
+0x27	0x0027	#	APOSTROPHE
+0x28	0x0028	#	LEFT PARENTHESIS
+0x29	0x0029	#	RIGHT PARENTHESIS
+0x2A	0x002A	#	ASTERISK
+0x2B	0x002B	#	PLUS SIGN
+0x2C	0x002C	#	COMMA
+0x2D	0x002D	#	HYPHEN-MINUS
+0x2E	0x002E	#	FULL STOP
+0x2F	0x002F	#	SOLIDUS
+0x30	0x0030	#	DIGIT ZERO
+0x31	0x0031	#	DIGIT ONE
+0x32	0x0032	#	DIGIT TWO
+0x33	0x0033	#	DIGIT THREE
+0x34	0x0034	#	DIGIT FOUR
+0x35	0x0035	#	DIGIT FIVE
+0x36	0x0036	#	DIGIT SIX
+0x37	0x0037	#	DIGIT SEVEN
+0x38	0x0038	#	DIGIT EIGHT
+0x39	0x0039	#	DIGIT NINE
+0x3A	0x003A	#	COLON
+0x3B	0x003B	#	SEMICOLON
+0x3C	0x003C	#	LESS-THAN SIGN
+0x3D	0x003D	#	EQUALS SIGN
+0x3E	0x003E	#	GREATER-THAN SIGN
+0x3F	0x003F	#	QUESTION MARK
+0x40	0x0040	#	COMMERCIAL AT
+0x41	0x0041	#	LATIN CAPITAL LETTER A
+0x42	0x0042	#	LATIN CAPITAL LETTER B
+0x43	0x0043	#	LATIN CAPITAL LETTER C
+0x44	0x0044	#	LATIN CAPITAL LETTER D
+0x45	0x0045	#	LATIN CAPITAL LETTER E
+0x46	0x0046	#	LATIN CAPITAL LETTER F
+0x47	0x0047	#	LATIN CAPITAL LETTER G
+0x48	0x0048	#	LATIN CAPITAL LETTER H
+0x49	0x0049	#	LATIN CAPITAL LETTER I
+0x4A	0x004A	#	LATIN CAPITAL LETTER J
+0x4B	0x004B	#	LATIN CAPITAL LETTER K
+0x4C	0x004C	#	LATIN CAPITAL LETTER L
+0x4D	0x004D	#	LATIN CAPITAL LETTER M
+0x4E	0x004E	#	LATIN CAPITAL LETTER N
+0x4F	0x004F	#	LATIN CAPITAL LETTER O
+0x50	0x0050	#	LATIN CAPITAL LETTER P
+0x51	0x0051	#	LATIN CAPITAL LETTER Q
+0x52	0x0052	#	LATIN CAPITAL LETTER R
+0x53	0x0053	#	LATIN CAPITAL LETTER S
+0x54	0x0054	#	LATIN CAPITAL LETTER T
+0x55	0x0055	#	LATIN CAPITAL LETTER U
+0x56	0x0056	#	LATIN CAPITAL LETTER V
+0x57	0x0057	#	LATIN CAPITAL LETTER W
+0x58	0x0058	#	LATIN CAPITAL LETTER X
+0x59	0x0059	#	LATIN CAPITAL LETTER Y
+0x5A	0x005A	#	LATIN CAPITAL LETTER Z
+0x5B	0x005B	#	LEFT SQUARE BRACKET
+0x5C	0x005C	#	REVERSE SOLIDUS
+0x5D	0x005D	#	RIGHT SQUARE BRACKET
+0x5E	0x005E	#	CIRCUMFLEX ACCENT
+0x5F	0x005F	#	LOW LINE
+0x60	0x0060	#	GRAVE ACCENT
+0x61	0x0061	#	LATIN SMALL LETTER A
+0x62	0x0062	#	LATIN SMALL LETTER B
+0x63	0x0063	#	LATIN SMALL LETTER C
+0x64	0x0064	#	LATIN SMALL LETTER D
+0x65	0x0065	#	LATIN SMALL LETTER E
+0x66	0x0066	#	LATIN SMALL LETTER F
+0x67	0x0067	#	LATIN SMALL LETTER G
+0x68	0x0068	#	LATIN SMALL LETTER H
+0x69	0x0069	#	LATIN SMALL LETTER I
+0x6A	0x006A	#	LATIN SMALL LETTER J
+0x6B	0x006B	#	LATIN SMALL LETTER K
+0x6C	0x006C	#	LATIN SMALL LETTER L
+0x6D	0x006D	#	LATIN SMALL LETTER M
+0x6E	0x006E	#	LATIN SMALL LETTER N
+0x6F	0x006F	#	LATIN SMALL LETTER O
+0x70	0x0070	#	LATIN SMALL LETTER P
+0x71	0x0071	#	LATIN SMALL LETTER Q
+0x72	0x0072	#	LATIN SMALL LETTER R
+0x73	0x0073	#	LATIN SMALL LETTER S
+0x74	0x0074	#	LATIN SMALL LETTER T
+0x75	0x0075	#	LATIN SMALL LETTER U
+0x76	0x0076	#	LATIN SMALL LETTER V
+0x77	0x0077	#	LATIN SMALL LETTER W
+0x78	0x0078	#	LATIN SMALL LETTER X
+0x79	0x0079	#	LATIN SMALL LETTER Y
+0x7A	0x007A	#	LATIN SMALL LETTER Z
+0x7B	0x007B	#	LEFT CURLY BRACKET
+0x7C	0x007C	#	VERTICAL LINE
+0x7D	0x007D	#	RIGHT CURLY BRACKET
+0x7E	0x007E	#	TILDE
+0x7F	0x007F	#	DELETE
+0x80	0x0080	#	<control>
+0x81	0x0081	#	<control>
+0x82	0x0082	#	<control>
+0x83	0x0083	#	<control>
+0x84	0x0084	#	<control>
+0x85	0x0085	#	<control>
+0x86	0x0086	#	<control>
+0x87	0x0087	#	<control>
+0x88	0x0088	#	<control>
+0x89	0x0089	#	<control>
+0x8A	0x008A	#	<control>
+0x8B	0x008B	#	<control>
+0x8C	0x008C	#	<control>
+0x8D	0x008D	#	<control>
+0x8E	0x008E	#	<control>
+0x8F	0x008F	#	<control>
+0x90	0x0090	#	<control>
+0x91	0x0091	#	<control>
+0x92	0x0092	#	<control>
+0x93	0x0093	#	<control>
+0x94	0x0094	#	<control>
+0x95	0x0095	#	<control>
+0x96	0x0096	#	<control>
+0x97	0x0097	#	<control>
+0x98	0x0098	#	<control>
+0x99	0x0099	#	<control>
+0x9A	0x009A	#	<control>
+0x9B	0x009B	#	<control>
+0x9C	0x009C	#	<control>
+0x9D	0x009D	#	<control>
+0x9E	0x009E	#	<control>
+0x9F	0x009F	#	<control>
+0xA0	0x00A0	#	NO-BREAK SPACE
+0xA4	0x00A4	#	CURRENCY SIGN
+0xAC	0x060C	#	ARABIC COMMA
+0xAD	0x00AD	#	SOFT HYPHEN
+0xBB	0x061B	#	ARABIC SEMICOLON
+0xBF	0x061F	#	ARABIC QUESTION MARK
+0xC1	0x0621	#	ARABIC LETTER HAMZA
+0xC2	0x0622	#	ARABIC LETTER ALEF WITH MADDA ABOVE
+0xC3	0x0623	#	ARABIC LETTER ALEF WITH HAMZA ABOVE
+0xC4	0x0624	#	ARABIC LETTER WAW WITH HAMZA ABOVE
+0xC5	0x0625	#	ARABIC LETTER ALEF WITH HAMZA BELOW
+0xC6	0x0626	#	ARABIC LETTER YEH WITH HAMZA ABOVE
+0xC7	0x0627	#	ARABIC LETTER ALEF
+0xC8	0x0628	#	ARABIC LETTER BEH
+0xC9	0x0629	#	ARABIC LETTER TEH MARBUTA
+0xCA	0x062A	#	ARABIC LETTER TEH
+0xCB	0x062B	#	ARABIC LETTER THEH
+0xCC	0x062C	#	ARABIC LETTER JEEM
+0xCD	0x062D	#	ARABIC LETTER HAH
+0xCE	0x062E	#	ARABIC LETTER KHAH
+0xCF	0x062F	#	ARABIC LETTER DAL
+0xD0	0x0630	#	ARABIC LETTER THAL
+0xD1	0x0631	#	ARABIC LETTER REH
+0xD2	0x0632	#	ARABIC LETTER ZAIN
+0xD3	0x0633	#	ARABIC LETTER SEEN
+0xD4	0x0634	#	ARABIC LETTER SHEEN
+0xD5	0x0635	#	ARABIC LETTER SAD
+0xD6	0x0636	#	ARABIC LETTER DAD
+0xD7	0x0637	#	ARABIC LETTER TAH
+0xD8	0x0638	#	ARABIC LETTER ZAH
+0xD9	0x0639	#	ARABIC LETTER AIN
+0xDA	0x063A	#	ARABIC LETTER GHAIN
+0xE0	0x0640	#	ARABIC TATWEEL
+0xE1	0x0641	#	ARABIC LETTER FEH
+0xE2	0x0642	#	ARABIC LETTER QAF
+0xE3	0x0643	#	ARABIC LETTER KAF
+0xE4	0x0644	#	ARABIC LETTER LAM
+0xE5	0x0645	#	ARABIC LETTER MEEM
+0xE6	0x0646	#	ARABIC LETTER NOON
+0xE7	0x0647	#	ARABIC LETTER HEH
+0xE8	0x0648	#	ARABIC LETTER WAW
+0xE9	0x0649	#	ARABIC LETTER ALEF MAKSURA
+0xEA	0x064A	#	ARABIC LETTER YEH
+0xEB	0x064B	#	ARABIC FATHATAN
+0xEC	0x064C	#	ARABIC DAMMATAN
+0xED	0x064D	#	ARABIC KASRATAN
+0xEE	0x064E	#	ARABIC FATHA
+0xEF	0x064F	#	ARABIC DAMMA
+0xF0	0x0650	#	ARABIC KASRA
+0xF1	0x0651	#	ARABIC SHADDA
+0xF2	0x0652	#	ARABIC SUKUN

+ 308 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-7.TXT

@@ -0,0 +1,308 @@
+#
+#	Name:             ISO 8859-7:2003 to Unicode
+#	Unicode version:  4.0
+#	Table version:    2.0
+#	Table format:     Format A
+#	Date:             2003-Nov-12
+#	Authors:          Ken Whistler <kenw@sybase.com>
+#
+#	Copyright (c) 1991-2003 Unicode, Inc.  All Rights reserved.
+#
+#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#	No claims are made as to fitness for any particular purpose.  No
+#	warranties of any kind are expressed or implied.  The recipient
+#	agrees to determine applicability of information provided.  If this
+#	file has been provided on optical media by Unicode, Inc., the sole
+#	remedy for any claim will be exchange of defective media within 90
+#	days of receipt.
+#
+#	Unicode, Inc. hereby grants the right to freely use the information
+#	supplied in this file in the creation of products supporting the
+#	Unicode Standard, and to make copies of this file in any form for
+#	internal or external distribution as long as this notice remains
+#	attached.
+#
+#	General notes:
+#
+#	This table contains the data the Unicode Consortium has on how
+#       ISO 8859-7:2003 characters map into Unicode.
+#
+#	ISO 8859-7:1987 is equivalent to ISO-IR-126, ELOT 928,
+#	and ECMA 118. ISO 8859-7:2003 adds two currency signs 
+#	and one other character not in the earlier standard.
+#
+#	Format:  Three tab-separated columns
+#		 Column #1 is the ISO 8859-7 code (in hex as 0xXX)
+#		 Column #2 is the Unicode (in hex as 0xXXXX)
+#		 Column #3 the Unicode name (follows a comment sign, '#')
+#
+#	The entries are in ISO 8859-7 order.
+#
+#	Version history
+#	1.0 version updates 0.1 version by adding mappings for all
+#	control characters.
+#	Remap 0xA1 to U+2018 (instead of 0x02BD) to match text of 8859-7
+#	Remap 0xA2 to U+2019 (instead of 0x02BC) to match text of 8859-7
+#
+#	2.0 version updates 1.0 version by adding mappings for the
+#	three newly added characters 0xA4, 0xA5, 0xAA.
+#
+#	Updated versions of this file may be found in:
+#		<http://www.unicode.org/Public/MAPPINGS/>
+#
+#	Any comments or problems, contact the Unicode Consortium at:
+#	        <http://www.unicode.org/reporting.html>
+#
+0x00	0x0000	#	NULL
+0x01	0x0001	#	START OF HEADING
+0x02	0x0002	#	START OF TEXT
+0x03	0x0003	#	END OF TEXT
+0x04	0x0004	#	END OF TRANSMISSION
+0x05	0x0005	#	ENQUIRY
+0x06	0x0006	#	ACKNOWLEDGE
+0x07	0x0007	#	BELL
+0x08	0x0008	#	BACKSPACE
+0x09	0x0009	#	HORIZONTAL TABULATION
+0x0A	0x000A	#	LINE FEED
+0x0B	0x000B	#	VERTICAL TABULATION
+0x0C	0x000C	#	FORM FEED
+0x0D	0x000D	#	CARRIAGE RETURN
+0x0E	0x000E	#	SHIFT OUT
+0x0F	0x000F	#	SHIFT IN
+0x10	0x0010	#	DATA LINK ESCAPE
+0x11	0x0011	#	DEVICE CONTROL ONE
+0x12	0x0012	#	DEVICE CONTROL TWO
+0x13	0x0013	#	DEVICE CONTROL THREE
+0x14	0x0014	#	DEVICE CONTROL FOUR
+0x15	0x0015	#	NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#	SYNCHRONOUS IDLE
+0x17	0x0017	#	END OF TRANSMISSION BLOCK
+0x18	0x0018	#	CANCEL
+0x19	0x0019	#	END OF MEDIUM
+0x1A	0x001A	#	SUBSTITUTE
+0x1B	0x001B	#	ESCAPE
+0x1C	0x001C	#	FILE SEPARATOR
+0x1D	0x001D	#	GROUP SEPARATOR
+0x1E	0x001E	#	RECORD SEPARATOR
+0x1F	0x001F	#	UNIT SEPARATOR
+0x20	0x0020	#	SPACE
+0x21	0x0021	#	EXCLAMATION MARK
+0x22	0x0022	#	QUOTATION MARK
+0x23	0x0023	#	NUMBER SIGN
+0x24	0x0024	#	DOLLAR SIGN
+0x25	0x0025	#	PERCENT SIGN
+0x26	0x0026	#	AMPERSAND
+0x27	0x0027	#	APOSTROPHE
+0x28	0x0028	#	LEFT PARENTHESIS
+0x29	0x0029	#	RIGHT PARENTHESIS
+0x2A	0x002A	#	ASTERISK
+0x2B	0x002B	#	PLUS SIGN
+0x2C	0x002C	#	COMMA
+0x2D	0x002D	#	HYPHEN-MINUS
+0x2E	0x002E	#	FULL STOP
+0x2F	0x002F	#	SOLIDUS
+0x30	0x0030	#	DIGIT ZERO
+0x31	0x0031	#	DIGIT ONE
+0x32	0x0032	#	DIGIT TWO
+0x33	0x0033	#	DIGIT THREE
+0x34	0x0034	#	DIGIT FOUR
+0x35	0x0035	#	DIGIT FIVE
+0x36	0x0036	#	DIGIT SIX
+0x37	0x0037	#	DIGIT SEVEN
+0x38	0x0038	#	DIGIT EIGHT
+0x39	0x0039	#	DIGIT NINE
+0x3A	0x003A	#	COLON
+0x3B	0x003B	#	SEMICOLON
+0x3C	0x003C	#	LESS-THAN SIGN
+0x3D	0x003D	#	EQUALS SIGN
+0x3E	0x003E	#	GREATER-THAN SIGN
+0x3F	0x003F	#	QUESTION MARK
+0x40	0x0040	#	COMMERCIAL AT
+0x41	0x0041	#	LATIN CAPITAL LETTER A
+0x42	0x0042	#	LATIN CAPITAL LETTER B
+0x43	0x0043	#	LATIN CAPITAL LETTER C
+0x44	0x0044	#	LATIN CAPITAL LETTER D
+0x45	0x0045	#	LATIN CAPITAL LETTER E
+0x46	0x0046	#	LATIN CAPITAL LETTER F
+0x47	0x0047	#	LATIN CAPITAL LETTER G
+0x48	0x0048	#	LATIN CAPITAL LETTER H
+0x49	0x0049	#	LATIN CAPITAL LETTER I
+0x4A	0x004A	#	LATIN CAPITAL LETTER J
+0x4B	0x004B	#	LATIN CAPITAL LETTER K
+0x4C	0x004C	#	LATIN CAPITAL LETTER L
+0x4D	0x004D	#	LATIN CAPITAL LETTER M
+0x4E	0x004E	#	LATIN CAPITAL LETTER N
+0x4F	0x004F	#	LATIN CAPITAL LETTER O
+0x50	0x0050	#	LATIN CAPITAL LETTER P
+0x51	0x0051	#	LATIN CAPITAL LETTER Q
+0x52	0x0052	#	LATIN CAPITAL LETTER R
+0x53	0x0053	#	LATIN CAPITAL LETTER S
+0x54	0x0054	#	LATIN CAPITAL LETTER T
+0x55	0x0055	#	LATIN CAPITAL LETTER U
+0x56	0x0056	#	LATIN CAPITAL LETTER V
+0x57	0x0057	#	LATIN CAPITAL LETTER W
+0x58	0x0058	#	LATIN CAPITAL LETTER X
+0x59	0x0059	#	LATIN CAPITAL LETTER Y
+0x5A	0x005A	#	LATIN CAPITAL LETTER Z
+0x5B	0x005B	#	LEFT SQUARE BRACKET
+0x5C	0x005C	#	REVERSE SOLIDUS
+0x5D	0x005D	#	RIGHT SQUARE BRACKET
+0x5E	0x005E	#	CIRCUMFLEX ACCENT
+0x5F	0x005F	#	LOW LINE
+0x60	0x0060	#	GRAVE ACCENT
+0x61	0x0061	#	LATIN SMALL LETTER A
+0x62	0x0062	#	LATIN SMALL LETTER B
+0x63	0x0063	#	LATIN SMALL LETTER C
+0x64	0x0064	#	LATIN SMALL LETTER D
+0x65	0x0065	#	LATIN SMALL LETTER E
+0x66	0x0066	#	LATIN SMALL LETTER F
+0x67	0x0067	#	LATIN SMALL LETTER G
+0x68	0x0068	#	LATIN SMALL LETTER H
+0x69	0x0069	#	LATIN SMALL LETTER I
+0x6A	0x006A	#	LATIN SMALL LETTER J
+0x6B	0x006B	#	LATIN SMALL LETTER K
+0x6C	0x006C	#	LATIN SMALL LETTER L
+0x6D	0x006D	#	LATIN SMALL LETTER M
+0x6E	0x006E	#	LATIN SMALL LETTER N
+0x6F	0x006F	#	LATIN SMALL LETTER O
+0x70	0x0070	#	LATIN SMALL LETTER P
+0x71	0x0071	#	LATIN SMALL LETTER Q
+0x72	0x0072	#	LATIN SMALL LETTER R
+0x73	0x0073	#	LATIN SMALL LETTER S
+0x74	0x0074	#	LATIN SMALL LETTER T
+0x75	0x0075	#	LATIN SMALL LETTER U
+0x76	0x0076	#	LATIN SMALL LETTER V
+0x77	0x0077	#	LATIN SMALL LETTER W
+0x78	0x0078	#	LATIN SMALL LETTER X
+0x79	0x0079	#	LATIN SMALL LETTER Y
+0x7A	0x007A	#	LATIN SMALL LETTER Z
+0x7B	0x007B	#	LEFT CURLY BRACKET
+0x7C	0x007C	#	VERTICAL LINE
+0x7D	0x007D	#	RIGHT CURLY BRACKET
+0x7E	0x007E	#	TILDE
+0x7F	0x007F	#	DELETE
+0x80	0x0080	#	<control>
+0x81	0x0081	#	<control>
+0x82	0x0082	#	<control>
+0x83	0x0083	#	<control>
+0x84	0x0084	#	<control>
+0x85	0x0085	#	<control>
+0x86	0x0086	#	<control>
+0x87	0x0087	#	<control>
+0x88	0x0088	#	<control>
+0x89	0x0089	#	<control>
+0x8A	0x008A	#	<control>
+0x8B	0x008B	#	<control>
+0x8C	0x008C	#	<control>
+0x8D	0x008D	#	<control>
+0x8E	0x008E	#	<control>
+0x8F	0x008F	#	<control>
+0x90	0x0090	#	<control>
+0x91	0x0091	#	<control>
+0x92	0x0092	#	<control>
+0x93	0x0093	#	<control>
+0x94	0x0094	#	<control>
+0x95	0x0095	#	<control>
+0x96	0x0096	#	<control>
+0x97	0x0097	#	<control>
+0x98	0x0098	#	<control>
+0x99	0x0099	#	<control>
+0x9A	0x009A	#	<control>
+0x9B	0x009B	#	<control>
+0x9C	0x009C	#	<control>
+0x9D	0x009D	#	<control>
+0x9E	0x009E	#	<control>
+0x9F	0x009F	#	<control>
+0xA0	0x00A0	#	NO-BREAK SPACE
+0xA1	0x2018	#	LEFT SINGLE QUOTATION MARK
+0xA2	0x2019	#	RIGHT SINGLE QUOTATION MARK
+0xA3	0x00A3	#	POUND SIGN
+0xA4	0x20AC	#	EURO SIGN
+0xA5	0x20AF	#	DRACHMA SIGN
+0xA6	0x00A6	#	BROKEN BAR
+0xA7	0x00A7	#	SECTION SIGN
+0xA8	0x00A8	#	DIAERESIS
+0xA9	0x00A9	#	COPYRIGHT SIGN
+0xAA	0x037A	#	GREEK YPOGEGRAMMENI
+0xAB	0x00AB	#	LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC	0x00AC	#	NOT SIGN
+0xAD	0x00AD	#	SOFT HYPHEN
+0xAF	0x2015	#	HORIZONTAL BAR
+0xB0	0x00B0	#	DEGREE SIGN
+0xB1	0x00B1	#	PLUS-MINUS SIGN
+0xB2	0x00B2	#	SUPERSCRIPT TWO
+0xB3	0x00B3	#	SUPERSCRIPT THREE
+0xB4	0x0384	#	GREEK TONOS
+0xB5	0x0385	#	GREEK DIALYTIKA TONOS
+0xB6	0x0386	#	GREEK CAPITAL LETTER ALPHA WITH TONOS
+0xB7	0x00B7	#	MIDDLE DOT
+0xB8	0x0388	#	GREEK CAPITAL LETTER EPSILON WITH TONOS
+0xB9	0x0389	#	GREEK CAPITAL LETTER ETA WITH TONOS
+0xBA	0x038A	#	GREEK CAPITAL LETTER IOTA WITH TONOS
+0xBB	0x00BB	#	RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC	0x038C	#	GREEK CAPITAL LETTER OMICRON WITH TONOS
+0xBD	0x00BD	#	VULGAR FRACTION ONE HALF
+0xBE	0x038E	#	GREEK CAPITAL LETTER UPSILON WITH TONOS
+0xBF	0x038F	#	GREEK CAPITAL LETTER OMEGA WITH TONOS
+0xC0	0x0390	#	GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+0xC1	0x0391	#	GREEK CAPITAL LETTER ALPHA
+0xC2	0x0392	#	GREEK CAPITAL LETTER BETA
+0xC3	0x0393	#	GREEK CAPITAL LETTER GAMMA
+0xC4	0x0394	#	GREEK CAPITAL LETTER DELTA
+0xC5	0x0395	#	GREEK CAPITAL LETTER EPSILON
+0xC6	0x0396	#	GREEK CAPITAL LETTER ZETA
+0xC7	0x0397	#	GREEK CAPITAL LETTER ETA
+0xC8	0x0398	#	GREEK CAPITAL LETTER THETA
+0xC9	0x0399	#	GREEK CAPITAL LETTER IOTA
+0xCA	0x039A	#	GREEK CAPITAL LETTER KAPPA
+0xCB	0x039B	#	GREEK CAPITAL LETTER LAMDA
+0xCC	0x039C	#	GREEK CAPITAL LETTER MU
+0xCD	0x039D	#	GREEK CAPITAL LETTER NU
+0xCE	0x039E	#	GREEK CAPITAL LETTER XI
+0xCF	0x039F	#	GREEK CAPITAL LETTER OMICRON
+0xD0	0x03A0	#	GREEK CAPITAL LETTER PI
+0xD1	0x03A1	#	GREEK CAPITAL LETTER RHO
+0xD3	0x03A3	#	GREEK CAPITAL LETTER SIGMA
+0xD4	0x03A4	#	GREEK CAPITAL LETTER TAU
+0xD5	0x03A5	#	GREEK CAPITAL LETTER UPSILON
+0xD6	0x03A6	#	GREEK CAPITAL LETTER PHI
+0xD7	0x03A7	#	GREEK CAPITAL LETTER CHI
+0xD8	0x03A8	#	GREEK CAPITAL LETTER PSI
+0xD9	0x03A9	#	GREEK CAPITAL LETTER OMEGA
+0xDA	0x03AA	#	GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+0xDB	0x03AB	#	GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+0xDC	0x03AC	#	GREEK SMALL LETTER ALPHA WITH TONOS
+0xDD	0x03AD	#	GREEK SMALL LETTER EPSILON WITH TONOS
+0xDE	0x03AE	#	GREEK SMALL LETTER ETA WITH TONOS
+0xDF	0x03AF	#	GREEK SMALL LETTER IOTA WITH TONOS
+0xE0	0x03B0	#	GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+0xE1	0x03B1	#	GREEK SMALL LETTER ALPHA
+0xE2	0x03B2	#	GREEK SMALL LETTER BETA
+0xE3	0x03B3	#	GREEK SMALL LETTER GAMMA
+0xE4	0x03B4	#	GREEK SMALL LETTER DELTA
+0xE5	0x03B5	#	GREEK SMALL LETTER EPSILON
+0xE6	0x03B6	#	GREEK SMALL LETTER ZETA
+0xE7	0x03B7	#	GREEK SMALL LETTER ETA
+0xE8	0x03B8	#	GREEK SMALL LETTER THETA
+0xE9	0x03B9	#	GREEK SMALL LETTER IOTA
+0xEA	0x03BA	#	GREEK SMALL LETTER KAPPA
+0xEB	0x03BB	#	GREEK SMALL LETTER LAMDA
+0xEC	0x03BC	#	GREEK SMALL LETTER MU
+0xED	0x03BD	#	GREEK SMALL LETTER NU
+0xEE	0x03BE	#	GREEK SMALL LETTER XI
+0xEF	0x03BF	#	GREEK SMALL LETTER OMICRON
+0xF0	0x03C0	#	GREEK SMALL LETTER PI
+0xF1	0x03C1	#	GREEK SMALL LETTER RHO
+0xF2	0x03C2	#	GREEK SMALL LETTER FINAL SIGMA
+0xF3	0x03C3	#	GREEK SMALL LETTER SIGMA
+0xF4	0x03C4	#	GREEK SMALL LETTER TAU
+0xF5	0x03C5	#	GREEK SMALL LETTER UPSILON
+0xF6	0x03C6	#	GREEK SMALL LETTER PHI
+0xF7	0x03C7	#	GREEK SMALL LETTER CHI
+0xF8	0x03C8	#	GREEK SMALL LETTER PSI
+0xF9	0x03C9	#	GREEK SMALL LETTER OMEGA
+0xFA	0x03CA	#	GREEK SMALL LETTER IOTA WITH DIALYTIKA
+0xFB	0x03CB	#	GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+0xFC	0x03CC	#	GREEK SMALL LETTER OMICRON WITH TONOS
+0xFD	0x03CD	#	GREEK SMALL LETTER UPSILON WITH TONOS
+0xFE	0x03CE	#	GREEK SMALL LETTER OMEGA WITH TONOS

+ 270 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-8.TXT

@@ -0,0 +1,270 @@
+#
+#	Name:             ISO/IEC 8859-8:1999 to Unicode
+#	Unicode version:  3.0
+#	Table version:    1.1
+#	Table format:     Format A
+#	Date:             2000-Jan-03
+#	Authors:          Ken Whistler <kenw@sybase.com>
+#
+#	Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
+#
+#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#	No claims are made as to fitness for any particular purpose.  No
+#	warranties of any kind are expressed or implied.  The recipient
+#	agrees to determine applicability of information provided.  If this
+#	file has been provided on optical media by Unicode, Inc., the sole
+#	remedy for any claim will be exchange of defective media within 90
+#	days of receipt.
+#
+#	Unicode, Inc. hereby grants the right to freely use the information
+#	supplied in this file in the creation of products supporting the
+#	Unicode Standard, and to make copies of this file in any form for
+#	internal or external distribution as long as this notice remains
+#	attached.
+#
+#	General notes:
+#
+#	This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-8:1999 characters map into Unicode.
+#
+#	Format:  Three tab-separated columns
+#		 Column #1 is the ISO/IEC 8859-8 code (in hex as 0xXX)
+#		 Column #2 is the Unicode (in hex as 0xXXXX)
+#		 Column #3 the Unicode name (follows a comment sign, '#')
+#
+#	The entries are in ISO/IEC 8859-8 order.
+#
+#	Version history
+#	1.0 version updates 0.1 version by adding mappings for all
+#	control characters.
+#       1.1 version updates to the published 8859-8:1999, correcting
+#          the mapping of 0xAF and adding mappings for LRM and RLM.
+#
+#	Updated versions of this file may be found in:
+#		<ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#	Any comments or problems, contact <errata@unicode.org>
+#	Please note that <errata@unicode.org> is an archival address;
+#	notices will be checked, but do not expect an immediate response.
+#
+0x00	0x0000	#	NULL
+0x01	0x0001	#	START OF HEADING
+0x02	0x0002	#	START OF TEXT
+0x03	0x0003	#	END OF TEXT
+0x04	0x0004	#	END OF TRANSMISSION
+0x05	0x0005	#	ENQUIRY
+0x06	0x0006	#	ACKNOWLEDGE
+0x07	0x0007	#	BELL
+0x08	0x0008	#	BACKSPACE
+0x09	0x0009	#	HORIZONTAL TABULATION
+0x0A	0x000A	#	LINE FEED
+0x0B	0x000B	#	VERTICAL TABULATION
+0x0C	0x000C	#	FORM FEED
+0x0D	0x000D	#	CARRIAGE RETURN
+0x0E	0x000E	#	SHIFT OUT
+0x0F	0x000F	#	SHIFT IN
+0x10	0x0010	#	DATA LINK ESCAPE
+0x11	0x0011	#	DEVICE CONTROL ONE
+0x12	0x0012	#	DEVICE CONTROL TWO
+0x13	0x0013	#	DEVICE CONTROL THREE
+0x14	0x0014	#	DEVICE CONTROL FOUR
+0x15	0x0015	#	NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#	SYNCHRONOUS IDLE
+0x17	0x0017	#	END OF TRANSMISSION BLOCK
+0x18	0x0018	#	CANCEL
+0x19	0x0019	#	END OF MEDIUM
+0x1A	0x001A	#	SUBSTITUTE
+0x1B	0x001B	#	ESCAPE
+0x1C	0x001C	#	FILE SEPARATOR
+0x1D	0x001D	#	GROUP SEPARATOR
+0x1E	0x001E	#	RECORD SEPARATOR
+0x1F	0x001F	#	UNIT SEPARATOR
+0x20	0x0020	#	SPACE
+0x21	0x0021	#	EXCLAMATION MARK
+0x22	0x0022	#	QUOTATION MARK
+0x23	0x0023	#	NUMBER SIGN
+0x24	0x0024	#	DOLLAR SIGN
+0x25	0x0025	#	PERCENT SIGN
+0x26	0x0026	#	AMPERSAND
+0x27	0x0027	#	APOSTROPHE
+0x28	0x0028	#	LEFT PARENTHESIS
+0x29	0x0029	#	RIGHT PARENTHESIS
+0x2A	0x002A	#	ASTERISK
+0x2B	0x002B	#	PLUS SIGN
+0x2C	0x002C	#	COMMA
+0x2D	0x002D	#	HYPHEN-MINUS
+0x2E	0x002E	#	FULL STOP
+0x2F	0x002F	#	SOLIDUS
+0x30	0x0030	#	DIGIT ZERO
+0x31	0x0031	#	DIGIT ONE
+0x32	0x0032	#	DIGIT TWO
+0x33	0x0033	#	DIGIT THREE
+0x34	0x0034	#	DIGIT FOUR
+0x35	0x0035	#	DIGIT FIVE
+0x36	0x0036	#	DIGIT SIX
+0x37	0x0037	#	DIGIT SEVEN
+0x38	0x0038	#	DIGIT EIGHT
+0x39	0x0039	#	DIGIT NINE
+0x3A	0x003A	#	COLON
+0x3B	0x003B	#	SEMICOLON
+0x3C	0x003C	#	LESS-THAN SIGN
+0x3D	0x003D	#	EQUALS SIGN
+0x3E	0x003E	#	GREATER-THAN SIGN
+0x3F	0x003F	#	QUESTION MARK
+0x40	0x0040	#	COMMERCIAL AT
+0x41	0x0041	#	LATIN CAPITAL LETTER A
+0x42	0x0042	#	LATIN CAPITAL LETTER B
+0x43	0x0043	#	LATIN CAPITAL LETTER C
+0x44	0x0044	#	LATIN CAPITAL LETTER D
+0x45	0x0045	#	LATIN CAPITAL LETTER E
+0x46	0x0046	#	LATIN CAPITAL LETTER F
+0x47	0x0047	#	LATIN CAPITAL LETTER G
+0x48	0x0048	#	LATIN CAPITAL LETTER H
+0x49	0x0049	#	LATIN CAPITAL LETTER I
+0x4A	0x004A	#	LATIN CAPITAL LETTER J
+0x4B	0x004B	#	LATIN CAPITAL LETTER K
+0x4C	0x004C	#	LATIN CAPITAL LETTER L
+0x4D	0x004D	#	LATIN CAPITAL LETTER M
+0x4E	0x004E	#	LATIN CAPITAL LETTER N
+0x4F	0x004F	#	LATIN CAPITAL LETTER O
+0x50	0x0050	#	LATIN CAPITAL LETTER P
+0x51	0x0051	#	LATIN CAPITAL LETTER Q
+0x52	0x0052	#	LATIN CAPITAL LETTER R
+0x53	0x0053	#	LATIN CAPITAL LETTER S
+0x54	0x0054	#	LATIN CAPITAL LETTER T
+0x55	0x0055	#	LATIN CAPITAL LETTER U
+0x56	0x0056	#	LATIN CAPITAL LETTER V
+0x57	0x0057	#	LATIN CAPITAL LETTER W
+0x58	0x0058	#	LATIN CAPITAL LETTER X
+0x59	0x0059	#	LATIN CAPITAL LETTER Y
+0x5A	0x005A	#	LATIN CAPITAL LETTER Z
+0x5B	0x005B	#	LEFT SQUARE BRACKET
+0x5C	0x005C	#	REVERSE SOLIDUS
+0x5D	0x005D	#	RIGHT SQUARE BRACKET
+0x5E	0x005E	#	CIRCUMFLEX ACCENT
+0x5F	0x005F	#	LOW LINE
+0x60	0x0060	#	GRAVE ACCENT
+0x61	0x0061	#	LATIN SMALL LETTER A
+0x62	0x0062	#	LATIN SMALL LETTER B
+0x63	0x0063	#	LATIN SMALL LETTER C
+0x64	0x0064	#	LATIN SMALL LETTER D
+0x65	0x0065	#	LATIN SMALL LETTER E
+0x66	0x0066	#	LATIN SMALL LETTER F
+0x67	0x0067	#	LATIN SMALL LETTER G
+0x68	0x0068	#	LATIN SMALL LETTER H
+0x69	0x0069	#	LATIN SMALL LETTER I
+0x6A	0x006A	#	LATIN SMALL LETTER J
+0x6B	0x006B	#	LATIN SMALL LETTER K
+0x6C	0x006C	#	LATIN SMALL LETTER L
+0x6D	0x006D	#	LATIN SMALL LETTER M
+0x6E	0x006E	#	LATIN SMALL LETTER N
+0x6F	0x006F	#	LATIN SMALL LETTER O
+0x70	0x0070	#	LATIN SMALL LETTER P
+0x71	0x0071	#	LATIN SMALL LETTER Q
+0x72	0x0072	#	LATIN SMALL LETTER R
+0x73	0x0073	#	LATIN SMALL LETTER S
+0x74	0x0074	#	LATIN SMALL LETTER T
+0x75	0x0075	#	LATIN SMALL LETTER U
+0x76	0x0076	#	LATIN SMALL LETTER V
+0x77	0x0077	#	LATIN SMALL LETTER W
+0x78	0x0078	#	LATIN SMALL LETTER X
+0x79	0x0079	#	LATIN SMALL LETTER Y
+0x7A	0x007A	#	LATIN SMALL LETTER Z
+0x7B	0x007B	#	LEFT CURLY BRACKET
+0x7C	0x007C	#	VERTICAL LINE
+0x7D	0x007D	#	RIGHT CURLY BRACKET
+0x7E	0x007E	#	TILDE
+0x7F	0x007F	#	DELETE
+0x80	0x0080	#	<control>
+0x81	0x0081	#	<control>
+0x82	0x0082	#	<control>
+0x83	0x0083	#	<control>
+0x84	0x0084	#	<control>
+0x85	0x0085	#	<control>
+0x86	0x0086	#	<control>
+0x87	0x0087	#	<control>
+0x88	0x0088	#	<control>
+0x89	0x0089	#	<control>
+0x8A	0x008A	#	<control>
+0x8B	0x008B	#	<control>
+0x8C	0x008C	#	<control>
+0x8D	0x008D	#	<control>
+0x8E	0x008E	#	<control>
+0x8F	0x008F	#	<control>
+0x90	0x0090	#	<control>
+0x91	0x0091	#	<control>
+0x92	0x0092	#	<control>
+0x93	0x0093	#	<control>
+0x94	0x0094	#	<control>
+0x95	0x0095	#	<control>
+0x96	0x0096	#	<control>
+0x97	0x0097	#	<control>
+0x98	0x0098	#	<control>
+0x99	0x0099	#	<control>
+0x9A	0x009A	#	<control>
+0x9B	0x009B	#	<control>
+0x9C	0x009C	#	<control>
+0x9D	0x009D	#	<control>
+0x9E	0x009E	#	<control>
+0x9F	0x009F	#	<control>
+0xA0	0x00A0	#	NO-BREAK SPACE
+0xA2	0x00A2	#	CENT SIGN
+0xA3	0x00A3	#	POUND SIGN
+0xA4	0x00A4	#	CURRENCY SIGN
+0xA5	0x00A5	#	YEN SIGN
+0xA6	0x00A6	#	BROKEN BAR
+0xA7	0x00A7	#	SECTION SIGN
+0xA8	0x00A8	#	DIAERESIS
+0xA9	0x00A9	#	COPYRIGHT SIGN
+0xAA	0x00D7	#	MULTIPLICATION SIGN
+0xAB	0x00AB	#	LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC	0x00AC	#	NOT SIGN
+0xAD	0x00AD	#	SOFT HYPHEN
+0xAE	0x00AE	#	REGISTERED SIGN
+0xAF	0x00AF	#	MACRON
+0xB0	0x00B0	#	DEGREE SIGN
+0xB1	0x00B1	#	PLUS-MINUS SIGN
+0xB2	0x00B2	#	SUPERSCRIPT TWO
+0xB3	0x00B3	#	SUPERSCRIPT THREE
+0xB4	0x00B4	#	ACUTE ACCENT
+0xB5	0x00B5	#	MICRO SIGN
+0xB6	0x00B6	#	PILCROW SIGN
+0xB7	0x00B7	#	MIDDLE DOT
+0xB8	0x00B8	#	CEDILLA
+0xB9	0x00B9	#	SUPERSCRIPT ONE
+0xBA	0x00F7	#	DIVISION SIGN
+0xBB	0x00BB	#	RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC	0x00BC	#	VULGAR FRACTION ONE QUARTER
+0xBD	0x00BD	#	VULGAR FRACTION ONE HALF
+0xBE	0x00BE	#	VULGAR FRACTION THREE QUARTERS
+0xDF	0x2017	#	DOUBLE LOW LINE
+0xE0	0x05D0	#	HEBREW LETTER ALEF
+0xE1	0x05D1	#	HEBREW LETTER BET
+0xE2	0x05D2	#	HEBREW LETTER GIMEL
+0xE3	0x05D3	#	HEBREW LETTER DALET
+0xE4	0x05D4	#	HEBREW LETTER HE
+0xE5	0x05D5	#	HEBREW LETTER VAV
+0xE6	0x05D6	#	HEBREW LETTER ZAYIN
+0xE7	0x05D7	#	HEBREW LETTER HET
+0xE8	0x05D8	#	HEBREW LETTER TET
+0xE9	0x05D9	#	HEBREW LETTER YOD
+0xEA	0x05DA	#	HEBREW LETTER FINAL KAF
+0xEB	0x05DB	#	HEBREW LETTER KAF
+0xEC	0x05DC	#	HEBREW LETTER LAMED
+0xED	0x05DD	#	HEBREW LETTER FINAL MEM
+0xEE	0x05DE	#	HEBREW LETTER MEM
+0xEF	0x05DF	#	HEBREW LETTER FINAL NUN
+0xF0	0x05E0	#	HEBREW LETTER NUN
+0xF1	0x05E1	#	HEBREW LETTER SAMEKH
+0xF2	0x05E2	#	HEBREW LETTER AYIN
+0xF3	0x05E3	#	HEBREW LETTER FINAL PE
+0xF4	0x05E4	#	HEBREW LETTER PE
+0xF5	0x05E5	#	HEBREW LETTER FINAL TSADI
+0xF6	0x05E6	#	HEBREW LETTER TSADI
+0xF7	0x05E7	#	HEBREW LETTER QOF
+0xF8	0x05E8	#	HEBREW LETTER RESH
+0xF9	0x05E9	#	HEBREW LETTER SHIN
+0xFA	0x05EA	#	HEBREW LETTER TAV
+0xFD	0x200E	#	LEFT-TO-RIGHT MARK
+0xFE	0x200F	#	RIGHT-TO-LEFT MARK
+

+ 307 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/8859-9.TXT

@@ -0,0 +1,307 @@
+#
+#	Name:             ISO/IEC 8859-9:1999 to Unicode
+#	Unicode version:  3.0
+#	Table version:    1.0
+#	Table format:     Format A
+#	Date:             1999 July 27
+#	Authors:          Ken Whistler <kenw@sybase.com>
+#
+#	Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
+#
+#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#	No claims are made as to fitness for any particular purpose.  No
+#	warranties of any kind are expressed or implied.  The recipient
+#	agrees to determine applicability of information provided.  If this
+#	file has been provided on magnetic media by Unicode, Inc., the sole
+#	remedy for any claim will be exchange of defective media within 90
+#	days of receipt.
+#
+#	Unicode, Inc. hereby grants the right to freely use the information
+#	supplied in this file in the creation of products supporting the
+#	Unicode Standard, and to make copies of this file in any form for
+#	internal or external distribution as long as this notice remains
+#	attached.
+#
+#	General notes:
+#
+#	This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-9:1999 characters map into Unicode.
+#
+#	Format:  Three tab-separated columns
+#		 Column #1 is the ISO/IEC 8859-9 code (in hex as 0xXX)
+#		 Column #2 is the Unicode (in hex as 0xXXXX)
+#		 Column #3 the Unicode name (follows a comment sign, '#')
+#
+#	The entries are in ISO/IEC 8859-9 order.
+#
+#	ISO/IEC 8859-9 is also equivalent to ISO-IR-148.
+#
+#	Version history
+#	1.0 version updates 0.1 version by adding mappings for all
+#	control characters.
+#
+#	Updated versions of this file may be found in:
+#		<ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#	Any comments or problems, contact <errata@unicode.org>
+#	Please note that <errata@unicode.org> is an archival address;
+#	notices will be checked, but do not expect an immediate response.
+#
+0x00	0x0000	#	NULL
+0x01	0x0001	#	START OF HEADING
+0x02	0x0002	#	START OF TEXT
+0x03	0x0003	#	END OF TEXT
+0x04	0x0004	#	END OF TRANSMISSION
+0x05	0x0005	#	ENQUIRY
+0x06	0x0006	#	ACKNOWLEDGE
+0x07	0x0007	#	BELL
+0x08	0x0008	#	BACKSPACE
+0x09	0x0009	#	HORIZONTAL TABULATION
+0x0A	0x000A	#	LINE FEED
+0x0B	0x000B	#	VERTICAL TABULATION
+0x0C	0x000C	#	FORM FEED
+0x0D	0x000D	#	CARRIAGE RETURN
+0x0E	0x000E	#	SHIFT OUT
+0x0F	0x000F	#	SHIFT IN
+0x10	0x0010	#	DATA LINK ESCAPE
+0x11	0x0011	#	DEVICE CONTROL ONE
+0x12	0x0012	#	DEVICE CONTROL TWO
+0x13	0x0013	#	DEVICE CONTROL THREE
+0x14	0x0014	#	DEVICE CONTROL FOUR
+0x15	0x0015	#	NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#	SYNCHRONOUS IDLE
+0x17	0x0017	#	END OF TRANSMISSION BLOCK
+0x18	0x0018	#	CANCEL
+0x19	0x0019	#	END OF MEDIUM
+0x1A	0x001A	#	SUBSTITUTE
+0x1B	0x001B	#	ESCAPE
+0x1C	0x001C	#	FILE SEPARATOR
+0x1D	0x001D	#	GROUP SEPARATOR
+0x1E	0x001E	#	RECORD SEPARATOR
+0x1F	0x001F	#	UNIT SEPARATOR
+0x20	0x0020	#	SPACE
+0x21	0x0021	#	EXCLAMATION MARK
+0x22	0x0022	#	QUOTATION MARK
+0x23	0x0023	#	NUMBER SIGN
+0x24	0x0024	#	DOLLAR SIGN
+0x25	0x0025	#	PERCENT SIGN
+0x26	0x0026	#	AMPERSAND
+0x27	0x0027	#	APOSTROPHE
+0x28	0x0028	#	LEFT PARENTHESIS
+0x29	0x0029	#	RIGHT PARENTHESIS
+0x2A	0x002A	#	ASTERISK
+0x2B	0x002B	#	PLUS SIGN
+0x2C	0x002C	#	COMMA
+0x2D	0x002D	#	HYPHEN-MINUS
+0x2E	0x002E	#	FULL STOP
+0x2F	0x002F	#	SOLIDUS
+0x30	0x0030	#	DIGIT ZERO
+0x31	0x0031	#	DIGIT ONE
+0x32	0x0032	#	DIGIT TWO
+0x33	0x0033	#	DIGIT THREE
+0x34	0x0034	#	DIGIT FOUR
+0x35	0x0035	#	DIGIT FIVE
+0x36	0x0036	#	DIGIT SIX
+0x37	0x0037	#	DIGIT SEVEN
+0x38	0x0038	#	DIGIT EIGHT
+0x39	0x0039	#	DIGIT NINE
+0x3A	0x003A	#	COLON
+0x3B	0x003B	#	SEMICOLON
+0x3C	0x003C	#	LESS-THAN SIGN
+0x3D	0x003D	#	EQUALS SIGN
+0x3E	0x003E	#	GREATER-THAN SIGN
+0x3F	0x003F	#	QUESTION MARK
+0x40	0x0040	#	COMMERCIAL AT
+0x41	0x0041	#	LATIN CAPITAL LETTER A
+0x42	0x0042	#	LATIN CAPITAL LETTER B
+0x43	0x0043	#	LATIN CAPITAL LETTER C
+0x44	0x0044	#	LATIN CAPITAL LETTER D
+0x45	0x0045	#	LATIN CAPITAL LETTER E
+0x46	0x0046	#	LATIN CAPITAL LETTER F
+0x47	0x0047	#	LATIN CAPITAL LETTER G
+0x48	0x0048	#	LATIN CAPITAL LETTER H
+0x49	0x0049	#	LATIN CAPITAL LETTER I
+0x4A	0x004A	#	LATIN CAPITAL LETTER J
+0x4B	0x004B	#	LATIN CAPITAL LETTER K
+0x4C	0x004C	#	LATIN CAPITAL LETTER L
+0x4D	0x004D	#	LATIN CAPITAL LETTER M
+0x4E	0x004E	#	LATIN CAPITAL LETTER N
+0x4F	0x004F	#	LATIN CAPITAL LETTER O
+0x50	0x0050	#	LATIN CAPITAL LETTER P
+0x51	0x0051	#	LATIN CAPITAL LETTER Q
+0x52	0x0052	#	LATIN CAPITAL LETTER R
+0x53	0x0053	#	LATIN CAPITAL LETTER S
+0x54	0x0054	#	LATIN CAPITAL LETTER T
+0x55	0x0055	#	LATIN CAPITAL LETTER U
+0x56	0x0056	#	LATIN CAPITAL LETTER V
+0x57	0x0057	#	LATIN CAPITAL LETTER W
+0x58	0x0058	#	LATIN CAPITAL LETTER X
+0x59	0x0059	#	LATIN CAPITAL LETTER Y
+0x5A	0x005A	#	LATIN CAPITAL LETTER Z
+0x5B	0x005B	#	LEFT SQUARE BRACKET
+0x5C	0x005C	#	REVERSE SOLIDUS
+0x5D	0x005D	#	RIGHT SQUARE BRACKET
+0x5E	0x005E	#	CIRCUMFLEX ACCENT
+0x5F	0x005F	#	LOW LINE
+0x60	0x0060	#	GRAVE ACCENT
+0x61	0x0061	#	LATIN SMALL LETTER A
+0x62	0x0062	#	LATIN SMALL LETTER B
+0x63	0x0063	#	LATIN SMALL LETTER C
+0x64	0x0064	#	LATIN SMALL LETTER D
+0x65	0x0065	#	LATIN SMALL LETTER E
+0x66	0x0066	#	LATIN SMALL LETTER F
+0x67	0x0067	#	LATIN SMALL LETTER G
+0x68	0x0068	#	LATIN SMALL LETTER H
+0x69	0x0069	#	LATIN SMALL LETTER I
+0x6A	0x006A	#	LATIN SMALL LETTER J
+0x6B	0x006B	#	LATIN SMALL LETTER K
+0x6C	0x006C	#	LATIN SMALL LETTER L
+0x6D	0x006D	#	LATIN SMALL LETTER M
+0x6E	0x006E	#	LATIN SMALL LETTER N
+0x6F	0x006F	#	LATIN SMALL LETTER O
+0x70	0x0070	#	LATIN SMALL LETTER P
+0x71	0x0071	#	LATIN SMALL LETTER Q
+0x72	0x0072	#	LATIN SMALL LETTER R
+0x73	0x0073	#	LATIN SMALL LETTER S
+0x74	0x0074	#	LATIN SMALL LETTER T
+0x75	0x0075	#	LATIN SMALL LETTER U
+0x76	0x0076	#	LATIN SMALL LETTER V
+0x77	0x0077	#	LATIN SMALL LETTER W
+0x78	0x0078	#	LATIN SMALL LETTER X
+0x79	0x0079	#	LATIN SMALL LETTER Y
+0x7A	0x007A	#	LATIN SMALL LETTER Z
+0x7B	0x007B	#	LEFT CURLY BRACKET
+0x7C	0x007C	#	VERTICAL LINE
+0x7D	0x007D	#	RIGHT CURLY BRACKET
+0x7E	0x007E	#	TILDE
+0x7F	0x007F	#	DELETE
+0x80	0x0080	#	<control>
+0x81	0x0081	#	<control>
+0x82	0x0082	#	<control>
+0x83	0x0083	#	<control>
+0x84	0x0084	#	<control>
+0x85	0x0085	#	<control>
+0x86	0x0086	#	<control>
+0x87	0x0087	#	<control>
+0x88	0x0088	#	<control>
+0x89	0x0089	#	<control>
+0x8A	0x008A	#	<control>
+0x8B	0x008B	#	<control>
+0x8C	0x008C	#	<control>
+0x8D	0x008D	#	<control>
+0x8E	0x008E	#	<control>
+0x8F	0x008F	#	<control>
+0x90	0x0090	#	<control>
+0x91	0x0091	#	<control>
+0x92	0x0092	#	<control>
+0x93	0x0093	#	<control>
+0x94	0x0094	#	<control>
+0x95	0x0095	#	<control>
+0x96	0x0096	#	<control>
+0x97	0x0097	#	<control>
+0x98	0x0098	#	<control>
+0x99	0x0099	#	<control>
+0x9A	0x009A	#	<control>
+0x9B	0x009B	#	<control>
+0x9C	0x009C	#	<control>
+0x9D	0x009D	#	<control>
+0x9E	0x009E	#	<control>
+0x9F	0x009F	#	<control>
+0xA0	0x00A0	#	NO-BREAK SPACE
+0xA1	0x00A1	#	INVERTED EXCLAMATION MARK
+0xA2	0x00A2	#	CENT SIGN
+0xA3	0x00A3	#	POUND SIGN
+0xA4	0x00A4	#	CURRENCY SIGN
+0xA5	0x00A5	#	YEN SIGN
+0xA6	0x00A6	#	BROKEN BAR
+0xA7	0x00A7	#	SECTION SIGN
+0xA8	0x00A8	#	DIAERESIS
+0xA9	0x00A9	#	COPYRIGHT SIGN
+0xAA	0x00AA	#	FEMININE ORDINAL INDICATOR
+0xAB	0x00AB	#	LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC	0x00AC	#	NOT SIGN
+0xAD	0x00AD	#	SOFT HYPHEN
+0xAE	0x00AE	#	REGISTERED SIGN
+0xAF	0x00AF	#	MACRON
+0xB0	0x00B0	#	DEGREE SIGN
+0xB1	0x00B1	#	PLUS-MINUS SIGN
+0xB2	0x00B2	#	SUPERSCRIPT TWO
+0xB3	0x00B3	#	SUPERSCRIPT THREE
+0xB4	0x00B4	#	ACUTE ACCENT
+0xB5	0x00B5	#	MICRO SIGN
+0xB6	0x00B6	#	PILCROW SIGN
+0xB7	0x00B7	#	MIDDLE DOT
+0xB8	0x00B8	#	CEDILLA
+0xB9	0x00B9	#	SUPERSCRIPT ONE
+0xBA	0x00BA	#	MASCULINE ORDINAL INDICATOR
+0xBB	0x00BB	#	RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC	0x00BC	#	VULGAR FRACTION ONE QUARTER
+0xBD	0x00BD	#	VULGAR FRACTION ONE HALF
+0xBE	0x00BE	#	VULGAR FRACTION THREE QUARTERS
+0xBF	0x00BF	#	INVERTED QUESTION MARK
+0xC0	0x00C0	#	LATIN CAPITAL LETTER A WITH GRAVE
+0xC1	0x00C1	#	LATIN CAPITAL LETTER A WITH ACUTE
+0xC2	0x00C2	#	LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3	0x00C3	#	LATIN CAPITAL LETTER A WITH TILDE
+0xC4	0x00C4	#	LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5	0x00C5	#	LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6	0x00C6	#	LATIN CAPITAL LETTER AE
+0xC7	0x00C7	#	LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8	0x00C8	#	LATIN CAPITAL LETTER E WITH GRAVE
+0xC9	0x00C9	#	LATIN CAPITAL LETTER E WITH ACUTE
+0xCA	0x00CA	#	LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB	0x00CB	#	LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC	0x00CC	#	LATIN CAPITAL LETTER I WITH GRAVE
+0xCD	0x00CD	#	LATIN CAPITAL LETTER I WITH ACUTE
+0xCE	0x00CE	#	LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF	0x00CF	#	LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0	0x011E	#	LATIN CAPITAL LETTER G WITH BREVE
+0xD1	0x00D1	#	LATIN CAPITAL LETTER N WITH TILDE
+0xD2	0x00D2	#	LATIN CAPITAL LETTER O WITH GRAVE
+0xD3	0x00D3	#	LATIN CAPITAL LETTER O WITH ACUTE
+0xD4	0x00D4	#	LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5	0x00D5	#	LATIN CAPITAL LETTER O WITH TILDE
+0xD6	0x00D6	#	LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7	0x00D7	#	MULTIPLICATION SIGN
+0xD8	0x00D8	#	LATIN CAPITAL LETTER O WITH STROKE
+0xD9	0x00D9	#	LATIN CAPITAL LETTER U WITH GRAVE
+0xDA	0x00DA	#	LATIN CAPITAL LETTER U WITH ACUTE
+0xDB	0x00DB	#	LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC	0x00DC	#	LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD	0x0130	#	LATIN CAPITAL LETTER I WITH DOT ABOVE
+0xDE	0x015E	#	LATIN CAPITAL LETTER S WITH CEDILLA
+0xDF	0x00DF	#	LATIN SMALL LETTER SHARP S
+0xE0	0x00E0	#	LATIN SMALL LETTER A WITH GRAVE
+0xE1	0x00E1	#	LATIN SMALL LETTER A WITH ACUTE
+0xE2	0x00E2	#	LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3	0x00E3	#	LATIN SMALL LETTER A WITH TILDE
+0xE4	0x00E4	#	LATIN SMALL LETTER A WITH DIAERESIS
+0xE5	0x00E5	#	LATIN SMALL LETTER A WITH RING ABOVE
+0xE6	0x00E6	#	LATIN SMALL LETTER AE
+0xE7	0x00E7	#	LATIN SMALL LETTER C WITH CEDILLA
+0xE8	0x00E8	#	LATIN SMALL LETTER E WITH GRAVE
+0xE9	0x00E9	#	LATIN SMALL LETTER E WITH ACUTE
+0xEA	0x00EA	#	LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB	0x00EB	#	LATIN SMALL LETTER E WITH DIAERESIS
+0xEC	0x00EC	#	LATIN SMALL LETTER I WITH GRAVE
+0xED	0x00ED	#	LATIN SMALL LETTER I WITH ACUTE
+0xEE	0x00EE	#	LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF	0x00EF	#	LATIN SMALL LETTER I WITH DIAERESIS
+0xF0	0x011F	#	LATIN SMALL LETTER G WITH BREVE
+0xF1	0x00F1	#	LATIN SMALL LETTER N WITH TILDE
+0xF2	0x00F2	#	LATIN SMALL LETTER O WITH GRAVE
+0xF3	0x00F3	#	LATIN SMALL LETTER O WITH ACUTE
+0xF4	0x00F4	#	LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5	0x00F5	#	LATIN SMALL LETTER O WITH TILDE
+0xF6	0x00F6	#	LATIN SMALL LETTER O WITH DIAERESIS
+0xF7	0x00F7	#	DIVISION SIGN
+0xF8	0x00F8	#	LATIN SMALL LETTER O WITH STROKE
+0xF9	0x00F9	#	LATIN SMALL LETTER U WITH GRAVE
+0xFA	0x00FA	#	LATIN SMALL LETTER U WITH ACUTE
+0xFB	0x00FB	#	LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC	0x00FC	#	LATIN SMALL LETTER U WITH DIAERESIS
+0xFD	0x0131	#	LATIN SMALL LETTER DOTLESS I
+0xFE	0x015F	#	LATIN SMALL LETTER S WITH CEDILLA
+0xFF	0x00FF	#	LATIN SMALL LETTER Y WITH DIAERESIS
+
+

+ 32 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ISO8859/ReadMe.txt

@@ -0,0 +1,32 @@
+8859 to Unicode mapping tables.
+
+October 12, 2005
+
+These tables are considered to be authoritative mappings
+between the Unicode Standard and different parts of
+the ISO/IEC 8859 standard.
+
+Mappings between these standards are done on the basis
+of the character names and UCS identifications published
+in each part of ISO/IEC 8859, in the revised editions
+of each part of the standard.
+
+In cases where prior mappings to ISO/IEC 8859 differed in
+some substantial way from the most recent mapping, or where
+characters have been added to a part of ISO/IEC 8859, earlier
+versions are archived in the DatedVersions directory, with
+the relevant year of the published part of ISO/IEC 8859
+as part of the mapping table filename, to indicate which
+edition the mapping was intended for. The archived mappings
+tables can be used to verify mappings which may have been
+implemented in earlier versions of software.
+
+Note that most of these tables internally refer to an
+out-of-date mechanism for reporting errors, using an "errata"
+email address that is no longer in service. Any errors
+should instead be reported using the Unicode Consortium's
+reporting form:
+
+	<http://www.unicode.org/reporting.html>
+	
+	

+ 18 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/ReadMe.txt

@@ -0,0 +1,18 @@
+Notes on contents of the MAPPING directory:
+
+EASTASIA:
+	This directory is obsolete.
+
+ETSI:
+	ETSI GSM 03.38 7-bit default alphabet mapping.
+
+ISO8859:
+	These are the mapping tables of the ISO 8859 series (1 - 16).
+
+OBSOLETE:
+	Obsolete and unsupported mapping tables for historical
+	and archival purposes only.
+
+VENDORS:
+	Miscellaneous mapping tables for small codesets, typically provided
+	by vendors. The majority of current, useful tables are here.

+ 275 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP037.TXT

@@ -0,0 +1,275 @@
+#
+#    Name:     cp037_IBMUSCanada to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#    
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp037_IBMUSCanada code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp037_IBMUSCanada order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x009C	#CONTROL
+0x05	0x0009	#HORIZONTAL TABULATION
+0x06	0x0086	#CONTROL
+0x07	0x007F	#DELETE
+0x08	0x0097	#CONTROL
+0x09	0x008D	#CONTROL
+0x0A	0x008E	#CONTROL
+0x0B	0x000B	#VERTICAL TABULATION
+0x0C	0x000C	#FORM FEED
+0x0D	0x000D	#CARRIAGE RETURN
+0x0E	0x000E	#SHIFT OUT
+0x0F	0x000F	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x009D	#CONTROL
+0x15	0x0085	#CONTROL
+0x16	0x0008	#BACKSPACE
+0x17	0x0087	#CONTROL
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1A	0x0092	#CONTROL
+0x1B	0x008F	#CONTROL
+0x1C	0x001C	#FILE SEPARATOR
+0x1D	0x001D	#GROUP SEPARATOR
+0x1E	0x001E	#RECORD SEPARATOR
+0x1F	0x001F	#UNIT SEPARATOR
+0x20	0x0080	#CONTROL
+0x21	0x0081	#CONTROL
+0x22	0x0082	#CONTROL
+0x23	0x0083	#CONTROL
+0x24	0x0084	#CONTROL
+0x25	0x000A	#LINE FEED
+0x26	0x0017	#END OF TRANSMISSION BLOCK
+0x27	0x001B	#ESCAPE
+0x28	0x0088	#CONTROL
+0x29	0x0089	#CONTROL
+0x2A	0x008A	#CONTROL
+0x2B	0x008B	#CONTROL
+0x2C	0x008C	#CONTROL
+0x2D	0x0005	#ENQUIRY
+0x2E	0x0006	#ACKNOWLEDGE
+0x2F	0x0007	#BELL
+0x30	0x0090	#CONTROL
+0x31	0x0091	#CONTROL
+0x32	0x0016	#SYNCHRONOUS IDLE
+0x33	0x0093	#CONTROL
+0x34	0x0094	#CONTROL
+0x35	0x0095	#CONTROL
+0x36	0x0096	#CONTROL
+0x37	0x0004	#END OF TRANSMISSION
+0x38	0x0098	#CONTROL
+0x39	0x0099	#CONTROL
+0x3A	0x009A	#CONTROL
+0x3B	0x009B	#CONTROL
+0x3C	0x0014	#DEVICE CONTROL FOUR
+0x3D	0x0015	#NEGATIVE ACKNOWLEDGE
+0x3E	0x009E	#CONTROL
+0x3F	0x001A	#SUBSTITUTE
+0x40	0x0020	#SPACE
+0x41	0x00A0	#NO-BREAK SPACE
+0x42	0x00E2	#LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x43	0x00E4	#LATIN SMALL LETTER A WITH DIAERESIS
+0x44	0x00E0	#LATIN SMALL LETTER A WITH GRAVE
+0x45	0x00E1	#LATIN SMALL LETTER A WITH ACUTE
+0x46	0x00E3	#LATIN SMALL LETTER A WITH TILDE
+0x47	0x00E5	#LATIN SMALL LETTER A WITH RING ABOVE
+0x48	0x00E7	#LATIN SMALL LETTER C WITH CEDILLA
+0x49	0x00F1	#LATIN SMALL LETTER N WITH TILDE
+0x4A	0x00A2	#CENT SIGN
+0x4B	0x002E	#FULL STOP
+0x4C	0x003C	#LESS-THAN SIGN
+0x4D	0x0028	#LEFT PARENTHESIS
+0x4E	0x002B	#PLUS SIGN
+0x4F	0x007C	#VERTICAL LINE
+0x50	0x0026	#AMPERSAND
+0x51	0x00E9	#LATIN SMALL LETTER E WITH ACUTE
+0x52	0x00EA	#LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x53	0x00EB	#LATIN SMALL LETTER E WITH DIAERESIS
+0x54	0x00E8	#LATIN SMALL LETTER E WITH GRAVE
+0x55	0x00ED	#LATIN SMALL LETTER I WITH ACUTE
+0x56	0x00EE	#LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x57	0x00EF	#LATIN SMALL LETTER I WITH DIAERESIS
+0x58	0x00EC	#LATIN SMALL LETTER I WITH GRAVE
+0x59	0x00DF	#LATIN SMALL LETTER SHARP S (GERMAN)
+0x5A	0x0021	#EXCLAMATION MARK
+0x5B	0x0024	#DOLLAR SIGN
+0x5C	0x002A	#ASTERISK
+0x5D	0x0029	#RIGHT PARENTHESIS
+0x5E	0x003B	#SEMICOLON
+0x5F	0x00AC	#NOT SIGN
+0x60	0x002D	#HYPHEN-MINUS
+0x61	0x002F	#SOLIDUS
+0x62	0x00C2	#LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0x63	0x00C4	#LATIN CAPITAL LETTER A WITH DIAERESIS
+0x64	0x00C0	#LATIN CAPITAL LETTER A WITH GRAVE
+0x65	0x00C1	#LATIN CAPITAL LETTER A WITH ACUTE
+0x66	0x00C3	#LATIN CAPITAL LETTER A WITH TILDE
+0x67	0x00C5	#LATIN CAPITAL LETTER A WITH RING ABOVE
+0x68	0x00C7	#LATIN CAPITAL LETTER C WITH CEDILLA
+0x69	0x00D1	#LATIN CAPITAL LETTER N WITH TILDE
+0x6A	0x00A6	#BROKEN BAR
+0x6B	0x002C	#COMMA
+0x6C	0x0025	#PERCENT SIGN
+0x6D	0x005F	#LOW LINE
+0x6E	0x003E	#GREATER-THAN SIGN
+0x6F	0x003F	#QUESTION MARK
+0x70	0x00F8	#LATIN SMALL LETTER O WITH STROKE
+0x71	0x00C9	#LATIN CAPITAL LETTER E WITH ACUTE
+0x72	0x00CA	#LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0x73	0x00CB	#LATIN CAPITAL LETTER E WITH DIAERESIS
+0x74	0x00C8	#LATIN CAPITAL LETTER E WITH GRAVE
+0x75	0x00CD	#LATIN CAPITAL LETTER I WITH ACUTE
+0x76	0x00CE	#LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0x77	0x00CF	#LATIN CAPITAL LETTER I WITH DIAERESIS
+0x78	0x00CC	#LATIN CAPITAL LETTER I WITH GRAVE
+0x79	0x0060	#GRAVE ACCENT
+0x7A	0x003A	#COLON
+0x7B	0x0023	#NUMBER SIGN
+0x7C	0x0040	#COMMERCIAL AT
+0x7D	0x0027	#APOSTROPHE
+0x7E	0x003D	#EQUALS SIGN
+0x7F	0x0022	#QUOTATION MARK
+0x80	0x00D8	#LATIN CAPITAL LETTER O WITH STROKE
+0x81	0x0061	#LATIN SMALL LETTER A
+0x82	0x0062	#LATIN SMALL LETTER B
+0x83	0x0063	#LATIN SMALL LETTER C
+0x84	0x0064	#LATIN SMALL LETTER D
+0x85	0x0065	#LATIN SMALL LETTER E
+0x86	0x0066	#LATIN SMALL LETTER F
+0x87	0x0067	#LATIN SMALL LETTER G
+0x88	0x0068	#LATIN SMALL LETTER H
+0x89	0x0069	#LATIN SMALL LETTER I
+0x8A	0x00AB	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0x8B	0x00BB	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0x8C	0x00F0	#LATIN SMALL LETTER ETH (ICELANDIC)
+0x8D	0x00FD	#LATIN SMALL LETTER Y WITH ACUTE
+0x8E	0x00FE	#LATIN SMALL LETTER THORN (ICELANDIC)
+0x8F	0x00B1	#PLUS-MINUS SIGN
+0x90	0x00B0	#DEGREE SIGN
+0x91	0x006A	#LATIN SMALL LETTER J
+0x92	0x006B	#LATIN SMALL LETTER K
+0x93	0x006C	#LATIN SMALL LETTER L
+0x94	0x006D	#LATIN SMALL LETTER M
+0x95	0x006E	#LATIN SMALL LETTER N
+0x96	0x006F	#LATIN SMALL LETTER O
+0x97	0x0070	#LATIN SMALL LETTER P
+0x98	0x0071	#LATIN SMALL LETTER Q
+0x99	0x0072	#LATIN SMALL LETTER R
+0x9A	0x00AA	#FEMININE ORDINAL INDICATOR
+0x9B	0x00BA	#MASCULINE ORDINAL INDICATOR
+0x9C	0x00E6	#LATIN SMALL LIGATURE AE
+0x9D	0x00B8	#CEDILLA
+0x9E	0x00C6	#LATIN CAPITAL LIGATURE AE
+0x9F	0x00A4	#CURRENCY SIGN
+0xA0	0x00B5	#MICRO SIGN
+0xA1	0x007E	#TILDE
+0xA2	0x0073	#LATIN SMALL LETTER S
+0xA3	0x0074	#LATIN SMALL LETTER T
+0xA4	0x0075	#LATIN SMALL LETTER U
+0xA5	0x0076	#LATIN SMALL LETTER V
+0xA6	0x0077	#LATIN SMALL LETTER W
+0xA7	0x0078	#LATIN SMALL LETTER X
+0xA8	0x0079	#LATIN SMALL LETTER Y
+0xA9	0x007A	#LATIN SMALL LETTER Z
+0xAA	0x00A1	#INVERTED EXCLAMATION MARK
+0xAB	0x00BF	#INVERTED QUESTION MARK
+0xAC	0x00D0	#LATIN CAPITAL LETTER ETH (ICELANDIC)
+0xAD	0x00DD	#LATIN CAPITAL LETTER Y WITH ACUTE
+0xAE	0x00DE	#LATIN CAPITAL LETTER THORN (ICELANDIC)
+0xAF	0x00AE	#REGISTERED SIGN
+0xB0	0x005E	#CIRCUMFLEX ACCENT
+0xB1	0x00A3	#POUND SIGN
+0xB2	0x00A5	#YEN SIGN
+0xB3	0x00B7	#MIDDLE DOT
+0xB4	0x00A9	#COPYRIGHT SIGN
+0xB5	0x00A7	#SECTION SIGN
+0xB6	0x00B6	#PILCROW SIGN
+0xB7	0x00BC	#VULGAR FRACTION ONE QUARTER
+0xB8	0x00BD	#VULGAR FRACTION ONE HALF
+0xB9	0x00BE	#VULGAR FRACTION THREE QUARTERS
+0xBA	0x005B	#LEFT SQUARE BRACKET
+0xBB	0x005D	#RIGHT SQUARE BRACKET
+0xBC	0x00AF	#MACRON
+0xBD	0x00A8	#DIAERESIS
+0xBE	0x00B4	#ACUTE ACCENT
+0xBF	0x00D7	#MULTIPLICATION SIGN
+0xC0	0x007B	#LEFT CURLY BRACKET
+0xC1	0x0041	#LATIN CAPITAL LETTER A
+0xC2	0x0042	#LATIN CAPITAL LETTER B
+0xC3	0x0043	#LATIN CAPITAL LETTER C
+0xC4	0x0044	#LATIN CAPITAL LETTER D
+0xC5	0x0045	#LATIN CAPITAL LETTER E
+0xC6	0x0046	#LATIN CAPITAL LETTER F
+0xC7	0x0047	#LATIN CAPITAL LETTER G
+0xC8	0x0048	#LATIN CAPITAL LETTER H
+0xC9	0x0049	#LATIN CAPITAL LETTER I
+0xCA	0x00AD	#SOFT HYPHEN
+0xCB	0x00F4	#LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xCC	0x00F6	#LATIN SMALL LETTER O WITH DIAERESIS
+0xCD	0x00F2	#LATIN SMALL LETTER O WITH GRAVE
+0xCE	0x00F3	#LATIN SMALL LETTER O WITH ACUTE
+0xCF	0x00F5	#LATIN SMALL LETTER O WITH TILDE
+0xD0	0x007D	#RIGHT CURLY BRACKET
+0xD1	0x004A	#LATIN CAPITAL LETTER J
+0xD2	0x004B	#LATIN CAPITAL LETTER K
+0xD3	0x004C	#LATIN CAPITAL LETTER L
+0xD4	0x004D	#LATIN CAPITAL LETTER M
+0xD5	0x004E	#LATIN CAPITAL LETTER N
+0xD6	0x004F	#LATIN CAPITAL LETTER O
+0xD7	0x0050	#LATIN CAPITAL LETTER P
+0xD8	0x0051	#LATIN CAPITAL LETTER Q
+0xD9	0x0052	#LATIN CAPITAL LETTER R
+0xDA	0x00B9	#SUPERSCRIPT ONE
+0xDB	0x00FB	#LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xDC	0x00FC	#LATIN SMALL LETTER U WITH DIAERESIS
+0xDD	0x00F9	#LATIN SMALL LETTER U WITH GRAVE
+0xDE	0x00FA	#LATIN SMALL LETTER U WITH ACUTE
+0xDF	0x00FF	#LATIN SMALL LETTER Y WITH DIAERESIS
+0xE0	0x005C	#REVERSE SOLIDUS
+0xE1	0x00F7	#DIVISION SIGN
+0xE2	0x0053	#LATIN CAPITAL LETTER S
+0xE3	0x0054	#LATIN CAPITAL LETTER T
+0xE4	0x0055	#LATIN CAPITAL LETTER U
+0xE5	0x0056	#LATIN CAPITAL LETTER V
+0xE6	0x0057	#LATIN CAPITAL LETTER W
+0xE7	0x0058	#LATIN CAPITAL LETTER X
+0xE8	0x0059	#LATIN CAPITAL LETTER Y
+0xE9	0x005A	#LATIN CAPITAL LETTER Z
+0xEA	0x00B2	#SUPERSCRIPT TWO
+0xEB	0x00D4	#LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xEC	0x00D6	#LATIN CAPITAL LETTER O WITH DIAERESIS
+0xED	0x00D2	#LATIN CAPITAL LETTER O WITH GRAVE
+0xEE	0x00D3	#LATIN CAPITAL LETTER O WITH ACUTE
+0xEF	0x00D5	#LATIN CAPITAL LETTER O WITH TILDE
+0xF0	0x0030	#DIGIT ZERO
+0xF1	0x0031	#DIGIT ONE
+0xF2	0x0032	#DIGIT TWO
+0xF3	0x0033	#DIGIT THREE
+0xF4	0x0034	#DIGIT FOUR
+0xF5	0x0035	#DIGIT FIVE
+0xF6	0x0036	#DIGIT SIX
+0xF7	0x0037	#DIGIT SEVEN
+0xF8	0x0038	#DIGIT EIGHT
+0xF9	0x0039	#DIGIT NINE
+0xFA	0x00B3	#SUPERSCRIPT THREE
+0xFB	0x00DB	#LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xFC	0x00DC	#LATIN CAPITAL LETTER U WITH DIAERESIS
+0xFD	0x00D9	#LATIN CAPITAL LETTER U WITH GRAVE
+0xFE	0x00DA	#LATIN CAPITAL LETTER U WITH ACUTE
+0xFF	0x009F	#CONTROL
+
+

+ 275 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP1026.TXT

@@ -0,0 +1,275 @@
+#
+#    Name:     cp1026_IBMLatin5Turkish to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#         
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp1026_IBMLatin5Turkish code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp1026_IBMLatin5Turkish order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x009C	#CONTROL
+0x05	0x0009	#HORIZONTAL TABULATION
+0x06	0x0086	#CONTROL
+0x07	0x007F	#DELETE
+0x08	0x0097	#CONTROL
+0x09	0x008D	#CONTROL
+0x0A	0x008E	#CONTROL
+0x0B	0x000B	#VERTICAL TABULATION
+0x0C	0x000C	#FORM FEED
+0x0D	0x000D	#CARRIAGE RETURN
+0x0E	0x000E	#SHIFT OUT
+0x0F	0x000F	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x009D	#CONTROL
+0x15	0x0085	#CONTROL
+0x16	0x0008	#BACKSPACE
+0x17	0x0087	#CONTROL
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1A	0x0092	#CONTROL
+0x1B	0x008F	#CONTROL
+0x1C	0x001C	#FILE SEPARATOR
+0x1D	0x001D	#GROUP SEPARATOR
+0x1E	0x001E	#RECORD SEPARATOR
+0x1F	0x001F	#UNIT SEPARATOR
+0x20	0x0080	#CONTROL
+0x21	0x0081	#CONTROL
+0x22	0x0082	#CONTROL
+0x23	0x0083	#CONTROL
+0x24	0x0084	#CONTROL
+0x25	0x000A	#LINE FEED
+0x26	0x0017	#END OF TRANSMISSION BLOCK
+0x27	0x001B	#ESCAPE
+0x28	0x0088	#CONTROL
+0x29	0x0089	#CONTROL
+0x2A	0x008A	#CONTROL
+0x2B	0x008B	#CONTROL
+0x2C	0x008C	#CONTROL
+0x2D	0x0005	#ENQUIRY
+0x2E	0x0006	#ACKNOWLEDGE
+0x2F	0x0007	#BELL
+0x30	0x0090	#CONTROL
+0x31	0x0091	#CONTROL
+0x32	0x0016	#SYNCHRONOUS IDLE
+0x33	0x0093	#CONTROL
+0x34	0x0094	#CONTROL
+0x35	0x0095	#CONTROL
+0x36	0x0096	#CONTROL
+0x37	0x0004	#END OF TRANSMISSION
+0x38	0x0098	#CONTROL
+0x39	0x0099	#CONTROL
+0x3A	0x009A	#CONTROL
+0x3B	0x009B	#CONTROL
+0x3C	0x0014	#DEVICE CONTROL FOUR
+0x3D	0x0015	#NEGATIVE ACKNOWLEDGE
+0x3E	0x009E	#CONTROL
+0x3F	0x001A	#SUBSTITUTE
+0x40	0x0020	#SPACE
+0x41	0x00A0	#NO-BREAK SPACE
+0x42	0x00E2	#LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x43	0x00E4	#LATIN SMALL LETTER A WITH DIAERESIS
+0x44	0x00E0	#LATIN SMALL LETTER A WITH GRAVE
+0x45	0x00E1	#LATIN SMALL LETTER A WITH ACUTE
+0x46	0x00E3	#LATIN SMALL LETTER A WITH TILDE
+0x47	0x00E5	#LATIN SMALL LETTER A WITH RING ABOVE
+0x48	0x007B	#LEFT CURLY BRACKET
+0x49	0x00F1	#LATIN SMALL LETTER N WITH TILDE
+0x4A	0x00C7	#LATIN CAPITAL LETTER C WITH CEDILLA
+0x4B	0x002E	#FULL STOP
+0x4C	0x003C	#LESS-THAN SIGN
+0x4D	0x0028	#LEFT PARENTHESIS
+0x4E	0x002B	#PLUS SIGN
+0x4F	0x0021	#EXCLAMATION MARK
+0x50	0x0026	#AMPERSAND
+0x51	0x00E9	#LATIN SMALL LETTER E WITH ACUTE
+0x52	0x00EA	#LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x53	0x00EB	#LATIN SMALL LETTER E WITH DIAERESIS
+0x54	0x00E8	#LATIN SMALL LETTER E WITH GRAVE
+0x55	0x00ED	#LATIN SMALL LETTER I WITH ACUTE
+0x56	0x00EE	#LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x57	0x00EF	#LATIN SMALL LETTER I WITH DIAERESIS
+0x58	0x00EC	#LATIN SMALL LETTER I WITH GRAVE
+0x59	0x00DF	#LATIN SMALL LETTER SHARP S (GERMAN)
+0x5A	0x011E	#LATIN CAPITAL LETTER G WITH BREVE
+0x5B	0x0130	#LATIN CAPITAL LETTER I WITH DOT ABOVE
+0x5C	0x002A	#ASTERISK
+0x5D	0x0029	#RIGHT PARENTHESIS
+0x5E	0x003B	#SEMICOLON
+0x5F	0x005E	#CIRCUMFLEX ACCENT
+0x60	0x002D	#HYPHEN-MINUS
+0x61	0x002F	#SOLIDUS
+0x62	0x00C2	#LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0x63	0x00C4	#LATIN CAPITAL LETTER A WITH DIAERESIS
+0x64	0x00C0	#LATIN CAPITAL LETTER A WITH GRAVE
+0x65	0x00C1	#LATIN CAPITAL LETTER A WITH ACUTE
+0x66	0x00C3	#LATIN CAPITAL LETTER A WITH TILDE
+0x67	0x00C5	#LATIN CAPITAL LETTER A WITH RING ABOVE
+0x68	0x005B	#LEFT SQUARE BRACKET
+0x69	0x00D1	#LATIN CAPITAL LETTER N WITH TILDE
+0x6A	0x015F	#LATIN SMALL LETTER S WITH CEDILLA
+0x6B	0x002C	#COMMA
+0x6C	0x0025	#PERCENT SIGN
+0x6D	0x005F	#LOW LINE
+0x6E	0x003E	#GREATER-THAN SIGN
+0x6F	0x003F	#QUESTION MARK
+0x70	0x00F8	#LATIN SMALL LETTER O WITH STROKE
+0x71	0x00C9	#LATIN CAPITAL LETTER E WITH ACUTE
+0x72	0x00CA	#LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0x73	0x00CB	#LATIN CAPITAL LETTER E WITH DIAERESIS
+0x74	0x00C8	#LATIN CAPITAL LETTER E WITH GRAVE
+0x75	0x00CD	#LATIN CAPITAL LETTER I WITH ACUTE
+0x76	0x00CE	#LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0x77	0x00CF	#LATIN CAPITAL LETTER I WITH DIAERESIS
+0x78	0x00CC	#LATIN CAPITAL LETTER I WITH GRAVE
+0x79	0x0131	#LATIN SMALL LETTER DOTLESS I
+0x7A	0x003A	#COLON
+0x7B	0x00D6	#LATIN CAPITAL LETTER O WITH DIAERESIS
+0x7C	0x015E	#LATIN CAPITAL LETTER S WITH CEDILLA
+0x7D	0x0027	#APOSTROPHE
+0x7E	0x003D	#EQUALS SIGN
+0x7F	0x00DC	#LATIN CAPITAL LETTER U WITH DIAERESIS
+0x80	0x00D8	#LATIN CAPITAL LETTER O WITH STROKE
+0x81	0x0061	#LATIN SMALL LETTER A
+0x82	0x0062	#LATIN SMALL LETTER B
+0x83	0x0063	#LATIN SMALL LETTER C
+0x84	0x0064	#LATIN SMALL LETTER D
+0x85	0x0065	#LATIN SMALL LETTER E
+0x86	0x0066	#LATIN SMALL LETTER F
+0x87	0x0067	#LATIN SMALL LETTER G
+0x88	0x0068	#LATIN SMALL LETTER H
+0x89	0x0069	#LATIN SMALL LETTER I
+0x8A	0x00AB	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0x8B	0x00BB	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0x8C	0x007D	#RIGHT CURLY BRACKET
+0x8D	0x0060	#GRAVE ACCENT
+0x8E	0x00A6	#BROKEN BAR
+0x8F	0x00B1	#PLUS-MINUS SIGN
+0x90	0x00B0	#DEGREE SIGN
+0x91	0x006A	#LATIN SMALL LETTER J
+0x92	0x006B	#LATIN SMALL LETTER K
+0x93	0x006C	#LATIN SMALL LETTER L
+0x94	0x006D	#LATIN SMALL LETTER M
+0x95	0x006E	#LATIN SMALL LETTER N
+0x96	0x006F	#LATIN SMALL LETTER O
+0x97	0x0070	#LATIN SMALL LETTER P
+0x98	0x0071	#LATIN SMALL LETTER Q
+0x99	0x0072	#LATIN SMALL LETTER R
+0x9A	0x00AA	#FEMININE ORDINAL INDICATOR
+0x9B	0x00BA	#MASCULINE ORDINAL INDICATOR
+0x9C	0x00E6	#LATIN SMALL LIGATURE AE
+0x9D	0x00B8	#CEDILLA
+0x9E	0x00C6	#LATIN CAPITAL LIGATURE AE
+0x9F	0x00A4	#CURRENCY SIGN
+0xA0	0x00B5	#MICRO SIGN
+0xA1	0x00F6	#LATIN SMALL LETTER O WITH DIAERESIS
+0xA2	0x0073	#LATIN SMALL LETTER S
+0xA3	0x0074	#LATIN SMALL LETTER T
+0xA4	0x0075	#LATIN SMALL LETTER U
+0xA5	0x0076	#LATIN SMALL LETTER V
+0xA6	0x0077	#LATIN SMALL LETTER W
+0xA7	0x0078	#LATIN SMALL LETTER X
+0xA8	0x0079	#LATIN SMALL LETTER Y
+0xA9	0x007A	#LATIN SMALL LETTER Z
+0xAA	0x00A1	#INVERTED EXCLAMATION MARK
+0xAB	0x00BF	#INVERTED QUESTION MARK
+0xAC	0x005D	#RIGHT SQUARE BRACKET
+0xAD	0x0024	#DOLLAR SIGN
+0xAE	0x0040	#COMMERCIAL AT
+0xAF	0x00AE	#REGISTERED SIGN
+0xB0	0x00A2	#CENT SIGN
+0xB1	0x00A3	#POUND SIGN
+0xB2	0x00A5	#YEN SIGN
+0xB3	0x00B7	#MIDDLE DOT
+0xB4	0x00A9	#COPYRIGHT SIGN
+0xB5	0x00A7	#SECTION SIGN
+0xB6	0x00B6	#PILCROW SIGN
+0xB7	0x00BC	#VULGAR FRACTION ONE QUARTER
+0xB8	0x00BD	#VULGAR FRACTION ONE HALF
+0xB9	0x00BE	#VULGAR FRACTION THREE QUARTERS
+0xBA	0x00AC	#NOT SIGN
+0xBB	0x007C	#VERTICAL LINE
+0xBC	0x00AF	#MACRON
+0xBD	0x00A8	#DIAERESIS
+0xBE	0x00B4	#ACUTE ACCENT
+0xBF	0x00D7	#MULTIPLICATION SIGN
+0xC0	0x00E7	#LATIN SMALL LETTER C WITH CEDILLA
+0xC1	0x0041	#LATIN CAPITAL LETTER A
+0xC2	0x0042	#LATIN CAPITAL LETTER B
+0xC3	0x0043	#LATIN CAPITAL LETTER C
+0xC4	0x0044	#LATIN CAPITAL LETTER D
+0xC5	0x0045	#LATIN CAPITAL LETTER E
+0xC6	0x0046	#LATIN CAPITAL LETTER F
+0xC7	0x0047	#LATIN CAPITAL LETTER G
+0xC8	0x0048	#LATIN CAPITAL LETTER H
+0xC9	0x0049	#LATIN CAPITAL LETTER I
+0xCA	0x00AD	#SOFT HYPHEN
+0xCB	0x00F4	#LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xCC	0x007E	#TILDE
+0xCD	0x00F2	#LATIN SMALL LETTER O WITH GRAVE
+0xCE	0x00F3	#LATIN SMALL LETTER O WITH ACUTE
+0xCF	0x00F5	#LATIN SMALL LETTER O WITH TILDE
+0xD0	0x011F	#LATIN SMALL LETTER G WITH BREVE
+0xD1	0x004A	#LATIN CAPITAL LETTER J
+0xD2	0x004B	#LATIN CAPITAL LETTER K
+0xD3	0x004C	#LATIN CAPITAL LETTER L
+0xD4	0x004D	#LATIN CAPITAL LETTER M
+0xD5	0x004E	#LATIN CAPITAL LETTER N
+0xD6	0x004F	#LATIN CAPITAL LETTER O
+0xD7	0x0050	#LATIN CAPITAL LETTER P
+0xD8	0x0051	#LATIN CAPITAL LETTER Q
+0xD9	0x0052	#LATIN CAPITAL LETTER R
+0xDA	0x00B9	#SUPERSCRIPT ONE
+0xDB	0x00FB	#LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xDC	0x005C	#REVERSE SOLIDUS
+0xDD	0x00F9	#LATIN SMALL LETTER U WITH GRAVE
+0xDE	0x00FA	#LATIN SMALL LETTER U WITH ACUTE
+0xDF	0x00FF	#LATIN SMALL LETTER Y WITH DIAERESIS
+0xE0	0x00FC	#LATIN SMALL LETTER U WITH DIAERESIS
+0xE1	0x00F7	#DIVISION SIGN
+0xE2	0x0053	#LATIN CAPITAL LETTER S
+0xE3	0x0054	#LATIN CAPITAL LETTER T
+0xE4	0x0055	#LATIN CAPITAL LETTER U
+0xE5	0x0056	#LATIN CAPITAL LETTER V
+0xE6	0x0057	#LATIN CAPITAL LETTER W
+0xE7	0x0058	#LATIN CAPITAL LETTER X
+0xE8	0x0059	#LATIN CAPITAL LETTER Y
+0xE9	0x005A	#LATIN CAPITAL LETTER Z
+0xEA	0x00B2	#SUPERSCRIPT TWO
+0xEB	0x00D4	#LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xEC	0x0023	#NUMBER SIGN
+0xED	0x00D2	#LATIN CAPITAL LETTER O WITH GRAVE
+0xEE	0x00D3	#LATIN CAPITAL LETTER O WITH ACUTE
+0xEF	0x00D5	#LATIN CAPITAL LETTER O WITH TILDE
+0xF0	0x0030	#DIGIT ZERO
+0xF1	0x0031	#DIGIT ONE
+0xF2	0x0032	#DIGIT TWO
+0xF3	0x0033	#DIGIT THREE
+0xF4	0x0034	#DIGIT FOUR
+0xF5	0x0035	#DIGIT FIVE
+0xF6	0x0036	#DIGIT SIX
+0xF7	0x0037	#DIGIT SEVEN
+0xF8	0x0038	#DIGIT EIGHT
+0xF9	0x0039	#DIGIT NINE
+0xFA	0x00B3	#SUPERSCRIPT THREE
+0xFB	0x00DB	#LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xFC	0x0022	#QUOTATION MARK
+0xFD	0x00D9	#LATIN CAPITAL LETTER U WITH GRAVE
+0xFE	0x00DA	#LATIN CAPITAL LETTER U WITH ACUTE
+0xFF	0x009F	#CONTROL
+
+

+ 275 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP500.TXT

@@ -0,0 +1,275 @@
+#
+#    Name:     cp500_IBMInternational to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp500_IBMInternational code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp500_IBMInternational order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x009C	#CONTROL
+0x05	0x0009	#HORIZONTAL TABULATION
+0x06	0x0086	#CONTROL
+0x07	0x007F	#DELETE
+0x08	0x0097	#CONTROL
+0x09	0x008D	#CONTROL
+0x0A	0x008E	#CONTROL
+0x0B	0x000B	#VERTICAL TABULATION
+0x0C	0x000C	#FORM FEED
+0x0D	0x000D	#CARRIAGE RETURN
+0x0E	0x000E	#SHIFT OUT
+0x0F	0x000F	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x009D	#CONTROL
+0x15	0x0085	#CONTROL
+0x16	0x0008	#BACKSPACE
+0x17	0x0087	#CONTROL
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1A	0x0092	#CONTROL
+0x1B	0x008F	#CONTROL
+0x1C	0x001C	#FILE SEPARATOR
+0x1D	0x001D	#GROUP SEPARATOR
+0x1E	0x001E	#RECORD SEPARATOR
+0x1F	0x001F	#UNIT SEPARATOR
+0x20	0x0080	#CONTROL
+0x21	0x0081	#CONTROL
+0x22	0x0082	#CONTROL
+0x23	0x0083	#CONTROL
+0x24	0x0084	#CONTROL
+0x25	0x000A	#LINE FEED
+0x26	0x0017	#END OF TRANSMISSION BLOCK
+0x27	0x001B	#ESCAPE
+0x28	0x0088	#CONTROL
+0x29	0x0089	#CONTROL
+0x2A	0x008A	#CONTROL
+0x2B	0x008B	#CONTROL
+0x2C	0x008C	#CONTROL
+0x2D	0x0005	#ENQUIRY
+0x2E	0x0006	#ACKNOWLEDGE
+0x2F	0x0007	#BELL
+0x30	0x0090	#CONTROL
+0x31	0x0091	#CONTROL
+0x32	0x0016	#SYNCHRONOUS IDLE
+0x33	0x0093	#CONTROL
+0x34	0x0094	#CONTROL
+0x35	0x0095	#CONTROL
+0x36	0x0096	#CONTROL
+0x37	0x0004	#END OF TRANSMISSION
+0x38	0x0098	#CONTROL
+0x39	0x0099	#CONTROL
+0x3A	0x009A	#CONTROL
+0x3B	0x009B	#CONTROL
+0x3C	0x0014	#DEVICE CONTROL FOUR
+0x3D	0x0015	#NEGATIVE ACKNOWLEDGE
+0x3E	0x009E	#CONTROL
+0x3F	0x001A	#SUBSTITUTE
+0x40	0x0020	#SPACE
+0x41	0x00A0	#NO-BREAK SPACE
+0x42	0x00E2	#LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x43	0x00E4	#LATIN SMALL LETTER A WITH DIAERESIS
+0x44	0x00E0	#LATIN SMALL LETTER A WITH GRAVE
+0x45	0x00E1	#LATIN SMALL LETTER A WITH ACUTE
+0x46	0x00E3	#LATIN SMALL LETTER A WITH TILDE
+0x47	0x00E5	#LATIN SMALL LETTER A WITH RING ABOVE
+0x48	0x00E7	#LATIN SMALL LETTER C WITH CEDILLA
+0x49	0x00F1	#LATIN SMALL LETTER N WITH TILDE
+0x4A	0x005B	#LEFT SQUARE BRACKET
+0x4B	0x002E	#FULL STOP
+0x4C	0x003C	#LESS-THAN SIGN
+0x4D	0x0028	#LEFT PARENTHESIS
+0x4E	0x002B	#PLUS SIGN
+0x4F	0x0021	#EXCLAMATION MARK
+0x50	0x0026	#AMPERSAND
+0x51	0x00E9	#LATIN SMALL LETTER E WITH ACUTE
+0x52	0x00EA	#LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x53	0x00EB	#LATIN SMALL LETTER E WITH DIAERESIS
+0x54	0x00E8	#LATIN SMALL LETTER E WITH GRAVE
+0x55	0x00ED	#LATIN SMALL LETTER I WITH ACUTE
+0x56	0x00EE	#LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x57	0x00EF	#LATIN SMALL LETTER I WITH DIAERESIS
+0x58	0x00EC	#LATIN SMALL LETTER I WITH GRAVE
+0x59	0x00DF	#LATIN SMALL LETTER SHARP S (GERMAN)
+0x5A	0x005D	#RIGHT SQUARE BRACKET
+0x5B	0x0024	#DOLLAR SIGN
+0x5C	0x002A	#ASTERISK
+0x5D	0x0029	#RIGHT PARENTHESIS
+0x5E	0x003B	#SEMICOLON
+0x5F	0x005E	#CIRCUMFLEX ACCENT
+0x60	0x002D	#HYPHEN-MINUS
+0x61	0x002F	#SOLIDUS
+0x62	0x00C2	#LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0x63	0x00C4	#LATIN CAPITAL LETTER A WITH DIAERESIS
+0x64	0x00C0	#LATIN CAPITAL LETTER A WITH GRAVE
+0x65	0x00C1	#LATIN CAPITAL LETTER A WITH ACUTE
+0x66	0x00C3	#LATIN CAPITAL LETTER A WITH TILDE
+0x67	0x00C5	#LATIN CAPITAL LETTER A WITH RING ABOVE
+0x68	0x00C7	#LATIN CAPITAL LETTER C WITH CEDILLA
+0x69	0x00D1	#LATIN CAPITAL LETTER N WITH TILDE
+0x6A	0x00A6	#BROKEN BAR
+0x6B	0x002C	#COMMA
+0x6C	0x0025	#PERCENT SIGN
+0x6D	0x005F	#LOW LINE
+0x6E	0x003E	#GREATER-THAN SIGN
+0x6F	0x003F	#QUESTION MARK
+0x70	0x00F8	#LATIN SMALL LETTER O WITH STROKE
+0x71	0x00C9	#LATIN CAPITAL LETTER E WITH ACUTE
+0x72	0x00CA	#LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0x73	0x00CB	#LATIN CAPITAL LETTER E WITH DIAERESIS
+0x74	0x00C8	#LATIN CAPITAL LETTER E WITH GRAVE
+0x75	0x00CD	#LATIN CAPITAL LETTER I WITH ACUTE
+0x76	0x00CE	#LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0x77	0x00CF	#LATIN CAPITAL LETTER I WITH DIAERESIS
+0x78	0x00CC	#LATIN CAPITAL LETTER I WITH GRAVE
+0x79	0x0060	#GRAVE ACCENT
+0x7A	0x003A	#COLON
+0x7B	0x0023	#NUMBER SIGN
+0x7C	0x0040	#COMMERCIAL AT
+0x7D	0x0027	#APOSTROPHE
+0x7E	0x003D	#EQUALS SIGN
+0x7F	0x0022	#QUOTATION MARK
+0x80	0x00D8	#LATIN CAPITAL LETTER O WITH STROKE
+0x81	0x0061	#LATIN SMALL LETTER A
+0x82	0x0062	#LATIN SMALL LETTER B
+0x83	0x0063	#LATIN SMALL LETTER C
+0x84	0x0064	#LATIN SMALL LETTER D
+0x85	0x0065	#LATIN SMALL LETTER E
+0x86	0x0066	#LATIN SMALL LETTER F
+0x87	0x0067	#LATIN SMALL LETTER G
+0x88	0x0068	#LATIN SMALL LETTER H
+0x89	0x0069	#LATIN SMALL LETTER I
+0x8A	0x00AB	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0x8B	0x00BB	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0x8C	0x00F0	#LATIN SMALL LETTER ETH (ICELANDIC)
+0x8D	0x00FD	#LATIN SMALL LETTER Y WITH ACUTE
+0x8E	0x00FE	#LATIN SMALL LETTER THORN (ICELANDIC)
+0x8F	0x00B1	#PLUS-MINUS SIGN
+0x90	0x00B0	#DEGREE SIGN
+0x91	0x006A	#LATIN SMALL LETTER J
+0x92	0x006B	#LATIN SMALL LETTER K
+0x93	0x006C	#LATIN SMALL LETTER L
+0x94	0x006D	#LATIN SMALL LETTER M
+0x95	0x006E	#LATIN SMALL LETTER N
+0x96	0x006F	#LATIN SMALL LETTER O
+0x97	0x0070	#LATIN SMALL LETTER P
+0x98	0x0071	#LATIN SMALL LETTER Q
+0x99	0x0072	#LATIN SMALL LETTER R
+0x9A	0x00AA	#FEMININE ORDINAL INDICATOR
+0x9B	0x00BA	#MASCULINE ORDINAL INDICATOR
+0x9C	0x00E6	#LATIN SMALL LIGATURE AE
+0x9D	0x00B8	#CEDILLA
+0x9E	0x00C6	#LATIN CAPITAL LIGATURE AE
+0x9F	0x00A4	#CURRENCY SIGN
+0xA0	0x00B5	#MICRO SIGN
+0xA1	0x007E	#TILDE
+0xA2	0x0073	#LATIN SMALL LETTER S
+0xA3	0x0074	#LATIN SMALL LETTER T
+0xA4	0x0075	#LATIN SMALL LETTER U
+0xA5	0x0076	#LATIN SMALL LETTER V
+0xA6	0x0077	#LATIN SMALL LETTER W
+0xA7	0x0078	#LATIN SMALL LETTER X
+0xA8	0x0079	#LATIN SMALL LETTER Y
+0xA9	0x007A	#LATIN SMALL LETTER Z
+0xAA	0x00A1	#INVERTED EXCLAMATION MARK
+0xAB	0x00BF	#INVERTED QUESTION MARK
+0xAC	0x00D0	#LATIN CAPITAL LETTER ETH (ICELANDIC)
+0xAD	0x00DD	#LATIN CAPITAL LETTER Y WITH ACUTE
+0xAE	0x00DE	#LATIN CAPITAL LETTER THORN (ICELANDIC)
+0xAF	0x00AE	#REGISTERED SIGN
+0xB0	0x00A2	#CENT SIGN
+0xB1	0x00A3	#POUND SIGN
+0xB2	0x00A5	#YEN SIGN
+0xB3	0x00B7	#MIDDLE DOT
+0xB4	0x00A9	#COPYRIGHT SIGN
+0xB5	0x00A7	#SECTION SIGN
+0xB6	0x00B6	#PILCROW SIGN
+0xB7	0x00BC	#VULGAR FRACTION ONE QUARTER
+0xB8	0x00BD	#VULGAR FRACTION ONE HALF
+0xB9	0x00BE	#VULGAR FRACTION THREE QUARTERS
+0xBA	0x00AC	#NOT SIGN
+0xBB	0x007C	#VERTICAL LINE
+0xBC	0x00AF	#MACRON
+0xBD	0x00A8	#DIAERESIS
+0xBE	0x00B4	#ACUTE ACCENT
+0xBF	0x00D7	#MULTIPLICATION SIGN
+0xC0	0x007B	#LEFT CURLY BRACKET
+0xC1	0x0041	#LATIN CAPITAL LETTER A
+0xC2	0x0042	#LATIN CAPITAL LETTER B
+0xC3	0x0043	#LATIN CAPITAL LETTER C
+0xC4	0x0044	#LATIN CAPITAL LETTER D
+0xC5	0x0045	#LATIN CAPITAL LETTER E
+0xC6	0x0046	#LATIN CAPITAL LETTER F
+0xC7	0x0047	#LATIN CAPITAL LETTER G
+0xC8	0x0048	#LATIN CAPITAL LETTER H
+0xC9	0x0049	#LATIN CAPITAL LETTER I
+0xCA	0x00AD	#SOFT HYPHEN
+0xCB	0x00F4	#LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xCC	0x00F6	#LATIN SMALL LETTER O WITH DIAERESIS
+0xCD	0x00F2	#LATIN SMALL LETTER O WITH GRAVE
+0xCE	0x00F3	#LATIN SMALL LETTER O WITH ACUTE
+0xCF	0x00F5	#LATIN SMALL LETTER O WITH TILDE
+0xD0	0x007D	#RIGHT CURLY BRACKET
+0xD1	0x004A	#LATIN CAPITAL LETTER J
+0xD2	0x004B	#LATIN CAPITAL LETTER K
+0xD3	0x004C	#LATIN CAPITAL LETTER L
+0xD4	0x004D	#LATIN CAPITAL LETTER M
+0xD5	0x004E	#LATIN CAPITAL LETTER N
+0xD6	0x004F	#LATIN CAPITAL LETTER O
+0xD7	0x0050	#LATIN CAPITAL LETTER P
+0xD8	0x0051	#LATIN CAPITAL LETTER Q
+0xD9	0x0052	#LATIN CAPITAL LETTER R
+0xDA	0x00B9	#SUPERSCRIPT ONE
+0xDB	0x00FB	#LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xDC	0x00FC	#LATIN SMALL LETTER U WITH DIAERESIS
+0xDD	0x00F9	#LATIN SMALL LETTER U WITH GRAVE
+0xDE	0x00FA	#LATIN SMALL LETTER U WITH ACUTE
+0xDF	0x00FF	#LATIN SMALL LETTER Y WITH DIAERESIS
+0xE0	0x005C	#REVERSE SOLIDUS
+0xE1	0x00F7	#DIVISION SIGN
+0xE2	0x0053	#LATIN CAPITAL LETTER S
+0xE3	0x0054	#LATIN CAPITAL LETTER T
+0xE4	0x0055	#LATIN CAPITAL LETTER U
+0xE5	0x0056	#LATIN CAPITAL LETTER V
+0xE6	0x0057	#LATIN CAPITAL LETTER W
+0xE7	0x0058	#LATIN CAPITAL LETTER X
+0xE8	0x0059	#LATIN CAPITAL LETTER Y
+0xE9	0x005A	#LATIN CAPITAL LETTER Z
+0xEA	0x00B2	#SUPERSCRIPT TWO
+0xEB	0x00D4	#LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xEC	0x00D6	#LATIN CAPITAL LETTER O WITH DIAERESIS
+0xED	0x00D2	#LATIN CAPITAL LETTER O WITH GRAVE
+0xEE	0x00D3	#LATIN CAPITAL LETTER O WITH ACUTE
+0xEF	0x00D5	#LATIN CAPITAL LETTER O WITH TILDE
+0xF0	0x0030	#DIGIT ZERO
+0xF1	0x0031	#DIGIT ONE
+0xF2	0x0032	#DIGIT TWO
+0xF3	0x0033	#DIGIT THREE
+0xF4	0x0034	#DIGIT FOUR
+0xF5	0x0035	#DIGIT FIVE
+0xF6	0x0036	#DIGIT SIX
+0xF7	0x0037	#DIGIT SEVEN
+0xF8	0x0038	#DIGIT EIGHT
+0xF9	0x0039	#DIGIT NINE
+0xFA	0x00B3	#SUPERSCRIPT THREE
+0xFB	0x00DB	#LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xFC	0x00DC	#LATIN CAPITAL LETTER U WITH DIAERESIS
+0xFD	0x00D9	#LATIN CAPITAL LETTER U WITH GRAVE
+0xFE	0x00DA	#LATIN CAPITAL LETTER U WITH ACUTE
+0xFF	0x009F	#CONTROL
+
+

+ 275 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP875.TXT

@@ -0,0 +1,275 @@
+#
+#    Name:     cp875_IBMGreek to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+# 
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp875_IBMGreek code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp875_IBMGreek order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x009C	#CONTROL
+0x05	0x0009	#HORIZONTAL TABULATION
+0x06	0x0086	#CONTROL
+0x07	0x007F	#DELETE
+0x08	0x0097	#CONTROL
+0x09	0x008D	#CONTROL
+0x0A	0x008E	#CONTROL
+0x0B	0x000B	#VERTICAL TABULATION
+0x0C	0x000C	#FORM FEED
+0x0D	0x000D	#CARRIAGE RETURN
+0x0E	0x000E	#SHIFT OUT
+0x0F	0x000F	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x009D	#CONTROL
+0x15	0x0085	#CONTROL
+0x16	0x0008	#BACKSPACE
+0x17	0x0087	#CONTROL
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1A	0x0092	#CONTROL
+0x1B	0x008F	#CONTROL
+0x1C	0x001C	#FILE SEPARATOR
+0x1D	0x001D	#GROUP SEPARATOR
+0x1E	0x001E	#RECORD SEPARATOR
+0x1F	0x001F	#UNIT SEPARATOR
+0x20	0x0080	#CONTROL
+0x21	0x0081	#CONTROL
+0x22	0x0082	#CONTROL
+0x23	0x0083	#CONTROL
+0x24	0x0084	#CONTROL
+0x25	0x000A	#LINE FEED
+0x26	0x0017	#END OF TRANSMISSION BLOCK
+0x27	0x001B	#ESCAPE
+0x28	0x0088	#CONTROL
+0x29	0x0089	#CONTROL
+0x2A	0x008A	#CONTROL
+0x2B	0x008B	#CONTROL
+0x2C	0x008C	#CONTROL
+0x2D	0x0005	#ENQUIRY
+0x2E	0x0006	#ACKNOWLEDGE
+0x2F	0x0007	#BELL
+0x30	0x0090	#CONTROL
+0x31	0x0091	#CONTROL
+0x32	0x0016	#SYNCHRONOUS IDLE
+0x33	0x0093	#CONTROL
+0x34	0x0094	#CONTROL
+0x35	0x0095	#CONTROL
+0x36	0x0096	#CONTROL
+0x37	0x0004	#END OF TRANSMISSION
+0x38	0x0098	#CONTROL
+0x39	0x0099	#CONTROL
+0x3A	0x009A	#CONTROL
+0x3B	0x009B	#CONTROL
+0x3C	0x0014	#DEVICE CONTROL FOUR
+0x3D	0x0015	#NEGATIVE ACKNOWLEDGE
+0x3E	0x009E	#CONTROL
+0x3F	0x001A	#SUBSTITUTE
+0x40	0x0020	#SPACE
+0x41	0x0391	#GREEK CAPITAL LETTER ALPHA
+0x42	0x0392	#GREEK CAPITAL LETTER BETA
+0x43	0x0393	#GREEK CAPITAL LETTER GAMMA
+0x44	0x0394	#GREEK CAPITAL LETTER DELTA
+0x45	0x0395	#GREEK CAPITAL LETTER EPSILON
+0x46	0x0396	#GREEK CAPITAL LETTER ZETA
+0x47	0x0397	#GREEK CAPITAL LETTER ETA
+0x48	0x0398	#GREEK CAPITAL LETTER THETA
+0x49	0x0399	#GREEK CAPITAL LETTER IOTA
+0x4A	0x005B	#LEFT SQUARE BRACKET
+0x4B	0x002E	#FULL STOP
+0x4C	0x003C	#LESS-THAN SIGN
+0x4D	0x0028	#LEFT PARENTHESIS
+0x4E	0x002B	#PLUS SIGN
+0x4F	0x0021	#EXCLAMATION MARK
+0x50	0x0026	#AMPERSAND
+0x51	0x039A	#GREEK CAPITAL LETTER KAPPA
+0x52	0x039B	#GREEK CAPITAL LETTER LAMDA
+0x53	0x039C	#GREEK CAPITAL LETTER MU
+0x54	0x039D	#GREEK CAPITAL LETTER NU
+0x55	0x039E	#GREEK CAPITAL LETTER XI
+0x56	0x039F	#GREEK CAPITAL LETTER OMICRON
+0x57	0x03A0	#GREEK CAPITAL LETTER PI
+0x58	0x03A1	#GREEK CAPITAL LETTER RHO
+0x59	0x03A3	#GREEK CAPITAL LETTER SIGMA
+0x5A	0x005D	#RIGHT SQUARE BRACKET
+0x5B	0x0024	#DOLLAR SIGN
+0x5C	0x002A	#ASTERISK
+0x5D	0x0029	#RIGHT PARENTHESIS
+0x5E	0x003B	#SEMICOLON
+0x5F	0x005E	#CIRCUMFLEX ACCENT
+0x60	0x002D	#HYPHEN-MINUS
+0x61	0x002F	#SOLIDUS
+0x62	0x03A4	#GREEK CAPITAL LETTER TAU
+0x63	0x03A5	#GREEK CAPITAL LETTER UPSILON
+0x64	0x03A6	#GREEK CAPITAL LETTER PHI
+0x65	0x03A7	#GREEK CAPITAL LETTER CHI
+0x66	0x03A8	#GREEK CAPITAL LETTER PSI
+0x67	0x03A9	#GREEK CAPITAL LETTER OMEGA
+0x68	0x03AA	#GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+0x69	0x03AB	#GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+0x6A	0x007C	#VERTICAL LINE
+0x6B	0x002C	#COMMA
+0x6C	0x0025	#PERCENT SIGN
+0x6D	0x005F	#LOW LINE
+0x6E	0x003E	#GREATER-THAN SIGN
+0x6F	0x003F	#QUESTION MARK
+0x70	0x00A8	#DIAERESIS
+0x71	0x0386	#GREEK CAPITAL LETTER ALPHA WITH TONOS
+0x72	0x0388	#GREEK CAPITAL LETTER EPSILON WITH TONOS
+0x73	0x0389	#GREEK CAPITAL LETTER ETA WITH TONOS
+0x74	0x00A0	#NO-BREAK SPACE
+0x75	0x038A	#GREEK CAPITAL LETTER IOTA WITH TONOS
+0x76	0x038C	#GREEK CAPITAL LETTER OMICRON WITH TONOS
+0x77	0x038E	#GREEK CAPITAL LETTER UPSILON WITH TONOS
+0x78	0x038F	#GREEK CAPITAL LETTER OMEGA WITH TONOS
+0x79	0x0060	#GRAVE ACCENT
+0x7A	0x003A	#COLON
+0x7B	0x0023	#NUMBER SIGN
+0x7C	0x0040	#COMMERCIAL AT
+0x7D	0x0027	#APOSTROPHE
+0x7E	0x003D	#EQUALS SIGN
+0x7F	0x0022	#QUOTATION MARK
+0x80	0x0385	#GREEK DIALYTIKA TONOS
+0x81	0x0061	#LATIN SMALL LETTER A
+0x82	0x0062	#LATIN SMALL LETTER B
+0x83	0x0063	#LATIN SMALL LETTER C
+0x84	0x0064	#LATIN SMALL LETTER D
+0x85	0x0065	#LATIN SMALL LETTER E
+0x86	0x0066	#LATIN SMALL LETTER F
+0x87	0x0067	#LATIN SMALL LETTER G
+0x88	0x0068	#LATIN SMALL LETTER H
+0x89	0x0069	#LATIN SMALL LETTER I
+0x8A	0x03B1	#GREEK SMALL LETTER ALPHA
+0x8B	0x03B2	#GREEK SMALL LETTER BETA
+0x8C	0x03B3	#GREEK SMALL LETTER GAMMA
+0x8D	0x03B4	#GREEK SMALL LETTER DELTA
+0x8E	0x03B5	#GREEK SMALL LETTER EPSILON
+0x8F	0x03B6	#GREEK SMALL LETTER ZETA
+0x90	0x00B0	#DEGREE SIGN
+0x91	0x006A	#LATIN SMALL LETTER J
+0x92	0x006B	#LATIN SMALL LETTER K
+0x93	0x006C	#LATIN SMALL LETTER L
+0x94	0x006D	#LATIN SMALL LETTER M
+0x95	0x006E	#LATIN SMALL LETTER N
+0x96	0x006F	#LATIN SMALL LETTER O
+0x97	0x0070	#LATIN SMALL LETTER P
+0x98	0x0071	#LATIN SMALL LETTER Q
+0x99	0x0072	#LATIN SMALL LETTER R
+0x9A	0x03B7	#GREEK SMALL LETTER ETA
+0x9B	0x03B8	#GREEK SMALL LETTER THETA
+0x9C	0x03B9	#GREEK SMALL LETTER IOTA
+0x9D	0x03BA	#GREEK SMALL LETTER KAPPA
+0x9E	0x03BB	#GREEK SMALL LETTER LAMDA
+0x9F	0x03BC	#GREEK SMALL LETTER MU
+0xA0	0x00B4	#ACUTE ACCENT
+0xA1	0x007E	#TILDE
+0xA2	0x0073	#LATIN SMALL LETTER S
+0xA3	0x0074	#LATIN SMALL LETTER T
+0xA4	0x0075	#LATIN SMALL LETTER U
+0xA5	0x0076	#LATIN SMALL LETTER V
+0xA6	0x0077	#LATIN SMALL LETTER W
+0xA7	0x0078	#LATIN SMALL LETTER X
+0xA8	0x0079	#LATIN SMALL LETTER Y
+0xA9	0x007A	#LATIN SMALL LETTER Z
+0xAA	0x03BD	#GREEK SMALL LETTER NU
+0xAB	0x03BE	#GREEK SMALL LETTER XI
+0xAC	0x03BF	#GREEK SMALL LETTER OMICRON
+0xAD	0x03C0	#GREEK SMALL LETTER PI
+0xAE	0x03C1	#GREEK SMALL LETTER RHO
+0xAF	0x03C3	#GREEK SMALL LETTER SIGMA
+0xB0	0x00A3	#POUND SIGN
+0xB1	0x03AC	#GREEK SMALL LETTER ALPHA WITH TONOS
+0xB2	0x03AD	#GREEK SMALL LETTER EPSILON WITH TONOS
+0xB3	0x03AE	#GREEK SMALL LETTER ETA WITH TONOS
+0xB4	0x03CA	#GREEK SMALL LETTER IOTA WITH DIALYTIKA
+0xB5	0x03AF	#GREEK SMALL LETTER IOTA WITH TONOS
+0xB6	0x03CC	#GREEK SMALL LETTER OMICRON WITH TONOS
+0xB7	0x03CD	#GREEK SMALL LETTER UPSILON WITH TONOS
+0xB8	0x03CB	#GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+0xB9	0x03CE	#GREEK SMALL LETTER OMEGA WITH TONOS
+0xBA	0x03C2	#GREEK SMALL LETTER FINAL SIGMA
+0xBB	0x03C4	#GREEK SMALL LETTER TAU
+0xBC	0x03C5	#GREEK SMALL LETTER UPSILON
+0xBD	0x03C6	#GREEK SMALL LETTER PHI
+0xBE	0x03C7	#GREEK SMALL LETTER CHI
+0xBF	0x03C8	#GREEK SMALL LETTER PSI
+0xC0	0x007B	#LEFT CURLY BRACKET
+0xC1	0x0041	#LATIN CAPITAL LETTER A
+0xC2	0x0042	#LATIN CAPITAL LETTER B
+0xC3	0x0043	#LATIN CAPITAL LETTER C
+0xC4	0x0044	#LATIN CAPITAL LETTER D
+0xC5	0x0045	#LATIN CAPITAL LETTER E
+0xC6	0x0046	#LATIN CAPITAL LETTER F
+0xC7	0x0047	#LATIN CAPITAL LETTER G
+0xC8	0x0048	#LATIN CAPITAL LETTER H
+0xC9	0x0049	#LATIN CAPITAL LETTER I
+0xCA	0x00AD	#SOFT HYPHEN
+0xCB	0x03C9	#GREEK SMALL LETTER OMEGA
+0xCC	0x0390	#GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+0xCD	0x03B0	#GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+0xCE	0x2018	#LEFT SINGLE QUOTATION MARK
+0xCF	0x2015	#HORIZONTAL BAR
+0xD0	0x007D	#RIGHT CURLY BRACKET
+0xD1	0x004A	#LATIN CAPITAL LETTER J
+0xD2	0x004B	#LATIN CAPITAL LETTER K
+0xD3	0x004C	#LATIN CAPITAL LETTER L
+0xD4	0x004D	#LATIN CAPITAL LETTER M
+0xD5	0x004E	#LATIN CAPITAL LETTER N
+0xD6	0x004F	#LATIN CAPITAL LETTER O
+0xD7	0x0050	#LATIN CAPITAL LETTER P
+0xD8	0x0051	#LATIN CAPITAL LETTER Q
+0xD9	0x0052	#LATIN CAPITAL LETTER R
+0xDA	0x00B1	#PLUS-MINUS SIGN
+0xDB	0x00BD	#VULGAR FRACTION ONE HALF
+0xDC	0x001A	#SUBSTITUTE
+0xDD	0x0387	#GREEK ANO TELEIA
+0xDE	0x2019	#RIGHT SINGLE QUOTATION MARK
+0xDF	0x00A6	#BROKEN BAR
+0xE0	0x005C	#REVERSE SOLIDUS
+0xE1	0x001A	#SUBSTITUTE
+0xE2	0x0053	#LATIN CAPITAL LETTER S
+0xE3	0x0054	#LATIN CAPITAL LETTER T
+0xE4	0x0055	#LATIN CAPITAL LETTER U
+0xE5	0x0056	#LATIN CAPITAL LETTER V
+0xE6	0x0057	#LATIN CAPITAL LETTER W
+0xE7	0x0058	#LATIN CAPITAL LETTER X
+0xE8	0x0059	#LATIN CAPITAL LETTER Y
+0xE9	0x005A	#LATIN CAPITAL LETTER Z
+0xEA	0x00B2	#SUPERSCRIPT TWO
+0xEB	0x00A7	#SECTION SIGN
+0xEC	0x001A	#SUBSTITUTE
+0xED	0x001A	#SUBSTITUTE
+0xEE	0x00AB	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xEF	0x00AC	#NOT SIGN
+0xF0	0x0030	#DIGIT ZERO
+0xF1	0x0031	#DIGIT ONE
+0xF2	0x0032	#DIGIT TWO
+0xF3	0x0033	#DIGIT THREE
+0xF4	0x0034	#DIGIT FOUR
+0xF5	0x0035	#DIGIT FIVE
+0xF6	0x0036	#DIGIT SIX
+0xF7	0x0037	#DIGIT SEVEN
+0xF8	0x0038	#DIGIT EIGHT
+0xF9	0x0039	#DIGIT NINE
+0xFA	0x00B3	#SUPERSCRIPT THREE
+0xFB	0x00A9	#COPYRIGHT SIGN
+0xFC	0x001A	#SUBSTITUTE
+0xFD	0x001A	#SUBSTITUTE
+0xFE	0x00BB	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xFF	0x009F	#CONTROL
+
+

+ 275 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/MAC/CYRILLIC.TXT

@@ -0,0 +1,275 @@
+#
+#    Name:     cp10007_MacCyrillic to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp10007_MacCyrillic code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp10007_MacCyrillic order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x0004	#END OF TRANSMISSION
+0x05	0x0005	#ENQUIRY
+0x06	0x0006	#ACKNOWLEDGE
+0x07	0x0007	#BELL
+0x08	0x0008	#BACKSPACE
+0x09	0x0009	#HORIZONTAL TABULATION
+0x0A	0x000A	#LINE FEED
+0x0B	0x000B	#VERTICAL TABULATION
+0x0C	0x000C	#FORM FEED
+0x0D	0x000D	#CARRIAGE RETURN
+0x0E	0x000E	#SHIFT OUT
+0x0F	0x000F	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x0014	#DEVICE CONTROL FOUR
+0x15	0x0015	#NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#SYNCHRONOUS IDLE
+0x17	0x0017	#END OF TRANSMISSION BLOCK
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1A	0x001A	#SUBSTITUTE
+0x1B	0x001B	#ESCAPE
+0x1C	0x001C	#FILE SEPARATOR
+0x1D	0x001D	#GROUP SEPARATOR
+0x1E	0x001E	#RECORD SEPARATOR
+0x1F	0x001F	#UNIT SEPARATOR
+0x20	0x0020	#SPACE
+0x21	0x0021	#EXCLAMATION MARK
+0x22	0x0022	#QUOTATION MARK
+0x23	0x0023	#NUMBER SIGN
+0x24	0x0024	#DOLLAR SIGN
+0x25	0x0025	#PERCENT SIGN
+0x26	0x0026	#AMPERSAND
+0x27	0x0027	#APOSTROPHE
+0x28	0x0028	#LEFT PARENTHESIS
+0x29	0x0029	#RIGHT PARENTHESIS
+0x2A	0x002A	#ASTERISK
+0x2B	0x002B	#PLUS SIGN
+0x2C	0x002C	#COMMA
+0x2D	0x002D	#HYPHEN-MINUS
+0x2E	0x002E	#FULL STOP
+0x2F	0x002F	#SOLIDUS
+0x30	0x0030	#DIGIT ZERO
+0x31	0x0031	#DIGIT ONE
+0x32	0x0032	#DIGIT TWO
+0x33	0x0033	#DIGIT THREE
+0x34	0x0034	#DIGIT FOUR
+0x35	0x0035	#DIGIT FIVE
+0x36	0x0036	#DIGIT SIX
+0x37	0x0037	#DIGIT SEVEN
+0x38	0x0038	#DIGIT EIGHT
+0x39	0x0039	#DIGIT NINE
+0x3A	0x003A	#COLON
+0x3B	0x003B	#SEMICOLON
+0x3C	0x003C	#LESS-THAN SIGN
+0x3D	0x003D	#EQUALS SIGN
+0x3E	0x003E	#GREATER-THAN SIGN
+0x3F	0x003F	#QUESTION MARK
+0x40	0x0040	#COMMERCIAL AT
+0x41	0x0041	#LATIN CAPITAL LETTER A
+0x42	0x0042	#LATIN CAPITAL LETTER B
+0x43	0x0043	#LATIN CAPITAL LETTER C
+0x44	0x0044	#LATIN CAPITAL LETTER D
+0x45	0x0045	#LATIN CAPITAL LETTER E
+0x46	0x0046	#LATIN CAPITAL LETTER F
+0x47	0x0047	#LATIN CAPITAL LETTER G
+0x48	0x0048	#LATIN CAPITAL LETTER H
+0x49	0x0049	#LATIN CAPITAL LETTER I
+0x4A	0x004A	#LATIN CAPITAL LETTER J
+0x4B	0x004B	#LATIN CAPITAL LETTER K
+0x4C	0x004C	#LATIN CAPITAL LETTER L
+0x4D	0x004D	#LATIN CAPITAL LETTER M
+0x4E	0x004E	#LATIN CAPITAL LETTER N
+0x4F	0x004F	#LATIN CAPITAL LETTER O
+0x50	0x0050	#LATIN CAPITAL LETTER P
+0x51	0x0051	#LATIN CAPITAL LETTER Q
+0x52	0x0052	#LATIN CAPITAL LETTER R
+0x53	0x0053	#LATIN CAPITAL LETTER S
+0x54	0x0054	#LATIN CAPITAL LETTER T
+0x55	0x0055	#LATIN CAPITAL LETTER U
+0x56	0x0056	#LATIN CAPITAL LETTER V
+0x57	0x0057	#LATIN CAPITAL LETTER W
+0x58	0x0058	#LATIN CAPITAL LETTER X
+0x59	0x0059	#LATIN CAPITAL LETTER Y
+0x5A	0x005A	#LATIN CAPITAL LETTER Z
+0x5B	0x005B	#LEFT SQUARE BRACKET
+0x5C	0x005C	#REVERSE SOLIDUS
+0x5D	0x005D	#RIGHT SQUARE BRACKET
+0x5E	0x005E	#CIRCUMFLEX ACCENT
+0x5F	0x005F	#LOW LINE
+0x60	0x0060	#GRAVE ACCENT
+0x61	0x0061	#LATIN SMALL LETTER A
+0x62	0x0062	#LATIN SMALL LETTER B
+0x63	0x0063	#LATIN SMALL LETTER C
+0x64	0x0064	#LATIN SMALL LETTER D
+0x65	0x0065	#LATIN SMALL LETTER E
+0x66	0x0066	#LATIN SMALL LETTER F
+0x67	0x0067	#LATIN SMALL LETTER G
+0x68	0x0068	#LATIN SMALL LETTER H
+0x69	0x0069	#LATIN SMALL LETTER I
+0x6A	0x006A	#LATIN SMALL LETTER J
+0x6B	0x006B	#LATIN SMALL LETTER K
+0x6C	0x006C	#LATIN SMALL LETTER L
+0x6D	0x006D	#LATIN SMALL LETTER M
+0x6E	0x006E	#LATIN SMALL LETTER N
+0x6F	0x006F	#LATIN SMALL LETTER O
+0x70	0x0070	#LATIN SMALL LETTER P
+0x71	0x0071	#LATIN SMALL LETTER Q
+0x72	0x0072	#LATIN SMALL LETTER R
+0x73	0x0073	#LATIN SMALL LETTER S
+0x74	0x0074	#LATIN SMALL LETTER T
+0x75	0x0075	#LATIN SMALL LETTER U
+0x76	0x0076	#LATIN SMALL LETTER V
+0x77	0x0077	#LATIN SMALL LETTER W
+0x78	0x0078	#LATIN SMALL LETTER X
+0x79	0x0079	#LATIN SMALL LETTER Y
+0x7A	0x007A	#LATIN SMALL LETTER Z
+0x7B	0x007B	#LEFT CURLY BRACKET
+0x7C	0x007C	#VERTICAL LINE
+0x7D	0x007D	#RIGHT CURLY BRACKET
+0x7E	0x007E	#TILDE
+0x7F	0x007F	#DELETE
+0x80	0x0410	#CYRILLIC CAPITAL LETTER A
+0x81	0x0411	#CYRILLIC CAPITAL LETTER BE
+0x82	0x0412	#CYRILLIC CAPITAL LETTER VE
+0x83	0x0413	#CYRILLIC CAPITAL LETTER GHE
+0x84	0x0414	#CYRILLIC CAPITAL LETTER DE
+0x85	0x0415	#CYRILLIC CAPITAL LETTER IE
+0x86	0x0416	#CYRILLIC CAPITAL LETTER ZHE
+0x87	0x0417	#CYRILLIC CAPITAL LETTER ZE
+0x88	0x0418	#CYRILLIC CAPITAL LETTER I
+0x89	0x0419	#CYRILLIC CAPITAL LETTER SHORT I
+0x8A	0x041A	#CYRILLIC CAPITAL LETTER KA
+0x8B	0x041B	#CYRILLIC CAPITAL LETTER EL
+0x8C	0x041C	#CYRILLIC CAPITAL LETTER EM
+0x8D	0x041D	#CYRILLIC CAPITAL LETTER EN
+0x8E	0x041E	#CYRILLIC CAPITAL LETTER O
+0x8F	0x041F	#CYRILLIC CAPITAL LETTER PE
+0x90	0x0420	#CYRILLIC CAPITAL LETTER ER
+0x91	0x0421	#CYRILLIC CAPITAL LETTER ES
+0x92	0x0422	#CYRILLIC CAPITAL LETTER TE
+0x93	0x0423	#CYRILLIC CAPITAL LETTER U
+0x94	0x0424	#CYRILLIC CAPITAL LETTER EF
+0x95	0x0425	#CYRILLIC CAPITAL LETTER HA
+0x96	0x0426	#CYRILLIC CAPITAL LETTER TSE
+0x97	0x0427	#CYRILLIC CAPITAL LETTER CHE
+0x98	0x0428	#CYRILLIC CAPITAL LETTER SHA
+0x99	0x0429	#CYRILLIC CAPITAL LETTER SHCHA
+0x9A	0x042A	#CYRILLIC CAPITAL LETTER HARD SIGN
+0x9B	0x042B	#CYRILLIC CAPITAL LETTER YERU
+0x9C	0x042C	#CYRILLIC CAPITAL LETTER SOFT SIGN
+0x9D	0x042D	#CYRILLIC CAPITAL LETTER E
+0x9E	0x042E	#CYRILLIC CAPITAL LETTER YU
+0x9F	0x042F	#CYRILLIC CAPITAL LETTER YA
+0xA0	0x2020	#DAGGER
+0xA1	0x00B0	#DEGREE SIGN
+0xA2	0x00A2	#CENT SIGN
+0xA3	0x00A3	#POUND SIGN
+0xA4	0x00A7	#SECTION SIGN
+0xA5	0x2022	#BULLET
+0xA6	0x00B6	#PILCROW SIGN
+0xA7	0x0406	#CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0xA8	0x00AE	#REGISTERED SIGN
+0xA9	0x00A9	#COPYRIGHT SIGN
+0xAA	0x2122	#TRADE MARK SIGN
+0xAB	0x0402	#CYRILLIC CAPITAL LETTER DJE
+0xAC	0x0452	#CYRILLIC SMALL LETTER DJE
+0xAD	0x2260	#NOT EQUAL TO
+0xAE	0x0403	#CYRILLIC CAPITAL LETTER GJE
+0xAF	0x0453	#CYRILLIC SMALL LETTER GJE
+0xB0	0x221E	#INFINITY
+0xB1	0x00B1	#PLUS-MINUS SIGN
+0xB2	0x2264	#LESS-THAN OR EQUAL TO
+0xB3	0x2265	#GREATER-THAN OR EQUAL TO
+0xB4	0x0456	#CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0xB5	0x00B5	#MICRO SIGN
+0xB6	0x2202	#PARTIAL DIFFERENTIAL
+0xB7	0x0408	#CYRILLIC CAPITAL LETTER JE
+0xB8	0x0404	#CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0xB9	0x0454	#CYRILLIC SMALL LETTER UKRAINIAN IE
+0xBA	0x0407	#CYRILLIC CAPITAL LETTER YI
+0xBB	0x0457	#CYRILLIC SMALL LETTER YI
+0xBC	0x0409	#CYRILLIC CAPITAL LETTER LJE
+0xBD	0x0459	#CYRILLIC SMALL LETTER LJE
+0xBE	0x040A	#CYRILLIC CAPITAL LETTER NJE
+0xBF	0x045A	#CYRILLIC SMALL LETTER NJE
+0xC0	0x0458	#CYRILLIC SMALL LETTER JE
+0xC1	0x0405	#CYRILLIC CAPITAL LETTER DZE
+0xC2	0x00AC	#NOT SIGN
+0xC3	0x221A	#SQUARE ROOT
+0xC4	0x0192	#LATIN SMALL LETTER F WITH HOOK
+0xC5	0x2248	#ALMOST EQUAL TO
+0xC6	0x2206	#INCREMENT
+0xC7	0x00AB	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC8	0x00BB	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC9	0x2026	#HORIZONTAL ELLIPSIS
+0xCA	0x00A0	#NO-BREAK SPACE
+0xCB	0x040B	#CYRILLIC CAPITAL LETTER TSHE
+0xCC	0x045B	#CYRILLIC SMALL LETTER TSHE
+0xCD	0x040C	#CYRILLIC CAPITAL LETTER KJE
+0xCE	0x045C	#CYRILLIC SMALL LETTER KJE
+0xCF	0x0455	#CYRILLIC SMALL LETTER DZE
+0xD0	0x2013	#EN DASH
+0xD1	0x2014	#EM DASH
+0xD2	0x201C	#LEFT DOUBLE QUOTATION MARK
+0xD3	0x201D	#RIGHT DOUBLE QUOTATION MARK
+0xD4	0x2018	#LEFT SINGLE QUOTATION MARK
+0xD5	0x2019	#RIGHT SINGLE QUOTATION MARK
+0xD6	0x00F7	#DIVISION SIGN
+0xD7	0x201E	#DOUBLE LOW-9 QUOTATION MARK
+0xD8	0x040E	#CYRILLIC CAPITAL LETTER SHORT U
+0xD9	0x045E	#CYRILLIC SMALL LETTER SHORT U
+0xDA	0x040F	#CYRILLIC CAPITAL LETTER DZHE
+0xDB	0x045F	#CYRILLIC SMALL LETTER DZHE
+0xDC	0x2116	#NUMERO SIGN
+0xDD	0x0401	#CYRILLIC CAPITAL LETTER IO
+0xDE	0x0451	#CYRILLIC SMALL LETTER IO
+0xDF	0x044F	#CYRILLIC SMALL LETTER YA
+0xE0	0x0430	#CYRILLIC SMALL LETTER A
+0xE1	0x0431	#CYRILLIC SMALL LETTER BE
+0xE2	0x0432	#CYRILLIC SMALL LETTER VE
+0xE3	0x0433	#CYRILLIC SMALL LETTER GHE
+0xE4	0x0434	#CYRILLIC SMALL LETTER DE
+0xE5	0x0435	#CYRILLIC SMALL LETTER IE
+0xE6	0x0436	#CYRILLIC SMALL LETTER ZHE
+0xE7	0x0437	#CYRILLIC SMALL LETTER ZE
+0xE8	0x0438	#CYRILLIC SMALL LETTER I
+0xE9	0x0439	#CYRILLIC SMALL LETTER SHORT I
+0xEA	0x043A	#CYRILLIC SMALL LETTER KA
+0xEB	0x043B	#CYRILLIC SMALL LETTER EL
+0xEC	0x043C	#CYRILLIC SMALL LETTER EM
+0xED	0x043D	#CYRILLIC SMALL LETTER EN
+0xEE	0x043E	#CYRILLIC SMALL LETTER O
+0xEF	0x043F	#CYRILLIC SMALL LETTER PE
+0xF0	0x0440	#CYRILLIC SMALL LETTER ER
+0xF1	0x0441	#CYRILLIC SMALL LETTER ES
+0xF2	0x0442	#CYRILLIC SMALL LETTER TE
+0xF3	0x0443	#CYRILLIC SMALL LETTER U
+0xF4	0x0444	#CYRILLIC SMALL LETTER EF
+0xF5	0x0445	#CYRILLIC SMALL LETTER HA
+0xF6	0x0446	#CYRILLIC SMALL LETTER TSE
+0xF7	0x0447	#CYRILLIC SMALL LETTER CHE
+0xF8	0x0448	#CYRILLIC SMALL LETTER SHA
+0xF9	0x0449	#CYRILLIC SMALL LETTER SHCHA
+0xFA	0x044A	#CYRILLIC SMALL LETTER HARD SIGN
+0xFB	0x044B	#CYRILLIC SMALL LETTER YERU
+0xFC	0x044C	#CYRILLIC SMALL LETTER SOFT SIGN
+0xFD	0x044D	#CYRILLIC SMALL LETTER E
+0xFE	0x044E	#CYRILLIC SMALL LETTER YU
+0xFF	0x00A4	#CURRENCY SIGN
+
+

+ 275 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/MAC/GREEK.TXT

@@ -0,0 +1,275 @@
+#
+#    Name:     cp10006_MacGreek to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp10006_MacGreek code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp10006_MacGreek order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x0004	#END OF TRANSMISSION
+0x05	0x0005	#ENQUIRY
+0x06	0x0006	#ACKNOWLEDGE
+0x07	0x0007	#BELL
+0x08	0x0008	#BACKSPACE
+0x09	0x0009	#HORIZONTAL TABULATION
+0x0A	0x000A	#LINE FEED
+0x0B	0x000B	#VERTICAL TABULATION
+0x0C	0x000C	#FORM FEED
+0x0D	0x000D	#CARRIAGE RETURN
+0x0E	0x000E	#SHIFT OUT
+0x0F	0x000F	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x0014	#DEVICE CONTROL FOUR
+0x15	0x0015	#NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#SYNCHRONOUS IDLE
+0x17	0x0017	#END OF TRANSMISSION BLOCK
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1A	0x001A	#SUBSTITUTE
+0x1B	0x001B	#ESCAPE
+0x1C	0x001C	#FILE SEPARATOR
+0x1D	0x001D	#GROUP SEPARATOR
+0x1E	0x001E	#RECORD SEPARATOR
+0x1F	0x001F	#UNIT SEPARATOR
+0x20	0x0020	#SPACE
+0x21	0x0021	#EXCLAMATION MARK
+0x22	0x0022	#QUOTATION MARK
+0x23	0x0023	#NUMBER SIGN
+0x24	0x0024	#DOLLAR SIGN
+0x25	0x0025	#PERCENT SIGN
+0x26	0x0026	#AMPERSAND
+0x27	0x0027	#APOSTROPHE
+0x28	0x0028	#LEFT PARENTHESIS
+0x29	0x0029	#RIGHT PARENTHESIS
+0x2A	0x002A	#ASTERISK
+0x2B	0x002B	#PLUS SIGN
+0x2C	0x002C	#COMMA
+0x2D	0x002D	#HYPHEN-MINUS
+0x2E	0x002E	#FULL STOP
+0x2F	0x002F	#SOLIDUS
+0x30	0x0030	#DIGIT ZERO
+0x31	0x0031	#DIGIT ONE
+0x32	0x0032	#DIGIT TWO
+0x33	0x0033	#DIGIT THREE
+0x34	0x0034	#DIGIT FOUR
+0x35	0x0035	#DIGIT FIVE
+0x36	0x0036	#DIGIT SIX
+0x37	0x0037	#DIGIT SEVEN
+0x38	0x0038	#DIGIT EIGHT
+0x39	0x0039	#DIGIT NINE
+0x3A	0x003A	#COLON
+0x3B	0x003B	#SEMICOLON
+0x3C	0x003C	#LESS-THAN SIGN
+0x3D	0x003D	#EQUALS SIGN
+0x3E	0x003E	#GREATER-THAN SIGN
+0x3F	0x003F	#QUESTION MARK
+0x40	0x0040	#COMMERCIAL AT
+0x41	0x0041	#LATIN CAPITAL LETTER A
+0x42	0x0042	#LATIN CAPITAL LETTER B
+0x43	0x0043	#LATIN CAPITAL LETTER C
+0x44	0x0044	#LATIN CAPITAL LETTER D
+0x45	0x0045	#LATIN CAPITAL LETTER E
+0x46	0x0046	#LATIN CAPITAL LETTER F
+0x47	0x0047	#LATIN CAPITAL LETTER G
+0x48	0x0048	#LATIN CAPITAL LETTER H
+0x49	0x0049	#LATIN CAPITAL LETTER I
+0x4A	0x004A	#LATIN CAPITAL LETTER J
+0x4B	0x004B	#LATIN CAPITAL LETTER K
+0x4C	0x004C	#LATIN CAPITAL LETTER L
+0x4D	0x004D	#LATIN CAPITAL LETTER M
+0x4E	0x004E	#LATIN CAPITAL LETTER N
+0x4F	0x004F	#LATIN CAPITAL LETTER O
+0x50	0x0050	#LATIN CAPITAL LETTER P
+0x51	0x0051	#LATIN CAPITAL LETTER Q
+0x52	0x0052	#LATIN CAPITAL LETTER R
+0x53	0x0053	#LATIN CAPITAL LETTER S
+0x54	0x0054	#LATIN CAPITAL LETTER T
+0x55	0x0055	#LATIN CAPITAL LETTER U
+0x56	0x0056	#LATIN CAPITAL LETTER V
+0x57	0x0057	#LATIN CAPITAL LETTER W
+0x58	0x0058	#LATIN CAPITAL LETTER X
+0x59	0x0059	#LATIN CAPITAL LETTER Y
+0x5A	0x005A	#LATIN CAPITAL LETTER Z
+0x5B	0x005B	#LEFT SQUARE BRACKET
+0x5C	0x005C	#REVERSE SOLIDUS
+0x5D	0x005D	#RIGHT SQUARE BRACKET
+0x5E	0x005E	#CIRCUMFLEX ACCENT
+0x5F	0x005F	#LOW LINE
+0x60	0x0060	#GRAVE ACCENT
+0x61	0x0061	#LATIN SMALL LETTER A
+0x62	0x0062	#LATIN SMALL LETTER B
+0x63	0x0063	#LATIN SMALL LETTER C
+0x64	0x0064	#LATIN SMALL LETTER D
+0x65	0x0065	#LATIN SMALL LETTER E
+0x66	0x0066	#LATIN SMALL LETTER F
+0x67	0x0067	#LATIN SMALL LETTER G
+0x68	0x0068	#LATIN SMALL LETTER H
+0x69	0x0069	#LATIN SMALL LETTER I
+0x6A	0x006A	#LATIN SMALL LETTER J
+0x6B	0x006B	#LATIN SMALL LETTER K
+0x6C	0x006C	#LATIN SMALL LETTER L
+0x6D	0x006D	#LATIN SMALL LETTER M
+0x6E	0x006E	#LATIN SMALL LETTER N
+0x6F	0x006F	#LATIN SMALL LETTER O
+0x70	0x0070	#LATIN SMALL LETTER P
+0x71	0x0071	#LATIN SMALL LETTER Q
+0x72	0x0072	#LATIN SMALL LETTER R
+0x73	0x0073	#LATIN SMALL LETTER S
+0x74	0x0074	#LATIN SMALL LETTER T
+0x75	0x0075	#LATIN SMALL LETTER U
+0x76	0x0076	#LATIN SMALL LETTER V
+0x77	0x0077	#LATIN SMALL LETTER W
+0x78	0x0078	#LATIN SMALL LETTER X
+0x79	0x0079	#LATIN SMALL LETTER Y
+0x7A	0x007A	#LATIN SMALL LETTER Z
+0x7B	0x007B	#LEFT CURLY BRACKET
+0x7C	0x007C	#VERTICAL LINE
+0x7D	0x007D	#RIGHT CURLY BRACKET
+0x7E	0x007E	#TILDE
+0x7F	0x007F	#DELETE
+0x80	0x00C4	#LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81	0x00B9	#SUPERSCRIPT ONE
+0x82	0x00B2	#SUPERSCRIPT TWO
+0x83	0x00C9	#LATIN CAPITAL LETTER E WITH ACUTE
+0x84	0x00B3	#SUPERSCRIPT THREE
+0x85	0x00D6	#LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86	0x00DC	#LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87	0x0385	#GREEK DIALYTIKA TONOS
+0x88	0x00E0	#LATIN SMALL LETTER A WITH GRAVE
+0x89	0x00E2	#LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x8A	0x00E4	#LATIN SMALL LETTER A WITH DIAERESIS
+0x8B	0x0384	#GREEK TONOS
+0x8C	0x00A8	#DIAERESIS
+0x8D	0x00E7	#LATIN SMALL LETTER C WITH CEDILLA
+0x8E	0x00E9	#LATIN SMALL LETTER E WITH ACUTE
+0x8F	0x00E8	#LATIN SMALL LETTER E WITH GRAVE
+0x90	0x00EA	#LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x91	0x00EB	#LATIN SMALL LETTER E WITH DIAERESIS
+0x92	0x00A3	#POUND SIGN
+0x93	0x2122	#TRADE MARK SIGN
+0x94	0x00EE	#LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x95	0x00EF	#LATIN SMALL LETTER I WITH DIAERESIS
+0x96	0x2022	#BULLET
+0x97	0x00BD	#VULGAR FRACTION ONE HALF
+0x98	0x2030	#PER MILLE SIGN
+0x99	0x00F4	#LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A	0x00F6	#LATIN SMALL LETTER O WITH DIAERESIS
+0x9B	0x00A6	#BROKEN BAR
+0x9C	0x00AD	#SOFT HYPHEN
+0x9D	0x00F9	#LATIN SMALL LETTER U WITH GRAVE
+0x9E	0x00FB	#LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x9F	0x00FC	#LATIN SMALL LETTER U WITH DIAERESIS
+0xA0	0x2020	#DAGGER
+0xA1	0x0393	#GREEK CAPITAL LETTER GAMMA
+0xA2	0x0394	#GREEK CAPITAL LETTER DELTA
+0xA3	0x0398	#GREEK CAPITAL LETTER THETA
+0xA4	0x039B	#GREEK CAPITAL LETTER LAMBDA
+0xA5	0x039E	#GREEK CAPITAL LETTER XI
+0xA6	0x03A0	#GREEK CAPITAL LETTER PI
+0xA7	0x00DF	#LATIN SMALL LETTER SHARP S
+0xA8	0x00AE	#REGISTERED SIGN
+0xA9	0x00A9	#COPYRIGHT SIGN
+0xAA	0x03A3	#GREEK CAPITAL LETTER SIGMA
+0xAB	0x03AA	#GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+0xAC	0x00A7	#SECTION SIGN
+0xAD	0x2260	#NOT EQUAL TO
+0xAE	0x00B0	#DEGREE SIGN
+0xAF	0x0387	#GREEK ANO TELEIA
+0xB0	0x0391	#GREEK CAPITAL LETTER ALPHA
+0xB1	0x00B1	#PLUS-MINUS SIGN
+0xB2	0x2264	#LESS-THAN OR EQUAL TO
+0xB3	0x2265	#GREATER-THAN OR EQUAL TO
+0xB4	0x00A5	#YEN SIGN
+0xB5	0x0392	#GREEK CAPITAL LETTER BETA
+0xB6	0x0395	#GREEK CAPITAL LETTER EPSILON
+0xB7	0x0396	#GREEK CAPITAL LETTER ZETA
+0xB8	0x0397	#GREEK CAPITAL LETTER ETA
+0xB9	0x0399	#GREEK CAPITAL LETTER IOTA
+0xBA	0x039A	#GREEK CAPITAL LETTER KAPPA
+0xBB	0x039C	#GREEK CAPITAL LETTER MU
+0xBC	0x03A6	#GREEK CAPITAL LETTER PHI
+0xBD	0x03AB	#GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+0xBE	0x03A8	#GREEK CAPITAL LETTER PSI
+0xBF	0x03A9	#GREEK CAPITAL LETTER OMEGA
+0xC0	0x03AC	#GREEK SMALL LETTER ALPHA WITH TONOS
+0xC1	0x039D	#GREEK CAPITAL LETTER NU
+0xC2	0x00AC	#NOT SIGN
+0xC3	0x039F	#GREEK CAPITAL LETTER OMICRON
+0xC4	0x03A1	#GREEK CAPITAL LETTER RHO
+0xC5	0x2248	#ALMOST EQUAL TO
+0xC6	0x03A4	#GREEK CAPITAL LETTER TAU
+0xC7	0x00AB	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC8	0x00BB	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC9	0x2026	#HORIZONTAL ELLIPSIS
+0xCA	0x00A0	#NO-BREAK SPACE
+0xCB	0x03A5	#GREEK CAPITAL LETTER UPSILON
+0xCC	0x03A7	#GREEK CAPITAL LETTER CHI
+0xCD	0x0386	#GREEK CAPITAL LETTER ALPHA WITH TONOS
+0xCE	0x0388	#GREEK CAPITAL LETTER EPSILON WITH TONOS
+0xCF	0x0153	#LATIN SMALL LIGATURE OE
+0xD0	0x2013	#EN DASH
+0xD1	0x2015	#HORIZONTAL BAR
+0xD2	0x201C	#LEFT DOUBLE QUOTATION MARK
+0xD3	0x201D	#RIGHT DOUBLE QUOTATION MARK
+0xD4	0x2018	#LEFT SINGLE QUOTATION MARK
+0xD5	0x2019	#RIGHT SINGLE QUOTATION MARK
+0xD6	0x00F7	#DIVISION SIGN
+0xD7	0x0389	#GREEK CAPITAL LETTER ETA WITH TONOS
+0xD8	0x038A	#GREEK CAPITAL LETTER IOTA WITH TONOS
+0xD9	0x038C	#GREEK CAPITAL LETTER OMICRON WITH TONOS
+0xDA	0x038E	#GREEK CAPITAL LETTER UPSILON WITH TONOS
+0xDB	0x03AD	#GREEK SMALL LETTER EPSILON WITH TONOS
+0xDC	0x03AE	#GREEK SMALL LETTER ETA WITH TONOS
+0xDD	0x03AF	#GREEK SMALL LETTER IOTA WITH TONOS
+0xDE	0x03CC	#GREEK SMALL LETTER OMICRON WITH TONOS
+0xDF	0x038F	#GREEK CAPITAL LETTER OMEGA WITH TONOS
+0xE0	0x03CD	#GREEK SMALL LETTER UPSILON WITH TONOS
+0xE1	0x03B1	#GREEK SMALL LETTER ALPHA
+0xE2	0x03B2	#GREEK SMALL LETTER BETA
+0xE3	0x03C8	#GREEK SMALL LETTER PSI
+0xE4	0x03B4	#GREEK SMALL LETTER DELTA
+0xE5	0x03B5	#GREEK SMALL LETTER EPSILON
+0xE6	0x03C6	#GREEK SMALL LETTER PHI
+0xE7	0x03B3	#GREEK SMALL LETTER GAMMA
+0xE8	0x03B7	#GREEK SMALL LETTER ETA
+0xE9	0x03B9	#GREEK SMALL LETTER IOTA
+0xEA	0x03BE	#GREEK SMALL LETTER XI
+0xEB	0x03BA	#GREEK SMALL LETTER KAPPA
+0xEC	0x03BB	#GREEK SMALL LETTER LAMBDA
+0xED	0x03BC	#GREEK SMALL LETTER MU
+0xEE	0x03BD	#GREEK SMALL LETTER NU
+0xEF	0x03BF	#GREEK SMALL LETTER OMICRON
+0xF0	0x03C0	#GREEK SMALL LETTER PI
+0xF1	0x03CE	#GREEK SMALL LETTER OMEGA WITH TONOS
+0xF2	0x03C1	#GREEK SMALL LETTER RHO
+0xF3	0x03C3	#GREEK SMALL LETTER SIGMA
+0xF4	0x03C4	#GREEK SMALL LETTER TAU
+0xF5	0x03B8	#GREEK SMALL LETTER THETA
+0xF6	0x03C9	#GREEK SMALL LETTER OMEGA
+0xF7	0x03C2	#GREEK SMALL LETTER FINAL SIGMA
+0xF8	0x03C7	#GREEK SMALL LETTER CHI
+0xF9	0x03C5	#GREEK SMALL LETTER UPSILON
+0xFA	0x03B6	#GREEK SMALL LETTER ZETA
+0xFB	0x03CA	#GREEK SMALL LETTER IOTA WITH DIALYTIKA
+0xFC	0x03CB	#GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+0xFD	0x0390	#GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+0xFE	0x03B0	#GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+0xFF		#UNDEFINED
+
+

+ 275 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/MAC/ICELAND.TXT

@@ -0,0 +1,275 @@
+#
+#    Name:     cp10079_MacIcelandic to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp10079_MacIcelandic code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp10079_MacIcelandic order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x0004	#END OF TRANSMISSION
+0x05	0x0005	#ENQUIRY
+0x06	0x0006	#ACKNOWLEDGE
+0x07	0x0007	#BELL
+0x08	0x0008	#BACKSPACE
+0x09	0x0009	#HORIZONTAL TABULATION
+0x0A	0x000A	#LINE FEED
+0x0B	0x000B	#VERTICAL TABULATION
+0x0C	0x000C	#FORM FEED
+0x0D	0x000D	#CARRIAGE RETURN
+0x0E	0x000E	#SHIFT OUT
+0x0F	0x000F	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x0014	#DEVICE CONTROL FOUR
+0x15	0x0015	#NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#SYNCHRONOUS IDLE
+0x17	0x0017	#END OF TRANSMISSION BLOCK
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1A	0x001A	#SUBSTITUTE
+0x1B	0x001B	#ESCAPE
+0x1C	0x001C	#FILE SEPARATOR
+0x1D	0x001D	#GROUP SEPARATOR
+0x1E	0x001E	#RECORD SEPARATOR
+0x1F	0x001F	#UNIT SEPARATOR
+0x20	0x0020	#SPACE
+0x21	0x0021	#EXCLAMATION MARK
+0x22	0x0022	#QUOTATION MARK
+0x23	0x0023	#NUMBER SIGN
+0x24	0x0024	#DOLLAR SIGN
+0x25	0x0025	#PERCENT SIGN
+0x26	0x0026	#AMPERSAND
+0x27	0x0027	#APOSTROPHE
+0x28	0x0028	#LEFT PARENTHESIS
+0x29	0x0029	#RIGHT PARENTHESIS
+0x2A	0x002A	#ASTERISK
+0x2B	0x002B	#PLUS SIGN
+0x2C	0x002C	#COMMA
+0x2D	0x002D	#HYPHEN-MINUS
+0x2E	0x002E	#FULL STOP
+0x2F	0x002F	#SOLIDUS
+0x30	0x0030	#DIGIT ZERO
+0x31	0x0031	#DIGIT ONE
+0x32	0x0032	#DIGIT TWO
+0x33	0x0033	#DIGIT THREE
+0x34	0x0034	#DIGIT FOUR
+0x35	0x0035	#DIGIT FIVE
+0x36	0x0036	#DIGIT SIX
+0x37	0x0037	#DIGIT SEVEN
+0x38	0x0038	#DIGIT EIGHT
+0x39	0x0039	#DIGIT NINE
+0x3A	0x003A	#COLON
+0x3B	0x003B	#SEMICOLON
+0x3C	0x003C	#LESS-THAN SIGN
+0x3D	0x003D	#EQUALS SIGN
+0x3E	0x003E	#GREATER-THAN SIGN
+0x3F	0x003F	#QUESTION MARK
+0x40	0x0040	#COMMERCIAL AT
+0x41	0x0041	#LATIN CAPITAL LETTER A
+0x42	0x0042	#LATIN CAPITAL LETTER B
+0x43	0x0043	#LATIN CAPITAL LETTER C
+0x44	0x0044	#LATIN CAPITAL LETTER D
+0x45	0x0045	#LATIN CAPITAL LETTER E
+0x46	0x0046	#LATIN CAPITAL LETTER F
+0x47	0x0047	#LATIN CAPITAL LETTER G
+0x48	0x0048	#LATIN CAPITAL LETTER H
+0x49	0x0049	#LATIN CAPITAL LETTER I
+0x4A	0x004A	#LATIN CAPITAL LETTER J
+0x4B	0x004B	#LATIN CAPITAL LETTER K
+0x4C	0x004C	#LATIN CAPITAL LETTER L
+0x4D	0x004D	#LATIN CAPITAL LETTER M
+0x4E	0x004E	#LATIN CAPITAL LETTER N
+0x4F	0x004F	#LATIN CAPITAL LETTER O
+0x50	0x0050	#LATIN CAPITAL LETTER P
+0x51	0x0051	#LATIN CAPITAL LETTER Q
+0x52	0x0052	#LATIN CAPITAL LETTER R
+0x53	0x0053	#LATIN CAPITAL LETTER S
+0x54	0x0054	#LATIN CAPITAL LETTER T
+0x55	0x0055	#LATIN CAPITAL LETTER U
+0x56	0x0056	#LATIN CAPITAL LETTER V
+0x57	0x0057	#LATIN CAPITAL LETTER W
+0x58	0x0058	#LATIN CAPITAL LETTER X
+0x59	0x0059	#LATIN CAPITAL LETTER Y
+0x5A	0x005A	#LATIN CAPITAL LETTER Z
+0x5B	0x005B	#LEFT SQUARE BRACKET
+0x5C	0x005C	#REVERSE SOLIDUS
+0x5D	0x005D	#RIGHT SQUARE BRACKET
+0x5E	0x005E	#CIRCUMFLEX ACCENT
+0x5F	0x005F	#LOW LINE
+0x60	0x0060	#GRAVE ACCENT
+0x61	0x0061	#LATIN SMALL LETTER A
+0x62	0x0062	#LATIN SMALL LETTER B
+0x63	0x0063	#LATIN SMALL LETTER C
+0x64	0x0064	#LATIN SMALL LETTER D
+0x65	0x0065	#LATIN SMALL LETTER E
+0x66	0x0066	#LATIN SMALL LETTER F
+0x67	0x0067	#LATIN SMALL LETTER G
+0x68	0x0068	#LATIN SMALL LETTER H
+0x69	0x0069	#LATIN SMALL LETTER I
+0x6A	0x006A	#LATIN SMALL LETTER J
+0x6B	0x006B	#LATIN SMALL LETTER K
+0x6C	0x006C	#LATIN SMALL LETTER L
+0x6D	0x006D	#LATIN SMALL LETTER M
+0x6E	0x006E	#LATIN SMALL LETTER N
+0x6F	0x006F	#LATIN SMALL LETTER O
+0x70	0x0070	#LATIN SMALL LETTER P
+0x71	0x0071	#LATIN SMALL LETTER Q
+0x72	0x0072	#LATIN SMALL LETTER R
+0x73	0x0073	#LATIN SMALL LETTER S
+0x74	0x0074	#LATIN SMALL LETTER T
+0x75	0x0075	#LATIN SMALL LETTER U
+0x76	0x0076	#LATIN SMALL LETTER V
+0x77	0x0077	#LATIN SMALL LETTER W
+0x78	0x0078	#LATIN SMALL LETTER X
+0x79	0x0079	#LATIN SMALL LETTER Y
+0x7A	0x007A	#LATIN SMALL LETTER Z
+0x7B	0x007B	#LEFT CURLY BRACKET
+0x7C	0x007C	#VERTICAL LINE
+0x7D	0x007D	#RIGHT CURLY BRACKET
+0x7E	0x007E	#TILDE
+0x7F	0x007F	#DELETE
+0x80	0x00C4	#LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81	0x00C5	#LATIN CAPITAL LETTER A WITH RING ABOVE
+0x82	0x00C7	#LATIN CAPITAL LETTER C WITH CEDILLA
+0x83	0x00C9	#LATIN CAPITAL LETTER E WITH ACUTE
+0x84	0x00D1	#LATIN CAPITAL LETTER N WITH TILDE
+0x85	0x00D6	#LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86	0x00DC	#LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87	0x00E1	#LATIN SMALL LETTER A WITH ACUTE
+0x88	0x00E0	#LATIN SMALL LETTER A WITH GRAVE
+0x89	0x00E2	#LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x8A	0x00E4	#LATIN SMALL LETTER A WITH DIAERESIS
+0x8B	0x00E3	#LATIN SMALL LETTER A WITH TILDE
+0x8C	0x00E5	#LATIN SMALL LETTER A WITH RING ABOVE
+0x8D	0x00E7	#LATIN SMALL LETTER C WITH CEDILLA
+0x8E	0x00E9	#LATIN SMALL LETTER E WITH ACUTE
+0x8F	0x00E8	#LATIN SMALL LETTER E WITH GRAVE
+0x90	0x00EA	#LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x91	0x00EB	#LATIN SMALL LETTER E WITH DIAERESIS
+0x92	0x00ED	#LATIN SMALL LETTER I WITH ACUTE
+0x93	0x00EC	#LATIN SMALL LETTER I WITH GRAVE
+0x94	0x00EE	#LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x95	0x00EF	#LATIN SMALL LETTER I WITH DIAERESIS
+0x96	0x00F1	#LATIN SMALL LETTER N WITH TILDE
+0x97	0x00F3	#LATIN SMALL LETTER O WITH ACUTE
+0x98	0x00F2	#LATIN SMALL LETTER O WITH GRAVE
+0x99	0x00F4	#LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A	0x00F6	#LATIN SMALL LETTER O WITH DIAERESIS
+0x9B	0x00F5	#LATIN SMALL LETTER O WITH TILDE
+0x9C	0x00FA	#LATIN SMALL LETTER U WITH ACUTE
+0x9D	0x00F9	#LATIN SMALL LETTER U WITH GRAVE
+0x9E	0x00FB	#LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x9F	0x00FC	#LATIN SMALL LETTER U WITH DIAERESIS
+0xA0	0x00DD	#LATIN CAPITAL LETTER Y WITH ACUTE
+0xA1	0x00B0	#DEGREE SIGN
+0xA2	0x00A2	#CENT SIGN
+0xA3	0x00A3	#POUND SIGN
+0xA4	0x00A7	#SECTION SIGN
+0xA5	0x2022	#BULLET
+0xA6	0x00B6	#PILCROW SIGN
+0xA7	0x00DF	#LATIN SMALL LETTER SHARP S
+0xA8	0x00AE	#REGISTERED SIGN
+0xA9	0x00A9	#COPYRIGHT SIGN
+0xAA	0x2122	#TRADE MARK SIGN
+0xAB	0x00B4	#ACUTE ACCENT
+0xAC	0x00A8	#DIAERESIS
+0xAD	0x2260	#NOT EQUAL TO
+0xAE	0x00C6	#LATIN CAPITAL LIGATURE AE
+0xAF	0x00D8	#LATIN CAPITAL LETTER O WITH STROKE
+0xB0	0x221E	#INFINITY
+0xB1	0x00B1	#PLUS-MINUS SIGN
+0xB2	0x2264	#LESS-THAN OR EQUAL TO
+0xB3	0x2265	#GREATER-THAN OR EQUAL TO
+0xB4	0x00A5	#YEN SIGN
+0xB5	0x00B5	#MICRO SIGN
+0xB6	0x2202	#PARTIAL DIFFERENTIAL
+0xB7	0x2211	#N-ARY SUMMATION
+0xB8	0x220F	#N-ARY PRODUCT
+0xB9	0x03C0	#GREEK SMALL LETTER PI
+0xBA	0x222B	#INTEGRAL
+0xBB	0x00AA	#FEMININE ORDINAL INDICATOR
+0xBC	0x00BA	#MASCULINE ORDINAL INDICATOR
+0xBD	0x2126	#OHM SIGN
+0xBE	0x00E6	#LATIN SMALL LIGATURE AE
+0xBF	0x00F8	#LATIN SMALL LETTER O WITH STROKE
+0xC0	0x00BF	#INVERTED QUESTION MARK
+0xC1	0x00A1	#INVERTED EXCLAMATION MARK
+0xC2	0x00AC	#NOT SIGN
+0xC3	0x221A	#SQUARE ROOT
+0xC4	0x0192	#LATIN SMALL LETTER F WITH HOOK
+0xC5	0x2248	#ALMOST EQUAL TO
+0xC6	0x2206	#INCREMENT
+0xC7	0x00AB	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC8	0x00BB	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC9	0x2026	#HORIZONTAL ELLIPSIS
+0xCA	0x00A0	#NO-BREAK SPACE
+0xCB	0x00C0	#LATIN CAPITAL LETTER A WITH GRAVE
+0xCC	0x00C3	#LATIN CAPITAL LETTER A WITH TILDE
+0xCD	0x00D5	#LATIN CAPITAL LETTER O WITH TILDE
+0xCE	0x0152	#LATIN CAPITAL LIGATURE OE
+0xCF	0x0153	#LATIN SMALL LIGATURE OE
+0xD0	0x2013	#EN DASH
+0xD1	0x2014	#EM DASH
+0xD2	0x201C	#LEFT DOUBLE QUOTATION MARK
+0xD3	0x201D	#RIGHT DOUBLE QUOTATION MARK
+0xD4	0x2018	#LEFT SINGLE QUOTATION MARK
+0xD5	0x2019	#RIGHT SINGLE QUOTATION MARK
+0xD6	0x00F7	#DIVISION SIGN
+0xD7	0x25CA	#LOZENGE
+0xD8	0x00FF	#LATIN SMALL LETTER Y WITH DIAERESIS
+0xD9	0x0178	#LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xDA	0x2044	#FRACTION SLASH
+0xDB	0x00A4	#CURRENCY SIGN
+0xDC	0x00D0	#LATIN CAPITAL LETTER ETH
+0xDD	0x00F0	#LATIN SMALL LETTER ETH
+0xDE	0x00DE	#LATIN CAPITAL LETTER THORN
+0xDF	0x00FE	#LATIN SMALL LETTER THORN
+0xE0	0x00FD	#LATIN SMALL LETTER Y WITH ACUTE
+0xE1	0x00B7	#MIDDLE DOT
+0xE2	0x201A	#SINGLE LOW-9 QUOTATION MARK
+0xE3	0x201E	#DOUBLE LOW-9 QUOTATION MARK
+0xE4	0x2030	#PER MILLE SIGN
+0xE5	0x00C2	#LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xE6	0x00CA	#LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xE7	0x00C1	#LATIN CAPITAL LETTER A WITH ACUTE
+0xE8	0x00CB	#LATIN CAPITAL LETTER E WITH DIAERESIS
+0xE9	0x00C8	#LATIN CAPITAL LETTER E WITH GRAVE
+0xEA	0x00CD	#LATIN CAPITAL LETTER I WITH ACUTE
+0xEB	0x00CE	#LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xEC	0x00CF	#LATIN CAPITAL LETTER I WITH DIAERESIS
+0xED	0x00CC	#LATIN CAPITAL LETTER I WITH GRAVE
+0xEE	0x00D3	#LATIN CAPITAL LETTER O WITH ACUTE
+0xEF	0x00D4	#LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xF0		#UNDEFINED
+0xF1	0x00D2	#LATIN CAPITAL LETTER O WITH GRAVE
+0xF2	0x00DA	#LATIN CAPITAL LETTER U WITH ACUTE
+0xF3	0x00DB	#LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xF4	0x00D9	#LATIN CAPITAL LETTER U WITH GRAVE
+0xF5	0x0131	#LATIN SMALL LETTER DOTLESS I
+0xF6	0x02C6	#MODIFIER LETTER CIRCUMFLEX ACCENT
+0xF7	0x02DC	#SMALL TILDE
+0xF8	0x00AF	#MACRON
+0xF9	0x02D8	#BREVE
+0xFA	0x02D9	#DOT ABOVE
+0xFB	0x02DA	#RING ABOVE
+0xFC	0x00B8	#CEDILLA
+0xFD	0x02DD	#DOUBLE ACUTE ACCENT
+0xFE	0x02DB	#OGONEK
+0xFF	0x02C7	#CARON
+
+

+ 275 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/MAC/LATIN2.TXT

@@ -0,0 +1,275 @@
+#
+#    Name:     cp10029_MacLatin2 to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp10029_MacLatin2 code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp10029_MacLatin2 order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x0004	#END OF TRANSMISSION
+0x05	0x0005	#ENQUIRY
+0x06	0x0006	#ACKNOWLEDGE
+0x07	0x0007	#BELL
+0x08	0x0008	#BACKSPACE
+0x09	0x0009	#HORIZONTAL TABULATION
+0x0A	0x000A	#LINE FEED
+0x0B	0x000B	#VERTICAL TABULATION
+0x0C	0x000C	#FORM FEED
+0x0D	0x000D	#CARRIAGE RETURN
+0x0E	0x000E	#SHIFT OUT
+0x0F	0x000F	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x0014	#DEVICE CONTROL FOUR
+0x15	0x0015	#NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#SYNCHRONOUS IDLE
+0x17	0x0017	#END OF TRANSMISSION BLOCK
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1A	0x001A	#SUBSTITUTE
+0x1B	0x001B	#ESCAPE
+0x1C	0x001C	#FILE SEPARATOR
+0x1D	0x001D	#GROUP SEPARATOR
+0x1E	0x001E	#RECORD SEPARATOR
+0x1F	0x001F	#UNIT SEPARATOR
+0x20	0x0020	#SPACE
+0x21	0x0021	#EXCLAMATION MARK
+0x22	0x0022	#QUOTATION MARK
+0x23	0x0023	#NUMBER SIGN
+0x24	0x0024	#DOLLAR SIGN
+0x25	0x0025	#PERCENT SIGN
+0x26	0x0026	#AMPERSAND
+0x27	0x0027	#APOSTROPHE
+0x28	0x0028	#LEFT PARENTHESIS
+0x29	0x0029	#RIGHT PARENTHESIS
+0x2A	0x002A	#ASTERISK
+0x2B	0x002B	#PLUS SIGN
+0x2C	0x002C	#COMMA
+0x2D	0x002D	#HYPHEN-MINUS
+0x2E	0x002E	#FULL STOP
+0x2F	0x002F	#SOLIDUS
+0x30	0x0030	#DIGIT ZERO
+0x31	0x0031	#DIGIT ONE
+0x32	0x0032	#DIGIT TWO
+0x33	0x0033	#DIGIT THREE
+0x34	0x0034	#DIGIT FOUR
+0x35	0x0035	#DIGIT FIVE
+0x36	0x0036	#DIGIT SIX
+0x37	0x0037	#DIGIT SEVEN
+0x38	0x0038	#DIGIT EIGHT
+0x39	0x0039	#DIGIT NINE
+0x3A	0x003A	#COLON
+0x3B	0x003B	#SEMICOLON
+0x3C	0x003C	#LESS-THAN SIGN
+0x3D	0x003D	#EQUALS SIGN
+0x3E	0x003E	#GREATER-THAN SIGN
+0x3F	0x003F	#QUESTION MARK
+0x40	0x0040	#COMMERCIAL AT
+0x41	0x0041	#LATIN CAPITAL LETTER A
+0x42	0x0042	#LATIN CAPITAL LETTER B
+0x43	0x0043	#LATIN CAPITAL LETTER C
+0x44	0x0044	#LATIN CAPITAL LETTER D
+0x45	0x0045	#LATIN CAPITAL LETTER E
+0x46	0x0046	#LATIN CAPITAL LETTER F
+0x47	0x0047	#LATIN CAPITAL LETTER G
+0x48	0x0048	#LATIN CAPITAL LETTER H
+0x49	0x0049	#LATIN CAPITAL LETTER I
+0x4A	0x004A	#LATIN CAPITAL LETTER J
+0x4B	0x004B	#LATIN CAPITAL LETTER K
+0x4C	0x004C	#LATIN CAPITAL LETTER L
+0x4D	0x004D	#LATIN CAPITAL LETTER M
+0x4E	0x004E	#LATIN CAPITAL LETTER N
+0x4F	0x004F	#LATIN CAPITAL LETTER O
+0x50	0x0050	#LATIN CAPITAL LETTER P
+0x51	0x0051	#LATIN CAPITAL LETTER Q
+0x52	0x0052	#LATIN CAPITAL LETTER R
+0x53	0x0053	#LATIN CAPITAL LETTER S
+0x54	0x0054	#LATIN CAPITAL LETTER T
+0x55	0x0055	#LATIN CAPITAL LETTER U
+0x56	0x0056	#LATIN CAPITAL LETTER V
+0x57	0x0057	#LATIN CAPITAL LETTER W
+0x58	0x0058	#LATIN CAPITAL LETTER X
+0x59	0x0059	#LATIN CAPITAL LETTER Y
+0x5A	0x005A	#LATIN CAPITAL LETTER Z
+0x5B	0x005B	#LEFT SQUARE BRACKET
+0x5C	0x005C	#REVERSE SOLIDUS
+0x5D	0x005D	#RIGHT SQUARE BRACKET
+0x5E	0x005E	#CIRCUMFLEX ACCENT
+0x5F	0x005F	#LOW LINE
+0x60	0x0060	#GRAVE ACCENT
+0x61	0x0061	#LATIN SMALL LETTER A
+0x62	0x0062	#LATIN SMALL LETTER B
+0x63	0x0063	#LATIN SMALL LETTER C
+0x64	0x0064	#LATIN SMALL LETTER D
+0x65	0x0065	#LATIN SMALL LETTER E
+0x66	0x0066	#LATIN SMALL LETTER F
+0x67	0x0067	#LATIN SMALL LETTER G
+0x68	0x0068	#LATIN SMALL LETTER H
+0x69	0x0069	#LATIN SMALL LETTER I
+0x6A	0x006A	#LATIN SMALL LETTER J
+0x6B	0x006B	#LATIN SMALL LETTER K
+0x6C	0x006C	#LATIN SMALL LETTER L
+0x6D	0x006D	#LATIN SMALL LETTER M
+0x6E	0x006E	#LATIN SMALL LETTER N
+0x6F	0x006F	#LATIN SMALL LETTER O
+0x70	0x0070	#LATIN SMALL LETTER P
+0x71	0x0071	#LATIN SMALL LETTER Q
+0x72	0x0072	#LATIN SMALL LETTER R
+0x73	0x0073	#LATIN SMALL LETTER S
+0x74	0x0074	#LATIN SMALL LETTER T
+0x75	0x0075	#LATIN SMALL LETTER U
+0x76	0x0076	#LATIN SMALL LETTER V
+0x77	0x0077	#LATIN SMALL LETTER W
+0x78	0x0078	#LATIN SMALL LETTER X
+0x79	0x0079	#LATIN SMALL LETTER Y
+0x7A	0x007A	#LATIN SMALL LETTER Z
+0x7B	0x007B	#LEFT CURLY BRACKET
+0x7C	0x007C	#VERTICAL LINE
+0x7D	0x007D	#RIGHT CURLY BRACKET
+0x7E	0x007E	#TILDE
+0x7F	0x007F	#DELETE
+0x80	0x00C4	#LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81	0x0100	#LATIN CAPITAL LETTER A WITH MACRON
+0x82	0x0101	#LATIN SMALL LETTER A WITH MACRON
+0x83	0x00C9	#LATIN CAPITAL LETTER E WITH ACUTE
+0x84	0x0104	#LATIN CAPITAL LETTER A WITH OGONEK
+0x85	0x00D6	#LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86	0x00DC	#LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87	0x00E1	#LATIN SMALL LETTER A WITH ACUTE
+0x88	0x0105	#LATIN SMALL LETTER A WITH OGONEK
+0x89	0x010C	#LATIN CAPITAL LETTER C WITH CARON
+0x8A	0x00E4	#LATIN SMALL LETTER A WITH DIAERESIS
+0x8B	0x010D	#LATIN SMALL LETTER C WITH CARON
+0x8C	0x0106	#LATIN CAPITAL LETTER C WITH ACUTE
+0x8D	0x0107	#LATIN SMALL LETTER C WITH ACUTE
+0x8E	0x00E9	#LATIN SMALL LETTER E WITH ACUTE
+0x8F	0x0179	#LATIN CAPITAL LETTER Z WITH ACUTE
+0x90	0x017A	#LATIN SMALL LETTER Z WITH ACUTE
+0x91	0x010E	#LATIN CAPITAL LETTER D WITH CARON
+0x92	0x00ED	#LATIN SMALL LETTER I WITH ACUTE
+0x93	0x010F	#LATIN SMALL LETTER D WITH CARON
+0x94	0x0112	#LATIN CAPITAL LETTER E WITH MACRON
+0x95	0x0113	#LATIN SMALL LETTER E WITH MACRON
+0x96	0x0116	#LATIN CAPITAL LETTER E WITH DOT ABOVE
+0x97	0x00F3	#LATIN SMALL LETTER O WITH ACUTE
+0x98	0x0117	#LATIN SMALL LETTER E WITH DOT ABOVE
+0x99	0x00F4	#LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A	0x00F6	#LATIN SMALL LETTER O WITH DIAERESIS
+0x9B	0x00F5	#LATIN SMALL LETTER O WITH TILDE
+0x9C	0x00FA	#LATIN SMALL LETTER U WITH ACUTE
+0x9D	0x011A	#LATIN CAPITAL LETTER E WITH CARON
+0x9E	0x011B	#LATIN SMALL LETTER E WITH CARON
+0x9F	0x00FC	#LATIN SMALL LETTER U WITH DIAERESIS
+0xA0	0x2020	#DAGGER
+0xA1	0x00B0	#DEGREE SIGN
+0xA2	0x0118	#LATIN CAPITAL LETTER E WITH OGONEK
+0xA3	0x00A3	#POUND SIGN
+0xA4	0x00A7	#SECTION SIGN
+0xA5	0x2022	#BULLET
+0xA6	0x00B6	#PILCROW SIGN
+0xA7	0x00DF	#LATIN SMALL LETTER SHARP S
+0xA8	0x00AE	#REGISTERED SIGN
+0xA9	0x00A9	#COPYRIGHT SIGN
+0xAA	0x2122	#TRADE MARK SIGN
+0xAB	0x0119	#LATIN SMALL LETTER E WITH OGONEK
+0xAC	0x00A8	#DIAERESIS
+0xAD	0x2260	#NOT EQUAL TO
+0xAE	0x0123	#LATIN SMALL LETTER G WITH CEDILLA
+0xAF	0x012E	#LATIN CAPITAL LETTER I WITH OGONEK
+0xB0	0x012F	#LATIN SMALL LETTER I WITH OGONEK
+0xB1	0x012A	#LATIN CAPITAL LETTER I WITH MACRON
+0xB2	0x2264	#LESS-THAN OR EQUAL TO
+0xB3	0x2265	#GREATER-THAN OR EQUAL TO
+0xB4	0x012B	#LATIN SMALL LETTER I WITH MACRON
+0xB5	0x0136	#LATIN CAPITAL LETTER K WITH CEDILLA
+0xB6	0x2202	#PARTIAL DIFFERENTIAL
+0xB7	0x2211	#N-ARY SUMMATION
+0xB8	0x0142	#LATIN SMALL LETTER L WITH STROKE
+0xB9	0x013B	#LATIN CAPITAL LETTER L WITH CEDILLA
+0xBA	0x013C	#LATIN SMALL LETTER L WITH CEDILLA
+0xBB	0x013D	#LATIN CAPITAL LETTER L WITH CARON
+0xBC	0x013E	#LATIN SMALL LETTER L WITH CARON
+0xBD	0x0139	#LATIN CAPITAL LETTER L WITH ACUTE
+0xBE	0x013A	#LATIN SMALL LETTER L WITH ACUTE
+0xBF	0x0145	#LATIN CAPITAL LETTER N WITH CEDILLA
+0xC0	0x0146	#LATIN SMALL LETTER N WITH CEDILLA
+0xC1	0x0143	#LATIN CAPITAL LETTER N WITH ACUTE
+0xC2	0x00AC	#NOT SIGN
+0xC3	0x221A	#SQUARE ROOT
+0xC4	0x0144	#LATIN SMALL LETTER N WITH ACUTE
+0xC5	0x0147	#LATIN CAPITAL LETTER N WITH CARON
+0xC6	0x2206	#INCREMENT
+0xC7	0x00AB	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC8	0x00BB	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC9	0x2026	#HORIZONTAL ELLIPSIS
+0xCA	0x00A0	#NO-BREAK SPACE
+0xCB	0x0148	#LATIN SMALL LETTER N WITH CARON
+0xCC	0x0150	#LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0xCD	0x00D5	#LATIN CAPITAL LETTER O WITH TILDE
+0xCE	0x0151	#LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0xCF	0x014C	#LATIN CAPITAL LETTER O WITH MACRON
+0xD0	0x2013	#EN DASH
+0xD1	0x2014	#EM DASH
+0xD2	0x201C	#LEFT DOUBLE QUOTATION MARK
+0xD3	0x201D	#RIGHT DOUBLE QUOTATION MARK
+0xD4	0x2018	#LEFT SINGLE QUOTATION MARK
+0xD5	0x2019	#RIGHT SINGLE QUOTATION MARK
+0xD6	0x00F7	#DIVISION SIGN
+0xD7	0x25CA	#LOZENGE
+0xD8	0x014D	#LATIN SMALL LETTER O WITH MACRON
+0xD9	0x0154	#LATIN CAPITAL LETTER R WITH ACUTE
+0xDA	0x0155	#LATIN SMALL LETTER R WITH ACUTE
+0xDB	0x0158	#LATIN CAPITAL LETTER R WITH CARON
+0xDC	0x2039	#SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0xDD	0x203A	#SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0xDE	0x0159	#LATIN SMALL LETTER R WITH CARON
+0xDF	0x0156	#LATIN CAPITAL LETTER R WITH CEDILLA
+0xE0	0x0157	#LATIN SMALL LETTER R WITH CEDILLA
+0xE1	0x0160	#LATIN CAPITAL LETTER S WITH CARON
+0xE2	0x201A	#SINGLE LOW-9 QUOTATION MARK
+0xE3	0x201E	#DOUBLE LOW-9 QUOTATION MARK
+0xE4	0x0161	#LATIN SMALL LETTER S WITH CARON
+0xE5	0x015A	#LATIN CAPITAL LETTER S WITH ACUTE
+0xE6	0x015B	#LATIN SMALL LETTER S WITH ACUTE
+0xE7	0x00C1	#LATIN CAPITAL LETTER A WITH ACUTE
+0xE8	0x0164	#LATIN CAPITAL LETTER T WITH CARON
+0xE9	0x0165	#LATIN SMALL LETTER T WITH CARON
+0xEA	0x00CD	#LATIN CAPITAL LETTER I WITH ACUTE
+0xEB	0x017D	#LATIN CAPITAL LETTER Z WITH CARON
+0xEC	0x017E	#LATIN SMALL LETTER Z WITH CARON
+0xED	0x016A	#LATIN CAPITAL LETTER U WITH MACRON
+0xEE	0x00D3	#LATIN CAPITAL LETTER O WITH ACUTE
+0xEF	0x00D4	#LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xF0	0x016B	#LATIN SMALL LETTER U WITH MACRON
+0xF1	0x016E	#LATIN CAPITAL LETTER U WITH RING ABOVE
+0xF2	0x00DA	#LATIN CAPITAL LETTER U WITH ACUTE
+0xF3	0x016F	#LATIN SMALL LETTER U WITH RING ABOVE
+0xF4	0x0170	#LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0xF5	0x0171	#LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0xF6	0x0172	#LATIN CAPITAL LETTER U WITH OGONEK
+0xF7	0x0173	#LATIN SMALL LETTER U WITH OGONEK
+0xF8	0x00DD	#LATIN CAPITAL LETTER Y WITH ACUTE
+0xF9	0x00FD	#LATIN SMALL LETTER Y WITH ACUTE
+0xFA	0x0137	#LATIN SMALL LETTER K WITH CEDILLA
+0xFB	0x017B	#LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xFC	0x0141	#LATIN CAPITAL LETTER L WITH STROKE
+0xFD	0x017C	#LATIN SMALL LETTER Z WITH DOT ABOVE
+0xFE	0x0122	#LATIN CAPITAL LETTER G WITH CEDILLA
+0xFF	0x02C7	#CARON
+
+

+ 275 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/MAC/ROMAN.TXT

@@ -0,0 +1,275 @@
+#
+#    Name:     cp10000_MacRoman to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp10000_MacRoman code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp10000_MacRoman order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x0004	#END OF TRANSMISSION
+0x05	0x0005	#ENQUIRY
+0x06	0x0006	#ACKNOWLEDGE
+0x07	0x0007	#BELL
+0x08	0x0008	#BACKSPACE
+0x09	0x0009	#HORIZONTAL TABULATION
+0x0A	0x000A	#LINE FEED
+0x0B	0x000B	#VERTICAL TABULATION
+0x0C	0x000C	#FORM FEED
+0x0D	0x000D	#CARRIAGE RETURN
+0x0E	0x000E	#SHIFT OUT
+0x0F	0x000F	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x0014	#DEVICE CONTROL FOUR
+0x15	0x0015	#NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#SYNCHRONOUS IDLE
+0x17	0x0017	#END OF TRANSMISSION BLOCK
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1A	0x001A	#SUBSTITUTE
+0x1B	0x001B	#ESCAPE
+0x1C	0x001C	#FILE SEPARATOR
+0x1D	0x001D	#GROUP SEPARATOR
+0x1E	0x001E	#RECORD SEPARATOR
+0x1F	0x001F	#UNIT SEPARATOR
+0x20	0x0020	#SPACE
+0x21	0x0021	#EXCLAMATION MARK
+0x22	0x0022	#QUOTATION MARK
+0x23	0x0023	#NUMBER SIGN
+0x24	0x0024	#DOLLAR SIGN
+0x25	0x0025	#PERCENT SIGN
+0x26	0x0026	#AMPERSAND
+0x27	0x0027	#APOSTROPHE
+0x28	0x0028	#LEFT PARENTHESIS
+0x29	0x0029	#RIGHT PARENTHESIS
+0x2A	0x002A	#ASTERISK
+0x2B	0x002B	#PLUS SIGN
+0x2C	0x002C	#COMMA
+0x2D	0x002D	#HYPHEN-MINUS
+0x2E	0x002E	#FULL STOP
+0x2F	0x002F	#SOLIDUS
+0x30	0x0030	#DIGIT ZERO
+0x31	0x0031	#DIGIT ONE
+0x32	0x0032	#DIGIT TWO
+0x33	0x0033	#DIGIT THREE
+0x34	0x0034	#DIGIT FOUR
+0x35	0x0035	#DIGIT FIVE
+0x36	0x0036	#DIGIT SIX
+0x37	0x0037	#DIGIT SEVEN
+0x38	0x0038	#DIGIT EIGHT
+0x39	0x0039	#DIGIT NINE
+0x3A	0x003A	#COLON
+0x3B	0x003B	#SEMICOLON
+0x3C	0x003C	#LESS-THAN SIGN
+0x3D	0x003D	#EQUALS SIGN
+0x3E	0x003E	#GREATER-THAN SIGN
+0x3F	0x003F	#QUESTION MARK
+0x40	0x0040	#COMMERCIAL AT
+0x41	0x0041	#LATIN CAPITAL LETTER A
+0x42	0x0042	#LATIN CAPITAL LETTER B
+0x43	0x0043	#LATIN CAPITAL LETTER C
+0x44	0x0044	#LATIN CAPITAL LETTER D
+0x45	0x0045	#LATIN CAPITAL LETTER E
+0x46	0x0046	#LATIN CAPITAL LETTER F
+0x47	0x0047	#LATIN CAPITAL LETTER G
+0x48	0x0048	#LATIN CAPITAL LETTER H
+0x49	0x0049	#LATIN CAPITAL LETTER I
+0x4A	0x004A	#LATIN CAPITAL LETTER J
+0x4B	0x004B	#LATIN CAPITAL LETTER K
+0x4C	0x004C	#LATIN CAPITAL LETTER L
+0x4D	0x004D	#LATIN CAPITAL LETTER M
+0x4E	0x004E	#LATIN CAPITAL LETTER N
+0x4F	0x004F	#LATIN CAPITAL LETTER O
+0x50	0x0050	#LATIN CAPITAL LETTER P
+0x51	0x0051	#LATIN CAPITAL LETTER Q
+0x52	0x0052	#LATIN CAPITAL LETTER R
+0x53	0x0053	#LATIN CAPITAL LETTER S
+0x54	0x0054	#LATIN CAPITAL LETTER T
+0x55	0x0055	#LATIN CAPITAL LETTER U
+0x56	0x0056	#LATIN CAPITAL LETTER V
+0x57	0x0057	#LATIN CAPITAL LETTER W
+0x58	0x0058	#LATIN CAPITAL LETTER X
+0x59	0x0059	#LATIN CAPITAL LETTER Y
+0x5A	0x005A	#LATIN CAPITAL LETTER Z
+0x5B	0x005B	#LEFT SQUARE BRACKET
+0x5C	0x005C	#REVERSE SOLIDUS
+0x5D	0x005D	#RIGHT SQUARE BRACKET
+0x5E	0x005E	#CIRCUMFLEX ACCENT
+0x5F	0x005F	#LOW LINE
+0x60	0x0060	#GRAVE ACCENT
+0x61	0x0061	#LATIN SMALL LETTER A
+0x62	0x0062	#LATIN SMALL LETTER B
+0x63	0x0063	#LATIN SMALL LETTER C
+0x64	0x0064	#LATIN SMALL LETTER D
+0x65	0x0065	#LATIN SMALL LETTER E
+0x66	0x0066	#LATIN SMALL LETTER F
+0x67	0x0067	#LATIN SMALL LETTER G
+0x68	0x0068	#LATIN SMALL LETTER H
+0x69	0x0069	#LATIN SMALL LETTER I
+0x6A	0x006A	#LATIN SMALL LETTER J
+0x6B	0x006B	#LATIN SMALL LETTER K
+0x6C	0x006C	#LATIN SMALL LETTER L
+0x6D	0x006D	#LATIN SMALL LETTER M
+0x6E	0x006E	#LATIN SMALL LETTER N
+0x6F	0x006F	#LATIN SMALL LETTER O
+0x70	0x0070	#LATIN SMALL LETTER P
+0x71	0x0071	#LATIN SMALL LETTER Q
+0x72	0x0072	#LATIN SMALL LETTER R
+0x73	0x0073	#LATIN SMALL LETTER S
+0x74	0x0074	#LATIN SMALL LETTER T
+0x75	0x0075	#LATIN SMALL LETTER U
+0x76	0x0076	#LATIN SMALL LETTER V
+0x77	0x0077	#LATIN SMALL LETTER W
+0x78	0x0078	#LATIN SMALL LETTER X
+0x79	0x0079	#LATIN SMALL LETTER Y
+0x7A	0x007A	#LATIN SMALL LETTER Z
+0x7B	0x007B	#LEFT CURLY BRACKET
+0x7C	0x007C	#VERTICAL LINE
+0x7D	0x007D	#RIGHT CURLY BRACKET
+0x7E	0x007E	#TILDE
+0x7F	0x007F	#DELETE
+0x80	0x00C4	#LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81	0x00C5	#LATIN CAPITAL LETTER A WITH RING ABOVE
+0x82	0x00C7	#LATIN CAPITAL LETTER C WITH CEDILLA
+0x83	0x00C9	#LATIN CAPITAL LETTER E WITH ACUTE
+0x84	0x00D1	#LATIN CAPITAL LETTER N WITH TILDE
+0x85	0x00D6	#LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86	0x00DC	#LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87	0x00E1	#LATIN SMALL LETTER A WITH ACUTE
+0x88	0x00E0	#LATIN SMALL LETTER A WITH GRAVE
+0x89	0x00E2	#LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x8A	0x00E4	#LATIN SMALL LETTER A WITH DIAERESIS
+0x8B	0x00E3	#LATIN SMALL LETTER A WITH TILDE
+0x8C	0x00E5	#LATIN SMALL LETTER A WITH RING ABOVE
+0x8D	0x00E7	#LATIN SMALL LETTER C WITH CEDILLA
+0x8E	0x00E9	#LATIN SMALL LETTER E WITH ACUTE
+0x8F	0x00E8	#LATIN SMALL LETTER E WITH GRAVE
+0x90	0x00EA	#LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x91	0x00EB	#LATIN SMALL LETTER E WITH DIAERESIS
+0x92	0x00ED	#LATIN SMALL LETTER I WITH ACUTE
+0x93	0x00EC	#LATIN SMALL LETTER I WITH GRAVE
+0x94	0x00EE	#LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x95	0x00EF	#LATIN SMALL LETTER I WITH DIAERESIS
+0x96	0x00F1	#LATIN SMALL LETTER N WITH TILDE
+0x97	0x00F3	#LATIN SMALL LETTER O WITH ACUTE
+0x98	0x00F2	#LATIN SMALL LETTER O WITH GRAVE
+0x99	0x00F4	#LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A	0x00F6	#LATIN SMALL LETTER O WITH DIAERESIS
+0x9B	0x00F5	#LATIN SMALL LETTER O WITH TILDE
+0x9C	0x00FA	#LATIN SMALL LETTER U WITH ACUTE
+0x9D	0x00F9	#LATIN SMALL LETTER U WITH GRAVE
+0x9E	0x00FB	#LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x9F	0x00FC	#LATIN SMALL LETTER U WITH DIAERESIS
+0xA0	0x2020	#DAGGER
+0xA1	0x00B0	#DEGREE SIGN
+0xA2	0x00A2	#CENT SIGN
+0xA3	0x00A3	#POUND SIGN
+0xA4	0x00A7	#SECTION SIGN
+0xA5	0x2022	#BULLET
+0xA6	0x00B6	#PILCROW SIGN
+0xA7	0x00DF	#LATIN SMALL LETTER SHARP S
+0xA8	0x00AE	#REGISTERED SIGN
+0xA9	0x00A9	#COPYRIGHT SIGN
+0xAA	0x2122	#TRADE MARK SIGN
+0xAB	0x00B4	#ACUTE ACCENT
+0xAC	0x00A8	#DIAERESIS
+0xAD	0x2260	#NOT EQUAL TO
+0xAE	0x00C6	#LATIN CAPITAL LIGATURE AE
+0xAF	0x00D8	#LATIN CAPITAL LETTER O WITH STROKE
+0xB0	0x221E	#INFINITY
+0xB1	0x00B1	#PLUS-MINUS SIGN
+0xB2	0x2264	#LESS-THAN OR EQUAL TO
+0xB3	0x2265	#GREATER-THAN OR EQUAL TO
+0xB4	0x00A5	#YEN SIGN
+0xB5	0x00B5	#MICRO SIGN
+0xB6	0x2202	#PARTIAL DIFFERENTIAL
+0xB7	0x2211	#N-ARY SUMMATION
+0xB8	0x220F	#N-ARY PRODUCT
+0xB9	0x03C0	#GREEK SMALL LETTER PI
+0xBA	0x222B	#INTEGRAL
+0xBB	0x00AA	#FEMININE ORDINAL INDICATOR
+0xBC	0x00BA	#MASCULINE ORDINAL INDICATOR
+0xBD	0x2126	#OHM SIGN
+0xBE	0x00E6	#LATIN SMALL LIGATURE AE
+0xBF	0x00F8	#LATIN SMALL LETTER O WITH STROKE
+0xC0	0x00BF	#INVERTED QUESTION MARK
+0xC1	0x00A1	#INVERTED EXCLAMATION MARK
+0xC2	0x00AC	#NOT SIGN
+0xC3	0x221A	#SQUARE ROOT
+0xC4	0x0192	#LATIN SMALL LETTER F WITH HOOK
+0xC5	0x2248	#ALMOST EQUAL TO
+0xC6	0x2206	#INCREMENT
+0xC7	0x00AB	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC8	0x00BB	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC9	0x2026	#HORIZONTAL ELLIPSIS
+0xCA	0x00A0	#NO-BREAK SPACE
+0xCB	0x00C0	#LATIN CAPITAL LETTER A WITH GRAVE
+0xCC	0x00C3	#LATIN CAPITAL LETTER A WITH TILDE
+0xCD	0x00D5	#LATIN CAPITAL LETTER O WITH TILDE
+0xCE	0x0152	#LATIN CAPITAL LIGATURE OE
+0xCF	0x0153	#LATIN SMALL LIGATURE OE
+0xD0	0x2013	#EN DASH
+0xD1	0x2014	#EM DASH
+0xD2	0x201C	#LEFT DOUBLE QUOTATION MARK
+0xD3	0x201D	#RIGHT DOUBLE QUOTATION MARK
+0xD4	0x2018	#LEFT SINGLE QUOTATION MARK
+0xD5	0x2019	#RIGHT SINGLE QUOTATION MARK
+0xD6	0x00F7	#DIVISION SIGN
+0xD7	0x25CA	#LOZENGE
+0xD8	0x00FF	#LATIN SMALL LETTER Y WITH DIAERESIS
+0xD9	0x0178	#LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xDA	0x2044	#FRACTION SLASH
+0xDB	0x00A4	#CURRENCY SIGN
+0xDC	0x2039	#SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0xDD	0x203A	#SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0xDE	0xFB01	#LATIN SMALL LIGATURE FI
+0xDF	0xFB02	#LATIN SMALL LIGATURE FL
+0xE0	0x2021	#DOUBLE DAGGER
+0xE1	0x00B7	#MIDDLE DOT
+0xE2	0x201A	#SINGLE LOW-9 QUOTATION MARK
+0xE3	0x201E	#DOUBLE LOW-9 QUOTATION MARK
+0xE4	0x2030	#PER MILLE SIGN
+0xE5	0x00C2	#LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xE6	0x00CA	#LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xE7	0x00C1	#LATIN CAPITAL LETTER A WITH ACUTE
+0xE8	0x00CB	#LATIN CAPITAL LETTER E WITH DIAERESIS
+0xE9	0x00C8	#LATIN CAPITAL LETTER E WITH GRAVE
+0xEA	0x00CD	#LATIN CAPITAL LETTER I WITH ACUTE
+0xEB	0x00CE	#LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xEC	0x00CF	#LATIN CAPITAL LETTER I WITH DIAERESIS
+0xED	0x00CC	#LATIN CAPITAL LETTER I WITH GRAVE
+0xEE	0x00D3	#LATIN CAPITAL LETTER O WITH ACUTE
+0xEF	0x00D4	#LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xF0		#UNDEFINED
+0xF1	0x00D2	#LATIN CAPITAL LETTER O WITH GRAVE
+0xF2	0x00DA	#LATIN CAPITAL LETTER U WITH ACUTE
+0xF3	0x00DB	#LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xF4	0x00D9	#LATIN CAPITAL LETTER U WITH GRAVE
+0xF5	0x0131	#LATIN SMALL LETTER DOTLESS I
+0xF6	0x02C6	#MODIFIER LETTER CIRCUMFLEX ACCENT
+0xF7	0x02DC	#SMALL TILDE
+0xF8	0x00AF	#MACRON
+0xF9	0x02D8	#BREVE
+0xFA	0x02D9	#DOT ABOVE
+0xFB	0x02DA	#RING ABOVE
+0xFC	0x00B8	#CEDILLA
+0xFD	0x02DD	#DOUBLE ACUTE ACCENT
+0xFE	0x02DB	#OGONEK
+0xFF	0x02C7	#CARON
+
+

+ 275 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/MAC/TURKISH.TXT

@@ -0,0 +1,275 @@
+#
+#    Name:     cp10081_MacTurkish to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp10081_MacTurkish code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp10081_MacTurkish order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x0004	#END OF TRANSMISSION
+0x05	0x0005	#ENQUIRY
+0x06	0x0006	#ACKNOWLEDGE
+0x07	0x0007	#BELL
+0x08	0x0008	#BACKSPACE
+0x09	0x0009	#HORIZONTAL TABULATION
+0x0A	0x000A	#LINE FEED
+0x0B	0x000B	#VERTICAL TABULATION
+0x0C	0x000C	#FORM FEED
+0x0D	0x000D	#CARRIAGE RETURN
+0x0E	0x000E	#SHIFT OUT
+0x0F	0x000F	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x0014	#DEVICE CONTROL FOUR
+0x15	0x0015	#NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#SYNCHRONOUS IDLE
+0x17	0x0017	#END OF TRANSMISSION BLOCK
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1A	0x001A	#SUBSTITUTE
+0x1B	0x001B	#ESCAPE
+0x1C	0x001C	#FILE SEPARATOR
+0x1D	0x001D	#GROUP SEPARATOR
+0x1E	0x001E	#RECORD SEPARATOR
+0x1F	0x001F	#UNIT SEPARATOR
+0x20	0x0020	#SPACE
+0x21	0x0021	#EXCLAMATION MARK
+0x22	0x0022	#QUOTATION MARK
+0x23	0x0023	#NUMBER SIGN
+0x24	0x0024	#DOLLAR SIGN
+0x25	0x0025	#PERCENT SIGN
+0x26	0x0026	#AMPERSAND
+0x27	0x0027	#APOSTROPHE
+0x28	0x0028	#LEFT PARENTHESIS
+0x29	0x0029	#RIGHT PARENTHESIS
+0x2A	0x002A	#ASTERISK
+0x2B	0x002B	#PLUS SIGN
+0x2C	0x002C	#COMMA
+0x2D	0x002D	#HYPHEN-MINUS
+0x2E	0x002E	#FULL STOP
+0x2F	0x002F	#SOLIDUS
+0x30	0x0030	#DIGIT ZERO
+0x31	0x0031	#DIGIT ONE
+0x32	0x0032	#DIGIT TWO
+0x33	0x0033	#DIGIT THREE
+0x34	0x0034	#DIGIT FOUR
+0x35	0x0035	#DIGIT FIVE
+0x36	0x0036	#DIGIT SIX
+0x37	0x0037	#DIGIT SEVEN
+0x38	0x0038	#DIGIT EIGHT
+0x39	0x0039	#DIGIT NINE
+0x3A	0x003A	#COLON
+0x3B	0x003B	#SEMICOLON
+0x3C	0x003C	#LESS-THAN SIGN
+0x3D	0x003D	#EQUALS SIGN
+0x3E	0x003E	#GREATER-THAN SIGN
+0x3F	0x003F	#QUESTION MARK
+0x40	0x0040	#COMMERCIAL AT
+0x41	0x0041	#LATIN CAPITAL LETTER A
+0x42	0x0042	#LATIN CAPITAL LETTER B
+0x43	0x0043	#LATIN CAPITAL LETTER C
+0x44	0x0044	#LATIN CAPITAL LETTER D
+0x45	0x0045	#LATIN CAPITAL LETTER E
+0x46	0x0046	#LATIN CAPITAL LETTER F
+0x47	0x0047	#LATIN CAPITAL LETTER G
+0x48	0x0048	#LATIN CAPITAL LETTER H
+0x49	0x0049	#LATIN CAPITAL LETTER I
+0x4A	0x004A	#LATIN CAPITAL LETTER J
+0x4B	0x004B	#LATIN CAPITAL LETTER K
+0x4C	0x004C	#LATIN CAPITAL LETTER L
+0x4D	0x004D	#LATIN CAPITAL LETTER M
+0x4E	0x004E	#LATIN CAPITAL LETTER N
+0x4F	0x004F	#LATIN CAPITAL LETTER O
+0x50	0x0050	#LATIN CAPITAL LETTER P
+0x51	0x0051	#LATIN CAPITAL LETTER Q
+0x52	0x0052	#LATIN CAPITAL LETTER R
+0x53	0x0053	#LATIN CAPITAL LETTER S
+0x54	0x0054	#LATIN CAPITAL LETTER T
+0x55	0x0055	#LATIN CAPITAL LETTER U
+0x56	0x0056	#LATIN CAPITAL LETTER V
+0x57	0x0057	#LATIN CAPITAL LETTER W
+0x58	0x0058	#LATIN CAPITAL LETTER X
+0x59	0x0059	#LATIN CAPITAL LETTER Y
+0x5A	0x005A	#LATIN CAPITAL LETTER Z
+0x5B	0x005B	#LEFT SQUARE BRACKET
+0x5C	0x005C	#REVERSE SOLIDUS
+0x5D	0x005D	#RIGHT SQUARE BRACKET
+0x5E	0x005E	#CIRCUMFLEX ACCENT
+0x5F	0x005F	#LOW LINE
+0x60	0x0060	#GRAVE ACCENT
+0x61	0x0061	#LATIN SMALL LETTER A
+0x62	0x0062	#LATIN SMALL LETTER B
+0x63	0x0063	#LATIN SMALL LETTER C
+0x64	0x0064	#LATIN SMALL LETTER D
+0x65	0x0065	#LATIN SMALL LETTER E
+0x66	0x0066	#LATIN SMALL LETTER F
+0x67	0x0067	#LATIN SMALL LETTER G
+0x68	0x0068	#LATIN SMALL LETTER H
+0x69	0x0069	#LATIN SMALL LETTER I
+0x6A	0x006A	#LATIN SMALL LETTER J
+0x6B	0x006B	#LATIN SMALL LETTER K
+0x6C	0x006C	#LATIN SMALL LETTER L
+0x6D	0x006D	#LATIN SMALL LETTER M
+0x6E	0x006E	#LATIN SMALL LETTER N
+0x6F	0x006F	#LATIN SMALL LETTER O
+0x70	0x0070	#LATIN SMALL LETTER P
+0x71	0x0071	#LATIN SMALL LETTER Q
+0x72	0x0072	#LATIN SMALL LETTER R
+0x73	0x0073	#LATIN SMALL LETTER S
+0x74	0x0074	#LATIN SMALL LETTER T
+0x75	0x0075	#LATIN SMALL LETTER U
+0x76	0x0076	#LATIN SMALL LETTER V
+0x77	0x0077	#LATIN SMALL LETTER W
+0x78	0x0078	#LATIN SMALL LETTER X
+0x79	0x0079	#LATIN SMALL LETTER Y
+0x7A	0x007A	#LATIN SMALL LETTER Z
+0x7B	0x007B	#LEFT CURLY BRACKET
+0x7C	0x007C	#VERTICAL LINE
+0x7D	0x007D	#RIGHT CURLY BRACKET
+0x7E	0x007E	#TILDE
+0x7F	0x007F	#DELETE
+0x80	0x00C4	#LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81	0x00C5	#LATIN CAPITAL LETTER A WITH RING ABOVE
+0x82	0x00C7	#LATIN CAPITAL LETTER C WITH CEDILLA
+0x83	0x00C9	#LATIN CAPITAL LETTER E WITH ACUTE
+0x84	0x00D1	#LATIN CAPITAL LETTER N WITH TILDE
+0x85	0x00D6	#LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86	0x00DC	#LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87	0x00E1	#LATIN SMALL LETTER A WITH ACUTE
+0x88	0x00E0	#LATIN SMALL LETTER A WITH GRAVE
+0x89	0x00E2	#LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x8A	0x00E4	#LATIN SMALL LETTER A WITH DIAERESIS
+0x8B	0x00E3	#LATIN SMALL LETTER A WITH TILDE
+0x8C	0x00E5	#LATIN SMALL LETTER A WITH RING ABOVE
+0x8D	0x00E7	#LATIN SMALL LETTER C WITH CEDILLA
+0x8E	0x00E9	#LATIN SMALL LETTER E WITH ACUTE
+0x8F	0x00E8	#LATIN SMALL LETTER E WITH GRAVE
+0x90	0x00EA	#LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x91	0x00EB	#LATIN SMALL LETTER E WITH DIAERESIS
+0x92	0x00ED	#LATIN SMALL LETTER I WITH ACUTE
+0x93	0x00EC	#LATIN SMALL LETTER I WITH GRAVE
+0x94	0x00EE	#LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x95	0x00EF	#LATIN SMALL LETTER I WITH DIAERESIS
+0x96	0x00F1	#LATIN SMALL LETTER N WITH TILDE
+0x97	0x00F3	#LATIN SMALL LETTER O WITH ACUTE
+0x98	0x00F2	#LATIN SMALL LETTER O WITH GRAVE
+0x99	0x00F4	#LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A	0x00F6	#LATIN SMALL LETTER O WITH DIAERESIS
+0x9B	0x00F5	#LATIN SMALL LETTER O WITH TILDE
+0x9C	0x00FA	#LATIN SMALL LETTER U WITH ACUTE
+0x9D	0x00F9	#LATIN SMALL LETTER U WITH GRAVE
+0x9E	0x00FB	#LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x9F	0x00FC	#LATIN SMALL LETTER U WITH DIAERESIS
+0xA0	0x2020	#DAGGER
+0xA1	0x00B0	#DEGREE SIGN
+0xA2	0x00A2	#CENT SIGN
+0xA3	0x00A3	#POUND SIGN
+0xA4	0x00A7	#SECTION SIGN
+0xA5	0x2022	#BULLET
+0xA6	0x00B6	#PILCROW SIGN
+0xA7	0x00DF	#LATIN SMALL LETTER SHARP S
+0xA8	0x00AE	#REGISTERED SIGN
+0xA9	0x00A9	#COPYRIGHT SIGN
+0xAA	0x2122	#TRADE MARK SIGN
+0xAB	0x00B4	#ACUTE ACCENT
+0xAC	0x00A8	#DIAERESIS
+0xAD	0x2260	#NOT EQUAL TO
+0xAE	0x00C6	#LATIN CAPITAL LIGATURE AE
+0xAF	0x00D8	#LATIN CAPITAL LETTER O WITH STROKE
+0xB0	0x221E	#INFINITY
+0xB1	0x00B1	#PLUS-MINUS SIGN
+0xB2	0x2264	#LESS-THAN OR EQUAL TO
+0xB3	0x2265	#GREATER-THAN OR EQUAL TO
+0xB4	0x00A5	#YEN SIGN
+0xB5	0x00B5	#MICRO SIGN
+0xB6	0x2202	#PARTIAL DIFFERENTIAL
+0xB7	0x2211	#N-ARY SUMMATION
+0xB8	0x220F	#N-ARY PRODUCT
+0xB9	0x03C0	#GREEK SMALL LETTER PI
+0xBA	0x222B	#INTEGRAL
+0xBB	0x00AA	#FEMININE ORDINAL INDICATOR
+0xBC	0x00BA	#MASCULINE ORDINAL INDICATOR
+0xBD	0x2126	#OHM SIGN
+0xBE	0x00E6	#LATIN SMALL LIGATURE AE
+0xBF	0x00F8	#LATIN SMALL LETTER O WITH STROKE
+0xC0	0x00BF	#INVERTED QUESTION MARK
+0xC1	0x00A1	#INVERTED EXCLAMATION MARK
+0xC2	0x00AC	#NOT SIGN
+0xC3	0x221A	#SQUARE ROOT
+0xC4	0x0192	#LATIN SMALL LETTER F WITH HOOK
+0xC5	0x2248	#ALMOST EQUAL TO
+0xC6	0x2206	#INCREMENT
+0xC7	0x00AB	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC8	0x00BB	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC9	0x2026	#HORIZONTAL ELLIPSIS
+0xCA	0x00A0	#NO-BREAK SPACE
+0xCB	0x00C0	#LATIN CAPITAL LETTER A WITH GRAVE
+0xCC	0x00C3	#LATIN CAPITAL LETTER A WITH TILDE
+0xCD	0x00D5	#LATIN CAPITAL LETTER O WITH TILDE
+0xCE	0x0152	#LATIN CAPITAL LIGATURE OE
+0xCF	0x0153	#LATIN SMALL LIGATURE OE
+0xD0	0x2013	#EN DASH
+0xD1	0x2014	#EM DASH
+0xD2	0x201C	#LEFT DOUBLE QUOTATION MARK
+0xD3	0x201D	#RIGHT DOUBLE QUOTATION MARK
+0xD4	0x2018	#LEFT SINGLE QUOTATION MARK
+0xD5	0x2019	#RIGHT SINGLE QUOTATION MARK
+0xD6	0x00F7	#DIVISION SIGN
+0xD7	0x25CA	#LOZENGE
+0xD8	0x00FF	#LATIN SMALL LETTER Y WITH DIAERESIS
+0xD9	0x0178	#LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xDA	0x011E	#LATIN CAPITAL LETTER G WITH BREVE
+0xDB	0x011F	#LATIN SMALL LETTER G WITH BREVE
+0xDC	0x0130	#LATIN CAPITAL LETTER I WITH DOT ABOVE
+0xDD	0x0131	#LATIN SMALL LETTER DOTLESS I
+0xDE	0x015E	#LATIN CAPITAL LETTER S WITH CEDILLA
+0xDF	0x015F	#LATIN SMALL LETTER S WITH CEDILLA
+0xE0	0x2021	#DOUBLE DAGGER
+0xE1	0x00B7	#MIDDLE DOT
+0xE2	0x201A	#SINGLE LOW-9 QUOTATION MARK
+0xE3	0x201E	#DOUBLE LOW-9 QUOTATION MARK
+0xE4	0x2030	#PER MILLE SIGN
+0xE5	0x00C2	#LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xE6	0x00CA	#LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xE7	0x00C1	#LATIN CAPITAL LETTER A WITH ACUTE
+0xE8	0x00CB	#LATIN CAPITAL LETTER E WITH DIAERESIS
+0xE9	0x00C8	#LATIN CAPITAL LETTER E WITH GRAVE
+0xEA	0x00CD	#LATIN CAPITAL LETTER I WITH ACUTE
+0xEB	0x00CE	#LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xEC	0x00CF	#LATIN CAPITAL LETTER I WITH DIAERESIS
+0xED	0x00CC	#LATIN CAPITAL LETTER I WITH GRAVE
+0xEE	0x00D3	#LATIN CAPITAL LETTER O WITH ACUTE
+0xEF	0x00D4	#LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xF0		#UNDEFINED
+0xF1	0x00D2	#LATIN CAPITAL LETTER O WITH GRAVE
+0xF2	0x00DA	#LATIN CAPITAL LETTER U WITH ACUTE
+0xF3	0x00DB	#LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xF4	0x00D9	#LATIN CAPITAL LETTER U WITH GRAVE
+0xF5		#UNDEFINED
+0xF6	0x02C6	#MODIFIER LETTER CIRCUMFLEX ACCENT
+0xF7	0x02DC	#SMALL TILDE
+0xF8	0x00AF	#MACRON
+0xF9	0x02D8	#BREVE
+0xFA	0x02D9	#DOT ABOVE
+0xFB	0x02DA	#RING ABOVE
+0xFC	0x00B8	#CEDILLA
+0xFD	0x02DD	#DOUBLE ACUTE ACCENT
+0xFE	0x02DB	#OGONEK
+0xFF	0x02C7	#CARON
+
+

+ 274 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP437.TXT

@@ -0,0 +1,274 @@
+#
+#    Name:     cp437_DOSLatinUS to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp437_DOSLatinUS code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp437_DOSLatinUS order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x0004	#END OF TRANSMISSION
+0x05	0x0005	#ENQUIRY
+0x06	0x0006	#ACKNOWLEDGE
+0x07	0x0007	#BELL
+0x08	0x0008	#BACKSPACE
+0x09	0x0009	#HORIZONTAL TABULATION
+0x0a	0x000a	#LINE FEED
+0x0b	0x000b	#VERTICAL TABULATION
+0x0c	0x000c	#FORM FEED
+0x0d	0x000d	#CARRIAGE RETURN
+0x0e	0x000e	#SHIFT OUT
+0x0f	0x000f	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x0014	#DEVICE CONTROL FOUR
+0x15	0x0015	#NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#SYNCHRONOUS IDLE
+0x17	0x0017	#END OF TRANSMISSION BLOCK
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1a	0x001a	#SUBSTITUTE
+0x1b	0x001b	#ESCAPE
+0x1c	0x001c	#FILE SEPARATOR
+0x1d	0x001d	#GROUP SEPARATOR
+0x1e	0x001e	#RECORD SEPARATOR
+0x1f	0x001f	#UNIT SEPARATOR
+0x20	0x0020	#SPACE
+0x21	0x0021	#EXCLAMATION MARK
+0x22	0x0022	#QUOTATION MARK
+0x23	0x0023	#NUMBER SIGN
+0x24	0x0024	#DOLLAR SIGN
+0x25	0x0025	#PERCENT SIGN
+0x26	0x0026	#AMPERSAND
+0x27	0x0027	#APOSTROPHE
+0x28	0x0028	#LEFT PARENTHESIS
+0x29	0x0029	#RIGHT PARENTHESIS
+0x2a	0x002a	#ASTERISK
+0x2b	0x002b	#PLUS SIGN
+0x2c	0x002c	#COMMA
+0x2d	0x002d	#HYPHEN-MINUS
+0x2e	0x002e	#FULL STOP
+0x2f	0x002f	#SOLIDUS
+0x30	0x0030	#DIGIT ZERO
+0x31	0x0031	#DIGIT ONE
+0x32	0x0032	#DIGIT TWO
+0x33	0x0033	#DIGIT THREE
+0x34	0x0034	#DIGIT FOUR
+0x35	0x0035	#DIGIT FIVE
+0x36	0x0036	#DIGIT SIX
+0x37	0x0037	#DIGIT SEVEN
+0x38	0x0038	#DIGIT EIGHT
+0x39	0x0039	#DIGIT NINE
+0x3a	0x003a	#COLON
+0x3b	0x003b	#SEMICOLON
+0x3c	0x003c	#LESS-THAN SIGN
+0x3d	0x003d	#EQUALS SIGN
+0x3e	0x003e	#GREATER-THAN SIGN
+0x3f	0x003f	#QUESTION MARK
+0x40	0x0040	#COMMERCIAL AT
+0x41	0x0041	#LATIN CAPITAL LETTER A
+0x42	0x0042	#LATIN CAPITAL LETTER B
+0x43	0x0043	#LATIN CAPITAL LETTER C
+0x44	0x0044	#LATIN CAPITAL LETTER D
+0x45	0x0045	#LATIN CAPITAL LETTER E
+0x46	0x0046	#LATIN CAPITAL LETTER F
+0x47	0x0047	#LATIN CAPITAL LETTER G
+0x48	0x0048	#LATIN CAPITAL LETTER H
+0x49	0x0049	#LATIN CAPITAL LETTER I
+0x4a	0x004a	#LATIN CAPITAL LETTER J
+0x4b	0x004b	#LATIN CAPITAL LETTER K
+0x4c	0x004c	#LATIN CAPITAL LETTER L
+0x4d	0x004d	#LATIN CAPITAL LETTER M
+0x4e	0x004e	#LATIN CAPITAL LETTER N
+0x4f	0x004f	#LATIN CAPITAL LETTER O
+0x50	0x0050	#LATIN CAPITAL LETTER P
+0x51	0x0051	#LATIN CAPITAL LETTER Q
+0x52	0x0052	#LATIN CAPITAL LETTER R
+0x53	0x0053	#LATIN CAPITAL LETTER S
+0x54	0x0054	#LATIN CAPITAL LETTER T
+0x55	0x0055	#LATIN CAPITAL LETTER U
+0x56	0x0056	#LATIN CAPITAL LETTER V
+0x57	0x0057	#LATIN CAPITAL LETTER W
+0x58	0x0058	#LATIN CAPITAL LETTER X
+0x59	0x0059	#LATIN CAPITAL LETTER Y
+0x5a	0x005a	#LATIN CAPITAL LETTER Z
+0x5b	0x005b	#LEFT SQUARE BRACKET
+0x5c	0x005c	#REVERSE SOLIDUS
+0x5d	0x005d	#RIGHT SQUARE BRACKET
+0x5e	0x005e	#CIRCUMFLEX ACCENT
+0x5f	0x005f	#LOW LINE
+0x60	0x0060	#GRAVE ACCENT
+0x61	0x0061	#LATIN SMALL LETTER A
+0x62	0x0062	#LATIN SMALL LETTER B
+0x63	0x0063	#LATIN SMALL LETTER C
+0x64	0x0064	#LATIN SMALL LETTER D
+0x65	0x0065	#LATIN SMALL LETTER E
+0x66	0x0066	#LATIN SMALL LETTER F
+0x67	0x0067	#LATIN SMALL LETTER G
+0x68	0x0068	#LATIN SMALL LETTER H
+0x69	0x0069	#LATIN SMALL LETTER I
+0x6a	0x006a	#LATIN SMALL LETTER J
+0x6b	0x006b	#LATIN SMALL LETTER K
+0x6c	0x006c	#LATIN SMALL LETTER L
+0x6d	0x006d	#LATIN SMALL LETTER M
+0x6e	0x006e	#LATIN SMALL LETTER N
+0x6f	0x006f	#LATIN SMALL LETTER O
+0x70	0x0070	#LATIN SMALL LETTER P
+0x71	0x0071	#LATIN SMALL LETTER Q
+0x72	0x0072	#LATIN SMALL LETTER R
+0x73	0x0073	#LATIN SMALL LETTER S
+0x74	0x0074	#LATIN SMALL LETTER T
+0x75	0x0075	#LATIN SMALL LETTER U
+0x76	0x0076	#LATIN SMALL LETTER V
+0x77	0x0077	#LATIN SMALL LETTER W
+0x78	0x0078	#LATIN SMALL LETTER X
+0x79	0x0079	#LATIN SMALL LETTER Y
+0x7a	0x007a	#LATIN SMALL LETTER Z
+0x7b	0x007b	#LEFT CURLY BRACKET
+0x7c	0x007c	#VERTICAL LINE
+0x7d	0x007d	#RIGHT CURLY BRACKET
+0x7e	0x007e	#TILDE
+0x7f	0x007f	#DELETE
+0x80	0x00c7	#LATIN CAPITAL LETTER C WITH CEDILLA
+0x81	0x00fc	#LATIN SMALL LETTER U WITH DIAERESIS
+0x82	0x00e9	#LATIN SMALL LETTER E WITH ACUTE
+0x83	0x00e2	#LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x84	0x00e4	#LATIN SMALL LETTER A WITH DIAERESIS
+0x85	0x00e0	#LATIN SMALL LETTER A WITH GRAVE
+0x86	0x00e5	#LATIN SMALL LETTER A WITH RING ABOVE
+0x87	0x00e7	#LATIN SMALL LETTER C WITH CEDILLA
+0x88	0x00ea	#LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x89	0x00eb	#LATIN SMALL LETTER E WITH DIAERESIS
+0x8a	0x00e8	#LATIN SMALL LETTER E WITH GRAVE
+0x8b	0x00ef	#LATIN SMALL LETTER I WITH DIAERESIS
+0x8c	0x00ee	#LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x8d	0x00ec	#LATIN SMALL LETTER I WITH GRAVE
+0x8e	0x00c4	#LATIN CAPITAL LETTER A WITH DIAERESIS
+0x8f	0x00c5	#LATIN CAPITAL LETTER A WITH RING ABOVE
+0x90	0x00c9	#LATIN CAPITAL LETTER E WITH ACUTE
+0x91	0x00e6	#LATIN SMALL LIGATURE AE
+0x92	0x00c6	#LATIN CAPITAL LIGATURE AE
+0x93	0x00f4	#LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x94	0x00f6	#LATIN SMALL LETTER O WITH DIAERESIS
+0x95	0x00f2	#LATIN SMALL LETTER O WITH GRAVE
+0x96	0x00fb	#LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x97	0x00f9	#LATIN SMALL LETTER U WITH GRAVE
+0x98	0x00ff	#LATIN SMALL LETTER Y WITH DIAERESIS
+0x99	0x00d6	#LATIN CAPITAL LETTER O WITH DIAERESIS
+0x9a	0x00dc	#LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b	0x00a2	#CENT SIGN
+0x9c	0x00a3	#POUND SIGN
+0x9d	0x00a5	#YEN SIGN
+0x9e	0x20a7	#PESETA SIGN
+0x9f	0x0192	#LATIN SMALL LETTER F WITH HOOK
+0xa0	0x00e1	#LATIN SMALL LETTER A WITH ACUTE
+0xa1	0x00ed	#LATIN SMALL LETTER I WITH ACUTE
+0xa2	0x00f3	#LATIN SMALL LETTER O WITH ACUTE
+0xa3	0x00fa	#LATIN SMALL LETTER U WITH ACUTE
+0xa4	0x00f1	#LATIN SMALL LETTER N WITH TILDE
+0xa5	0x00d1	#LATIN CAPITAL LETTER N WITH TILDE
+0xa6	0x00aa	#FEMININE ORDINAL INDICATOR
+0xa7	0x00ba	#MASCULINE ORDINAL INDICATOR
+0xa8	0x00bf	#INVERTED QUESTION MARK
+0xa9	0x2310	#REVERSED NOT SIGN
+0xaa	0x00ac	#NOT SIGN
+0xab	0x00bd	#VULGAR FRACTION ONE HALF
+0xac	0x00bc	#VULGAR FRACTION ONE QUARTER
+0xad	0x00a1	#INVERTED EXCLAMATION MARK
+0xae	0x00ab	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf	0x00bb	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0	0x2591	#LIGHT SHADE
+0xb1	0x2592	#MEDIUM SHADE
+0xb2	0x2593	#DARK SHADE
+0xb3	0x2502	#BOX DRAWINGS LIGHT VERTICAL
+0xb4	0x2524	#BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5	0x2561	#BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xb6	0x2562	#BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+0xb7	0x2556	#BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+0xb8	0x2555	#BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+0xb9	0x2563	#BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba	0x2551	#BOX DRAWINGS DOUBLE VERTICAL
+0xbb	0x2557	#BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc	0x255d	#BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd	0x255c	#BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0xbe	0x255b	#BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xbf	0x2510	#BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0	0x2514	#BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1	0x2534	#BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2	0x252c	#BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3	0x251c	#BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4	0x2500	#BOX DRAWINGS LIGHT HORIZONTAL
+0xc5	0x253c	#BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6	0x255e	#BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xc7	0x255f	#BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xc8	0x255a	#BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9	0x2554	#BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca	0x2569	#BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb	0x2566	#BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc	0x2560	#BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd	0x2550	#BOX DRAWINGS DOUBLE HORIZONTAL
+0xce	0x256c	#BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf	0x2567	#BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xd0	0x2568	#BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xd1	0x2564	#BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+0xd2	0x2565	#BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+0xd3	0x2559	#BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xd4	0x2558	#BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xd5	0x2552	#BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xd6	0x2553	#BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+0xd7	0x256b	#BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0xd8	0x256a	#BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xd9	0x2518	#BOX DRAWINGS LIGHT UP AND LEFT
+0xda	0x250c	#BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb	0x2588	#FULL BLOCK
+0xdc	0x2584	#LOWER HALF BLOCK
+0xdd	0x258c	#LEFT HALF BLOCK
+0xde	0x2590	#RIGHT HALF BLOCK
+0xdf	0x2580	#UPPER HALF BLOCK
+0xe0	0x03b1	#GREEK SMALL LETTER ALPHA
+0xe1	0x00df	#LATIN SMALL LETTER SHARP S
+0xe2	0x0393	#GREEK CAPITAL LETTER GAMMA
+0xe3	0x03c0	#GREEK SMALL LETTER PI
+0xe4	0x03a3	#GREEK CAPITAL LETTER SIGMA
+0xe5	0x03c3	#GREEK SMALL LETTER SIGMA
+0xe6	0x00b5	#MICRO SIGN
+0xe7	0x03c4	#GREEK SMALL LETTER TAU
+0xe8	0x03a6	#GREEK CAPITAL LETTER PHI
+0xe9	0x0398	#GREEK CAPITAL LETTER THETA
+0xea	0x03a9	#GREEK CAPITAL LETTER OMEGA
+0xeb	0x03b4	#GREEK SMALL LETTER DELTA
+0xec	0x221e	#INFINITY
+0xed	0x03c6	#GREEK SMALL LETTER PHI
+0xee	0x03b5	#GREEK SMALL LETTER EPSILON
+0xef	0x2229	#INTERSECTION
+0xf0	0x2261	#IDENTICAL TO
+0xf1	0x00b1	#PLUS-MINUS SIGN
+0xf2	0x2265	#GREATER-THAN OR EQUAL TO
+0xf3	0x2264	#LESS-THAN OR EQUAL TO
+0xf4	0x2320	#TOP HALF INTEGRAL
+0xf5	0x2321	#BOTTOM HALF INTEGRAL
+0xf6	0x00f7	#DIVISION SIGN
+0xf7	0x2248	#ALMOST EQUAL TO
+0xf8	0x00b0	#DEGREE SIGN
+0xf9	0x2219	#BULLET OPERATOR
+0xfa	0x00b7	#MIDDLE DOT
+0xfb	0x221a	#SQUARE ROOT
+0xfc	0x207f	#SUPERSCRIPT LATIN SMALL LETTER N
+0xfd	0x00b2	#SUPERSCRIPT TWO
+0xfe	0x25a0	#BLACK SQUARE
+0xff	0x00a0	#NO-BREAK SPACE
+

+ 274 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP737.TXT

@@ -0,0 +1,274 @@
+#
+#    Name:     cp737_DOSGreek to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp737_DOSGreek code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp737_DOSGreek order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x0004	#END OF TRANSMISSION
+0x05	0x0005	#ENQUIRY
+0x06	0x0006	#ACKNOWLEDGE
+0x07	0x0007	#BELL
+0x08	0x0008	#BACKSPACE
+0x09	0x0009	#HORIZONTAL TABULATION
+0x0a	0x000a	#LINE FEED
+0x0b	0x000b	#VERTICAL TABULATION
+0x0c	0x000c	#FORM FEED
+0x0d	0x000d	#CARRIAGE RETURN
+0x0e	0x000e	#SHIFT OUT
+0x0f	0x000f	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x0014	#DEVICE CONTROL FOUR
+0x15	0x0015	#NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#SYNCHRONOUS IDLE
+0x17	0x0017	#END OF TRANSMISSION BLOCK
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1a	0x001a	#SUBSTITUTE
+0x1b	0x001b	#ESCAPE
+0x1c	0x001c	#FILE SEPARATOR
+0x1d	0x001d	#GROUP SEPARATOR
+0x1e	0x001e	#RECORD SEPARATOR
+0x1f	0x001f	#UNIT SEPARATOR
+0x20	0x0020	#SPACE
+0x21	0x0021	#EXCLAMATION MARK
+0x22	0x0022	#QUOTATION MARK
+0x23	0x0023	#NUMBER SIGN
+0x24	0x0024	#DOLLAR SIGN
+0x25	0x0025	#PERCENT SIGN
+0x26	0x0026	#AMPERSAND
+0x27	0x0027	#APOSTROPHE
+0x28	0x0028	#LEFT PARENTHESIS
+0x29	0x0029	#RIGHT PARENTHESIS
+0x2a	0x002a	#ASTERISK
+0x2b	0x002b	#PLUS SIGN
+0x2c	0x002c	#COMMA
+0x2d	0x002d	#HYPHEN-MINUS
+0x2e	0x002e	#FULL STOP
+0x2f	0x002f	#SOLIDUS
+0x30	0x0030	#DIGIT ZERO
+0x31	0x0031	#DIGIT ONE
+0x32	0x0032	#DIGIT TWO
+0x33	0x0033	#DIGIT THREE
+0x34	0x0034	#DIGIT FOUR
+0x35	0x0035	#DIGIT FIVE
+0x36	0x0036	#DIGIT SIX
+0x37	0x0037	#DIGIT SEVEN
+0x38	0x0038	#DIGIT EIGHT
+0x39	0x0039	#DIGIT NINE
+0x3a	0x003a	#COLON
+0x3b	0x003b	#SEMICOLON
+0x3c	0x003c	#LESS-THAN SIGN
+0x3d	0x003d	#EQUALS SIGN
+0x3e	0x003e	#GREATER-THAN SIGN
+0x3f	0x003f	#QUESTION MARK
+0x40	0x0040	#COMMERCIAL AT
+0x41	0x0041	#LATIN CAPITAL LETTER A
+0x42	0x0042	#LATIN CAPITAL LETTER B
+0x43	0x0043	#LATIN CAPITAL LETTER C
+0x44	0x0044	#LATIN CAPITAL LETTER D
+0x45	0x0045	#LATIN CAPITAL LETTER E
+0x46	0x0046	#LATIN CAPITAL LETTER F
+0x47	0x0047	#LATIN CAPITAL LETTER G
+0x48	0x0048	#LATIN CAPITAL LETTER H
+0x49	0x0049	#LATIN CAPITAL LETTER I
+0x4a	0x004a	#LATIN CAPITAL LETTER J
+0x4b	0x004b	#LATIN CAPITAL LETTER K
+0x4c	0x004c	#LATIN CAPITAL LETTER L
+0x4d	0x004d	#LATIN CAPITAL LETTER M
+0x4e	0x004e	#LATIN CAPITAL LETTER N
+0x4f	0x004f	#LATIN CAPITAL LETTER O
+0x50	0x0050	#LATIN CAPITAL LETTER P
+0x51	0x0051	#LATIN CAPITAL LETTER Q
+0x52	0x0052	#LATIN CAPITAL LETTER R
+0x53	0x0053	#LATIN CAPITAL LETTER S
+0x54	0x0054	#LATIN CAPITAL LETTER T
+0x55	0x0055	#LATIN CAPITAL LETTER U
+0x56	0x0056	#LATIN CAPITAL LETTER V
+0x57	0x0057	#LATIN CAPITAL LETTER W
+0x58	0x0058	#LATIN CAPITAL LETTER X
+0x59	0x0059	#LATIN CAPITAL LETTER Y
+0x5a	0x005a	#LATIN CAPITAL LETTER Z
+0x5b	0x005b	#LEFT SQUARE BRACKET
+0x5c	0x005c	#REVERSE SOLIDUS
+0x5d	0x005d	#RIGHT SQUARE BRACKET
+0x5e	0x005e	#CIRCUMFLEX ACCENT
+0x5f	0x005f	#LOW LINE
+0x60	0x0060	#GRAVE ACCENT
+0x61	0x0061	#LATIN SMALL LETTER A
+0x62	0x0062	#LATIN SMALL LETTER B
+0x63	0x0063	#LATIN SMALL LETTER C
+0x64	0x0064	#LATIN SMALL LETTER D
+0x65	0x0065	#LATIN SMALL LETTER E
+0x66	0x0066	#LATIN SMALL LETTER F
+0x67	0x0067	#LATIN SMALL LETTER G
+0x68	0x0068	#LATIN SMALL LETTER H
+0x69	0x0069	#LATIN SMALL LETTER I
+0x6a	0x006a	#LATIN SMALL LETTER J
+0x6b	0x006b	#LATIN SMALL LETTER K
+0x6c	0x006c	#LATIN SMALL LETTER L
+0x6d	0x006d	#LATIN SMALL LETTER M
+0x6e	0x006e	#LATIN SMALL LETTER N
+0x6f	0x006f	#LATIN SMALL LETTER O
+0x70	0x0070	#LATIN SMALL LETTER P
+0x71	0x0071	#LATIN SMALL LETTER Q
+0x72	0x0072	#LATIN SMALL LETTER R
+0x73	0x0073	#LATIN SMALL LETTER S
+0x74	0x0074	#LATIN SMALL LETTER T
+0x75	0x0075	#LATIN SMALL LETTER U
+0x76	0x0076	#LATIN SMALL LETTER V
+0x77	0x0077	#LATIN SMALL LETTER W
+0x78	0x0078	#LATIN SMALL LETTER X
+0x79	0x0079	#LATIN SMALL LETTER Y
+0x7a	0x007a	#LATIN SMALL LETTER Z
+0x7b	0x007b	#LEFT CURLY BRACKET
+0x7c	0x007c	#VERTICAL LINE
+0x7d	0x007d	#RIGHT CURLY BRACKET
+0x7e	0x007e	#TILDE
+0x7f	0x007f	#DELETE
+0x80	0x0391	#GREEK CAPITAL LETTER ALPHA
+0x81	0x0392	#GREEK CAPITAL LETTER BETA
+0x82	0x0393	#GREEK CAPITAL LETTER GAMMA
+0x83	0x0394	#GREEK CAPITAL LETTER DELTA
+0x84	0x0395	#GREEK CAPITAL LETTER EPSILON
+0x85	0x0396	#GREEK CAPITAL LETTER ZETA
+0x86	0x0397	#GREEK CAPITAL LETTER ETA
+0x87	0x0398	#GREEK CAPITAL LETTER THETA
+0x88	0x0399	#GREEK CAPITAL LETTER IOTA
+0x89	0x039a	#GREEK CAPITAL LETTER KAPPA
+0x8a	0x039b	#GREEK CAPITAL LETTER LAMDA
+0x8b	0x039c	#GREEK CAPITAL LETTER MU
+0x8c	0x039d	#GREEK CAPITAL LETTER NU
+0x8d	0x039e	#GREEK CAPITAL LETTER XI
+0x8e	0x039f	#GREEK CAPITAL LETTER OMICRON
+0x8f	0x03a0	#GREEK CAPITAL LETTER PI
+0x90	0x03a1	#GREEK CAPITAL LETTER RHO
+0x91	0x03a3	#GREEK CAPITAL LETTER SIGMA
+0x92	0x03a4	#GREEK CAPITAL LETTER TAU
+0x93	0x03a5	#GREEK CAPITAL LETTER UPSILON
+0x94	0x03a6	#GREEK CAPITAL LETTER PHI
+0x95	0x03a7	#GREEK CAPITAL LETTER CHI
+0x96	0x03a8	#GREEK CAPITAL LETTER PSI
+0x97	0x03a9	#GREEK CAPITAL LETTER OMEGA
+0x98	0x03b1	#GREEK SMALL LETTER ALPHA
+0x99	0x03b2	#GREEK SMALL LETTER BETA
+0x9a	0x03b3	#GREEK SMALL LETTER GAMMA
+0x9b	0x03b4	#GREEK SMALL LETTER DELTA
+0x9c	0x03b5	#GREEK SMALL LETTER EPSILON
+0x9d	0x03b6	#GREEK SMALL LETTER ZETA
+0x9e	0x03b7	#GREEK SMALL LETTER ETA
+0x9f	0x03b8	#GREEK SMALL LETTER THETA
+0xa0	0x03b9	#GREEK SMALL LETTER IOTA
+0xa1	0x03ba	#GREEK SMALL LETTER KAPPA
+0xa2	0x03bb	#GREEK SMALL LETTER LAMDA
+0xa3	0x03bc	#GREEK SMALL LETTER MU
+0xa4	0x03bd	#GREEK SMALL LETTER NU
+0xa5	0x03be	#GREEK SMALL LETTER XI
+0xa6	0x03bf	#GREEK SMALL LETTER OMICRON
+0xa7	0x03c0	#GREEK SMALL LETTER PI
+0xa8	0x03c1	#GREEK SMALL LETTER RHO
+0xa9	0x03c3	#GREEK SMALL LETTER SIGMA
+0xaa	0x03c2	#GREEK SMALL LETTER FINAL SIGMA
+0xab	0x03c4	#GREEK SMALL LETTER TAU
+0xac	0x03c5	#GREEK SMALL LETTER UPSILON
+0xad	0x03c6	#GREEK SMALL LETTER PHI
+0xae	0x03c7	#GREEK SMALL LETTER CHI
+0xaf	0x03c8	#GREEK SMALL LETTER PSI
+0xb0	0x2591	#LIGHT SHADE
+0xb1	0x2592	#MEDIUM SHADE
+0xb2	0x2593	#DARK SHADE
+0xb3	0x2502	#BOX DRAWINGS LIGHT VERTICAL
+0xb4	0x2524	#BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5	0x2561	#BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xb6	0x2562	#BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+0xb7	0x2556	#BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+0xb8	0x2555	#BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+0xb9	0x2563	#BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba	0x2551	#BOX DRAWINGS DOUBLE VERTICAL
+0xbb	0x2557	#BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc	0x255d	#BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd	0x255c	#BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0xbe	0x255b	#BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xbf	0x2510	#BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0	0x2514	#BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1	0x2534	#BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2	0x252c	#BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3	0x251c	#BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4	0x2500	#BOX DRAWINGS LIGHT HORIZONTAL
+0xc5	0x253c	#BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6	0x255e	#BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xc7	0x255f	#BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xc8	0x255a	#BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9	0x2554	#BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca	0x2569	#BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb	0x2566	#BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc	0x2560	#BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd	0x2550	#BOX DRAWINGS DOUBLE HORIZONTAL
+0xce	0x256c	#BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf	0x2567	#BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xd0	0x2568	#BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xd1	0x2564	#BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+0xd2	0x2565	#BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+0xd3	0x2559	#BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xd4	0x2558	#BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xd5	0x2552	#BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xd6	0x2553	#BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+0xd7	0x256b	#BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0xd8	0x256a	#BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xd9	0x2518	#BOX DRAWINGS LIGHT UP AND LEFT
+0xda	0x250c	#BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb	0x2588	#FULL BLOCK
+0xdc	0x2584	#LOWER HALF BLOCK
+0xdd	0x258c	#LEFT HALF BLOCK
+0xde	0x2590	#RIGHT HALF BLOCK
+0xdf	0x2580	#UPPER HALF BLOCK
+0xe0	0x03c9	#GREEK SMALL LETTER OMEGA
+0xe1	0x03ac	#GREEK SMALL LETTER ALPHA WITH TONOS
+0xe2	0x03ad	#GREEK SMALL LETTER EPSILON WITH TONOS
+0xe3	0x03ae	#GREEK SMALL LETTER ETA WITH TONOS
+0xe4	0x03ca	#GREEK SMALL LETTER IOTA WITH DIALYTIKA
+0xe5	0x03af	#GREEK SMALL LETTER IOTA WITH TONOS
+0xe6	0x03cc	#GREEK SMALL LETTER OMICRON WITH TONOS
+0xe7	0x03cd	#GREEK SMALL LETTER UPSILON WITH TONOS
+0xe8	0x03cb	#GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+0xe9	0x03ce	#GREEK SMALL LETTER OMEGA WITH TONOS
+0xea	0x0386	#GREEK CAPITAL LETTER ALPHA WITH TONOS
+0xeb	0x0388	#GREEK CAPITAL LETTER EPSILON WITH TONOS
+0xec	0x0389	#GREEK CAPITAL LETTER ETA WITH TONOS
+0xed	0x038a	#GREEK CAPITAL LETTER IOTA WITH TONOS
+0xee	0x038c	#GREEK CAPITAL LETTER OMICRON WITH TONOS
+0xef	0x038e	#GREEK CAPITAL LETTER UPSILON WITH TONOS
+0xf0	0x038f	#GREEK CAPITAL LETTER OMEGA WITH TONOS
+0xf1	0x00b1	#PLUS-MINUS SIGN
+0xf2	0x2265	#GREATER-THAN OR EQUAL TO
+0xf3	0x2264	#LESS-THAN OR EQUAL TO
+0xf4	0x03aa	#GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+0xf5	0x03ab	#GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+0xf6	0x00f7	#DIVISION SIGN
+0xf7	0x2248	#ALMOST EQUAL TO
+0xf8	0x00b0	#DEGREE SIGN
+0xf9	0x2219	#BULLET OPERATOR
+0xfa	0x00b7	#MIDDLE DOT
+0xfb	0x221a	#SQUARE ROOT
+0xfc	0x207f	#SUPERSCRIPT LATIN SMALL LETTER N
+0xfd	0x00b2	#SUPERSCRIPT TWO
+0xfe	0x25a0	#BLACK SQUARE
+0xff	0x00a0	#NO-BREAK SPACE
+

+ 275 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP775.TXT

@@ -0,0 +1,275 @@
+#
+#    Name:     cp775_DOSBaltRim to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp775_DOSBaltRim code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp775_DOSBaltRim order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x0004	#END OF TRANSMISSION
+0x05	0x0005	#ENQUIRY
+0x06	0x0006	#ACKNOWLEDGE
+0x07	0x0007	#BELL
+0x08	0x0008	#BACKSPACE
+0x09	0x0009	#HORIZONTAL TABULATION
+0x0a	0x000a	#LINE FEED
+0x0b	0x000b	#VERTICAL TABULATION
+0x0c	0x000c	#FORM FEED
+0x0d	0x000d	#CARRIAGE RETURN
+0x0e	0x000e	#SHIFT OUT
+0x0f	0x000f	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x0014	#DEVICE CONTROL FOUR
+0x15	0x0015	#NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#SYNCHRONOUS IDLE
+0x17	0x0017	#END OF TRANSMISSION BLOCK
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1a	0x001a	#SUBSTITUTE
+0x1b	0x001b	#ESCAPE
+0x1c	0x001c	#FILE SEPARATOR
+0x1d	0x001d	#GROUP SEPARATOR
+0x1e	0x001e	#RECORD SEPARATOR
+0x1f	0x001f	#UNIT SEPARATOR
+0x20	0x0020	#SPACE
+0x21	0x0021	#EXCLAMATION MARK
+0x22	0x0022	#QUOTATION MARK
+0x23	0x0023	#NUMBER SIGN
+0x24	0x0024	#DOLLAR SIGN
+0x25	0x0025	#PERCENT SIGN
+0x26	0x0026	#AMPERSAND
+0x27	0x0027	#APOSTROPHE
+0x28	0x0028	#LEFT PARENTHESIS
+0x29	0x0029	#RIGHT PARENTHESIS
+0x2a	0x002a	#ASTERISK
+0x2b	0x002b	#PLUS SIGN
+0x2c	0x002c	#COMMA
+0x2d	0x002d	#HYPHEN-MINUS
+0x2e	0x002e	#FULL STOP
+0x2f	0x002f	#SOLIDUS
+0x30	0x0030	#DIGIT ZERO
+0x31	0x0031	#DIGIT ONE
+0x32	0x0032	#DIGIT TWO
+0x33	0x0033	#DIGIT THREE
+0x34	0x0034	#DIGIT FOUR
+0x35	0x0035	#DIGIT FIVE
+0x36	0x0036	#DIGIT SIX
+0x37	0x0037	#DIGIT SEVEN
+0x38	0x0038	#DIGIT EIGHT
+0x39	0x0039	#DIGIT NINE
+0x3a	0x003a	#COLON
+0x3b	0x003b	#SEMICOLON
+0x3c	0x003c	#LESS-THAN SIGN
+0x3d	0x003d	#EQUALS SIGN
+0x3e	0x003e	#GREATER-THAN SIGN
+0x3f	0x003f	#QUESTION MARK
+0x40	0x0040	#COMMERCIAL AT
+0x41	0x0041	#LATIN CAPITAL LETTER A
+0x42	0x0042	#LATIN CAPITAL LETTER B
+0x43	0x0043	#LATIN CAPITAL LETTER C
+0x44	0x0044	#LATIN CAPITAL LETTER D
+0x45	0x0045	#LATIN CAPITAL LETTER E
+0x46	0x0046	#LATIN CAPITAL LETTER F
+0x47	0x0047	#LATIN CAPITAL LETTER G
+0x48	0x0048	#LATIN CAPITAL LETTER H
+0x49	0x0049	#LATIN CAPITAL LETTER I
+0x4a	0x004a	#LATIN CAPITAL LETTER J
+0x4b	0x004b	#LATIN CAPITAL LETTER K
+0x4c	0x004c	#LATIN CAPITAL LETTER L
+0x4d	0x004d	#LATIN CAPITAL LETTER M
+0x4e	0x004e	#LATIN CAPITAL LETTER N
+0x4f	0x004f	#LATIN CAPITAL LETTER O
+0x50	0x0050	#LATIN CAPITAL LETTER P
+0x51	0x0051	#LATIN CAPITAL LETTER Q
+0x52	0x0052	#LATIN CAPITAL LETTER R
+0x53	0x0053	#LATIN CAPITAL LETTER S
+0x54	0x0054	#LATIN CAPITAL LETTER T
+0x55	0x0055	#LATIN CAPITAL LETTER U
+0x56	0x0056	#LATIN CAPITAL LETTER V
+0x57	0x0057	#LATIN CAPITAL LETTER W
+0x58	0x0058	#LATIN CAPITAL LETTER X
+0x59	0x0059	#LATIN CAPITAL LETTER Y
+0x5a	0x005a	#LATIN CAPITAL LETTER Z
+0x5b	0x005b	#LEFT SQUARE BRACKET
+0x5c	0x005c	#REVERSE SOLIDUS
+0x5d	0x005d	#RIGHT SQUARE BRACKET
+0x5e	0x005e	#CIRCUMFLEX ACCENT
+0x5f	0x005f	#LOW LINE
+0x60	0x0060	#GRAVE ACCENT
+0x61	0x0061	#LATIN SMALL LETTER A
+0x62	0x0062	#LATIN SMALL LETTER B
+0x63	0x0063	#LATIN SMALL LETTER C
+0x64	0x0064	#LATIN SMALL LETTER D
+0x65	0x0065	#LATIN SMALL LETTER E
+0x66	0x0066	#LATIN SMALL LETTER F
+0x67	0x0067	#LATIN SMALL LETTER G
+0x68	0x0068	#LATIN SMALL LETTER H
+0x69	0x0069	#LATIN SMALL LETTER I
+0x6a	0x006a	#LATIN SMALL LETTER J
+0x6b	0x006b	#LATIN SMALL LETTER K
+0x6c	0x006c	#LATIN SMALL LETTER L
+0x6d	0x006d	#LATIN SMALL LETTER M
+0x6e	0x006e	#LATIN SMALL LETTER N
+0x6f	0x006f	#LATIN SMALL LETTER O
+0x70	0x0070	#LATIN SMALL LETTER P
+0x71	0x0071	#LATIN SMALL LETTER Q
+0x72	0x0072	#LATIN SMALL LETTER R
+0x73	0x0073	#LATIN SMALL LETTER S
+0x74	0x0074	#LATIN SMALL LETTER T
+0x75	0x0075	#LATIN SMALL LETTER U
+0x76	0x0076	#LATIN SMALL LETTER V
+0x77	0x0077	#LATIN SMALL LETTER W
+0x78	0x0078	#LATIN SMALL LETTER X
+0x79	0x0079	#LATIN SMALL LETTER Y
+0x7a	0x007a	#LATIN SMALL LETTER Z
+0x7b	0x007b	#LEFT CURLY BRACKET
+0x7c	0x007c	#VERTICAL LINE
+0x7d	0x007d	#RIGHT CURLY BRACKET
+0x7e	0x007e	#TILDE
+0x7f	0x007f	#DELETE
+0x80	0x0106	#LATIN CAPITAL LETTER C WITH ACUTE
+0x81	0x00fc	#LATIN SMALL LETTER U WITH DIAERESIS
+0x82	0x00e9	#LATIN SMALL LETTER E WITH ACUTE
+0x83	0x0101	#LATIN SMALL LETTER A WITH MACRON
+0x84	0x00e4	#LATIN SMALL LETTER A WITH DIAERESIS
+0x85	0x0123	#LATIN SMALL LETTER G WITH CEDILLA
+0x86	0x00e5	#LATIN SMALL LETTER A WITH RING ABOVE
+0x87	0x0107	#LATIN SMALL LETTER C WITH ACUTE
+0x88	0x0142	#LATIN SMALL LETTER L WITH STROKE
+0x89	0x0113	#LATIN SMALL LETTER E WITH MACRON
+0x8a	0x0156	#LATIN CAPITAL LETTER R WITH CEDILLA
+0x8b	0x0157	#LATIN SMALL LETTER R WITH CEDILLA
+0x8c	0x012b	#LATIN SMALL LETTER I WITH MACRON
+0x8d	0x0179	#LATIN CAPITAL LETTER Z WITH ACUTE
+0x8e	0x00c4	#LATIN CAPITAL LETTER A WITH DIAERESIS
+0x8f	0x00c5	#LATIN CAPITAL LETTER A WITH RING ABOVE
+0x90	0x00c9	#LATIN CAPITAL LETTER E WITH ACUTE
+0x91	0x00e6	#LATIN SMALL LIGATURE AE
+0x92	0x00c6	#LATIN CAPITAL LIGATURE AE
+0x93	0x014d	#LATIN SMALL LETTER O WITH MACRON
+0x94	0x00f6	#LATIN SMALL LETTER O WITH DIAERESIS
+0x95	0x0122	#LATIN CAPITAL LETTER G WITH CEDILLA
+0x96	0x00a2	#CENT SIGN
+0x97	0x015a	#LATIN CAPITAL LETTER S WITH ACUTE
+0x98	0x015b	#LATIN SMALL LETTER S WITH ACUTE
+0x99	0x00d6	#LATIN CAPITAL LETTER O WITH DIAERESIS
+0x9a	0x00dc	#LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b	0x00f8	#LATIN SMALL LETTER O WITH STROKE
+0x9c	0x00a3	#POUND SIGN
+0x9d	0x00d8	#LATIN CAPITAL LETTER O WITH STROKE
+0x9e	0x00d7	#MULTIPLICATION SIGN
+0x9f	0x00a4	#CURRENCY SIGN
+0xa0	0x0100	#LATIN CAPITAL LETTER A WITH MACRON
+0xa1	0x012a	#LATIN CAPITAL LETTER I WITH MACRON
+0xa2	0x00f3	#LATIN SMALL LETTER O WITH ACUTE
+0xa3	0x017b	#LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xa4	0x017c	#LATIN SMALL LETTER Z WITH DOT ABOVE
+0xa5	0x017a	#LATIN SMALL LETTER Z WITH ACUTE
+0xa6	0x201d	#RIGHT DOUBLE QUOTATION MARK
+0xa7	0x00a6	#BROKEN BAR
+0xa8	0x00a9	#COPYRIGHT SIGN
+0xa9	0x00ae	#REGISTERED SIGN
+0xaa	0x00ac	#NOT SIGN
+0xab	0x00bd	#VULGAR FRACTION ONE HALF
+0xac	0x00bc	#VULGAR FRACTION ONE QUARTER
+0xad	0x0141	#LATIN CAPITAL LETTER L WITH STROKE
+0xae	0x00ab	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf	0x00bb	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0	0x2591	#LIGHT SHADE
+0xb1	0x2592	#MEDIUM SHADE
+0xb2	0x2593	#DARK SHADE
+0xb3	0x2502	#BOX DRAWINGS LIGHT VERTICAL
+0xb4	0x2524	#BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5	0x0104	#LATIN CAPITAL LETTER A WITH OGONEK
+0xb6	0x010c	#LATIN CAPITAL LETTER C WITH CARON
+0xb7	0x0118	#LATIN CAPITAL LETTER E WITH OGONEK
+0xb8	0x0116	#LATIN CAPITAL LETTER E WITH DOT ABOVE
+0xb9	0x2563	#BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba	0x2551	#BOX DRAWINGS DOUBLE VERTICAL
+0xbb	0x2557	#BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc	0x255d	#BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd	0x012e	#LATIN CAPITAL LETTER I WITH OGONEK
+0xbe	0x0160	#LATIN CAPITAL LETTER S WITH CARON
+0xbf	0x2510	#BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0	0x2514	#BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1	0x2534	#BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2	0x252c	#BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3	0x251c	#BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4	0x2500	#BOX DRAWINGS LIGHT HORIZONTAL
+0xc5	0x253c	#BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6	0x0172	#LATIN CAPITAL LETTER U WITH OGONEK
+0xc7	0x016a	#LATIN CAPITAL LETTER U WITH MACRON
+0xc8	0x255a	#BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9	0x2554	#BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca	0x2569	#BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb	0x2566	#BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc	0x2560	#BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd	0x2550	#BOX DRAWINGS DOUBLE HORIZONTAL
+0xce	0x256c	#BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf	0x017d	#LATIN CAPITAL LETTER Z WITH CARON
+0xd0	0x0105	#LATIN SMALL LETTER A WITH OGONEK
+0xd1	0x010d	#LATIN SMALL LETTER C WITH CARON
+0xd2	0x0119	#LATIN SMALL LETTER E WITH OGONEK
+0xd3	0x0117	#LATIN SMALL LETTER E WITH DOT ABOVE
+0xd4	0x012f	#LATIN SMALL LETTER I WITH OGONEK
+0xd5	0x0161	#LATIN SMALL LETTER S WITH CARON
+0xd6	0x0173	#LATIN SMALL LETTER U WITH OGONEK
+0xd7	0x016b	#LATIN SMALL LETTER U WITH MACRON
+0xd8	0x017e	#LATIN SMALL LETTER Z WITH CARON
+0xd9	0x2518	#BOX DRAWINGS LIGHT UP AND LEFT
+0xda	0x250c	#BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb	0x2588	#FULL BLOCK
+0xdc	0x2584	#LOWER HALF BLOCK
+0xdd	0x258c	#LEFT HALF BLOCK
+0xde	0x2590	#RIGHT HALF BLOCK
+0xdf	0x2580	#UPPER HALF BLOCK
+0xe0	0x00d3	#LATIN CAPITAL LETTER O WITH ACUTE
+0xe1	0x00df	#LATIN SMALL LETTER SHARP S (GERMAN)
+0xe2	0x014c	#LATIN CAPITAL LETTER O WITH MACRON
+0xe3	0x0143	#LATIN CAPITAL LETTER N WITH ACUTE
+0xe4	0x00f5	#LATIN SMALL LETTER O WITH TILDE
+0xe5	0x00d5	#LATIN CAPITAL LETTER O WITH TILDE
+0xe6	0x00b5	#MICRO SIGN
+0xe7	0x0144	#LATIN SMALL LETTER N WITH ACUTE
+0xe8	0x0136	#LATIN CAPITAL LETTER K WITH CEDILLA
+0xe9	0x0137	#LATIN SMALL LETTER K WITH CEDILLA
+0xea	0x013b	#LATIN CAPITAL LETTER L WITH CEDILLA
+0xeb	0x013c	#LATIN SMALL LETTER L WITH CEDILLA
+0xec	0x0146	#LATIN SMALL LETTER N WITH CEDILLA
+0xed	0x0112	#LATIN CAPITAL LETTER E WITH MACRON
+0xee	0x0145	#LATIN CAPITAL LETTER N WITH CEDILLA
+0xef	0x2019	#RIGHT SINGLE QUOTATION MARK
+0xf0	0x00ad	#SOFT HYPHEN
+0xf1	0x00b1	#PLUS-MINUS SIGN
+0xf2	0x201c	#LEFT DOUBLE QUOTATION MARK
+0xf3	0x00be	#VULGAR FRACTION THREE QUARTERS
+0xf4	0x00b6	#PILCROW SIGN
+0xf5	0x00a7	#SECTION SIGN
+0xf6	0x00f7	#DIVISION SIGN
+0xf7	0x201e	#DOUBLE LOW-9 QUOTATION MARK
+0xf8	0x00b0	#DEGREE SIGN
+0xf9	0x2219	#BULLET OPERATOR
+0xfa	0x00b7	#MIDDLE DOT
+0xfb	0x00b9	#SUPERSCRIPT ONE
+0xfc	0x00b3	#SUPERSCRIPT THREE
+0xfd	0x00b2	#SUPERSCRIPT TWO
+0xfe	0x25a0	#BLACK SQUARE
+0xff	0x00a0	#NO-BREAK SPACE
+
+

+ 274 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP850.TXT

@@ -0,0 +1,274 @@
+#
+#    Name:     cp850_DOSLatin1 to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp850_DOSLatin1 code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp850_DOSLatin1 order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x0004	#END OF TRANSMISSION
+0x05	0x0005	#ENQUIRY
+0x06	0x0006	#ACKNOWLEDGE
+0x07	0x0007	#BELL
+0x08	0x0008	#BACKSPACE
+0x09	0x0009	#HORIZONTAL TABULATION
+0x0a	0x000a	#LINE FEED
+0x0b	0x000b	#VERTICAL TABULATION
+0x0c	0x000c	#FORM FEED
+0x0d	0x000d	#CARRIAGE RETURN
+0x0e	0x000e	#SHIFT OUT
+0x0f	0x000f	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x0014	#DEVICE CONTROL FOUR
+0x15	0x0015	#NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#SYNCHRONOUS IDLE
+0x17	0x0017	#END OF TRANSMISSION BLOCK
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1a	0x001a	#SUBSTITUTE
+0x1b	0x001b	#ESCAPE
+0x1c	0x001c	#FILE SEPARATOR
+0x1d	0x001d	#GROUP SEPARATOR
+0x1e	0x001e	#RECORD SEPARATOR
+0x1f	0x001f	#UNIT SEPARATOR
+0x20	0x0020	#SPACE
+0x21	0x0021	#EXCLAMATION MARK
+0x22	0x0022	#QUOTATION MARK
+0x23	0x0023	#NUMBER SIGN
+0x24	0x0024	#DOLLAR SIGN
+0x25	0x0025	#PERCENT SIGN
+0x26	0x0026	#AMPERSAND
+0x27	0x0027	#APOSTROPHE
+0x28	0x0028	#LEFT PARENTHESIS
+0x29	0x0029	#RIGHT PARENTHESIS
+0x2a	0x002a	#ASTERISK
+0x2b	0x002b	#PLUS SIGN
+0x2c	0x002c	#COMMA
+0x2d	0x002d	#HYPHEN-MINUS
+0x2e	0x002e	#FULL STOP
+0x2f	0x002f	#SOLIDUS
+0x30	0x0030	#DIGIT ZERO
+0x31	0x0031	#DIGIT ONE
+0x32	0x0032	#DIGIT TWO
+0x33	0x0033	#DIGIT THREE
+0x34	0x0034	#DIGIT FOUR
+0x35	0x0035	#DIGIT FIVE
+0x36	0x0036	#DIGIT SIX
+0x37	0x0037	#DIGIT SEVEN
+0x38	0x0038	#DIGIT EIGHT
+0x39	0x0039	#DIGIT NINE
+0x3a	0x003a	#COLON
+0x3b	0x003b	#SEMICOLON
+0x3c	0x003c	#LESS-THAN SIGN
+0x3d	0x003d	#EQUALS SIGN
+0x3e	0x003e	#GREATER-THAN SIGN
+0x3f	0x003f	#QUESTION MARK
+0x40	0x0040	#COMMERCIAL AT
+0x41	0x0041	#LATIN CAPITAL LETTER A
+0x42	0x0042	#LATIN CAPITAL LETTER B
+0x43	0x0043	#LATIN CAPITAL LETTER C
+0x44	0x0044	#LATIN CAPITAL LETTER D
+0x45	0x0045	#LATIN CAPITAL LETTER E
+0x46	0x0046	#LATIN CAPITAL LETTER F
+0x47	0x0047	#LATIN CAPITAL LETTER G
+0x48	0x0048	#LATIN CAPITAL LETTER H
+0x49	0x0049	#LATIN CAPITAL LETTER I
+0x4a	0x004a	#LATIN CAPITAL LETTER J
+0x4b	0x004b	#LATIN CAPITAL LETTER K
+0x4c	0x004c	#LATIN CAPITAL LETTER L
+0x4d	0x004d	#LATIN CAPITAL LETTER M
+0x4e	0x004e	#LATIN CAPITAL LETTER N
+0x4f	0x004f	#LATIN CAPITAL LETTER O
+0x50	0x0050	#LATIN CAPITAL LETTER P
+0x51	0x0051	#LATIN CAPITAL LETTER Q
+0x52	0x0052	#LATIN CAPITAL LETTER R
+0x53	0x0053	#LATIN CAPITAL LETTER S
+0x54	0x0054	#LATIN CAPITAL LETTER T
+0x55	0x0055	#LATIN CAPITAL LETTER U
+0x56	0x0056	#LATIN CAPITAL LETTER V
+0x57	0x0057	#LATIN CAPITAL LETTER W
+0x58	0x0058	#LATIN CAPITAL LETTER X
+0x59	0x0059	#LATIN CAPITAL LETTER Y
+0x5a	0x005a	#LATIN CAPITAL LETTER Z
+0x5b	0x005b	#LEFT SQUARE BRACKET
+0x5c	0x005c	#REVERSE SOLIDUS
+0x5d	0x005d	#RIGHT SQUARE BRACKET
+0x5e	0x005e	#CIRCUMFLEX ACCENT
+0x5f	0x005f	#LOW LINE
+0x60	0x0060	#GRAVE ACCENT
+0x61	0x0061	#LATIN SMALL LETTER A
+0x62	0x0062	#LATIN SMALL LETTER B
+0x63	0x0063	#LATIN SMALL LETTER C
+0x64	0x0064	#LATIN SMALL LETTER D
+0x65	0x0065	#LATIN SMALL LETTER E
+0x66	0x0066	#LATIN SMALL LETTER F
+0x67	0x0067	#LATIN SMALL LETTER G
+0x68	0x0068	#LATIN SMALL LETTER H
+0x69	0x0069	#LATIN SMALL LETTER I
+0x6a	0x006a	#LATIN SMALL LETTER J
+0x6b	0x006b	#LATIN SMALL LETTER K
+0x6c	0x006c	#LATIN SMALL LETTER L
+0x6d	0x006d	#LATIN SMALL LETTER M
+0x6e	0x006e	#LATIN SMALL LETTER N
+0x6f	0x006f	#LATIN SMALL LETTER O
+0x70	0x0070	#LATIN SMALL LETTER P
+0x71	0x0071	#LATIN SMALL LETTER Q
+0x72	0x0072	#LATIN SMALL LETTER R
+0x73	0x0073	#LATIN SMALL LETTER S
+0x74	0x0074	#LATIN SMALL LETTER T
+0x75	0x0075	#LATIN SMALL LETTER U
+0x76	0x0076	#LATIN SMALL LETTER V
+0x77	0x0077	#LATIN SMALL LETTER W
+0x78	0x0078	#LATIN SMALL LETTER X
+0x79	0x0079	#LATIN SMALL LETTER Y
+0x7a	0x007a	#LATIN SMALL LETTER Z
+0x7b	0x007b	#LEFT CURLY BRACKET
+0x7c	0x007c	#VERTICAL LINE
+0x7d	0x007d	#RIGHT CURLY BRACKET
+0x7e	0x007e	#TILDE
+0x7f	0x007f	#DELETE
+0x80	0x00c7	#LATIN CAPITAL LETTER C WITH CEDILLA
+0x81	0x00fc	#LATIN SMALL LETTER U WITH DIAERESIS
+0x82	0x00e9	#LATIN SMALL LETTER E WITH ACUTE
+0x83	0x00e2	#LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x84	0x00e4	#LATIN SMALL LETTER A WITH DIAERESIS
+0x85	0x00e0	#LATIN SMALL LETTER A WITH GRAVE
+0x86	0x00e5	#LATIN SMALL LETTER A WITH RING ABOVE
+0x87	0x00e7	#LATIN SMALL LETTER C WITH CEDILLA
+0x88	0x00ea	#LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x89	0x00eb	#LATIN SMALL LETTER E WITH DIAERESIS
+0x8a	0x00e8	#LATIN SMALL LETTER E WITH GRAVE
+0x8b	0x00ef	#LATIN SMALL LETTER I WITH DIAERESIS
+0x8c	0x00ee	#LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x8d	0x00ec	#LATIN SMALL LETTER I WITH GRAVE
+0x8e	0x00c4	#LATIN CAPITAL LETTER A WITH DIAERESIS
+0x8f	0x00c5	#LATIN CAPITAL LETTER A WITH RING ABOVE
+0x90	0x00c9	#LATIN CAPITAL LETTER E WITH ACUTE
+0x91	0x00e6	#LATIN SMALL LIGATURE AE
+0x92	0x00c6	#LATIN CAPITAL LIGATURE AE
+0x93	0x00f4	#LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x94	0x00f6	#LATIN SMALL LETTER O WITH DIAERESIS
+0x95	0x00f2	#LATIN SMALL LETTER O WITH GRAVE
+0x96	0x00fb	#LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x97	0x00f9	#LATIN SMALL LETTER U WITH GRAVE
+0x98	0x00ff	#LATIN SMALL LETTER Y WITH DIAERESIS
+0x99	0x00d6	#LATIN CAPITAL LETTER O WITH DIAERESIS
+0x9a	0x00dc	#LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b	0x00f8	#LATIN SMALL LETTER O WITH STROKE
+0x9c	0x00a3	#POUND SIGN
+0x9d	0x00d8	#LATIN CAPITAL LETTER O WITH STROKE
+0x9e	0x00d7	#MULTIPLICATION SIGN
+0x9f	0x0192	#LATIN SMALL LETTER F WITH HOOK
+0xa0	0x00e1	#LATIN SMALL LETTER A WITH ACUTE
+0xa1	0x00ed	#LATIN SMALL LETTER I WITH ACUTE
+0xa2	0x00f3	#LATIN SMALL LETTER O WITH ACUTE
+0xa3	0x00fa	#LATIN SMALL LETTER U WITH ACUTE
+0xa4	0x00f1	#LATIN SMALL LETTER N WITH TILDE
+0xa5	0x00d1	#LATIN CAPITAL LETTER N WITH TILDE
+0xa6	0x00aa	#FEMININE ORDINAL INDICATOR
+0xa7	0x00ba	#MASCULINE ORDINAL INDICATOR
+0xa8	0x00bf	#INVERTED QUESTION MARK
+0xa9	0x00ae	#REGISTERED SIGN
+0xaa	0x00ac	#NOT SIGN
+0xab	0x00bd	#VULGAR FRACTION ONE HALF
+0xac	0x00bc	#VULGAR FRACTION ONE QUARTER
+0xad	0x00a1	#INVERTED EXCLAMATION MARK
+0xae	0x00ab	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf	0x00bb	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0	0x2591	#LIGHT SHADE
+0xb1	0x2592	#MEDIUM SHADE
+0xb2	0x2593	#DARK SHADE
+0xb3	0x2502	#BOX DRAWINGS LIGHT VERTICAL
+0xb4	0x2524	#BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5	0x00c1	#LATIN CAPITAL LETTER A WITH ACUTE
+0xb6	0x00c2	#LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xb7	0x00c0	#LATIN CAPITAL LETTER A WITH GRAVE
+0xb8	0x00a9	#COPYRIGHT SIGN
+0xb9	0x2563	#BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba	0x2551	#BOX DRAWINGS DOUBLE VERTICAL
+0xbb	0x2557	#BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc	0x255d	#BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd	0x00a2	#CENT SIGN
+0xbe	0x00a5	#YEN SIGN
+0xbf	0x2510	#BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0	0x2514	#BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1	0x2534	#BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2	0x252c	#BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3	0x251c	#BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4	0x2500	#BOX DRAWINGS LIGHT HORIZONTAL
+0xc5	0x253c	#BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6	0x00e3	#LATIN SMALL LETTER A WITH TILDE
+0xc7	0x00c3	#LATIN CAPITAL LETTER A WITH TILDE
+0xc8	0x255a	#BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9	0x2554	#BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca	0x2569	#BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb	0x2566	#BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc	0x2560	#BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd	0x2550	#BOX DRAWINGS DOUBLE HORIZONTAL
+0xce	0x256c	#BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf	0x00a4	#CURRENCY SIGN
+0xd0	0x00f0	#LATIN SMALL LETTER ETH
+0xd1	0x00d0	#LATIN CAPITAL LETTER ETH
+0xd2	0x00ca	#LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xd3	0x00cb	#LATIN CAPITAL LETTER E WITH DIAERESIS
+0xd4	0x00c8	#LATIN CAPITAL LETTER E WITH GRAVE
+0xd5	0x0131	#LATIN SMALL LETTER DOTLESS I
+0xd6	0x00cd	#LATIN CAPITAL LETTER I WITH ACUTE
+0xd7	0x00ce	#LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xd8	0x00cf	#LATIN CAPITAL LETTER I WITH DIAERESIS
+0xd9	0x2518	#BOX DRAWINGS LIGHT UP AND LEFT
+0xda	0x250c	#BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb	0x2588	#FULL BLOCK
+0xdc	0x2584	#LOWER HALF BLOCK
+0xdd	0x00a6	#BROKEN BAR
+0xde	0x00cc	#LATIN CAPITAL LETTER I WITH GRAVE
+0xdf	0x2580	#UPPER HALF BLOCK
+0xe0	0x00d3	#LATIN CAPITAL LETTER O WITH ACUTE
+0xe1	0x00df	#LATIN SMALL LETTER SHARP S
+0xe2	0x00d4	#LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xe3	0x00d2	#LATIN CAPITAL LETTER O WITH GRAVE
+0xe4	0x00f5	#LATIN SMALL LETTER O WITH TILDE
+0xe5	0x00d5	#LATIN CAPITAL LETTER O WITH TILDE
+0xe6	0x00b5	#MICRO SIGN
+0xe7	0x00fe	#LATIN SMALL LETTER THORN
+0xe8	0x00de	#LATIN CAPITAL LETTER THORN
+0xe9	0x00da	#LATIN CAPITAL LETTER U WITH ACUTE
+0xea	0x00db	#LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xeb	0x00d9	#LATIN CAPITAL LETTER U WITH GRAVE
+0xec	0x00fd	#LATIN SMALL LETTER Y WITH ACUTE
+0xed	0x00dd	#LATIN CAPITAL LETTER Y WITH ACUTE
+0xee	0x00af	#MACRON
+0xef	0x00b4	#ACUTE ACCENT
+0xf0	0x00ad	#SOFT HYPHEN
+0xf1	0x00b1	#PLUS-MINUS SIGN
+0xf2	0x2017	#DOUBLE LOW LINE
+0xf3	0x00be	#VULGAR FRACTION THREE QUARTERS
+0xf4	0x00b6	#PILCROW SIGN
+0xf5	0x00a7	#SECTION SIGN
+0xf6	0x00f7	#DIVISION SIGN
+0xf7	0x00b8	#CEDILLA
+0xf8	0x00b0	#DEGREE SIGN
+0xf9	0x00a8	#DIAERESIS
+0xfa	0x00b7	#MIDDLE DOT
+0xfb	0x00b9	#SUPERSCRIPT ONE
+0xfc	0x00b3	#SUPERSCRIPT THREE
+0xfd	0x00b2	#SUPERSCRIPT TWO
+0xfe	0x25a0	#BLACK SQUARE
+0xff	0x00a0	#NO-BREAK SPACE
+

+ 274 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP852.TXT

@@ -0,0 +1,274 @@
+#
+#    Name:     cp852_DOSLatin2 to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp852_DOSLatin2 code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp852_DOSLatin2 order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x0004	#END OF TRANSMISSION
+0x05	0x0005	#ENQUIRY
+0x06	0x0006	#ACKNOWLEDGE
+0x07	0x0007	#BELL
+0x08	0x0008	#BACKSPACE
+0x09	0x0009	#HORIZONTAL TABULATION
+0x0a	0x000a	#LINE FEED
+0x0b	0x000b	#VERTICAL TABULATION
+0x0c	0x000c	#FORM FEED
+0x0d	0x000d	#CARRIAGE RETURN
+0x0e	0x000e	#SHIFT OUT
+0x0f	0x000f	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x0014	#DEVICE CONTROL FOUR
+0x15	0x0015	#NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#SYNCHRONOUS IDLE
+0x17	0x0017	#END OF TRANSMISSION BLOCK
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1a	0x001a	#SUBSTITUTE
+0x1b	0x001b	#ESCAPE
+0x1c	0x001c	#FILE SEPARATOR
+0x1d	0x001d	#GROUP SEPARATOR
+0x1e	0x001e	#RECORD SEPARATOR
+0x1f	0x001f	#UNIT SEPARATOR
+0x20	0x0020	#SPACE
+0x21	0x0021	#EXCLAMATION MARK
+0x22	0x0022	#QUOTATION MARK
+0x23	0x0023	#NUMBER SIGN
+0x24	0x0024	#DOLLAR SIGN
+0x25	0x0025	#PERCENT SIGN
+0x26	0x0026	#AMPERSAND
+0x27	0x0027	#APOSTROPHE
+0x28	0x0028	#LEFT PARENTHESIS
+0x29	0x0029	#RIGHT PARENTHESIS
+0x2a	0x002a	#ASTERISK
+0x2b	0x002b	#PLUS SIGN
+0x2c	0x002c	#COMMA
+0x2d	0x002d	#HYPHEN-MINUS
+0x2e	0x002e	#FULL STOP
+0x2f	0x002f	#SOLIDUS
+0x30	0x0030	#DIGIT ZERO
+0x31	0x0031	#DIGIT ONE
+0x32	0x0032	#DIGIT TWO
+0x33	0x0033	#DIGIT THREE
+0x34	0x0034	#DIGIT FOUR
+0x35	0x0035	#DIGIT FIVE
+0x36	0x0036	#DIGIT SIX
+0x37	0x0037	#DIGIT SEVEN
+0x38	0x0038	#DIGIT EIGHT
+0x39	0x0039	#DIGIT NINE
+0x3a	0x003a	#COLON
+0x3b	0x003b	#SEMICOLON
+0x3c	0x003c	#LESS-THAN SIGN
+0x3d	0x003d	#EQUALS SIGN
+0x3e	0x003e	#GREATER-THAN SIGN
+0x3f	0x003f	#QUESTION MARK
+0x40	0x0040	#COMMERCIAL AT
+0x41	0x0041	#LATIN CAPITAL LETTER A
+0x42	0x0042	#LATIN CAPITAL LETTER B
+0x43	0x0043	#LATIN CAPITAL LETTER C
+0x44	0x0044	#LATIN CAPITAL LETTER D
+0x45	0x0045	#LATIN CAPITAL LETTER E
+0x46	0x0046	#LATIN CAPITAL LETTER F
+0x47	0x0047	#LATIN CAPITAL LETTER G
+0x48	0x0048	#LATIN CAPITAL LETTER H
+0x49	0x0049	#LATIN CAPITAL LETTER I
+0x4a	0x004a	#LATIN CAPITAL LETTER J
+0x4b	0x004b	#LATIN CAPITAL LETTER K
+0x4c	0x004c	#LATIN CAPITAL LETTER L
+0x4d	0x004d	#LATIN CAPITAL LETTER M
+0x4e	0x004e	#LATIN CAPITAL LETTER N
+0x4f	0x004f	#LATIN CAPITAL LETTER O
+0x50	0x0050	#LATIN CAPITAL LETTER P
+0x51	0x0051	#LATIN CAPITAL LETTER Q
+0x52	0x0052	#LATIN CAPITAL LETTER R
+0x53	0x0053	#LATIN CAPITAL LETTER S
+0x54	0x0054	#LATIN CAPITAL LETTER T
+0x55	0x0055	#LATIN CAPITAL LETTER U
+0x56	0x0056	#LATIN CAPITAL LETTER V
+0x57	0x0057	#LATIN CAPITAL LETTER W
+0x58	0x0058	#LATIN CAPITAL LETTER X
+0x59	0x0059	#LATIN CAPITAL LETTER Y
+0x5a	0x005a	#LATIN CAPITAL LETTER Z
+0x5b	0x005b	#LEFT SQUARE BRACKET
+0x5c	0x005c	#REVERSE SOLIDUS
+0x5d	0x005d	#RIGHT SQUARE BRACKET
+0x5e	0x005e	#CIRCUMFLEX ACCENT
+0x5f	0x005f	#LOW LINE
+0x60	0x0060	#GRAVE ACCENT
+0x61	0x0061	#LATIN SMALL LETTER A
+0x62	0x0062	#LATIN SMALL LETTER B
+0x63	0x0063	#LATIN SMALL LETTER C
+0x64	0x0064	#LATIN SMALL LETTER D
+0x65	0x0065	#LATIN SMALL LETTER E
+0x66	0x0066	#LATIN SMALL LETTER F
+0x67	0x0067	#LATIN SMALL LETTER G
+0x68	0x0068	#LATIN SMALL LETTER H
+0x69	0x0069	#LATIN SMALL LETTER I
+0x6a	0x006a	#LATIN SMALL LETTER J
+0x6b	0x006b	#LATIN SMALL LETTER K
+0x6c	0x006c	#LATIN SMALL LETTER L
+0x6d	0x006d	#LATIN SMALL LETTER M
+0x6e	0x006e	#LATIN SMALL LETTER N
+0x6f	0x006f	#LATIN SMALL LETTER O
+0x70	0x0070	#LATIN SMALL LETTER P
+0x71	0x0071	#LATIN SMALL LETTER Q
+0x72	0x0072	#LATIN SMALL LETTER R
+0x73	0x0073	#LATIN SMALL LETTER S
+0x74	0x0074	#LATIN SMALL LETTER T
+0x75	0x0075	#LATIN SMALL LETTER U
+0x76	0x0076	#LATIN SMALL LETTER V
+0x77	0x0077	#LATIN SMALL LETTER W
+0x78	0x0078	#LATIN SMALL LETTER X
+0x79	0x0079	#LATIN SMALL LETTER Y
+0x7a	0x007a	#LATIN SMALL LETTER Z
+0x7b	0x007b	#LEFT CURLY BRACKET
+0x7c	0x007c	#VERTICAL LINE
+0x7d	0x007d	#RIGHT CURLY BRACKET
+0x7e	0x007e	#TILDE
+0x7f	0x007f	#DELETE
+0x80	0x00c7	#LATIN CAPITAL LETTER C WITH CEDILLA
+0x81	0x00fc	#LATIN SMALL LETTER U WITH DIAERESIS
+0x82	0x00e9	#LATIN SMALL LETTER E WITH ACUTE
+0x83	0x00e2	#LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x84	0x00e4	#LATIN SMALL LETTER A WITH DIAERESIS
+0x85	0x016f	#LATIN SMALL LETTER U WITH RING ABOVE
+0x86	0x0107	#LATIN SMALL LETTER C WITH ACUTE
+0x87	0x00e7	#LATIN SMALL LETTER C WITH CEDILLA
+0x88	0x0142	#LATIN SMALL LETTER L WITH STROKE
+0x89	0x00eb	#LATIN SMALL LETTER E WITH DIAERESIS
+0x8a	0x0150	#LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0x8b	0x0151	#LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0x8c	0x00ee	#LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x8d	0x0179	#LATIN CAPITAL LETTER Z WITH ACUTE
+0x8e	0x00c4	#LATIN CAPITAL LETTER A WITH DIAERESIS
+0x8f	0x0106	#LATIN CAPITAL LETTER C WITH ACUTE
+0x90	0x00c9	#LATIN CAPITAL LETTER E WITH ACUTE
+0x91	0x0139	#LATIN CAPITAL LETTER L WITH ACUTE
+0x92	0x013a	#LATIN SMALL LETTER L WITH ACUTE
+0x93	0x00f4	#LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x94	0x00f6	#LATIN SMALL LETTER O WITH DIAERESIS
+0x95	0x013d	#LATIN CAPITAL LETTER L WITH CARON
+0x96	0x013e	#LATIN SMALL LETTER L WITH CARON
+0x97	0x015a	#LATIN CAPITAL LETTER S WITH ACUTE
+0x98	0x015b	#LATIN SMALL LETTER S WITH ACUTE
+0x99	0x00d6	#LATIN CAPITAL LETTER O WITH DIAERESIS
+0x9a	0x00dc	#LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b	0x0164	#LATIN CAPITAL LETTER T WITH CARON
+0x9c	0x0165	#LATIN SMALL LETTER T WITH CARON
+0x9d	0x0141	#LATIN CAPITAL LETTER L WITH STROKE
+0x9e	0x00d7	#MULTIPLICATION SIGN
+0x9f	0x010d	#LATIN SMALL LETTER C WITH CARON
+0xa0	0x00e1	#LATIN SMALL LETTER A WITH ACUTE
+0xa1	0x00ed	#LATIN SMALL LETTER I WITH ACUTE
+0xa2	0x00f3	#LATIN SMALL LETTER O WITH ACUTE
+0xa3	0x00fa	#LATIN SMALL LETTER U WITH ACUTE
+0xa4	0x0104	#LATIN CAPITAL LETTER A WITH OGONEK
+0xa5	0x0105	#LATIN SMALL LETTER A WITH OGONEK
+0xa6	0x017d	#LATIN CAPITAL LETTER Z WITH CARON
+0xa7	0x017e	#LATIN SMALL LETTER Z WITH CARON
+0xa8	0x0118	#LATIN CAPITAL LETTER E WITH OGONEK
+0xa9	0x0119	#LATIN SMALL LETTER E WITH OGONEK
+0xaa	0x00ac	#NOT SIGN
+0xab	0x017a	#LATIN SMALL LETTER Z WITH ACUTE
+0xac	0x010c	#LATIN CAPITAL LETTER C WITH CARON
+0xad	0x015f	#LATIN SMALL LETTER S WITH CEDILLA
+0xae	0x00ab	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf	0x00bb	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0	0x2591	#LIGHT SHADE
+0xb1	0x2592	#MEDIUM SHADE
+0xb2	0x2593	#DARK SHADE
+0xb3	0x2502	#BOX DRAWINGS LIGHT VERTICAL
+0xb4	0x2524	#BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5	0x00c1	#LATIN CAPITAL LETTER A WITH ACUTE
+0xb6	0x00c2	#LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xb7	0x011a	#LATIN CAPITAL LETTER E WITH CARON
+0xb8	0x015e	#LATIN CAPITAL LETTER S WITH CEDILLA
+0xb9	0x2563	#BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba	0x2551	#BOX DRAWINGS DOUBLE VERTICAL
+0xbb	0x2557	#BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc	0x255d	#BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd	0x017b	#LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xbe	0x017c	#LATIN SMALL LETTER Z WITH DOT ABOVE
+0xbf	0x2510	#BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0	0x2514	#BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1	0x2534	#BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2	0x252c	#BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3	0x251c	#BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4	0x2500	#BOX DRAWINGS LIGHT HORIZONTAL
+0xc5	0x253c	#BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6	0x0102	#LATIN CAPITAL LETTER A WITH BREVE
+0xc7	0x0103	#LATIN SMALL LETTER A WITH BREVE
+0xc8	0x255a	#BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9	0x2554	#BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca	0x2569	#BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb	0x2566	#BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc	0x2560	#BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd	0x2550	#BOX DRAWINGS DOUBLE HORIZONTAL
+0xce	0x256c	#BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf	0x00a4	#CURRENCY SIGN
+0xd0	0x0111	#LATIN SMALL LETTER D WITH STROKE
+0xd1	0x0110	#LATIN CAPITAL LETTER D WITH STROKE
+0xd2	0x010e	#LATIN CAPITAL LETTER D WITH CARON
+0xd3	0x00cb	#LATIN CAPITAL LETTER E WITH DIAERESIS
+0xd4	0x010f	#LATIN SMALL LETTER D WITH CARON
+0xd5	0x0147	#LATIN CAPITAL LETTER N WITH CARON
+0xd6	0x00cd	#LATIN CAPITAL LETTER I WITH ACUTE
+0xd7	0x00ce	#LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xd8	0x011b	#LATIN SMALL LETTER E WITH CARON
+0xd9	0x2518	#BOX DRAWINGS LIGHT UP AND LEFT
+0xda	0x250c	#BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb	0x2588	#FULL BLOCK
+0xdc	0x2584	#LOWER HALF BLOCK
+0xdd	0x0162	#LATIN CAPITAL LETTER T WITH CEDILLA
+0xde	0x016e	#LATIN CAPITAL LETTER U WITH RING ABOVE
+0xdf	0x2580	#UPPER HALF BLOCK
+0xe0	0x00d3	#LATIN CAPITAL LETTER O WITH ACUTE
+0xe1	0x00df	#LATIN SMALL LETTER SHARP S
+0xe2	0x00d4	#LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xe3	0x0143	#LATIN CAPITAL LETTER N WITH ACUTE
+0xe4	0x0144	#LATIN SMALL LETTER N WITH ACUTE
+0xe5	0x0148	#LATIN SMALL LETTER N WITH CARON
+0xe6	0x0160	#LATIN CAPITAL LETTER S WITH CARON
+0xe7	0x0161	#LATIN SMALL LETTER S WITH CARON
+0xe8	0x0154	#LATIN CAPITAL LETTER R WITH ACUTE
+0xe9	0x00da	#LATIN CAPITAL LETTER U WITH ACUTE
+0xea	0x0155	#LATIN SMALL LETTER R WITH ACUTE
+0xeb	0x0170	#LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0xec	0x00fd	#LATIN SMALL LETTER Y WITH ACUTE
+0xed	0x00dd	#LATIN CAPITAL LETTER Y WITH ACUTE
+0xee	0x0163	#LATIN SMALL LETTER T WITH CEDILLA
+0xef	0x00b4	#ACUTE ACCENT
+0xf0	0x00ad	#SOFT HYPHEN
+0xf1	0x02dd	#DOUBLE ACUTE ACCENT
+0xf2	0x02db	#OGONEK
+0xf3	0x02c7	#CARON
+0xf4	0x02d8	#BREVE
+0xf5	0x00a7	#SECTION SIGN
+0xf6	0x00f7	#DIVISION SIGN
+0xf7	0x00b8	#CEDILLA
+0xf8	0x00b0	#DEGREE SIGN
+0xf9	0x00a8	#DIAERESIS
+0xfa	0x02d9	#DOT ABOVE
+0xfb	0x0171	#LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0xfc	0x0158	#LATIN CAPITAL LETTER R WITH CARON
+0xfd	0x0159	#LATIN SMALL LETTER R WITH CARON
+0xfe	0x25a0	#BLACK SQUARE
+0xff	0x00a0	#NO-BREAK SPACE
+

+ 275 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP855.TXT

@@ -0,0 +1,275 @@
+#
+#    Name:     cp855_DOSCyrillic to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp855_DOSCyrillic code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp855_DOSCyrillic order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x0004	#END OF TRANSMISSION
+0x05	0x0005	#ENQUIRY
+0x06	0x0006	#ACKNOWLEDGE
+0x07	0x0007	#BELL
+0x08	0x0008	#BACKSPACE
+0x09	0x0009	#HORIZONTAL TABULATION
+0x0a	0x000a	#LINE FEED
+0x0b	0x000b	#VERTICAL TABULATION
+0x0c	0x000c	#FORM FEED
+0x0d	0x000d	#CARRIAGE RETURN
+0x0e	0x000e	#SHIFT OUT
+0x0f	0x000f	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x0014	#DEVICE CONTROL FOUR
+0x15	0x0015	#NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#SYNCHRONOUS IDLE
+0x17	0x0017	#END OF TRANSMISSION BLOCK
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1a	0x001a	#SUBSTITUTE
+0x1b	0x001b	#ESCAPE
+0x1c	0x001c	#FILE SEPARATOR
+0x1d	0x001d	#GROUP SEPARATOR
+0x1e	0x001e	#RECORD SEPARATOR
+0x1f	0x001f	#UNIT SEPARATOR
+0x20	0x0020	#SPACE
+0x21	0x0021	#EXCLAMATION MARK
+0x22	0x0022	#QUOTATION MARK
+0x23	0x0023	#NUMBER SIGN
+0x24	0x0024	#DOLLAR SIGN
+0x25	0x0025	#PERCENT SIGN
+0x26	0x0026	#AMPERSAND
+0x27	0x0027	#APOSTROPHE
+0x28	0x0028	#LEFT PARENTHESIS
+0x29	0x0029	#RIGHT PARENTHESIS
+0x2a	0x002a	#ASTERISK
+0x2b	0x002b	#PLUS SIGN
+0x2c	0x002c	#COMMA
+0x2d	0x002d	#HYPHEN-MINUS
+0x2e	0x002e	#FULL STOP
+0x2f	0x002f	#SOLIDUS
+0x30	0x0030	#DIGIT ZERO
+0x31	0x0031	#DIGIT ONE
+0x32	0x0032	#DIGIT TWO
+0x33	0x0033	#DIGIT THREE
+0x34	0x0034	#DIGIT FOUR
+0x35	0x0035	#DIGIT FIVE
+0x36	0x0036	#DIGIT SIX
+0x37	0x0037	#DIGIT SEVEN
+0x38	0x0038	#DIGIT EIGHT
+0x39	0x0039	#DIGIT NINE
+0x3a	0x003a	#COLON
+0x3b	0x003b	#SEMICOLON
+0x3c	0x003c	#LESS-THAN SIGN
+0x3d	0x003d	#EQUALS SIGN
+0x3e	0x003e	#GREATER-THAN SIGN
+0x3f	0x003f	#QUESTION MARK
+0x40	0x0040	#COMMERCIAL AT
+0x41	0x0041	#LATIN CAPITAL LETTER A
+0x42	0x0042	#LATIN CAPITAL LETTER B
+0x43	0x0043	#LATIN CAPITAL LETTER C
+0x44	0x0044	#LATIN CAPITAL LETTER D
+0x45	0x0045	#LATIN CAPITAL LETTER E
+0x46	0x0046	#LATIN CAPITAL LETTER F
+0x47	0x0047	#LATIN CAPITAL LETTER G
+0x48	0x0048	#LATIN CAPITAL LETTER H
+0x49	0x0049	#LATIN CAPITAL LETTER I
+0x4a	0x004a	#LATIN CAPITAL LETTER J
+0x4b	0x004b	#LATIN CAPITAL LETTER K
+0x4c	0x004c	#LATIN CAPITAL LETTER L
+0x4d	0x004d	#LATIN CAPITAL LETTER M
+0x4e	0x004e	#LATIN CAPITAL LETTER N
+0x4f	0x004f	#LATIN CAPITAL LETTER O
+0x50	0x0050	#LATIN CAPITAL LETTER P
+0x51	0x0051	#LATIN CAPITAL LETTER Q
+0x52	0x0052	#LATIN CAPITAL LETTER R
+0x53	0x0053	#LATIN CAPITAL LETTER S
+0x54	0x0054	#LATIN CAPITAL LETTER T
+0x55	0x0055	#LATIN CAPITAL LETTER U
+0x56	0x0056	#LATIN CAPITAL LETTER V
+0x57	0x0057	#LATIN CAPITAL LETTER W
+0x58	0x0058	#LATIN CAPITAL LETTER X
+0x59	0x0059	#LATIN CAPITAL LETTER Y
+0x5a	0x005a	#LATIN CAPITAL LETTER Z
+0x5b	0x005b	#LEFT SQUARE BRACKET
+0x5c	0x005c	#REVERSE SOLIDUS
+0x5d	0x005d	#RIGHT SQUARE BRACKET
+0x5e	0x005e	#CIRCUMFLEX ACCENT
+0x5f	0x005f	#LOW LINE
+0x60	0x0060	#GRAVE ACCENT
+0x61	0x0061	#LATIN SMALL LETTER A
+0x62	0x0062	#LATIN SMALL LETTER B
+0x63	0x0063	#LATIN SMALL LETTER C
+0x64	0x0064	#LATIN SMALL LETTER D
+0x65	0x0065	#LATIN SMALL LETTER E
+0x66	0x0066	#LATIN SMALL LETTER F
+0x67	0x0067	#LATIN SMALL LETTER G
+0x68	0x0068	#LATIN SMALL LETTER H
+0x69	0x0069	#LATIN SMALL LETTER I
+0x6a	0x006a	#LATIN SMALL LETTER J
+0x6b	0x006b	#LATIN SMALL LETTER K
+0x6c	0x006c	#LATIN SMALL LETTER L
+0x6d	0x006d	#LATIN SMALL LETTER M
+0x6e	0x006e	#LATIN SMALL LETTER N
+0x6f	0x006f	#LATIN SMALL LETTER O
+0x70	0x0070	#LATIN SMALL LETTER P
+0x71	0x0071	#LATIN SMALL LETTER Q
+0x72	0x0072	#LATIN SMALL LETTER R
+0x73	0x0073	#LATIN SMALL LETTER S
+0x74	0x0074	#LATIN SMALL LETTER T
+0x75	0x0075	#LATIN SMALL LETTER U
+0x76	0x0076	#LATIN SMALL LETTER V
+0x77	0x0077	#LATIN SMALL LETTER W
+0x78	0x0078	#LATIN SMALL LETTER X
+0x79	0x0079	#LATIN SMALL LETTER Y
+0x7a	0x007a	#LATIN SMALL LETTER Z
+0x7b	0x007b	#LEFT CURLY BRACKET
+0x7c	0x007c	#VERTICAL LINE
+0x7d	0x007d	#RIGHT CURLY BRACKET
+0x7e	0x007e	#TILDE
+0x7f	0x007f	#DELETE
+0x80	0x0452	#CYRILLIC SMALL LETTER DJE
+0x81	0x0402	#CYRILLIC CAPITAL LETTER DJE
+0x82	0x0453	#CYRILLIC SMALL LETTER GJE
+0x83	0x0403	#CYRILLIC CAPITAL LETTER GJE
+0x84	0x0451	#CYRILLIC SMALL LETTER IO
+0x85	0x0401	#CYRILLIC CAPITAL LETTER IO
+0x86	0x0454	#CYRILLIC SMALL LETTER UKRAINIAN IE
+0x87	0x0404	#CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0x88	0x0455	#CYRILLIC SMALL LETTER DZE
+0x89	0x0405	#CYRILLIC CAPITAL LETTER DZE
+0x8a	0x0456	#CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0x8b	0x0406	#CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0x8c	0x0457	#CYRILLIC SMALL LETTER YI
+0x8d	0x0407	#CYRILLIC CAPITAL LETTER YI
+0x8e	0x0458	#CYRILLIC SMALL LETTER JE
+0x8f	0x0408	#CYRILLIC CAPITAL LETTER JE
+0x90	0x0459	#CYRILLIC SMALL LETTER LJE
+0x91	0x0409	#CYRILLIC CAPITAL LETTER LJE
+0x92	0x045a	#CYRILLIC SMALL LETTER NJE
+0x93	0x040a	#CYRILLIC CAPITAL LETTER NJE
+0x94	0x045b	#CYRILLIC SMALL LETTER TSHE
+0x95	0x040b	#CYRILLIC CAPITAL LETTER TSHE
+0x96	0x045c	#CYRILLIC SMALL LETTER KJE
+0x97	0x040c	#CYRILLIC CAPITAL LETTER KJE
+0x98	0x045e	#CYRILLIC SMALL LETTER SHORT U
+0x99	0x040e	#CYRILLIC CAPITAL LETTER SHORT U
+0x9a	0x045f	#CYRILLIC SMALL LETTER DZHE
+0x9b	0x040f	#CYRILLIC CAPITAL LETTER DZHE
+0x9c	0x044e	#CYRILLIC SMALL LETTER YU
+0x9d	0x042e	#CYRILLIC CAPITAL LETTER YU
+0x9e	0x044a	#CYRILLIC SMALL LETTER HARD SIGN
+0x9f	0x042a	#CYRILLIC CAPITAL LETTER HARD SIGN
+0xa0	0x0430	#CYRILLIC SMALL LETTER A
+0xa1	0x0410	#CYRILLIC CAPITAL LETTER A
+0xa2	0x0431	#CYRILLIC SMALL LETTER BE
+0xa3	0x0411	#CYRILLIC CAPITAL LETTER BE
+0xa4	0x0446	#CYRILLIC SMALL LETTER TSE
+0xa5	0x0426	#CYRILLIC CAPITAL LETTER TSE
+0xa6	0x0434	#CYRILLIC SMALL LETTER DE
+0xa7	0x0414	#CYRILLIC CAPITAL LETTER DE
+0xa8	0x0435	#CYRILLIC SMALL LETTER IE
+0xa9	0x0415	#CYRILLIC CAPITAL LETTER IE
+0xaa	0x0444	#CYRILLIC SMALL LETTER EF
+0xab	0x0424	#CYRILLIC CAPITAL LETTER EF
+0xac	0x0433	#CYRILLIC SMALL LETTER GHE
+0xad	0x0413	#CYRILLIC CAPITAL LETTER GHE
+0xae	0x00ab	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf	0x00bb	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0	0x2591	#LIGHT SHADE
+0xb1	0x2592	#MEDIUM SHADE
+0xb2	0x2593	#DARK SHADE
+0xb3	0x2502	#BOX DRAWINGS LIGHT VERTICAL
+0xb4	0x2524	#BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5	0x0445	#CYRILLIC SMALL LETTER HA
+0xb6	0x0425	#CYRILLIC CAPITAL LETTER HA
+0xb7	0x0438	#CYRILLIC SMALL LETTER I
+0xb8	0x0418	#CYRILLIC CAPITAL LETTER I
+0xb9	0x2563	#BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba	0x2551	#BOX DRAWINGS DOUBLE VERTICAL
+0xbb	0x2557	#BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc	0x255d	#BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd	0x0439	#CYRILLIC SMALL LETTER SHORT I
+0xbe	0x0419	#CYRILLIC CAPITAL LETTER SHORT I
+0xbf	0x2510	#BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0	0x2514	#BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1	0x2534	#BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2	0x252c	#BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3	0x251c	#BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4	0x2500	#BOX DRAWINGS LIGHT HORIZONTAL
+0xc5	0x253c	#BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6	0x043a	#CYRILLIC SMALL LETTER KA
+0xc7	0x041a	#CYRILLIC CAPITAL LETTER KA
+0xc8	0x255a	#BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9	0x2554	#BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca	0x2569	#BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb	0x2566	#BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc	0x2560	#BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd	0x2550	#BOX DRAWINGS DOUBLE HORIZONTAL
+0xce	0x256c	#BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf	0x00a4	#CURRENCY SIGN
+0xd0	0x043b	#CYRILLIC SMALL LETTER EL
+0xd1	0x041b	#CYRILLIC CAPITAL LETTER EL
+0xd2	0x043c	#CYRILLIC SMALL LETTER EM
+0xd3	0x041c	#CYRILLIC CAPITAL LETTER EM
+0xd4	0x043d	#CYRILLIC SMALL LETTER EN
+0xd5	0x041d	#CYRILLIC CAPITAL LETTER EN
+0xd6	0x043e	#CYRILLIC SMALL LETTER O
+0xd7	0x041e	#CYRILLIC CAPITAL LETTER O
+0xd8	0x043f	#CYRILLIC SMALL LETTER PE
+0xd9	0x2518	#BOX DRAWINGS LIGHT UP AND LEFT
+0xda	0x250c	#BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb	0x2588	#FULL BLOCK
+0xdc	0x2584	#LOWER HALF BLOCK
+0xdd	0x041f	#CYRILLIC CAPITAL LETTER PE
+0xde	0x044f	#CYRILLIC SMALL LETTER YA
+0xdf	0x2580	#UPPER HALF BLOCK
+0xe0	0x042f	#CYRILLIC CAPITAL LETTER YA
+0xe1	0x0440	#CYRILLIC SMALL LETTER ER
+0xe2	0x0420	#CYRILLIC CAPITAL LETTER ER
+0xe3	0x0441	#CYRILLIC SMALL LETTER ES
+0xe4	0x0421	#CYRILLIC CAPITAL LETTER ES
+0xe5	0x0442	#CYRILLIC SMALL LETTER TE
+0xe6	0x0422	#CYRILLIC CAPITAL LETTER TE
+0xe7	0x0443	#CYRILLIC SMALL LETTER U
+0xe8	0x0423	#CYRILLIC CAPITAL LETTER U
+0xe9	0x0436	#CYRILLIC SMALL LETTER ZHE
+0xea	0x0416	#CYRILLIC CAPITAL LETTER ZHE
+0xeb	0x0432	#CYRILLIC SMALL LETTER VE
+0xec	0x0412	#CYRILLIC CAPITAL LETTER VE
+0xed	0x044c	#CYRILLIC SMALL LETTER SOFT SIGN
+0xee	0x042c	#CYRILLIC CAPITAL LETTER SOFT SIGN
+0xef	0x2116	#NUMERO SIGN
+0xf0	0x00ad	#SOFT HYPHEN
+0xf1	0x044b	#CYRILLIC SMALL LETTER YERU
+0xf2	0x042b	#CYRILLIC CAPITAL LETTER YERU
+0xf3	0x0437	#CYRILLIC SMALL LETTER ZE
+0xf4	0x0417	#CYRILLIC CAPITAL LETTER ZE
+0xf5	0x0448	#CYRILLIC SMALL LETTER SHA
+0xf6	0x0428	#CYRILLIC CAPITAL LETTER SHA
+0xf7	0x044d	#CYRILLIC SMALL LETTER E
+0xf8	0x042d	#CYRILLIC CAPITAL LETTER E
+0xf9	0x0449	#CYRILLIC SMALL LETTER SHCHA
+0xfa	0x0429	#CYRILLIC CAPITAL LETTER SHCHA
+0xfb	0x0447	#CYRILLIC SMALL LETTER CHE
+0xfc	0x0427	#CYRILLIC CAPITAL LETTER CHE
+0xfd	0x00a7	#SECTION SIGN
+0xfe	0x25a0	#BLACK SQUARE
+0xff	0x00a0	#NO-BREAK SPACE
+
+

+ 275 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP857.TXT

@@ -0,0 +1,275 @@
+#
+#    Name:     cp857_DOSTurkish to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp857_DOSTurkish code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp857_DOSTurkish order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x0004	#END OF TRANSMISSION
+0x05	0x0005	#ENQUIRY
+0x06	0x0006	#ACKNOWLEDGE
+0x07	0x0007	#BELL
+0x08	0x0008	#BACKSPACE
+0x09	0x0009	#HORIZONTAL TABULATION
+0x0a	0x000a	#LINE FEED
+0x0b	0x000b	#VERTICAL TABULATION
+0x0c	0x000c	#FORM FEED
+0x0d	0x000d	#CARRIAGE RETURN
+0x0e	0x000e	#SHIFT OUT
+0x0f	0x000f	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x0014	#DEVICE CONTROL FOUR
+0x15	0x0015	#NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#SYNCHRONOUS IDLE
+0x17	0x0017	#END OF TRANSMISSION BLOCK
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1a	0x001a	#SUBSTITUTE
+0x1b	0x001b	#ESCAPE
+0x1c	0x001c	#FILE SEPARATOR
+0x1d	0x001d	#GROUP SEPARATOR
+0x1e	0x001e	#RECORD SEPARATOR
+0x1f	0x001f	#UNIT SEPARATOR
+0x20	0x0020	#SPACE
+0x21	0x0021	#EXCLAMATION MARK
+0x22	0x0022	#QUOTATION MARK
+0x23	0x0023	#NUMBER SIGN
+0x24	0x0024	#DOLLAR SIGN
+0x25	0x0025	#PERCENT SIGN
+0x26	0x0026	#AMPERSAND
+0x27	0x0027	#APOSTROPHE
+0x28	0x0028	#LEFT PARENTHESIS
+0x29	0x0029	#RIGHT PARENTHESIS
+0x2a	0x002a	#ASTERISK
+0x2b	0x002b	#PLUS SIGN
+0x2c	0x002c	#COMMA
+0x2d	0x002d	#HYPHEN-MINUS
+0x2e	0x002e	#FULL STOP
+0x2f	0x002f	#SOLIDUS
+0x30	0x0030	#DIGIT ZERO
+0x31	0x0031	#DIGIT ONE
+0x32	0x0032	#DIGIT TWO
+0x33	0x0033	#DIGIT THREE
+0x34	0x0034	#DIGIT FOUR
+0x35	0x0035	#DIGIT FIVE
+0x36	0x0036	#DIGIT SIX
+0x37	0x0037	#DIGIT SEVEN
+0x38	0x0038	#DIGIT EIGHT
+0x39	0x0039	#DIGIT NINE
+0x3a	0x003a	#COLON
+0x3b	0x003b	#SEMICOLON
+0x3c	0x003c	#LESS-THAN SIGN
+0x3d	0x003d	#EQUALS SIGN
+0x3e	0x003e	#GREATER-THAN SIGN
+0x3f	0x003f	#QUESTION MARK
+0x40	0x0040	#COMMERCIAL AT
+0x41	0x0041	#LATIN CAPITAL LETTER A
+0x42	0x0042	#LATIN CAPITAL LETTER B
+0x43	0x0043	#LATIN CAPITAL LETTER C
+0x44	0x0044	#LATIN CAPITAL LETTER D
+0x45	0x0045	#LATIN CAPITAL LETTER E
+0x46	0x0046	#LATIN CAPITAL LETTER F
+0x47	0x0047	#LATIN CAPITAL LETTER G
+0x48	0x0048	#LATIN CAPITAL LETTER H
+0x49	0x0049	#LATIN CAPITAL LETTER I
+0x4a	0x004a	#LATIN CAPITAL LETTER J
+0x4b	0x004b	#LATIN CAPITAL LETTER K
+0x4c	0x004c	#LATIN CAPITAL LETTER L
+0x4d	0x004d	#LATIN CAPITAL LETTER M
+0x4e	0x004e	#LATIN CAPITAL LETTER N
+0x4f	0x004f	#LATIN CAPITAL LETTER O
+0x50	0x0050	#LATIN CAPITAL LETTER P
+0x51	0x0051	#LATIN CAPITAL LETTER Q
+0x52	0x0052	#LATIN CAPITAL LETTER R
+0x53	0x0053	#LATIN CAPITAL LETTER S
+0x54	0x0054	#LATIN CAPITAL LETTER T
+0x55	0x0055	#LATIN CAPITAL LETTER U
+0x56	0x0056	#LATIN CAPITAL LETTER V
+0x57	0x0057	#LATIN CAPITAL LETTER W
+0x58	0x0058	#LATIN CAPITAL LETTER X
+0x59	0x0059	#LATIN CAPITAL LETTER Y
+0x5a	0x005a	#LATIN CAPITAL LETTER Z
+0x5b	0x005b	#LEFT SQUARE BRACKET
+0x5c	0x005c	#REVERSE SOLIDUS
+0x5d	0x005d	#RIGHT SQUARE BRACKET
+0x5e	0x005e	#CIRCUMFLEX ACCENT
+0x5f	0x005f	#LOW LINE
+0x60	0x0060	#GRAVE ACCENT
+0x61	0x0061	#LATIN SMALL LETTER A
+0x62	0x0062	#LATIN SMALL LETTER B
+0x63	0x0063	#LATIN SMALL LETTER C
+0x64	0x0064	#LATIN SMALL LETTER D
+0x65	0x0065	#LATIN SMALL LETTER E
+0x66	0x0066	#LATIN SMALL LETTER F
+0x67	0x0067	#LATIN SMALL LETTER G
+0x68	0x0068	#LATIN SMALL LETTER H
+0x69	0x0069	#LATIN SMALL LETTER I
+0x6a	0x006a	#LATIN SMALL LETTER J
+0x6b	0x006b	#LATIN SMALL LETTER K
+0x6c	0x006c	#LATIN SMALL LETTER L
+0x6d	0x006d	#LATIN SMALL LETTER M
+0x6e	0x006e	#LATIN SMALL LETTER N
+0x6f	0x006f	#LATIN SMALL LETTER O
+0x70	0x0070	#LATIN SMALL LETTER P
+0x71	0x0071	#LATIN SMALL LETTER Q
+0x72	0x0072	#LATIN SMALL LETTER R
+0x73	0x0073	#LATIN SMALL LETTER S
+0x74	0x0074	#LATIN SMALL LETTER T
+0x75	0x0075	#LATIN SMALL LETTER U
+0x76	0x0076	#LATIN SMALL LETTER V
+0x77	0x0077	#LATIN SMALL LETTER W
+0x78	0x0078	#LATIN SMALL LETTER X
+0x79	0x0079	#LATIN SMALL LETTER Y
+0x7a	0x007a	#LATIN SMALL LETTER Z
+0x7b	0x007b	#LEFT CURLY BRACKET
+0x7c	0x007c	#VERTICAL LINE
+0x7d	0x007d	#RIGHT CURLY BRACKET
+0x7e	0x007e	#TILDE
+0x7f	0x007f	#DELETE
+0x80	0x00c7	#LATIN CAPITAL LETTER C WITH CEDILLA
+0x81	0x00fc	#LATIN SMALL LETTER U WITH DIAERESIS
+0x82	0x00e9	#LATIN SMALL LETTER E WITH ACUTE
+0x83	0x00e2	#LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x84	0x00e4	#LATIN SMALL LETTER A WITH DIAERESIS
+0x85	0x00e0	#LATIN SMALL LETTER A WITH GRAVE
+0x86	0x00e5	#LATIN SMALL LETTER A WITH RING ABOVE
+0x87	0x00e7	#LATIN SMALL LETTER C WITH CEDILLA
+0x88	0x00ea	#LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x89	0x00eb	#LATIN SMALL LETTER E WITH DIAERESIS
+0x8a	0x00e8	#LATIN SMALL LETTER E WITH GRAVE
+0x8b	0x00ef	#LATIN SMALL LETTER I WITH DIAERESIS
+0x8c	0x00ee	#LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x8d	0x0131	#LATIN SMALL LETTER DOTLESS I
+0x8e	0x00c4	#LATIN CAPITAL LETTER A WITH DIAERESIS
+0x8f	0x00c5	#LATIN CAPITAL LETTER A WITH RING ABOVE
+0x90	0x00c9	#LATIN CAPITAL LETTER E WITH ACUTE
+0x91	0x00e6	#LATIN SMALL LIGATURE AE
+0x92	0x00c6	#LATIN CAPITAL LIGATURE AE
+0x93	0x00f4	#LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x94	0x00f6	#LATIN SMALL LETTER O WITH DIAERESIS
+0x95	0x00f2	#LATIN SMALL LETTER O WITH GRAVE
+0x96	0x00fb	#LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x97	0x00f9	#LATIN SMALL LETTER U WITH GRAVE
+0x98	0x0130	#LATIN CAPITAL LETTER I WITH DOT ABOVE
+0x99	0x00d6	#LATIN CAPITAL LETTER O WITH DIAERESIS
+0x9a	0x00dc	#LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b	0x00f8	#LATIN SMALL LETTER O WITH STROKE
+0x9c	0x00a3	#POUND SIGN
+0x9d	0x00d8	#LATIN CAPITAL LETTER O WITH STROKE
+0x9e	0x015e	#LATIN CAPITAL LETTER S WITH CEDILLA
+0x9f	0x015f	#LATIN SMALL LETTER S WITH CEDILLA
+0xa0	0x00e1	#LATIN SMALL LETTER A WITH ACUTE
+0xa1	0x00ed	#LATIN SMALL LETTER I WITH ACUTE
+0xa2	0x00f3	#LATIN SMALL LETTER O WITH ACUTE
+0xa3	0x00fa	#LATIN SMALL LETTER U WITH ACUTE
+0xa4	0x00f1	#LATIN SMALL LETTER N WITH TILDE
+0xa5	0x00d1	#LATIN CAPITAL LETTER N WITH TILDE
+0xa6	0x011e	#LATIN CAPITAL LETTER G WITH BREVE
+0xa7	0x011f	#LATIN SMALL LETTER G WITH BREVE
+0xa8	0x00bf	#INVERTED QUESTION MARK
+0xa9	0x00ae	#REGISTERED SIGN
+0xaa	0x00ac	#NOT SIGN
+0xab	0x00bd	#VULGAR FRACTION ONE HALF
+0xac	0x00bc	#VULGAR FRACTION ONE QUARTER
+0xad	0x00a1	#INVERTED EXCLAMATION MARK
+0xae	0x00ab	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf	0x00bb	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0	0x2591	#LIGHT SHADE
+0xb1	0x2592	#MEDIUM SHADE
+0xb2	0x2593	#DARK SHADE
+0xb3	0x2502	#BOX DRAWINGS LIGHT VERTICAL
+0xb4	0x2524	#BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5	0x00c1	#LATIN CAPITAL LETTER A WITH ACUTE
+0xb6	0x00c2	#LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xb7	0x00c0	#LATIN CAPITAL LETTER A WITH GRAVE
+0xb8	0x00a9	#COPYRIGHT SIGN
+0xb9	0x2563	#BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba	0x2551	#BOX DRAWINGS DOUBLE VERTICAL
+0xbb	0x2557	#BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc	0x255d	#BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd	0x00a2	#CENT SIGN
+0xbe	0x00a5	#YEN SIGN
+0xbf	0x2510	#BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0	0x2514	#BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1	0x2534	#BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2	0x252c	#BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3	0x251c	#BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4	0x2500	#BOX DRAWINGS LIGHT HORIZONTAL
+0xc5	0x253c	#BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6	0x00e3	#LATIN SMALL LETTER A WITH TILDE
+0xc7	0x00c3	#LATIN CAPITAL LETTER A WITH TILDE
+0xc8	0x255a	#BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9	0x2554	#BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca	0x2569	#BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb	0x2566	#BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc	0x2560	#BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd	0x2550	#BOX DRAWINGS DOUBLE HORIZONTAL
+0xce	0x256c	#BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf	0x00a4	#CURRENCY SIGN
+0xd0	0x00ba	#MASCULINE ORDINAL INDICATOR
+0xd1	0x00aa	#FEMININE ORDINAL INDICATOR
+0xd2	0x00ca	#LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xd3	0x00cb	#LATIN CAPITAL LETTER E WITH DIAERESIS
+0xd4	0x00c8	#LATIN CAPITAL LETTER E WITH GRAVE
+0xd5		#UNDEFINED
+0xd6	0x00cd	#LATIN CAPITAL LETTER I WITH ACUTE
+0xd7	0x00ce	#LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xd8	0x00cf	#LATIN CAPITAL LETTER I WITH DIAERESIS
+0xd9	0x2518	#BOX DRAWINGS LIGHT UP AND LEFT
+0xda	0x250c	#BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb	0x2588	#FULL BLOCK
+0xdc	0x2584	#LOWER HALF BLOCK
+0xdd	0x00a6	#BROKEN BAR
+0xde	0x00cc	#LATIN CAPITAL LETTER I WITH GRAVE
+0xdf	0x2580	#UPPER HALF BLOCK
+0xe0	0x00d3	#LATIN CAPITAL LETTER O WITH ACUTE
+0xe1	0x00df	#LATIN SMALL LETTER SHARP S
+0xe2	0x00d4	#LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xe3	0x00d2	#LATIN CAPITAL LETTER O WITH GRAVE
+0xe4	0x00f5	#LATIN SMALL LETTER O WITH TILDE
+0xe5	0x00d5	#LATIN CAPITAL LETTER O WITH TILDE
+0xe6	0x00b5	#MICRO SIGN
+0xe7		#UNDEFINED
+0xe8	0x00d7	#MULTIPLICATION SIGN
+0xe9	0x00da	#LATIN CAPITAL LETTER U WITH ACUTE
+0xea	0x00db	#LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xeb	0x00d9	#LATIN CAPITAL LETTER U WITH GRAVE
+0xec	0x00ec	#LATIN SMALL LETTER I WITH GRAVE
+0xed	0x00ff	#LATIN SMALL LETTER Y WITH DIAERESIS
+0xee	0x00af	#MACRON
+0xef	0x00b4	#ACUTE ACCENT
+0xf0	0x00ad	#SOFT HYPHEN
+0xf1	0x00b1	#PLUS-MINUS SIGN
+0xf2		#UNDEFINED
+0xf3	0x00be	#VULGAR FRACTION THREE QUARTERS
+0xf4	0x00b6	#PILCROW SIGN
+0xf5	0x00a7	#SECTION SIGN
+0xf6	0x00f7	#DIVISION SIGN
+0xf7	0x00b8	#CEDILLA
+0xf8	0x00b0	#DEGREE SIGN
+0xf9	0x00a8	#DIAERESIS
+0xfa	0x00b7	#MIDDLE DOT
+0xfb	0x00b9	#SUPERSCRIPT ONE
+0xfc	0x00b3	#SUPERSCRIPT THREE
+0xfd	0x00b2	#SUPERSCRIPT TWO
+0xfe	0x25a0	#BLACK SQUARE
+0xff	0x00a0	#NO-BREAK SPACE
+
+

+ 275 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP860.TXT

@@ -0,0 +1,275 @@
+#
+#    Name:     cp860_DOSPortuguese to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp860_DOSPortuguese code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp860_DOSPortuguese order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x0004	#END OF TRANSMISSION
+0x05	0x0005	#ENQUIRY
+0x06	0x0006	#ACKNOWLEDGE
+0x07	0x0007	#BELL
+0x08	0x0008	#BACKSPACE
+0x09	0x0009	#HORIZONTAL TABULATION
+0x0a	0x000a	#LINE FEED
+0x0b	0x000b	#VERTICAL TABULATION
+0x0c	0x000c	#FORM FEED
+0x0d	0x000d	#CARRIAGE RETURN
+0x0e	0x000e	#SHIFT OUT
+0x0f	0x000f	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x0014	#DEVICE CONTROL FOUR
+0x15	0x0015	#NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#SYNCHRONOUS IDLE
+0x17	0x0017	#END OF TRANSMISSION BLOCK
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1a	0x001a	#SUBSTITUTE
+0x1b	0x001b	#ESCAPE
+0x1c	0x001c	#FILE SEPARATOR
+0x1d	0x001d	#GROUP SEPARATOR
+0x1e	0x001e	#RECORD SEPARATOR
+0x1f	0x001f	#UNIT SEPARATOR
+0x20	0x0020	#SPACE
+0x21	0x0021	#EXCLAMATION MARK
+0x22	0x0022	#QUOTATION MARK
+0x23	0x0023	#NUMBER SIGN
+0x24	0x0024	#DOLLAR SIGN
+0x25	0x0025	#PERCENT SIGN
+0x26	0x0026	#AMPERSAND
+0x27	0x0027	#APOSTROPHE
+0x28	0x0028	#LEFT PARENTHESIS
+0x29	0x0029	#RIGHT PARENTHESIS
+0x2a	0x002a	#ASTERISK
+0x2b	0x002b	#PLUS SIGN
+0x2c	0x002c	#COMMA
+0x2d	0x002d	#HYPHEN-MINUS
+0x2e	0x002e	#FULL STOP
+0x2f	0x002f	#SOLIDUS
+0x30	0x0030	#DIGIT ZERO
+0x31	0x0031	#DIGIT ONE
+0x32	0x0032	#DIGIT TWO
+0x33	0x0033	#DIGIT THREE
+0x34	0x0034	#DIGIT FOUR
+0x35	0x0035	#DIGIT FIVE
+0x36	0x0036	#DIGIT SIX
+0x37	0x0037	#DIGIT SEVEN
+0x38	0x0038	#DIGIT EIGHT
+0x39	0x0039	#DIGIT NINE
+0x3a	0x003a	#COLON
+0x3b	0x003b	#SEMICOLON
+0x3c	0x003c	#LESS-THAN SIGN
+0x3d	0x003d	#EQUALS SIGN
+0x3e	0x003e	#GREATER-THAN SIGN
+0x3f	0x003f	#QUESTION MARK
+0x40	0x0040	#COMMERCIAL AT
+0x41	0x0041	#LATIN CAPITAL LETTER A
+0x42	0x0042	#LATIN CAPITAL LETTER B
+0x43	0x0043	#LATIN CAPITAL LETTER C
+0x44	0x0044	#LATIN CAPITAL LETTER D
+0x45	0x0045	#LATIN CAPITAL LETTER E
+0x46	0x0046	#LATIN CAPITAL LETTER F
+0x47	0x0047	#LATIN CAPITAL LETTER G
+0x48	0x0048	#LATIN CAPITAL LETTER H
+0x49	0x0049	#LATIN CAPITAL LETTER I
+0x4a	0x004a	#LATIN CAPITAL LETTER J
+0x4b	0x004b	#LATIN CAPITAL LETTER K
+0x4c	0x004c	#LATIN CAPITAL LETTER L
+0x4d	0x004d	#LATIN CAPITAL LETTER M
+0x4e	0x004e	#LATIN CAPITAL LETTER N
+0x4f	0x004f	#LATIN CAPITAL LETTER O
+0x50	0x0050	#LATIN CAPITAL LETTER P
+0x51	0x0051	#LATIN CAPITAL LETTER Q
+0x52	0x0052	#LATIN CAPITAL LETTER R
+0x53	0x0053	#LATIN CAPITAL LETTER S
+0x54	0x0054	#LATIN CAPITAL LETTER T
+0x55	0x0055	#LATIN CAPITAL LETTER U
+0x56	0x0056	#LATIN CAPITAL LETTER V
+0x57	0x0057	#LATIN CAPITAL LETTER W
+0x58	0x0058	#LATIN CAPITAL LETTER X
+0x59	0x0059	#LATIN CAPITAL LETTER Y
+0x5a	0x005a	#LATIN CAPITAL LETTER Z
+0x5b	0x005b	#LEFT SQUARE BRACKET
+0x5c	0x005c	#REVERSE SOLIDUS
+0x5d	0x005d	#RIGHT SQUARE BRACKET
+0x5e	0x005e	#CIRCUMFLEX ACCENT
+0x5f	0x005f	#LOW LINE
+0x60	0x0060	#GRAVE ACCENT
+0x61	0x0061	#LATIN SMALL LETTER A
+0x62	0x0062	#LATIN SMALL LETTER B
+0x63	0x0063	#LATIN SMALL LETTER C
+0x64	0x0064	#LATIN SMALL LETTER D
+0x65	0x0065	#LATIN SMALL LETTER E
+0x66	0x0066	#LATIN SMALL LETTER F
+0x67	0x0067	#LATIN SMALL LETTER G
+0x68	0x0068	#LATIN SMALL LETTER H
+0x69	0x0069	#LATIN SMALL LETTER I
+0x6a	0x006a	#LATIN SMALL LETTER J
+0x6b	0x006b	#LATIN SMALL LETTER K
+0x6c	0x006c	#LATIN SMALL LETTER L
+0x6d	0x006d	#LATIN SMALL LETTER M
+0x6e	0x006e	#LATIN SMALL LETTER N
+0x6f	0x006f	#LATIN SMALL LETTER O
+0x70	0x0070	#LATIN SMALL LETTER P
+0x71	0x0071	#LATIN SMALL LETTER Q
+0x72	0x0072	#LATIN SMALL LETTER R
+0x73	0x0073	#LATIN SMALL LETTER S
+0x74	0x0074	#LATIN SMALL LETTER T
+0x75	0x0075	#LATIN SMALL LETTER U
+0x76	0x0076	#LATIN SMALL LETTER V
+0x77	0x0077	#LATIN SMALL LETTER W
+0x78	0x0078	#LATIN SMALL LETTER X
+0x79	0x0079	#LATIN SMALL LETTER Y
+0x7a	0x007a	#LATIN SMALL LETTER Z
+0x7b	0x007b	#LEFT CURLY BRACKET
+0x7c	0x007c	#VERTICAL LINE
+0x7d	0x007d	#RIGHT CURLY BRACKET
+0x7e	0x007e	#TILDE
+0x7f	0x007f	#DELETE
+0x80	0x00c7	#LATIN CAPITAL LETTER C WITH CEDILLA
+0x81	0x00fc	#LATIN SMALL LETTER U WITH DIAERESIS
+0x82	0x00e9	#LATIN SMALL LETTER E WITH ACUTE
+0x83	0x00e2	#LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x84	0x00e3	#LATIN SMALL LETTER A WITH TILDE
+0x85	0x00e0	#LATIN SMALL LETTER A WITH GRAVE
+0x86	0x00c1	#LATIN CAPITAL LETTER A WITH ACUTE
+0x87	0x00e7	#LATIN SMALL LETTER C WITH CEDILLA
+0x88	0x00ea	#LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x89	0x00ca	#LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0x8a	0x00e8	#LATIN SMALL LETTER E WITH GRAVE
+0x8b	0x00cd	#LATIN CAPITAL LETTER I WITH ACUTE
+0x8c	0x00d4	#LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0x8d	0x00ec	#LATIN SMALL LETTER I WITH GRAVE
+0x8e	0x00c3	#LATIN CAPITAL LETTER A WITH TILDE
+0x8f	0x00c2	#LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0x90	0x00c9	#LATIN CAPITAL LETTER E WITH ACUTE
+0x91	0x00c0	#LATIN CAPITAL LETTER A WITH GRAVE
+0x92	0x00c8	#LATIN CAPITAL LETTER E WITH GRAVE
+0x93	0x00f4	#LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x94	0x00f5	#LATIN SMALL LETTER O WITH TILDE
+0x95	0x00f2	#LATIN SMALL LETTER O WITH GRAVE
+0x96	0x00da	#LATIN CAPITAL LETTER U WITH ACUTE
+0x97	0x00f9	#LATIN SMALL LETTER U WITH GRAVE
+0x98	0x00cc	#LATIN CAPITAL LETTER I WITH GRAVE
+0x99	0x00d5	#LATIN CAPITAL LETTER O WITH TILDE
+0x9a	0x00dc	#LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b	0x00a2	#CENT SIGN
+0x9c	0x00a3	#POUND SIGN
+0x9d	0x00d9	#LATIN CAPITAL LETTER U WITH GRAVE
+0x9e	0x20a7	#PESETA SIGN
+0x9f	0x00d3	#LATIN CAPITAL LETTER O WITH ACUTE
+0xa0	0x00e1	#LATIN SMALL LETTER A WITH ACUTE
+0xa1	0x00ed	#LATIN SMALL LETTER I WITH ACUTE
+0xa2	0x00f3	#LATIN SMALL LETTER O WITH ACUTE
+0xa3	0x00fa	#LATIN SMALL LETTER U WITH ACUTE
+0xa4	0x00f1	#LATIN SMALL LETTER N WITH TILDE
+0xa5	0x00d1	#LATIN CAPITAL LETTER N WITH TILDE
+0xa6	0x00aa	#FEMININE ORDINAL INDICATOR
+0xa7	0x00ba	#MASCULINE ORDINAL INDICATOR
+0xa8	0x00bf	#INVERTED QUESTION MARK
+0xa9	0x00d2	#LATIN CAPITAL LETTER O WITH GRAVE
+0xaa	0x00ac	#NOT SIGN
+0xab	0x00bd	#VULGAR FRACTION ONE HALF
+0xac	0x00bc	#VULGAR FRACTION ONE QUARTER
+0xad	0x00a1	#INVERTED EXCLAMATION MARK
+0xae	0x00ab	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf	0x00bb	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0	0x2591	#LIGHT SHADE
+0xb1	0x2592	#MEDIUM SHADE
+0xb2	0x2593	#DARK SHADE
+0xb3	0x2502	#BOX DRAWINGS LIGHT VERTICAL
+0xb4	0x2524	#BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5	0x2561	#BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xb6	0x2562	#BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+0xb7	0x2556	#BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+0xb8	0x2555	#BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+0xb9	0x2563	#BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba	0x2551	#BOX DRAWINGS DOUBLE VERTICAL
+0xbb	0x2557	#BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc	0x255d	#BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd	0x255c	#BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0xbe	0x255b	#BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xbf	0x2510	#BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0	0x2514	#BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1	0x2534	#BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2	0x252c	#BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3	0x251c	#BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4	0x2500	#BOX DRAWINGS LIGHT HORIZONTAL
+0xc5	0x253c	#BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6	0x255e	#BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xc7	0x255f	#BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xc8	0x255a	#BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9	0x2554	#BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca	0x2569	#BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb	0x2566	#BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc	0x2560	#BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd	0x2550	#BOX DRAWINGS DOUBLE HORIZONTAL
+0xce	0x256c	#BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf	0x2567	#BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xd0	0x2568	#BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xd1	0x2564	#BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+0xd2	0x2565	#BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+0xd3	0x2559	#BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xd4	0x2558	#BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xd5	0x2552	#BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xd6	0x2553	#BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+0xd7	0x256b	#BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0xd8	0x256a	#BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xd9	0x2518	#BOX DRAWINGS LIGHT UP AND LEFT
+0xda	0x250c	#BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb	0x2588	#FULL BLOCK
+0xdc	0x2584	#LOWER HALF BLOCK
+0xdd	0x258c	#LEFT HALF BLOCK
+0xde	0x2590	#RIGHT HALF BLOCK
+0xdf	0x2580	#UPPER HALF BLOCK
+0xe0	0x03b1	#GREEK SMALL LETTER ALPHA
+0xe1	0x00df	#LATIN SMALL LETTER SHARP S
+0xe2	0x0393	#GREEK CAPITAL LETTER GAMMA
+0xe3	0x03c0	#GREEK SMALL LETTER PI
+0xe4	0x03a3	#GREEK CAPITAL LETTER SIGMA
+0xe5	0x03c3	#GREEK SMALL LETTER SIGMA
+0xe6	0x00b5	#MICRO SIGN
+0xe7	0x03c4	#GREEK SMALL LETTER TAU
+0xe8	0x03a6	#GREEK CAPITAL LETTER PHI
+0xe9	0x0398	#GREEK CAPITAL LETTER THETA
+0xea	0x03a9	#GREEK CAPITAL LETTER OMEGA
+0xeb	0x03b4	#GREEK SMALL LETTER DELTA
+0xec	0x221e	#INFINITY
+0xed	0x03c6	#GREEK SMALL LETTER PHI
+0xee	0x03b5	#GREEK SMALL LETTER EPSILON
+0xef	0x2229	#INTERSECTION
+0xf0	0x2261	#IDENTICAL TO
+0xf1	0x00b1	#PLUS-MINUS SIGN
+0xf2	0x2265	#GREATER-THAN OR EQUAL TO
+0xf3	0x2264	#LESS-THAN OR EQUAL TO
+0xf4	0x2320	#TOP HALF INTEGRAL
+0xf5	0x2321	#BOTTOM HALF INTEGRAL
+0xf6	0x00f7	#DIVISION SIGN
+0xf7	0x2248	#ALMOST EQUAL TO
+0xf8	0x00b0	#DEGREE SIGN
+0xf9	0x2219	#BULLET OPERATOR
+0xfa	0x00b7	#MIDDLE DOT
+0xfb	0x221a	#SQUARE ROOT
+0xfc	0x207f	#SUPERSCRIPT LATIN SMALL LETTER N
+0xfd	0x00b2	#SUPERSCRIPT TWO
+0xfe	0x25a0	#BLACK SQUARE
+0xff	0x00a0	#NO-BREAK SPACE
+
+

+ 275 - 0
BlackBox/Enc/Mod/gen-StdMaps/MAPPINGS/VENDORS/MICSFT/PC/CP861.TXT

@@ -0,0 +1,275 @@
+#
+#    Name:     cp861_DOSIcelandic to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp861_DOSIcelandic code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp861_DOSIcelandic order
+#
+0x00	0x0000	#NULL
+0x01	0x0001	#START OF HEADING
+0x02	0x0002	#START OF TEXT
+0x03	0x0003	#END OF TEXT
+0x04	0x0004	#END OF TRANSMISSION
+0x05	0x0005	#ENQUIRY
+0x06	0x0006	#ACKNOWLEDGE
+0x07	0x0007	#BELL
+0x08	0x0008	#BACKSPACE
+0x09	0x0009	#HORIZONTAL TABULATION
+0x0a	0x000a	#LINE FEED
+0x0b	0x000b	#VERTICAL TABULATION
+0x0c	0x000c	#FORM FEED
+0x0d	0x000d	#CARRIAGE RETURN
+0x0e	0x000e	#SHIFT OUT
+0x0f	0x000f	#SHIFT IN
+0x10	0x0010	#DATA LINK ESCAPE
+0x11	0x0011	#DEVICE CONTROL ONE
+0x12	0x0012	#DEVICE CONTROL TWO
+0x13	0x0013	#DEVICE CONTROL THREE
+0x14	0x0014	#DEVICE CONTROL FOUR
+0x15	0x0015	#NEGATIVE ACKNOWLEDGE
+0x16	0x0016	#SYNCHRONOUS IDLE
+0x17	0x0017	#END OF TRANSMISSION BLOCK
+0x18	0x0018	#CANCEL
+0x19	0x0019	#END OF MEDIUM
+0x1a	0x001a	#SUBSTITUTE
+0x1b	0x001b	#ESCAPE
+0x1c	0x001c	#FILE SEPARATOR
+0x1d	0x001d	#GROUP SEPARATOR
+0x1e	0x001e	#RECORD SEPARATOR
+0x1f	0x001f	#UNIT SEPARATOR
+0x20	0x0020	#SPACE
+0x21	0x0021	#EXCLAMATION MARK
+0x22	0x0022	#QUOTATION MARK
+0x23	0x0023	#NUMBER SIGN
+0x24	0x0024	#DOLLAR SIGN
+0x25	0x0025	#PERCENT SIGN
+0x26	0x0026	#AMPERSAND
+0x27	0x0027	#APOSTROPHE
+0x28	0x0028	#LEFT PARENTHESIS
+0x29	0x0029	#RIGHT PARENTHESIS
+0x2a	0x002a	#ASTERISK
+0x2b	0x002b	#PLUS SIGN
+0x2c	0x002c	#COMMA
+0x2d	0x002d	#HYPHEN-MINUS
+0x2e	0x002e	#FULL STOP
+0x2f	0x002f	#SOLIDUS
+0x30	0x0030	#DIGIT ZERO
+0x31	0x0031	#DIGIT ONE
+0x32	0x0032	#DIGIT TWO
+0x33	0x0033	#DIGIT THREE
+0x34	0x0034	#DIGIT FOUR
+0x35	0x0035	#DIGIT FIVE
+0x36	0x0036	#DIGIT SIX
+0x37	0x0037	#DIGIT SEVEN
+0x38	0x0038	#DIGIT EIGHT
+0x39	0x0039	#DIGIT NINE
+0x3a	0x003a	#COLON
+0x3b	0x003b	#SEMICOLON
+0x3c	0x003c	#LESS-THAN SIGN
+0x3d	0x003d	#EQUALS SIGN
+0x3e	0x003e	#GREATER-THAN SIGN
+0x3f	0x003f	#QUESTION MARK
+0x40	0x0040	#COMMERCIAL AT
+0x41	0x0041	#LATIN CAPITAL LETTER A
+0x42	0x0042	#LATIN CAPITAL LETTER B
+0x43	0x0043	#LATIN CAPITAL LETTER C
+0x44	0x0044	#LATIN CAPITAL LETTER D
+0x45	0x0045	#LATIN CAPITAL LETTER E
+0x46	0x0046	#LATIN CAPITAL LETTER F
+0x47	0x0047	#LATIN CAPITAL LETTER G
+0x48	0x0048	#LATIN CAPITAL LETTER H
+0x49	0x0049	#LATIN CAPITAL LETTER I
+0x4a	0x004a	#LATIN CAPITAL LETTER J
+0x4b	0x004b	#LATIN CAPITAL LETTER K
+0x4c	0x004c	#LATIN CAPITAL LETTER L
+0x4d	0x004d	#LATIN CAPITAL LETTER M
+0x4e	0x004e	#LATIN CAPITAL LETTER N
+0x4f	0x004f	#LATIN CAPITAL LETTER O
+0x50	0x0050	#LATIN CAPITAL LETTER P
+0x51	0x0051	#LATIN CAPITAL LETTER Q
+0x52	0x0052	#LATIN CAPITAL LETTER R
+0x53	0x0053	#LATIN CAPITAL LETTER S
+0x54	0x0054	#LATIN CAPITAL LETTER T
+0x55	0x0055	#LATIN CAPITAL LETTER U
+0x56	0x0056	#LATIN CAPITAL LETTER V
+0x57	0x0057	#LATIN CAPITAL LETTER W
+0x58	0x0058	#LATIN CAPITAL LETTER X
+0x59	0x0059	#LATIN CAPITAL LETTER Y
+0x5a	0x005a	#LATIN CAPITAL LETTER Z
+0x5b	0x005b	#LEFT SQUARE BRACKET
+0x5c	0x005c	#REVERSE SOLIDUS
+0x5d	0x005d	#RIGHT SQUARE BRACKET
+0x5e	0x005e	#CIRCUMFLEX ACCENT
+0x5f	0x005f	#LOW LINE
+0x60	0x0060	#GRAVE ACCENT
+0x61	0x0061	#LATIN SMALL LETTER A
+0x62	0x0062	#LATIN SMALL LETTER B
+0x63	0x0063	#LATIN SMALL LETTER C
+0x64	0x0064	#LATIN SMALL LETTER D
+0x65	0x0065	#LATIN SMALL LETTER E
+0x66	0x0066	#LATIN SMALL LETTER F
+0x67	0x0067	#LATIN SMALL LETTER G
+0x68	0x0068	#LATIN SMALL LETTER H
+0x69	0x0069	#LATIN SMALL LETTER I
+0x6a	0x006a	#LATIN SMALL LETTER J
+0x6b	0x006b	#LATIN SMALL LETTER K
+0x6c	0x006c	#LATIN SMALL LETTER L
+0x6d	0x006d	#LATIN SMALL LETTER M
+0x6e	0x006e	#LATIN SMALL LETTER N
+0x6f	0x006f	#LATIN SMALL LETTER O
+0x70	0x0070	#LATIN SMALL LETTER P
+0x71	0x0071	#LATIN SMALL LETTER Q
+0x72	0x0072	#LATIN SMALL LETTER R
+0x73	0x0073	#LATIN SMALL LETTER S
+0x74	0x0074	#LATIN SMALL LETTER T
+0x75	0x0075	#LATIN SMALL LETTER U
+0x76	0x0076	#LATIN SMALL LETTER V
+0x77	0x0077	#LATIN SMALL LETTER W
+0x78	0x0078	#LATIN SMALL LETTER X
+0x79	0x0079	#LATIN SMALL LETTER Y
+0x7a	0x007a	#LATIN SMALL LETTER Z
+0x7b	0x007b	#LEFT CURLY BRACKET
+0x7c	0x007c	#VERTICAL LINE
+0x7d	0x007d	#RIGHT CURLY BRACKET
+0x7e	0x007e	#TILDE
+0x7f	0x007f	#DELETE
+0x80	0x00c7	#LATIN CAPITAL LETTER C WITH CEDILLA
+0x81	0x00fc	#LATIN SMALL LETTER U WITH DIAERESIS
+0x82	0x00e9	#LATIN SMALL LETTER E WITH ACUTE
+0x83	0x00e2	#LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x84	0x00e4	#LATIN SMALL LETTER A WITH DIAERESIS
+0x85	0x00e0	#LATIN SMALL LETTER A WITH GRAVE
+0x86	0x00e5	#LATIN SMALL LETTER A WITH RING ABOVE
+0x87	0x00e7	#LATIN SMALL LETTER C WITH CEDILLA
+0x88	0x00ea	#LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x89	0x00eb	#LATIN SMALL LETTER E WITH DIAERESIS
+0x8a	0x00e8	#LATIN SMALL LETTER E WITH GRAVE
+0x8b	0x00d0	#LATIN CAPITAL LETTER ETH
+0x8c	0x00f0	#LATIN SMALL LETTER ETH
+0x8d	0x00de	#LATIN CAPITAL LETTER THORN
+0x8e	0x00c4	#LATIN CAPITAL LETTER A WITH DIAERESIS
+0x8f	0x00c5	#LATIN CAPITAL LETTER A WITH RING ABOVE
+0x90	0x00c9	#LATIN CAPITAL LETTER E WITH ACUTE
+0x91	0x00e6	#LATIN SMALL LIGATURE AE
+0x92	0x00c6	#LATIN CAPITAL LIGATURE AE
+0x93	0x00f4	#LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x94	0x00f6	#LATIN SMALL LETTER O WITH DIAERESIS
+0x95	0x00fe	#LATIN SMALL LETTER THORN
+0x96	0x00fb	#LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x97	0x00dd	#LATIN CAPITAL LETTER Y WITH ACUTE
+0x98	0x00fd	#LATIN SMALL LETTER Y WITH ACUTE
+0x99	0x00d6	#LATIN CAPITAL LETTER O WITH DIAERESIS
+0x9a	0x00dc	#LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b	0x00f8	#LATIN SMALL LETTER O WITH STROKE
+0x9c	0x00a3	#POUND SIGN
+0x9d	0x00d8	#LATIN CAPITAL LETTER O WITH STROKE
+0x9e	0x20a7	#PESETA SIGN
+0x9f	0x0192	#LATIN SMALL LETTER F WITH HOOK
+0xa0	0x00e1	#LATIN SMALL LETTER A WITH ACUTE
+0xa1	0x00ed	#LATIN SMALL LETTER I WITH ACUTE
+0xa2	0x00f3	#LATIN SMALL LETTER O WITH ACUTE
+0xa3	0x00fa	#LATIN SMALL LETTER U WITH ACUTE
+0xa4	0x00c1	#LATIN CAPITAL LETTER A WITH ACUTE
+0xa5	0x00cd	#LATIN CAPITAL LETTER I WITH ACUTE
+0xa6	0x00d3	#LATIN CAPITAL LETTER O WITH ACUTE
+0xa7	0x00da	#LATIN CAPITAL LETTER U WITH ACUTE
+0xa8	0x00bf	#INVERTED QUESTION MARK
+0xa9	0x2310	#REVERSED NOT SIGN
+0xaa	0x00ac	#NOT SIGN
+0xab	0x00bd	#VULGAR FRACTION ONE HALF
+0xac	0x00bc	#VULGAR FRACTION ONE QUARTER
+0xad	0x00a1	#INVERTED EXCLAMATION MARK
+0xae	0x00ab	#LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf	0x00bb	#RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0	0x2591	#LIGHT SHADE
+0xb1	0x2592	#MEDIUM SHADE
+0xb2	0x2593	#DARK SHADE
+0xb3	0x2502	#BOX DRAWINGS LIGHT VERTICAL
+0xb4	0x2524	#BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5	0x2561	#BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xb6	0x2562	#BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+0xb7	0x2556	#BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+0xb8	0x2555	#BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+0xb9	0x2563	#BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba	0x2551	#BOX DRAWINGS DOUBLE VERTICAL
+0xbb	0x2557	#BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc	0x255d	#BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd	0x255c	#BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0xbe	0x255b	#BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xbf	0x2510	#BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0	0x2514	#BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1	0x2534	#BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2	0x252c	#BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3	0x251c	#BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4	0x2500	#BOX DRAWINGS LIGHT HORIZONTAL
+0xc5	0x253c	#BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6	0x255e	#BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xc7	0x255f	#BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xc8	0x255a	#BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9	0x2554	#BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca	0x2569	#BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb	0x2566	#BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc	0x2560	#BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd	0x2550	#BOX DRAWINGS DOUBLE HORIZONTAL
+0xce	0x256c	#BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf	0x2567	#BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xd0	0x2568	#BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xd1	0x2564	#BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+0xd2	0x2565	#BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+0xd3	0x2559	#BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xd4	0x2558	#BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xd5	0x2552	#BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xd6	0x2553	#BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+0xd7	0x256b	#BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0xd8	0x256a	#BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xd9	0x2518	#BOX DRAWINGS LIGHT UP AND LEFT
+0xda	0x250c	#BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb	0x2588	#FULL BLOCK
+0xdc	0x2584	#LOWER HALF BLOCK
+0xdd	0x258c	#LEFT HALF BLOCK
+0xde	0x2590	#RIGHT HALF BLOCK
+0xdf	0x2580	#UPPER HALF BLOCK
+0xe0	0x03b1	#GREEK SMALL LETTER ALPHA
+0xe1	0x00df	#LATIN SMALL LETTER SHARP S
+0xe2	0x0393	#GREEK CAPITAL LETTER GAMMA
+0xe3	0x03c0	#GREEK SMALL LETTER PI
+0xe4	0x03a3	#GREEK CAPITAL LETTER SIGMA
+0xe5	0x03c3	#GREEK SMALL LETTER SIGMA
+0xe6	0x00b5	#MICRO SIGN
+0xe7	0x03c4	#GREEK SMALL LETTER TAU
+0xe8	0x03a6	#GREEK CAPITAL LETTER PHI
+0xe9	0x0398	#GREEK CAPITAL LETTER THETA
+0xea	0x03a9	#GREEK CAPITAL LETTER OMEGA
+0xeb	0x03b4	#GREEK SMALL LETTER DELTA
+0xec	0x221e	#INFINITY
+0xed	0x03c6	#GREEK SMALL LETTER PHI
+0xee	0x03b5	#GREEK SMALL LETTER EPSILON
+0xef	0x2229	#INTERSECTION
+0xf0	0x2261	#IDENTICAL TO
+0xf1	0x00b1	#PLUS-MINUS SIGN
+0xf2	0x2265	#GREATER-THAN OR EQUAL TO
+0xf3	0x2264	#LESS-THAN OR EQUAL TO
+0xf4	0x2320	#TOP HALF INTEGRAL
+0xf5	0x2321	#BOTTOM HALF INTEGRAL
+0xf6	0x00f7	#DIVISION SIGN
+0xf7	0x2248	#ALMOST EQUAL TO
+0xf8	0x00b0	#DEGREE SIGN
+0xf9	0x2219	#BULLET OPERATOR
+0xfa	0x00b7	#MIDDLE DOT
+0xfb	0x221a	#SQUARE ROOT
+0xfc	0x207f	#SUPERSCRIPT LATIN SMALL LETTER N
+0xfd	0x00b2	#SUPERSCRIPT TWO
+0xfe	0x25a0	#BLACK SQUARE
+0xff	0x00a0	#NO-BREAK SPACE
+
+

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä