Index: b/ukengine/data.cpp
===================================================================
--- a/ukengine/data.cpp
+++ b/ukengine/data.cpp
@@ -96,144 +96,144 @@ See TCVN3 & VPS below for examples
 unsigned char SingleByteTables[][TOTAL_VNCHARS] = 
 
 // TCVN3
-{{'A','a','¸','¸','µ','µ','¶','¶','·','·','¹','¹',      // 0: a
-  '¢','©','Ê','Ê','Ç','Ç','È','È','É','É','Ë','Ë',		// 1: a^
-  '¡','¨','¾','¾','»','»','¼','¼','½','½','Æ','Æ',		// 2: a(
+{{'A','a',static_cast<unsigned char>('¸'),static_cast<unsigned char>('¸'),static_cast<unsigned char>('µ'),static_cast<unsigned char>('µ'),static_cast<unsigned char>('¶'),static_cast<unsigned char>('¶'),static_cast<unsigned char>('·'),static_cast<unsigned char>('·'),static_cast<unsigned char>('¹'),static_cast<unsigned char>('¹'),      // 0: a
+  static_cast<unsigned char>('¢'),static_cast<unsigned char>('©'),static_cast<unsigned char>('Ê'),static_cast<unsigned char>('Ê'),static_cast<unsigned char>('Ç'),static_cast<unsigned char>('Ç'),static_cast<unsigned char>('È'),static_cast<unsigned char>('È'),static_cast<unsigned char>('É'),static_cast<unsigned char>('É'),static_cast<unsigned char>('Ë'),static_cast<unsigned char>('Ë'),		// 1: a^
+  static_cast<unsigned char>('¡'),static_cast<unsigned char>('¨'),static_cast<unsigned char>('¾'),static_cast<unsigned char>('¾'),static_cast<unsigned char>('»'),static_cast<unsigned char>('»'),static_cast<unsigned char>('¼'),static_cast<unsigned char>('¼'),static_cast<unsigned char>('½'),static_cast<unsigned char>('½'),static_cast<unsigned char>('Æ'),static_cast<unsigned char>('Æ'),		// 2: a(
   'B','b','C','c','D','d',
-  '§','®',
-  'E','e','Ð','Ð','Ì','Ì','Î','Î','Ï','Ï','Ñ','Ñ',		// 3: e
-  '£','ª','Õ','Õ','Ò','Ò','Ó','Ó','Ô','Ô','Ö','Ö',      // 4: e^
+  static_cast<unsigned char>('§'),static_cast<unsigned char>('®'),
+  'E','e',static_cast<unsigned char>('Ð'),static_cast<unsigned char>('Ð'),static_cast<unsigned char>('Ì'),static_cast<unsigned char>('Ì'),static_cast<unsigned char>('Î'),static_cast<unsigned char>('Î'),static_cast<unsigned char>('Ï'),static_cast<unsigned char>('Ï'),static_cast<unsigned char>('Ñ'),static_cast<unsigned char>('Ñ'),		// 3: e
+  static_cast<unsigned char>('£'),static_cast<unsigned char>('ª'),static_cast<unsigned char>('Õ'),static_cast<unsigned char>('Õ'),static_cast<unsigned char>('Ò'),static_cast<unsigned char>('Ò'),static_cast<unsigned char>('Ó'),static_cast<unsigned char>('Ó'),static_cast<unsigned char>('Ô'),static_cast<unsigned char>('Ô'),static_cast<unsigned char>('Ö'),static_cast<unsigned char>('Ö'),      // 4: e^
   'F','f','G','g','H','h',
-  'I','i','Ý','Ý','×','×','Ø','Ø','Ü','Ü','Þ','Þ',		// 5: i
+  'I','i',static_cast<unsigned char>('Ý'),static_cast<unsigned char>('Ý'),static_cast<unsigned char>('×'),static_cast<unsigned char>('×'),static_cast<unsigned char>('Ø'),static_cast<unsigned char>('Ø'),static_cast<unsigned char>('Ü'),static_cast<unsigned char>('Ü'),static_cast<unsigned char>('Þ'),static_cast<unsigned char>('Þ'),		// 5: i
   'J','j','K','k','L','l','M','m','N','n',
-  'O','o','ã','ã','ß','ß','á','á','â','â','ä','ä',		// 6: o
-  '¤','«','è','è','å','å','æ','æ','ç','ç','é','é',		// 7: o^
-  '¥','¬','í','í','ê','ê','ë','ë','ì','ì','î','î',		// 8: o+
+  'O','o',static_cast<unsigned char>('ã'),static_cast<unsigned char>('ã'),static_cast<unsigned char>('ß'),static_cast<unsigned char>('ß'),static_cast<unsigned char>('á'),static_cast<unsigned char>('á'),static_cast<unsigned char>('â'),static_cast<unsigned char>('â'),static_cast<unsigned char>('ä'),static_cast<unsigned char>('ä'),		// 6: o
+  static_cast<unsigned char>('¤'),static_cast<unsigned char>('«'),static_cast<unsigned char>('è'),static_cast<unsigned char>('è'),static_cast<unsigned char>('å'),static_cast<unsigned char>('å'),static_cast<unsigned char>('æ'),static_cast<unsigned char>('æ'),static_cast<unsigned char>('ç'),static_cast<unsigned char>('ç'),static_cast<unsigned char>('é'),static_cast<unsigned char>('é'),		// 7: o^
+  static_cast<unsigned char>('¥'),static_cast<unsigned char>('¬'),static_cast<unsigned char>('í'),static_cast<unsigned char>('í'),static_cast<unsigned char>('ê'),static_cast<unsigned char>('ê'),static_cast<unsigned char>('ë'),static_cast<unsigned char>('ë'),static_cast<unsigned char>('ì'),static_cast<unsigned char>('ì'),static_cast<unsigned char>('î'),static_cast<unsigned char>('î'),		// 8: o+
   'P','p','Q','q','R','r','S','s','T','t',
-  'U','u','ó','ó','ï','ï','ñ','ñ','ò','ò','ô','ô',		// 9: u
-  '¦','­','ø','ø','õ','õ','ö','ö','÷','÷','ù','ù',		//10: u+ 
+  'U','u',static_cast<unsigned char>('ó'),static_cast<unsigned char>('ó'),static_cast<unsigned char>('ï'),static_cast<unsigned char>('ï'),static_cast<unsigned char>('ñ'),static_cast<unsigned char>('ñ'),static_cast<unsigned char>('ò'),static_cast<unsigned char>('ò'),static_cast<unsigned char>('ô'),static_cast<unsigned char>('ô'),		// 9: u
+  static_cast<unsigned char>('¦'),static_cast<unsigned char>('­'),static_cast<unsigned char>('ø'),static_cast<unsigned char>('ø'),static_cast<unsigned char>('õ'),static_cast<unsigned char>('õ'),static_cast<unsigned char>('ö'),static_cast<unsigned char>('ö'),static_cast<unsigned char>('÷'),static_cast<unsigned char>('÷'),static_cast<unsigned char>('ù'),static_cast<unsigned char>('ù'),		//10: u+ 
   'V','v','W','w','X','x',
-  'Y','y','ý','ý','ú','ú','û','û','ü','ü','þ','þ',		//11: y
+  'Y','y',static_cast<unsigned char>('ý'),static_cast<unsigned char>('ý'),static_cast<unsigned char>('ú'),static_cast<unsigned char>('ú'),static_cast<unsigned char>('û'),static_cast<unsigned char>('û'),static_cast<unsigned char>('ü'),static_cast<unsigned char>('ü'),static_cast<unsigned char>('þ'),static_cast<unsigned char>('þ'),		//11: y
   'Z','z',
   0x80, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
   0x89, 0x8A, 0x8B, 0x8C, 0x8E, 0x91, 0x92, 0x93,
   0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B,
   0x9C, 0x9E, 0x9F},
 //VPS
-{ 'A','a','Á','á','€','à','','ä','‚','ã','å','å',
-  'Â','â','ƒ','Ã','„','À','…','Ä','Å','Å','Æ','Æ',
-  'ˆ','æ','','¡','Ž','¢','','£','ð','¤','¥','¥',
+{ 'A','a',static_cast<unsigned char>('Á'),static_cast<unsigned char>('á'),static_cast<unsigned char>('€'),static_cast<unsigned char>('à'),static_cast<unsigned char>(''),static_cast<unsigned char>('ä'),static_cast<unsigned char>('‚'),static_cast<unsigned char>('ã'),static_cast<unsigned char>('å'),static_cast<unsigned char>('å'),
+  static_cast<unsigned char>('Â'),static_cast<unsigned char>('â'),static_cast<unsigned char>('ƒ'),static_cast<unsigned char>('Ã'),static_cast<unsigned char>('„'),static_cast<unsigned char>('À'),static_cast<unsigned char>('…'),static_cast<unsigned char>('Ä'),static_cast<unsigned char>('Å'),static_cast<unsigned char>('Å'),static_cast<unsigned char>('Æ'),static_cast<unsigned char>('Æ'),
+  static_cast<unsigned char>('ˆ'),static_cast<unsigned char>('æ'),static_cast<unsigned char>(''),static_cast<unsigned char>('¡'),static_cast<unsigned char>('Ž'),static_cast<unsigned char>('¢'),static_cast<unsigned char>(''),static_cast<unsigned char>('£'),static_cast<unsigned char>('ð'),static_cast<unsigned char>('¤'),static_cast<unsigned char>('¥'),static_cast<unsigned char>('¥'),
   'B','b','C','c','D','d',
-  'ñ','Ç',
-  'E','e','É','é','×','è','Þ','È','þ','ë','Ë','Ë',
-  'Ê','ê','','‰','“','Š','”','‹','•','Í','Œ','Œ',
+  static_cast<unsigned char>('ñ'),static_cast<unsigned char>('Ç'),
+  'E','e',static_cast<unsigned char>('É'),static_cast<unsigned char>('é'),static_cast<unsigned char>('×'),static_cast<unsigned char>('è'),static_cast<unsigned char>('Þ'),static_cast<unsigned char>('È'),static_cast<unsigned char>('þ'),static_cast<unsigned char>('ë'),static_cast<unsigned char>('Ë'),static_cast<unsigned char>('Ë'),
+  static_cast<unsigned char>('Ê'),static_cast<unsigned char>('ê'),static_cast<unsigned char>(''),static_cast<unsigned char>('‰'),static_cast<unsigned char>('“'),static_cast<unsigned char>('Š'),static_cast<unsigned char>('”'),static_cast<unsigned char>('‹'),static_cast<unsigned char>('•'),static_cast<unsigned char>('Í'),static_cast<unsigned char>('Œ'),static_cast<unsigned char>('Œ'),
   'F','f','G','g','H','h',
-  'I','i','´','í','µ','ì','·','Ì','¸','ï','Î','Î',
+  'I','i',static_cast<unsigned char>('´'),static_cast<unsigned char>('í'),static_cast<unsigned char>('µ'),static_cast<unsigned char>('ì'),static_cast<unsigned char>('·'),static_cast<unsigned char>('Ì'),static_cast<unsigned char>('¸'),static_cast<unsigned char>('ï'),static_cast<unsigned char>('Î'),static_cast<unsigned char>('Î'),
   'J','j','K','k','L','l','M','m','N','n',
-  'O','o','¹','ó','¼','ò','½','Õ','¾','õ','†','†',
-  'Ô','ô','–','Ó','—','Ò','˜','°','™','‡','¶','¶',
-  '÷','Ö','','§','ž','©','Ÿ','ª','¦','«','®','®',
+  'O','o',static_cast<unsigned char>('¹'),static_cast<unsigned char>('ó'),static_cast<unsigned char>('¼'),static_cast<unsigned char>('ò'),static_cast<unsigned char>('½'),static_cast<unsigned char>('Õ'),static_cast<unsigned char>('¾'),static_cast<unsigned char>('õ'),static_cast<unsigned char>('†'),static_cast<unsigned char>('†'),
+  static_cast<unsigned char>('Ô'),static_cast<unsigned char>('ô'),static_cast<unsigned char>('–'),static_cast<unsigned char>('Ó'),static_cast<unsigned char>('—'),static_cast<unsigned char>('Ò'),static_cast<unsigned char>('˜'),static_cast<unsigned char>('°'),static_cast<unsigned char>('™'),static_cast<unsigned char>('‡'),static_cast<unsigned char>('¶'),static_cast<unsigned char>('¶'),
+  static_cast<unsigned char>('÷'),static_cast<unsigned char>('Ö'),static_cast<unsigned char>(''),static_cast<unsigned char>('§'),static_cast<unsigned char>('ž'),static_cast<unsigned char>('©'),static_cast<unsigned char>('Ÿ'),static_cast<unsigned char>('ª'),static_cast<unsigned char>('¦'),static_cast<unsigned char>('«'),static_cast<unsigned char>('®'),static_cast<unsigned char>('®'),
   'P','p','Q','q','R','r','S','s','T','t',
-  'U','u','Ú','ú','¨','ù','Ñ','û','¬','Û','ø','ø',
-  'Ð','Ü','­','Ù','¯','Ø','±','º','»','»','¿','¿',
+  'U','u',static_cast<unsigned char>('Ú'),static_cast<unsigned char>('ú'),static_cast<unsigned char>('¨'),static_cast<unsigned char>('ù'),static_cast<unsigned char>('Ñ'),static_cast<unsigned char>('û'),static_cast<unsigned char>('¬'),static_cast<unsigned char>('Û'),static_cast<unsigned char>('ø'),static_cast<unsigned char>('ø'),
+  static_cast<unsigned char>('Ð'),static_cast<unsigned char>('Ü'),static_cast<unsigned char>('­'),static_cast<unsigned char>('Ù'),static_cast<unsigned char>('¯'),static_cast<unsigned char>('Ø'),static_cast<unsigned char>('±'),static_cast<unsigned char>('º'),static_cast<unsigned char>('»'),static_cast<unsigned char>('»'),static_cast<unsigned char>('¿'),static_cast<unsigned char>('¿'),
   'V','v','W','w','X','x',
-  'Y','y','Ý','š','²','ÿ','ý','›','³','Ï','œ','œ',
+  'Y','y',static_cast<unsigned char>('Ý'),static_cast<unsigned char>('š'),static_cast<unsigned char>('²'),static_cast<unsigned char>('ÿ'),static_cast<unsigned char>('ý'),static_cast<unsigned char>('›'),static_cast<unsigned char>('³'),static_cast<unsigned char>('Ï'),static_cast<unsigned char>('œ'),static_cast<unsigned char>('œ'),
   'Z','z',
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x8E, 0x91, 0x92, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x9E, 0x00},
 //VISCII
-{ 'A','a','Á','á','À','à','Ä','ä','Ã','ã','€','Õ',
-  'Â','â','„','¤','…','¥','†','¦','ç','ç','‡','§',
-  'Å','å','','¡','‚','¢','Æ','Æ','Ç','Ç','ƒ','£',
+{ 'A','a',static_cast<unsigned char>('Á'),static_cast<unsigned char>('á'),static_cast<unsigned char>('À'),static_cast<unsigned char>('à'),static_cast<unsigned char>('Ä'),static_cast<unsigned char>('ä'),static_cast<unsigned char>('Ã'),static_cast<unsigned char>('ã'),static_cast<unsigned char>('€'),static_cast<unsigned char>('Õ'),
+  static_cast<unsigned char>('Â'),static_cast<unsigned char>('â'),static_cast<unsigned char>('„'),static_cast<unsigned char>('¤'),static_cast<unsigned char>('…'),static_cast<unsigned char>('¥'),static_cast<unsigned char>('†'),static_cast<unsigned char>('¦'),static_cast<unsigned char>('ç'),static_cast<unsigned char>('ç'),static_cast<unsigned char>('‡'),static_cast<unsigned char>('§'),
+  static_cast<unsigned char>('Å'),static_cast<unsigned char>('å'),static_cast<unsigned char>(''),static_cast<unsigned char>('¡'),static_cast<unsigned char>('‚'),static_cast<unsigned char>('¢'),static_cast<unsigned char>('Æ'),static_cast<unsigned char>('Æ'),static_cast<unsigned char>('Ç'),static_cast<unsigned char>('Ç'),static_cast<unsigned char>('ƒ'),static_cast<unsigned char>('£'),
   'B','b','C','c','D','d',
-  'Ð','ð',
-  'E','e','É','é','È','è','Ë','ë','ˆ','¨','‰','©',
-  'Ê','ê','Š','ª','‹','«','Œ','¬','','­','Ž','®',
+  static_cast<unsigned char>('Ð'),static_cast<unsigned char>('ð'),
+  'E','e',static_cast<unsigned char>('É'),static_cast<unsigned char>('é'),static_cast<unsigned char>('È'),static_cast<unsigned char>('è'),static_cast<unsigned char>('Ë'),static_cast<unsigned char>('ë'),static_cast<unsigned char>('ˆ'),static_cast<unsigned char>('¨'),static_cast<unsigned char>('‰'),static_cast<unsigned char>('©'),
+  static_cast<unsigned char>('Ê'),static_cast<unsigned char>('ê'),static_cast<unsigned char>('Š'),static_cast<unsigned char>('ª'),static_cast<unsigned char>('‹'),static_cast<unsigned char>('«'),static_cast<unsigned char>('Œ'),static_cast<unsigned char>('¬'),static_cast<unsigned char>(''),static_cast<unsigned char>('­'),static_cast<unsigned char>('Ž'),static_cast<unsigned char>('®'),
   'F','f','G','g','H','h',
-  'I','i','Í','í','Ì','ì','›','ï','Î','î','˜','¸',
+  'I','i',static_cast<unsigned char>('Í'),static_cast<unsigned char>('í'),static_cast<unsigned char>('Ì'),static_cast<unsigned char>('ì'),static_cast<unsigned char>('›'),static_cast<unsigned char>('ï'),static_cast<unsigned char>('Î'),static_cast<unsigned char>('î'),static_cast<unsigned char>('˜'),static_cast<unsigned char>('¸'),
   'J','j','K','k','L','l','M','m','N','n',
-  'O','o','Ó','ó','Ò','ò','™','ö','õ','õ','š','÷',
-  'Ô','ô','','¯','','°','‘','±','’','²','“','µ',
-  '´','½','•','¾','–','¶','—','·','³','Þ','”','þ',
+  'O','o',static_cast<unsigned char>('Ó'),static_cast<unsigned char>('ó'),static_cast<unsigned char>('Ò'),static_cast<unsigned char>('ò'),static_cast<unsigned char>('™'),static_cast<unsigned char>('ö'),static_cast<unsigned char>('õ'),static_cast<unsigned char>('õ'),static_cast<unsigned char>('š'),static_cast<unsigned char>('÷'),
+  static_cast<unsigned char>('Ô'),static_cast<unsigned char>('ô'),static_cast<unsigned char>(''),static_cast<unsigned char>('¯'),static_cast<unsigned char>(''),static_cast<unsigned char>('°'),static_cast<unsigned char>('‘'),static_cast<unsigned char>('±'),static_cast<unsigned char>('’'),static_cast<unsigned char>('²'),static_cast<unsigned char>('“'),static_cast<unsigned char>('µ'),
+  static_cast<unsigned char>('´'),static_cast<unsigned char>('½'),static_cast<unsigned char>('•'),static_cast<unsigned char>('¾'),static_cast<unsigned char>('–'),static_cast<unsigned char>('¶'),static_cast<unsigned char>('—'),static_cast<unsigned char>('·'),static_cast<unsigned char>('³'),static_cast<unsigned char>('Þ'),static_cast<unsigned char>('”'),static_cast<unsigned char>('þ'),
   'P','p','Q','q','R','r','S','s','T','t',
-  'U','u','Ú','ú','Ù','ù','œ','ü','','û','ž','ø',
-  '¿','ß','º','Ñ','»','×','¼','Ø','ÿ','æ','¹','ñ',
+  'U','u',static_cast<unsigned char>('Ú'),static_cast<unsigned char>('ú'),static_cast<unsigned char>('Ù'),static_cast<unsigned char>('ù'),static_cast<unsigned char>('œ'),static_cast<unsigned char>('ü'),static_cast<unsigned char>(''),static_cast<unsigned char>('û'),static_cast<unsigned char>('ž'),static_cast<unsigned char>('ø'),
+  static_cast<unsigned char>('¿'),static_cast<unsigned char>('ß'),static_cast<unsigned char>('º'),static_cast<unsigned char>('Ñ'),static_cast<unsigned char>('»'),static_cast<unsigned char>('×'),static_cast<unsigned char>('¼'),static_cast<unsigned char>('Ø'),static_cast<unsigned char>('ÿ'),static_cast<unsigned char>('æ'),static_cast<unsigned char>('¹'),static_cast<unsigned char>('ñ'),
   'V','v','W','w','X','x',
-  'Y','y','Ý','ý','Ÿ','Ï','Ö','Ö','Û','Û','Ü','Ü',
+  'Y','y',static_cast<unsigned char>('Ý'),static_cast<unsigned char>('ý'),static_cast<unsigned char>('Ÿ'),static_cast<unsigned char>('Ï'),static_cast<unsigned char>('Ö'),static_cast<unsigned char>('Ö'),static_cast<unsigned char>('Û'),static_cast<unsigned char>('Û'),static_cast<unsigned char>('Ü'),static_cast<unsigned char>('Ü'),
   'Z','z',
   0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x9E, 0x00},
 // BKHCM1
-{'A','a','€','¾','','¿','‚','À','ƒ','Á','„','Â',
-  'Ÿ','Ý','~','Þ','¡','ß','¢','à','£','á','¤','â',
-  '™','×','š','Ø','›','Ù','œ','Ú','','Û','˜','Ü',
+{'A','a',static_cast<unsigned char>('€'),static_cast<unsigned char>('¾'),static_cast<unsigned char>(''),static_cast<unsigned char>('¿'),static_cast<unsigned char>('‚'),static_cast<unsigned char>('À'),static_cast<unsigned char>('ƒ'),static_cast<unsigned char>('Á'),static_cast<unsigned char>('„'),static_cast<unsigned char>('Â'),
+  static_cast<unsigned char>('Ÿ'),static_cast<unsigned char>('Ý'),'~',static_cast<unsigned char>('Þ'),static_cast<unsigned char>('¡'),static_cast<unsigned char>('ß'),static_cast<unsigned char>('¢'),static_cast<unsigned char>('à'),static_cast<unsigned char>('£'),static_cast<unsigned char>('á'),static_cast<unsigned char>('¤'),static_cast<unsigned char>('â'),
+  static_cast<unsigned char>('™'),static_cast<unsigned char>('×'),static_cast<unsigned char>('š'),static_cast<unsigned char>('Ø'),static_cast<unsigned char>('›'),static_cast<unsigned char>('Ù'),static_cast<unsigned char>('œ'),static_cast<unsigned char>('Ú'),static_cast<unsigned char>(''),static_cast<unsigned char>('Û'),static_cast<unsigned char>('˜'),static_cast<unsigned char>('Ü'),
   'B','b','C','c','D','d',
-  '}','½',
-  'E','e','…','Ã','†','Ä','‡','Å','ˆ','Æ','‰','Ç',
-  '¥','ã','¦','ä','§','å','¨','æ','©','ç','ª','è',
+  '}',static_cast<unsigned char>('½'),
+  'E','e',static_cast<unsigned char>('…'),static_cast<unsigned char>('Ã'),static_cast<unsigned char>('†'),static_cast<unsigned char>('Ä'),static_cast<unsigned char>('‡'),static_cast<unsigned char>('Å'),static_cast<unsigned char>('ˆ'),static_cast<unsigned char>('Æ'),static_cast<unsigned char>('‰'),static_cast<unsigned char>('Ç'),
+  static_cast<unsigned char>('¥'),static_cast<unsigned char>('ã'),static_cast<unsigned char>('¦'),static_cast<unsigned char>('ä'),static_cast<unsigned char>('§'),static_cast<unsigned char>('å'),static_cast<unsigned char>('¨'),static_cast<unsigned char>('æ'),static_cast<unsigned char>('©'),static_cast<unsigned char>('ç'),static_cast<unsigned char>('ª'),static_cast<unsigned char>('è'),
   'F','f','G','g','H','h',
-  'I','i','Š','È','‹','É','Œ','Ê','','Ë','Ž','Ì',
+  'I','i',static_cast<unsigned char>('Š'),static_cast<unsigned char>('È'),static_cast<unsigned char>('‹'),static_cast<unsigned char>('É'),static_cast<unsigned char>('Œ'),static_cast<unsigned char>('Ê'),static_cast<unsigned char>(''),static_cast<unsigned char>('Ë'),static_cast<unsigned char>('Ž'),static_cast<unsigned char>('Ì'),
   'J','j','K','k','L','l','M','m','N','n',
-  'O','o','','Í','','Î','‘','Ï','’','Ð','“','Ñ',
-  '«','é','¬','ê','­','ë','®','ì','¯','í','°','î',
-  '±','ï','²','ð','³','ñ','´','ò','µ','ó','¶','ô',
+  'O','o',static_cast<unsigned char>(''),static_cast<unsigned char>('Í'),static_cast<unsigned char>(''),static_cast<unsigned char>('Î'),static_cast<unsigned char>('‘'),static_cast<unsigned char>('Ï'),static_cast<unsigned char>('’'),static_cast<unsigned char>('Ð'),static_cast<unsigned char>('“'),static_cast<unsigned char>('Ñ'),
+  static_cast<unsigned char>('«'),static_cast<unsigned char>('é'),static_cast<unsigned char>('¬'),static_cast<unsigned char>('ê'),static_cast<unsigned char>('­'),static_cast<unsigned char>('ë'),static_cast<unsigned char>('®'),static_cast<unsigned char>('ì'),static_cast<unsigned char>('¯'),static_cast<unsigned char>('í'),static_cast<unsigned char>('°'),static_cast<unsigned char>('î'),
+  static_cast<unsigned char>('±'),static_cast<unsigned char>('ï'),static_cast<unsigned char>('²'),static_cast<unsigned char>('ð'),static_cast<unsigned char>('³'),static_cast<unsigned char>('ñ'),static_cast<unsigned char>('´'),static_cast<unsigned char>('ò'),static_cast<unsigned char>('µ'),static_cast<unsigned char>('ó'),static_cast<unsigned char>('¶'),static_cast<unsigned char>('ô'),
   'P','p','Q','q','R','r','S','s','T','t',
-  'U','u','”','Ò','•','Ó','–','Ô','—','Õ','˜','Ö',
-  '·','õ','¸','ö','¹','÷','º','ø','»','ù','¼','ú',
+  'U','u',static_cast<unsigned char>('”'),static_cast<unsigned char>('Ò'),static_cast<unsigned char>('•'),static_cast<unsigned char>('Ó'),static_cast<unsigned char>('–'),static_cast<unsigned char>('Ô'),static_cast<unsigned char>('—'),static_cast<unsigned char>('Õ'),static_cast<unsigned char>('˜'),static_cast<unsigned char>('Ö'),
+  static_cast<unsigned char>('·'),static_cast<unsigned char>('õ'),static_cast<unsigned char>('¸'),static_cast<unsigned char>('ö'),static_cast<unsigned char>('¹'),static_cast<unsigned char>('÷'),static_cast<unsigned char>('º'),static_cast<unsigned char>('ø'),static_cast<unsigned char>('»'),static_cast<unsigned char>('ù'),static_cast<unsigned char>('¼'),static_cast<unsigned char>('ú'),
   'V','v','W','w','X','x',
-  'Y','y','{','û','^','ü','`','ý','|','þ','Ž','ÿ',
+  'Y','y','{',static_cast<unsigned char>('û'),'^',static_cast<unsigned char>('ü'),'`',static_cast<unsigned char>('ý'),'|',static_cast<unsigned char>('þ'),static_cast<unsigned char>('Ž'),static_cast<unsigned char>('ÿ'),
   'Z','z',
   0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x9E, 0x00},
 //Vietware-F
-{ 'A','a','À','À','ª','ª','¶','¶','º','º','Á','Á',
-  '—','¡','Ê','Ê','Ç','Ç','È','È','É','É','Ë','Ë',
-  '–','Ÿ','Å','Å','Â','Â','Ã','Ã','Ä','Ä','Æ','Æ',
+{ 'A','a',static_cast<unsigned char>('À'),static_cast<unsigned char>('À'),static_cast<unsigned char>('ª'),static_cast<unsigned char>('ª'),static_cast<unsigned char>('¶'),static_cast<unsigned char>('¶'),static_cast<unsigned char>('º'),static_cast<unsigned char>('º'),static_cast<unsigned char>('Á'),static_cast<unsigned char>('Á'),
+  static_cast<unsigned char>('—'),static_cast<unsigned char>('¡'),static_cast<unsigned char>('Ê'),static_cast<unsigned char>('Ê'),static_cast<unsigned char>('Ç'),static_cast<unsigned char>('Ç'),static_cast<unsigned char>('È'),static_cast<unsigned char>('È'),static_cast<unsigned char>('É'),static_cast<unsigned char>('É'),static_cast<unsigned char>('Ë'),static_cast<unsigned char>('Ë'),
+  static_cast<unsigned char>('–'),static_cast<unsigned char>('Ÿ'),static_cast<unsigned char>('Å'),static_cast<unsigned char>('Å'),static_cast<unsigned char>('Â'),static_cast<unsigned char>('Â'),static_cast<unsigned char>('Ã'),static_cast<unsigned char>('Ã'),static_cast<unsigned char>('Ä'),static_cast<unsigned char>('Ä'),static_cast<unsigned char>('Æ'),static_cast<unsigned char>('Æ'),
   'B','b','C','c','D','d',
-  '˜','¢',
-  'E','e','Ï','Ï','Ì','Ì','Í','Í','Î','Î','Ñ','Ñ',
-  '™','£','Õ','Õ','Ò','Ò','Ó','Ó','Ô','Ô','Ö','Ö',
+  static_cast<unsigned char>('˜'),static_cast<unsigned char>('¢'),
+  'E','e',static_cast<unsigned char>('Ï'),static_cast<unsigned char>('Ï'),static_cast<unsigned char>('Ì'),static_cast<unsigned char>('Ì'),static_cast<unsigned char>('Í'),static_cast<unsigned char>('Í'),static_cast<unsigned char>('Î'),static_cast<unsigned char>('Î'),static_cast<unsigned char>('Ñ'),static_cast<unsigned char>('Ñ'),
+  static_cast<unsigned char>('™'),static_cast<unsigned char>('£'),static_cast<unsigned char>('Õ'),static_cast<unsigned char>('Õ'),static_cast<unsigned char>('Ò'),static_cast<unsigned char>('Ò'),static_cast<unsigned char>('Ó'),static_cast<unsigned char>('Ó'),static_cast<unsigned char>('Ô'),static_cast<unsigned char>('Ô'),static_cast<unsigned char>('Ö'),static_cast<unsigned char>('Ö'),
   'F','f','G','g','H','h',
-  'I','i','Û','Û','Ø','Ø','Ù','Ù','Ú','Ú','Ü','Ü',
+  'I','i',static_cast<unsigned char>('Û'),static_cast<unsigned char>('Û'),static_cast<unsigned char>('Ø'),static_cast<unsigned char>('Ø'),static_cast<unsigned char>('Ù'),static_cast<unsigned char>('Ù'),static_cast<unsigned char>('Ú'),static_cast<unsigned char>('Ú'),static_cast<unsigned char>('Ü'),static_cast<unsigned char>('Ü'),
   'J','j','K','k','L','l','M','m','N','n',
-  'O','o','â','â','ß','ß','à','à','á','á','ã','ã',
-  'š','¤','ç','ç','ä','ä','å','å','æ','æ','è','è',
-  '›','¥','ì','ì','é','é','ê','ê','ë','ë','í','í',
+  'O','o',static_cast<unsigned char>('â'),static_cast<unsigned char>('â'),static_cast<unsigned char>('ß'),static_cast<unsigned char>('ß'),static_cast<unsigned char>('à'),static_cast<unsigned char>('à'),static_cast<unsigned char>('á'),static_cast<unsigned char>('á'),static_cast<unsigned char>('ã'),static_cast<unsigned char>('ã'),
+  static_cast<unsigned char>('š'),static_cast<unsigned char>('¤'),static_cast<unsigned char>('ç'),static_cast<unsigned char>('ç'),static_cast<unsigned char>('ä'),static_cast<unsigned char>('ä'),static_cast<unsigned char>('å'),static_cast<unsigned char>('å'),static_cast<unsigned char>('æ'),static_cast<unsigned char>('æ'),static_cast<unsigned char>('è'),static_cast<unsigned char>('è'),
+  static_cast<unsigned char>('›'),static_cast<unsigned char>('¥'),static_cast<unsigned char>('ì'),static_cast<unsigned char>('ì'),static_cast<unsigned char>('é'),static_cast<unsigned char>('é'),static_cast<unsigned char>('ê'),static_cast<unsigned char>('ê'),static_cast<unsigned char>('ë'),static_cast<unsigned char>('ë'),static_cast<unsigned char>('í'),static_cast<unsigned char>('í'),
   'P','p','Q','q','R','r','S','s','T','t',
-  'U','u','ò','ò','î','î','ï','ï','ñ','ñ','ó','ó',
-  'œ','§','÷','÷','ô','ô','õ','õ','ö','ö','ø','ø',
+  'U','u',static_cast<unsigned char>('ò'),static_cast<unsigned char>('ò'),static_cast<unsigned char>('î'),static_cast<unsigned char>('î'),static_cast<unsigned char>('ï'),static_cast<unsigned char>('ï'),static_cast<unsigned char>('ñ'),static_cast<unsigned char>('ñ'),static_cast<unsigned char>('ó'),static_cast<unsigned char>('ó'),
+  static_cast<unsigned char>('œ'),static_cast<unsigned char>('§'),static_cast<unsigned char>('÷'),static_cast<unsigned char>('÷'),static_cast<unsigned char>('ô'),static_cast<unsigned char>('ô'),static_cast<unsigned char>('õ'),static_cast<unsigned char>('õ'),static_cast<unsigned char>('ö'),static_cast<unsigned char>('ö'),static_cast<unsigned char>('ø'),static_cast<unsigned char>('ø'),
   'V','v','W','w','X','x',
-  'Y','y','ü','ü','ù','ù','ú','ú','û','û','ÿ','ÿ',
+  'Y','y',static_cast<unsigned char>('ü'),static_cast<unsigned char>('ü'),static_cast<unsigned char>('ù'),static_cast<unsigned char>('ù'),static_cast<unsigned char>('ú'),static_cast<unsigned char>('ú'),static_cast<unsigned char>('û'),static_cast<unsigned char>('û'),static_cast<unsigned char>('ÿ'),static_cast<unsigned char>('ÿ'),
   'Z','z',
   0x80, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
   0x89, 0x8A, 0x8B, 0x8C, 0x8E, 0x91, 0x92, 0x93,
   0x94, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x9E, 0x00},
 // ISC
- {'A','a','ƒ','¸','€','µ','','¶','‚','·','„','¹', 
-  '¢','©','Ä',' ','Á','Ç','Â','È','Ã','É','†','Ë',
-  '¡','¨','À','¾','¯','»','º','¼','¿','½','…','Æ',
+ {'A','a',static_cast<unsigned char>('ƒ'),static_cast<unsigned char>('¸'),static_cast<unsigned char>('€'),static_cast<unsigned char>('µ'),static_cast<unsigned char>(''),static_cast<unsigned char>('¶'),static_cast<unsigned char>('‚'),static_cast<unsigned char>('·'),static_cast<unsigned char>('„'),static_cast<unsigned char>('¹'), 
+  static_cast<unsigned char>('¢'),static_cast<unsigned char>('©'),static_cast<unsigned char>('Ä'),static_cast<unsigned char>(' '),static_cast<unsigned char>('Á'),static_cast<unsigned char>('Ç'),static_cast<unsigned char>('Â'),static_cast<unsigned char>('È'),static_cast<unsigned char>('Ã'),static_cast<unsigned char>('É'),static_cast<unsigned char>('†'),static_cast<unsigned char>('Ë'),
+  static_cast<unsigned char>('¡'),static_cast<unsigned char>('¨'),static_cast<unsigned char>('À'),static_cast<unsigned char>('¾'),static_cast<unsigned char>('¯'),static_cast<unsigned char>('»'),static_cast<unsigned char>('º'),static_cast<unsigned char>('¼'),static_cast<unsigned char>('¿'),static_cast<unsigned char>('½'),static_cast<unsigned char>('…'),static_cast<unsigned char>('Æ'),
   'B','b','C','c','D','d',
-  '§','®',
-  'E','e','Ð','Š','‡','Ì','ˆ','Î','‰','Ï','Ñ','‹',
-  '£','ª','Ú','Õ','Å','Ò','Í','Ó','Ù','Ô','Œ','Ö',
+  static_cast<unsigned char>('§'),static_cast<unsigned char>('®'),
+  'E','e',static_cast<unsigned char>('Ð'),static_cast<unsigned char>('Š'),static_cast<unsigned char>('‡'),static_cast<unsigned char>('Ì'),static_cast<unsigned char>('ˆ'),static_cast<unsigned char>('Î'),static_cast<unsigned char>('‰'),static_cast<unsigned char>('Ï'),static_cast<unsigned char>('Ñ'),static_cast<unsigned char>('‹'),
+  static_cast<unsigned char>('£'),static_cast<unsigned char>('ª'),static_cast<unsigned char>('Ú'),static_cast<unsigned char>('Õ'),static_cast<unsigned char>('Å'),static_cast<unsigned char>('Ò'),static_cast<unsigned char>('Í'),static_cast<unsigned char>('Ó'),static_cast<unsigned char>('Ù'),static_cast<unsigned char>('Ô'),static_cast<unsigned char>('Œ'),static_cast<unsigned char>('Ö'),
   'F','f','G','g','H','h',
-  'I','i','','Ý','','×','Ž','Ø','','Ü','‘','Þ',
+  'I','i',static_cast<unsigned char>(''),static_cast<unsigned char>('Ý'),static_cast<unsigned char>(''),static_cast<unsigned char>('×'),static_cast<unsigned char>('Ž'),static_cast<unsigned char>('Ø'),static_cast<unsigned char>(''),static_cast<unsigned char>('Ü'),static_cast<unsigned char>('‘'),static_cast<unsigned char>('Þ'),
   'J','j','K','k','L','l','M','m','N','n',
-  'O','o','•','ã','’','ß','“','á','”','â','–','ä',
-  '¤','«','ÿ','è','Û','å','à','æ','ð','ç','—','é',
-  '¥','¬','›','í','˜','ê','™','ë','š','ì','œ','î',
+  'O','o',static_cast<unsigned char>('•'),static_cast<unsigned char>('ã'),static_cast<unsigned char>('’'),static_cast<unsigned char>('ß'),static_cast<unsigned char>('“'),static_cast<unsigned char>('á'),static_cast<unsigned char>('”'),static_cast<unsigned char>('â'),static_cast<unsigned char>('–'),static_cast<unsigned char>('ä'),
+  static_cast<unsigned char>('¤'),static_cast<unsigned char>('«'),static_cast<unsigned char>('ÿ'),static_cast<unsigned char>('è'),static_cast<unsigned char>('Û'),static_cast<unsigned char>('å'),static_cast<unsigned char>('à'),static_cast<unsigned char>('æ'),static_cast<unsigned char>('ð'),static_cast<unsigned char>('ç'),static_cast<unsigned char>('—'),static_cast<unsigned char>('é'),
+  static_cast<unsigned char>('¥'),static_cast<unsigned char>('¬'),static_cast<unsigned char>('›'),static_cast<unsigned char>('í'),static_cast<unsigned char>('˜'),static_cast<unsigned char>('ê'),static_cast<unsigned char>('™'),static_cast<unsigned char>('ë'),static_cast<unsigned char>('š'),static_cast<unsigned char>('ì'),static_cast<unsigned char>('œ'),static_cast<unsigned char>('î'),
   'P','p','Q','q','R','r','S','s','T','t',
-  'U','u','@','ó','','ï','ž','ñ','Ÿ','ò','|','ô',
-  '¦','­','`','ø',0x5C,'õ','^','ö','~','÷','#','ù',
+  'U','u','@',static_cast<unsigned char>('ó'),static_cast<unsigned char>(''),static_cast<unsigned char>('ï'),static_cast<unsigned char>('ž'),static_cast<unsigned char>('ñ'),static_cast<unsigned char>('Ÿ'),static_cast<unsigned char>('ò'),'|',static_cast<unsigned char>('ô'),
+  static_cast<unsigned char>('¦'),static_cast<unsigned char>('­'),'`',static_cast<unsigned char>('ø'),0x5C,static_cast<unsigned char>('õ'),'^',static_cast<unsigned char>('ö'),'~',static_cast<unsigned char>('÷'),'#',static_cast<unsigned char>('ù'),
   'V','v','W','w','X','x',
-  'Y','y','³','ý','°','ú','±','û','²','ü','´','þ',
+  'Y','y',static_cast<unsigned char>('³'),static_cast<unsigned char>('ý'),static_cast<unsigned char>('°'),static_cast<unsigned char>('ú'),static_cast<unsigned char>('±'),static_cast<unsigned char>('û'),static_cast<unsigned char>('²'),static_cast<unsigned char>('ü'),static_cast<unsigned char>('´'),static_cast<unsigned char>('þ'),
   'Z','z',
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x12, 0x13,