include "unicode.s7i";
const string: cp_437 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\ÇüéâäàåçêëèïîìÄÅ\
\ÉæÆôöòûùÿÖÜ¢£¥₧ƒ\
\áíóúñѪº¿⌐¬½¼¡«»\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\αßΓπΣσµτΦΘΩδ∞φε∩\
\≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\160;";
const string: cp_437g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\ÇüéâäàåçêëèïîìÄÅ\
\ÉæÆôöòûùÿÖÜ¢£¥₧ƒ\
\áíóúñѪº¿⌐¬½¼¡«»\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\αßΓπΣσµτΦΘΩδ∞φε∩\
\≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\160;";
const string: cp_708 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\│┤éâ╡à╢çêëèïî╖╕╣\
\║╗╝ô╜╜╛ù┐└??????\
\?┴┬├¤─┼╞╟╚╔╩،╦«»\
\░▒▓╠═╬╧╨╤╥╙؛╘╒╓؟\
\╫ءآأؤإئابةتثجحخد\
\ذرزسشصضطظعغ█▄▌▐▀\
\ـفقكلمنهوىيًٌٍَُ\
\ِّْ??????╪┘┌µ£■\160;";
const string: cp_708g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\│┤éâ╡à╢çêëèïî╖╕╣\
\║╗╝ô╜╜╛ù┐└??????\
\?┴┬├¤─┼╞╟╚╔╩،╦«»\
\░▒▓╠═╬╧╨╤╥╙؛╘╒╓؟\
\╫ءآأؤإئابةتثجحخد\
\ذرزسشصضطظعغ█▄▌▐▀\
\ـفقكلمنهوىيًٌٍَُ\
\ِّْ??????╪┘┌µ£■\160;";
const string: cp_720 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\??éâ?à?çêëèïî???\
\?ّْô¤ـûùءآأؤ£إئا\
\بةتثجحخدذرزسشص«»\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\ضطظعغفµقكلمنهوىي\
\≡ًٌٍَُِ≈°∙·√ⁿ²■\160;";
const string: cp_720g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\??éâ?à?çêëèïî???\
\?ّْô¤ـûùءآأؤ£إئا\
\بةتثجحخدذرزسشص«»\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\ضطظعغفµقكلمنهوىي\
\≡ًٌٍَُِ≈°∙·√ⁿ²■\160;";
const string: cp_737 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠ\
\ΡΣΤΥΦΧΨΩαβγδεζηθ\
\ικλμνξοπρσςτυφχψ\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\ωάέήϊίόύϋώΆΈΉΊΌΎ\
\Ώ±≥≤ΪΫ÷≈°∙·√ⁿ²■\160;";
const string: cp_737g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠ\
\ΡΣΤΥΦΧΨΩαβγδεζηθ\
\ικλμνξοπρσςτυφχψ\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\ωάέήϊίόύϋώΆΈΉΊΌΎ\
\Ώ±≥≤ΪΫ÷≈°∙·√ⁿ²■\160;";
const string: cp_775 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\ĆüéāäģåćłēŖŗīŹÄÅ\
\ÉæÆōöĢ¢ŚśÖÜø£Øפ\
\ĀĪóŻżź”¦©®¬½¼Ł«»\
\░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐\
\└┴┬├─┼ŲŪ╚╔╩╦╠═╬Ž\
\ąčęėįšųūž┘┌█▄▌▐▀\
\ÓßŌŃõÕµńĶķĻļņĒŅ’\
\±“¾¶§÷„°∙·¹³²■\160;";
const string: cp_775g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\ĆüéāäģåćłēŖŗīŹÄÅ\
\ÉæÆōöĢ¢ŚśÖÜø£Øפ\
\ĀĪóŻżź”¦©®¬½¼Ł«»\
\░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐\
\└┴┬├─┼ŲŪ╚╔╩╦╠═╬Ž\
\ąčęėįšųūž┘┌█▄▌▐▀\
\ÓßŌŃõÕµńĶķĻļņĒŅ’\
\±“¾¶§÷„°∙·¹³²■\160;";
const string: cp_850 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\ÇüéâäàåçêëèïîìÄÅ\
\ÉæÆôöòûùÿÖÜø£Ø׃\
\áíóúñѪº¿®¬½¼¡«»\
\░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐\
\└┴┬├─┼ãÃ╚╔╩╦╠═╬¤\
\ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀\
\ÓßÔÒõÕµþÞÚÛÙýݯ´\
\±‗¾¶§÷¸°¨·¹³²■\160;";
const string: cp_850g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\ÇüéâäàåçêëèïîìÄÅ\
\ÉæÆôöòûùÿÖÜø£Ø׃\
\áíóúñѪº¿®¬½¼¡«»\
\░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐\
\└┴┬├─┼ãÃ╚╔╩╦╠═╬¤\
\ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀\
\ÓßÔÒõÕµþÞÚÛÙýݯ´\
\±‗¾¶§÷¸°¨·¹³²■\160;";
const string: cp_852 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\ÇüéâäůćçłëŐőîŹÄĆ\
\ÉĹĺôöĽľŚśÖÜŤťŁ×č\
\áíóúĄąŽžĘ꬟Ⱥ«»\
\░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐\
\└┴┬├─┼Ăă╚╔╩╦╠═╬¤\
\đĐĎËďŇÍÎě┘┌█▄ŢŮ▀\
\ÓßÔŃńňŠšŔÚŕŰýÝţ´\
\˝˛ˇ˘§÷¸°¨˙űŘř■\160;";
const string: cp_852g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\ÇüéâäůćçłëŐőîŹÄĆ\
\ÉĹĺôöĽľŚśÖÜŤťŁ×č\
\áíóúĄąŽžĘ꬟Ⱥ«»\
\░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐\
\└┴┬├─┼Ăă╚╔╩╦╠═╬¤\
\đĐĎËďŇÍÎě┘┌█▄ŢŮ▀\
\ÓßÔŃńňŠšŔÚŕŰýÝţ´\
\˝˛ˇ˘§÷¸°¨˙űŘř■\160;";
const string: cp_855 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\ђЂѓЃёЁєЄѕЅіІїЇјЈ\
\љЉњЊћЋќЌўЎџЏюЮъЪ\
\аАбБцЦдДеЕфФгГ«»\
\░▒▓│┤хХиИ╣║╗╝йЙ┐\
\└┴┬├─┼кК╚╔╩╦╠═╬¤\
\лЛмМнНоОп┘┌█▄Пя▀\
\ЯрРсСтТуУжЖвВьЬ№\
\ыЫзЗшШэЭщЩчЧ§■\160;";
const string: cp_855g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\ђЂѓЃёЁєЄѕЅіІїЇјЈ\
\љЉњЊћЋќЌўЎџЏюЮъЪ\
\аАбБцЦдДеЕфФгГ«»\
\░▒▓│┤хХиИ╣║╗╝йЙ┐\
\└┴┬├─┼кК╚╔╩╦╠═╬¤\
\лЛмМнНоОп┘┌█▄Пя▀\
\ЯрРсСтТуУжЖвВьЬ№\
\ыЫзЗшШэЭщЩчЧ§■\160;";
const string: cp_857 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\ÇüéâäàåçêëèïîıÄÅ\
\ÉæÆôöòûùİÖÜø£ØŞş\
\áíóúñÑĞ𿮬½¼¡«»\
\░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐\
\└┴┬├─┼ãÃ╚╔╩╦╠═╬¤\
\ºªÊËÈ?ÍÎÏ┘┌█▄¦Ì▀\
\ÓßÔÒõÕµ?×ÚÛÙìÿ¯´\
\±?¾¶§÷¸°¨·¹³²■\160;";
const string: cp_857g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\ÇüéâäàåçêëèïîıÄÅ\
\ÉæÆôöòûùİÖÜø£ØŞş\
\áíóúñÑĞ𿮬½¼¡«»\
\░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐\
\└┴┬├─┼ãÃ╚╔╩╦╠═╬¤\
\ºªÊËÈ?ÍÎÏ┘┌█▄¦Ì▀\
\ÓßÔÒõÕµ?×ÚÛÙìÿ¯´\
\±?¾¶§÷¸°¨·¹³²■\160;";
const string: cp_858 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\ÇüéâäàåçêëèïîìÄÅ\
\ÉæÆôöòûùÿÖÜø£Ø׃\
\áíóúñѪº¿®¬½¼¡«»\
\░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐\
\└┴┬├─┼ãÃ╚╔╩╦╠═╬¤\
\ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀\
\ÓßÔÒõÕµþÞÚÛÙýݯ´\
\±‗¾¶§÷¸°¨·¹³²■\160;";
const string: cp_858g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\ÇüéâäàåçêëèïîìÄÅ\
\ÉæÆôöòûùÿÖÜø£Ø׃\
\áíóúñѪº¿®¬½¼¡«»\
\░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐\
\└┴┬├─┼ãÃ╚╔╩╦╠═╬¤\
\ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀\
\ÓßÔÒõÕµþÞÚÛÙýݯ´\
\±‗¾¶§÷¸°¨·¹³²■\160;";
const string: cp_860 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\ÇüéâãàÁçêÊèÍÔìÃÂ\
\ÉÀÈôõòÚùÌÕÜ¢£Ù₧Ó\
\áíóúñѪº¿Ò¬½¼¡«»\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\αßΓπΣσµτΦΘΩδ∞φε∩\
\≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\160;";
const string: cp_860g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\ÇüéâãàÁçêÊèÍÔìÃÂ\
\ÉÀÈôõòÚùÌÕÜ¢£Ù₧Ó\
\áíóúñѪº¿Ò¬½¼¡«»\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\αßΓπΣσµτΦΘΩδ∞φε∩\
\≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\160;";
const string: cp_861 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\ÇüéâäàåçêëèÐðÞÄÅ\
\ÉæÆôöþûÝýÖÜø£Ø₧ƒ\
\áíóúÁÍÓÚ¿⌐¬½¼¡«»\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\αßΓπΣσµτΦΘΩδ∞φε∩\
\≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\160;";
const string: cp_861g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\ÇüéâäàåçêëèÐðÞÄÅ\
\ÉæÆôöþûÝýÖÜø£Ø₧ƒ\
\áíóúÁÍÓÚ¿⌐¬½¼¡«»\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\αßΓπΣσµτΦΘΩδ∞φε∩\
\≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\160;";
const string: cp_862 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\אבגדהוזחטיךכלםמן\
\נסעףפץצקרשת¢£¥₧ƒ\
\áíóúñѪº¿⌐¬½¼¡«»\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\αßΓπΣσµτΦΘΩδ∞φε∩\
\≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\160;";
const string: cp_862g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\אבגדהוזחטיךכלםמן\
\נסעףפץצקרשת¢£¥₧ƒ\
\áíóúñѪº¿⌐¬½¼¡«»\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\αßΓπΣσµτΦΘΩδ∞φε∩\
\≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\160;";
const string: cp_863 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\ÇüéâÂà¶çêëèïî‗À§\
\ÉÈÊôËÏûù¤ÔÜ¢£ÙÛƒ\
\¦´óú¨¸³¯Î⌐¬½¼¾«»\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\αßΓπΣσµτΦΘΩδ∞φε∩\
\≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\160;";
const string: cp_863g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\ÇüéâÂà¶çêëèïî‗À§\
\ÉÈÊôËÏûù¤ÔÜ¢£ÙÛƒ\
\¦´óú¨¸³¯Î⌐¬½¼¾«»\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\αßΓπΣσµτΦΘΩδ∞φε∩\
\≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\160;";
const string: cp_864 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\°·∙√▒─│┼┤┬├┴┐┌└┘\
\β∞φ±½¼≈«»ﻷﻸ??ﻻﻼ\
\ ﺂ£¤ﺄ??ﺎﺏﺕﺙ،ﺝﺡﺥ\
\٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟\
\¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧ╧\
\ﺫﺭﺯﺳﺷﺻﺿﻃﻇﻋﻏ¦¬÷×ﻉ\
\ـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡ\
\ﹽﹼﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■?";
const string: cp_864g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\°·∙√▒─│┼┤┬├┴┐┌└┘\
\β∞φ±½¼≈«»ﻷﻸ??ﻻﻼ\
\ ﺂ£¤ﺄ??ﺎﺏﺕﺙ،ﺝﺡﺥ\
\٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟\
\¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧ╧\
\ﺫﺭﺯﺳﺷﺻﺿﻃﻇﻋﻏ¦¬÷×ﻉ\
\ـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡ\
\ﹽﹼﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■?";
const string: cp_865 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\ÇüéâäàåçêëèïîìÄÅ\
\ÉæÆôöòûùÿÖÜø£Ø₧ƒ\
\áíóúñѪº¿⌐¬½¼¡«»\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\αßΓπΣσµτΦΘΩδ∞φε∩\
\≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\160;";
const string: cp_865g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\ÇüéâäàåçêëèïîìÄÅ\
\ÉæÆôöòûùÿÖÜø£Ø₧ƒ\
\áíóúñѪº¿⌐¬½¼¡«»\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\αßΓπΣσµτΦΘΩδ∞φε∩\
\≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\160;";
const string: cp_866 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\АБВГДЕЖЗИЙКЛМНОП\
\РСТУФХЦЧШЩЪЫЬЭЮЯ\
\абвгдежзийклмноп\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\рстуфхцчшщъыьэюя\
\ЁёЄєЇїЎў°∙·√№¤■\160;";
const string: cp_866g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\АБВГДЕЖЗИЙКЛМНОП\
\РСТУФХЦЧШЩЪЫЬЭЮЯ\
\абвгдежзийклмноп\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\рстуфхцчшщъыьэюя\
\ЁёЄєЇїЎў°∙·√№¤■\160;";
const string: cp_869 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\??????Ά?·¬¦‘’Έ―Ή\
\ΊΪΌ??ΎΫ©Ώ²³ά£έήί\
\ϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»\
\░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐\
\└┴┬├─┼ΠΡ╚╔╩╦╠═╬Σ\
\ΤΥΦΧΨΩαβγ┘┌█▄δε▀\
\ζηθικλμνξοπρσςτ΄\
\±υφχ§ψ΅°¨ωϋΰώ■\160;";
const string: cp_869g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\??????Ά?·¬¦‘’Έ―Ή\
\ΊΪΌ??ΎΫ©Ώ²³ά£έήί\
\ϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»\
\░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐\
\└┴┬├─┼ΠΡ╚╔╩╦╠═╬Σ\
\ΤΥΦΧΨΩαβγ┘┌█▄δε▀\
\ζηθικλμνξοπρσςτ΄\
\±υφχ§ψ΅°¨ωϋΰώ■\160;";
const string: cp_874 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\€????…??????????\
\?‘’“”•–—????????\
\\160;กขฃคฅฆงจฉชซฌญฎฏ\
\ฐฑฒณดตถทธนบปผฝพฟ\
\ภมยรฤลฦวศษสหฬอฮฯ\
\ะัาำิีึืฺุู????฿\
\เแโใไๅๆ็่้๊๋์ํ๎๏\
\๐๑๒๓๔๕๖๗๘๙๚๛????";
const string: cp_907 is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]∧_\
\`abcdefghijklmno\
\pqrstuvwxyz{∣}~⌂\
\𝐴𝐵𝐶𝐷𝐸𝐹𝐺𝐻𝐼𝐽𝐾𝐿𝑀𝑁𝑂𝑃\
\⎕⍞⌹𝑄𝑅𝑆𝑇𝑈⊤𝑉𝑊¢𝑋⊥←⌶\
\𝑌𝑍???????⌈¬→∪?⍕⍎\
\░▒▓│┤⍷⍸≡∵╣║╗╝⍂⌻┐\
\└┴┬├─┼⌷?╚╔╩╦╠═╬?\
\↑↓⍟∆∇⌊???┘┌█▄▌▐▀\
\αß⊂⊃⍝⍲ρ⍱⌽⊖○∨ι⍉ε∩\
\⌿⍀≥≤≠×÷⍙∘ω⍫⍋⍒‾¨\160;";
const string: cp_909 is "\
\\0;⍷⍸♥♦♣♠•◘\t\n≡♀\r♫⍟\
\►◄∵⌷¶§⍂⌻↑↓→←⌊↔∆∇\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]∧_\
\`abcdefghijklmno\
\pqrstuvwxyz{∣}~⌂\
\ÇüéâäàåçêëèïîìÄÅ\
\⎕⍞⌹ôöòûù⊤ÖÜ?£⊥←⌶\
\áíóúñѪº¿⌈¬→∪¡⍕⍎\
\░▒▓│┤⍟∆∇→╣║╗╝←⌊┐\
\└┴┬├─┼↑↓╚╔╩╦╠═╬≡\
\⍸⍷∵⌷⍂⌻⊢⊣⋄┘┌█▄??▀\
\αß⊂⊃⍝⍲ρ⍱⌽⊖○∨ι⍉ε∩\
\⌿⍀≥≤≠×÷⍙∘ω⍫⍋⍒‾¨\160;";
const string: cp_1125 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\АБВГДЕЖЗИЙКЛМНОП\
\РСТУФХЦЧШЩЪЫЬЭЮЯ\
\абвгдежзийклмноп\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\рстуфхцчшщъыьэюя\
\ЁёҐґЄєІіЇї÷±№€■\160;";
const string: cp_1125g is "\
\\0;☺☻♥♦♣♠•◘\t\n♂♀\r♫☼\
\►◄↕‼¶§▬↨↑↓→←∟↔▲▼\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~⌂\
\АБВГДЕЖЗИЙКЛМНОП\
\РСТУФХЦЧШЩЪЫЬЭЮЯ\
\абвгдежзийклмноп\
\░▒▓│┤╡╢╖╕╣║╗╝╜╛┐\
\└┴┬├─┼╞╟╚╔╩╦╠═╬╧\
\╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀\
\рстуфхцчшщъыьэюя\
\ЁёҐґЄєІіЇї÷±№€■ \160;";
const string: cp_1250 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\€?‚?„…†‡?‰Š‹ŚŤŽŹ\
\?‘’“”•–—?™š›śťžź\
\\160;ˇ˘Ł¤Ą¦§¨©Ş«¬®Ż\
\°±˛ł´µ¶·¸ąş»Ľ˝ľż\
\ŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎ\
\ĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢß\
\ŕáâăäĺćçčéęëěíîď\
\đńňóôőö÷řůúűüýţ˙";
const string: cp_1251 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏ\
\ђ‘’“”•–—?™љ›њќћџ\
\\160;ЎўЈ¤Ґ¦§Ё©Є«¬®Ї\
\°±Ііґµ¶·ё№є»јЅѕї\
\АБВГДЕЖЗИЙКЛМНОП\
\РСТУФХЦЧШЩЪЫЬЭЮЯ\
\абвгдежзийклмноп\
\рстуфхцчшщъыьэюя";
const string: cp_1252 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\€?‚ƒ„…†‡ˆ‰Š‹Œ?Ž?\
\?‘’“”•–—˜™š›œ?žŸ\
\\160;¡¢£¤¥¦§¨©ª«¬®¯\
\°±²³´µ¶·¸¹º»¼½¾¿\
\ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ\
\ÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß\
\àáâãäåæçèéêëìíîï\
\ðñòóôõö÷øùúûüýþÿ";
const string: cp_1253 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\€?‚ƒ„…†‡?‰?‹????\
\?‘’“”•–—?™?›????\
\\160;΅Ά£¤¥¦§¨©?«¬®―\
\°±²³΄µ¶·ΈΉΊ»Ό½ΎΏ\
\ΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟ\
\ΠΡ?ΣΤΥΦΧΨΩΪΫάέήί\
\ΰαβγδεζηθικλμνξο\
\πρςστυφχψωϊϋόύώ?";
const string: cp_1254 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\€?‚ƒ„…†‡ˆ‰Š‹Œ???\
\?‘’“”•–—˜™š›œ??Ÿ\
\\160;¡¢£¤¥¦§¨©ª«¬®¯\
\°±²³´µ¶·¸¹º»¼½¾¿\
\ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ\
\ĞÑÒÓÔÕÖ×ØÙÚÛÜİŞß\
\àáâãäåæçèéêëìíîï\
\ğñòóôõö÷øùúûüışÿ";
const string: cp_1255 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\€?‚ƒ„…†‡ˆ‰?‹????\
\?‘’“”•–—˜™?›????\
\\160;¡¢£₪¥¦§¨©×«¬®¯\
\°±²³´µ¶·¸¹÷»¼½¾¿\
\ְֱֲֳִֵֶַָֹ?ֻּֽ־ֿ\
\׀ׁׂ׃װױײ׳״???????\
\אבגדהוזחטיךכלםמן\
\נסעףפץצקרשת??\16#200e;\16#200f;?";
const string: cp_1256 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈ\
\گ‘’“”•–—ک™ڑ›œں\
\\160;،¢£¤¥¦§¨©ھ«¬®¯\
\°±²³´µ¶·¸¹؛»¼½¾؟\
\ہءآأؤإئابةتثجحخد\
\ذرزسشصض×طظعغـفقك\
\àلâمنهوçèéêëىيîï\
\ًٌٍَôُِ÷ّùْûü\16#200e;\16#200f;ے";
const string: cp_1257 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\€?‚?„…†‡?‰?‹?¨ˇ¸\
\?‘’“”•–—?™?›?¯˛?\
\\160;?¢£¤?¦§Ø©Ŗ«¬®Æ\
\°±²³´µ¶·ø¹ŗ»¼½¾æ\
\ĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻ\
\ŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽß\
\ąįāćäåęēčéźėģķīļ\
\šńņóōõö÷ųłśūüżž˙";
const string: cp_1258 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\€?‚ƒ„…†‡ˆ‰?‹Œ???\
\?‘’“”•–—˜™?›œ??Ÿ\
\\160;¡¢£¤¥¦§¨©ª«¬®¯\
\°±²³´µ¶·¸¹º»¼½¾¿\
\ÀÁÂĂÄÅÆÇÈÉÊË\16#300;ÍÎÏ\
\ĐÑ\16#309;ÓÔƠÖ×ØÙÚÛÜƯ\16#303;ß\
\àáâăäåæçèéêë\16#301;íîï\
\đñ\16#323;óôơö÷øùúûüư₫ÿ";
const string: iso_8859_1 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;¡¢£¤¥¦§¨©ª«¬®¯\
\°±²³´µ¶·¸¹º»¼½¾¿\
\ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ\
\ÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß\
\àáâãäåæçèéêëìíîï\
\ðñòóôõö÷øùúûüýþÿ";
const string: iso_8859_2 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;Ą˘Ł¤ĽŚ§¨ŠŞŤŹŽŻ\
\°ą˛ł´ľśˇ¸šşťź˝žż\
\ŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎ\
\ĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢß\
\ŕáâăäĺćçčéęëěíîď\
\đńňóôőö÷řůúűüýţ˙";
const string: iso_8859_3 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;Ħ˘£¤?Ĥ§¨İŞĞĴ?Ż\
\°ħ²³´µĥ·¸ışğĵ½?ż\
\ÀÁÂ?ÄĊĈÇÈÉÊËÌÍÎÏ\
\?ÑÒÓÔĠÖ×ĈÙÚÛÜŬŜß\
\àáâ?äċĉçèéêëìíîï\
\?ñòóôġö÷ĝùúûüŭŝ˙";
const string: iso_8859_4 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;ĄĸŖ¤ĨĻ§¨ŠĒĢŦŽ¯\
\°ą˛ŗ´ĩļˇ¸šēģŧŊžŋ\
\ĀÁÂÃÄÅÆĮČÉĘËĖÍÎĪ\
\ĐŅŌĶÔÕÖ×ØŲÚÛÜŨŪß\
\āáâãäåæįčéęëėíîī\
\đņōķôõö÷øųúûüũū˙";
const string: iso_8859_5 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;ЁЂЃЄЅІЇЈЉЊЋЌЎЏ\
\АБВГДЕЖЗИЙКЛМНОП\
\РСТУФХЦЧШЩЪЫЬЭЮЯ\
\абвгдежзийклмноп\
\рстуфхцчшщъыьэюя\
\№ёђѓєѕіїјљњћќ§ўџ";
const string: iso_8859_6 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;???¤???????،??\
\???????????؛???؟\
\?ءآأؤإئابةتثجحخد\
\ذرزسشصضطظعغ?????\
\ـفقكلمنهوىيًٌٍَُ\
\ِّْ?????????????";
const string: iso_8859_7 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;‘’£€₯¦§¨©ͺ«¬?―\
\°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏ\
\ΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟ\
\ΠΡ?ΣΤΥΦΧΨΩΪΫάέήί\
\ΰαβγδεζηθικλμνξο\
\πρςστυφχψωϊϋόύώ?";
const string: iso_8859_8 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;?¢£¤¥¦§¨©×«¬®¯\
\°±²³´µ¶·¸¹÷»¼½¾?\
\????????????????\
\???????????????‗\
\אבגדהוזחטיךכלםמן\
\נסעףפץצקרשת??\16#200e;\16#200f;?";
const string: iso_8859_9 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;¡¢£¤¥¦§¨©ª«¬®¯\
\°±²³´µ¶·¸¹º»¼½¾¿\
\ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ\
\ĞÑÒÓÔÕÖ×ØÙÚÛÜİŞß\
\àáâãäåæçèéêëìíîï\
\ğñòóôõö÷øùúûüışÿ";
const string: iso_8859_10 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;ĄĒĢĪĨĶ§ĻĐŠŦŽŪŊ\
\°ąēģīĩķ·ļđšŧž―ūŋ\
\ĀÁÂÃÄÅÆĮČÉĘËĖÍÎÏ\
\ÐŅŌÓÔÕÖŨØŲÚÛÜÝÞß\
\āáâãäåæįčéęëėíîï\
\ðņōóôõöũøųúûüýþĸ";
const string: iso_8859_11 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;กขฃคฅฆงจฉชซฌญฎฏ\
\ฐฑฒณดตถทธนบปผฝพฟ\
\ภมยรฤลฦวศษสหฬอฮฯ\
\ะัาำิีึืฺุู????฿\
\เแโใไๅๆ็่้๊๋์ํ๎๏\
\๐๑๒๓๔๕๖๗๘๙๚๛????";
const string: iso_8859_13 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;”¢£¤„¦§Ø©Ŗ«¬®Æ\
\°±²³“µ¶·ø¹ŗ»¼½¾æ\
\ĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻ\
\ŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽß\
\ąįāćäåęēčéźėģķīļ\
\šńņóōõö÷ųłśūüżž’";
const string: iso_8859_14 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;Ḃḃ£ĊċḊ§Ẁ©ẂḋỲ®Ÿ\
\ḞḟĠġṀṁ¶ṖẁṗẃṠỳẄẅṡ\
\ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ\
\ŴÑÒÓÔÕÖṪØÙÚÛÜÝŶß\
\àáâãäåæçèéêëìíîï\
\ŵñòóôõöṫøùúûüýŷÿ";
const string: iso_8859_15 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;¡¢£€¥Š§š©ª«¬®¯\
\°±²³Žµ¶·ž¹º»ŒœŸ¿\
\ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ\
\ÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß\
\àáâãäåæçèéêëìíîï\
\ðñòóôõö÷øùúûüýþÿ";
const string: iso_8859_16 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;ĄąŁ€„Š§š©Ș«ŹźŻ\
\°±ČłŽ”¶·žčș»ŒœŸż\
\ÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏ\
\ĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚß\
\àáâăäćæçèéêëìíîï\
\đńòóôőöśűùúûüęțÿ";
const string: postscript_standard_encoding is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&’()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\‘abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\
\\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\
\\0;¡¢£∕¥ƒ§¤'“«‹›fifl\
\\0;–†‡·\0;¶•‚„”»…‰\0;¿\
\\0;ˋ´ˆ˜ˉ˘˙¨\0;˚¸\0;˝˛ˇ\
\—\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\
\\0;Æ\0;ª\0;\0;\0;\0;ŁØŒº\0;\0;\0;\0;\
\\0;æ\0;\0;\0;ı\0;\0;łøœß\0;\0;\0;\0;";
const string: pdf_doc_encoding is "\
\\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\0;\
\\0;\0;\0;\0;\0;\0;\0;\0;\728;\711;\710;\729;\733;\731;\730;\732;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\0;\
\•†‡…—–ƒ⁄‹›−‰„“”‘\
\’‚™fiflŁŒŠŸŽıłœšž\0;\
\€¡¢£¤¥¦§¨©ª«¬\0;®¯\
\°±²³´µ¶·¸¹º»¼½¾¿\
\ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ\
\ÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß\
\àáâãäåæçèéêëìíîï\
\ðñòóôõö÷øùúûüýþÿ";
const string: mac_os_roman is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\ÄÅÇÉÑÖÜáàâäãåçéè\
\êëíìîïñóòôöõúùûü\
\†°¢£§•¶ß®©™´¨≠ÆØ\
\∞±≤≥¥µ∂∑∏π∫ªºΩæø\
\¿¡¬√ƒ≈∆«»…\160;ÀÃÕŒœ\
\–—“”‘’÷◊ÿŸ⁄€‹›fifl\
\‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ\
\ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ";
const string: koi8_r is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\─│┌┐└┘├┤┬┴┼▀▄█▌▐\
\░▒▓⌠■∙√≈≤≥\160;⌡°²·÷\
\═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞\
\╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©\
\юабцдефгхийклмно\
\пярстужвьызшэщчъ\
\ЮАБЦДЕФГХИЙКЛМНО\
\ПЯРСТУЖВЬЫЗШЭЩЧЪ";
const string: koi8_u is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\─│┌┐└┘├┤┬┴┼▀▄█▌▐\
\░▒▓⌠■∙√≈≤≥\160;⌡°²·÷\
\═║╒ёє╔ії╗╘╙╚╛ґ╝╞\
\╟╠╡ЁЄ╣ІЇ╦╧╨╩╪Ґ╬©\
\юабцдефгхийклмно\
\пярстужвьызшэщчъ\
\ЮАБЦДЕФГХИЙКЛМНО\
\ПЯРСТУЖВЬЫЗШЭЩЧЪ";
const string: mik is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\АБВГДЕЖЗИЙКЛМНОП\
\РСТУФХЦЧШЩЪЫЬЭЮЯ\
\абвгдежзийклмноп\
\рстуфхцчшщъыьэюя\
\└┴┬├─┼╣║╚╔╩╦╠═╬┐\
\░▒▓│┤№§╗╝┘┌█▄▌▐▀\
\αßΓπΣσµτΦΘΩδ∞φε∩\
\≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\160;";
const string: tis_620 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\????????????????\
\????????????????\
\?กขฃคฅฆงจฉชซฌญฎฏ\
\ฐฑฒณดตถทธนบปผฝพฟ\
\ภมยรฤลฦวศษสหฬอฮฯ\
\ะัาำิีึืฺุู????฿\
\เแโใไๅๆ็่้๊๋์ํ๎๏\
\๐๑๒๓๔๕๖๗๘๙๚๛????";
const string: armscii_8 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\????????????????\
\????????????????\
\\160;?և։)(»«—.՝,-֊…՜\
\՛՞ԱաԲբԳգԴդԵեԶզԷէ\
\ԸըԹթԺժԻիԼլԽխԾծԿկ\
\ՀհՁձՂղՃճՄմՅյՆնՇշ\
\ՈոՉչՊպՋջՌռՍսՎվՏտ\
\ՐրՑցՒւՓփՔքՕօՖֆ՚?";
const string: geostd8 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\€?‚?„…†‡?‰?‹????\
\?‘’“”•–—???›????\
\\160;¡¢£¤¥¦§¨©ª«¬®¯\
\°±²³´µ¶·¸¹º»¼½¾¿\
\აბგდევზჱთიკლმნჲო\
\პჟრსტჳუფქღყშჩცძწ\
\ჭხჴჯჰჵ??????????\
\?????????????№??";
const string: jis_x_0201 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[¥]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}‾\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;。「」、・ヲァィゥェォャュョッ\
\ーアイウエオカキクケコサシスセソ\
\タチツテトナニヌネノハヒフヘホマ\
\ミムメモヤユヨラリルレロワン゙゚\
\????????????????\
\????????????????";
const string: viscii is "\
\\0;\AẲ\C\DẴẪ\G\H\I\J\K\L\M\N\O\
\\P\Q\R\SỶ\U\V\W\XỸ\Z\e\28;\29;Ỵ\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZ[\\]^_\
\`abcdefghijklmno\
\pqrstuvwxyz{|}~\127;\
\ẠẮẰẶẤẦẨẬẼẸẾỀỂỄỆỐ\
\ỒỔỖỘỢỚỜỞỊỎỌỈỦŨỤỲ\
\Õắằặấầẩậẽẹếềểễệố\
\ồổỗỠƠộờởịỰỨỪỬơớƯ\
\ÀÁÂÃẢĂẳẵÈÉÊẺÌÍĨỳ\
\ĐứÒÓÔạỷừửÙÚỹỵÝỡư\
\àáâãảăữẫèéêẻìíĩỉ\
\đựòóôõỏọụùúũủýợỮ";
const string: ns_4551_1 is "\
\\0;\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\
\\P\Q\R\S\T\U\V\W\X\Y\Z\e\28;\29;\30;\31;\
\ !\"#$%&'()*+,-./\
\0123456789:;<=>?\
\@ABCDEFGHIJKLMNO\
\PQRSTUVWXYZÆØÅ^_\
\`abcdefghijklmno\
\pqrstuvwxyzæøå~\127;\
\\128;\129;\130;\131;\132;\133;\134;\135;\136;\137;\138;\139;\140;\141;\142;\143;\
\\144;\145;\146;\147;\148;\149;\150;\151;\152;\153;\154;\155;\156;\157;\158;\159;\
\\160;¡¢£¤¥¦§¨©ª«¬®¯\
\°±²³´µ¶·¸¹º»¼½¾¿\
\ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ\
\ÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß\
\àáâãäåæçèéêëìíîï\
\ðñòóôõö÷øùúûüýþÿ";
const string: cp_037 is "\
\\000;\001;\002;\003;\156;\009;\134;\127;\ # NUL, SOH, STX, ETX, SEL, HT, RNL, DEL
\\151;\141;\142;\011;\012;\013;\014;\015;\
\\016;\017;\018;\019;\157;\133;\008;\135;\
\\024;\025;\146;\143;\028;\029;\030;\031;\
\\128;\129;\130;\131;\132;\010;\023;\027;\
\\136;\137;\138;\139;\140;\005;\006;\007;\
\\144;\145;\022;\147;\148;\149;\150;\004;\
\\152;\153;\154;\155;\020;\021;\158;\026;\
\ \160;âäàáãåçñ¢.<(+|\
\&éêëèíîïìß!$*);¬\
\-/ÂÄÀÁÃÅÇѦ,%_>?\
\øÉÊËÈÍÎÏÌ`:
\Øabcdefghi«»ðýþ±\
\°jklmnopqrªºæ¸Æ¤\
\µ~stuvwxyz¡¿ÐÝÞ®\
\^£¥·©§¶¼½¾[]¯¨´×\
\{ABCDEFGHIôöòóõ\
\}JKLMNOPQR¹ûüùúÿ\
\\\÷STUVWXYZ²ÔÖÒÓÕ\
\0123456789³ÛÜÙÚ\159;";
const string: cp_273 is "\
\\000;\001;\002;\003;\156;\009;\134;\127;\ # NUL, SOH, STX, ETX, SEL, HT, RNL, DEL
\\151;\141;\142;\011;\012;\013;\014;\015;\
\\016;\017;\018;\019;\157;\133;\008;\135;\
\\024;\025;\146;\143;\028;\029;\030;\031;\
\\128;\129;\130;\131;\132;\010;\023;\027;\
\\136;\137;\138;\139;\140;\005;\006;\007;\
\\144;\145;\022;\147;\148;\149;\150;\004;\
\\152;\153;\154;\155;\020;\021;\158;\026;\
\ \160;â{àáãåçñÄ.<(+!\
\&éêëèíîïì~Ü$*);^\
\-/Â[ÀÁÃÅÇÑö,%_>?\
\øÉÊËÈÍÎÏÌ`:
\Øabcdefghi«»ðýþ±\
\°jklmnopqrªºæ¸Æ¤\
\µßstuvwxyz¡¿ÐÝÞ®\
\¢£¥·©@¶¼½¾¬|¯¨´×\
\äABCDEFGHIô¦òóõ\
\üJKLMNOPQR¹û}ùúÿ\
\Ö÷STUVWXYZ²Ô\\ÒÓÕ\
\0123456789³Û]ÙÚ\159;";
const string: cp_277 is "\
\\000;\001;\002;\003;\156;\009;\134;\127;\ # NUL, SOH, STX, ETX, SEL, HT, RNL, DEL
\\151;\141;\142;\011;\012;\013;\014;\015;\
\\016;\017;\018;\019;\157;\133;\008;\135;\
\\024;\025;\146;\143;\028;\029;\030;\031;\
\\128;\129;\130;\131;\132;\010;\023;\027;\
\\136;\137;\138;\139;\140;\005;\006;\007;\
\\144;\145;\022;\147;\148;\149;\150;\004;\
\\152;\153;\154;\155;\020;\021;\158;\026;\
\ \160;âäàáã}çñ
\&éêëèíîïìߤÅ*);^\
\-/ÂÄÀÁÃ$ÇÑø,%_>?\
\¦ÉÊËÈÍÎÏÌ`:ÆØ'=\"\
\@abcdefghi«»ðýþ±\
\°jklmnopqrªº{¸[]\
\µüstuvwxyz¡¿ÐÝÞ®\
\¢£¥·©§¶¼½¾¬|¯¨´×\
\æABCDEFGHIôöòóõ\
\åJKLMNOPQR¹û~ùúÿ\
\\\÷STUVWXYZ²ÔÖÒÓÕ\
\0123456789³ÛÜÙÚ\159;";
const string: cp_280 is "\
\\000;\001;\002;\003;\156;\009;\134;\127;\ # NUL, SOH, STX, ETX, SEL, HT, RNL, DEL
\\151;\141;\142;\011;\012;\013;\014;\015;\
\\016;\017;\018;\019;\157;\133;\008;\135;\
\\024;\025;\146;\143;\028;\029;\030;\031;\
\\128;\129;\130;\131;\132;\010;\023;\027;\
\\136;\137;\138;\139;\140;\005;\006;\007;\
\\144;\145;\022;\147;\148;\149;\150;\004;\
\\152;\153;\154;\155;\020;\021;\158;\026;\
\ \160;âä{áãå\\ñ°.<(+!\
\&]êë}íîï~ßé$*);^\
\-/ÂÄÀÁÃÅÇÑò,%_>?\
\øÉÊËÈÍÎÏÌù:£§'=\"\
\Øabcdefghi«»ðýþ±\
\[jklmnopqrªºæ¸Æ¤\
\µìstuvwxyz¡¿ÐÝÞ®\
\¢
\àABCDEFGHIôö¦óõ\
\èJKLMNOPQR¹ûü`úÿ\
\ç÷STUVWXYZ²ÔÖÒÓÕ\
\0123456789³ÛÜÙÚ\159;";
const string: cp_285 is "\
\\000;\001;\002;\003;\156;\009;\134;\127;\ # NUL, SOH, STX, ETX, SEL, HT, RNL, DEL
\\151;\141;\142;\011;\012;\013;\014;\015;\
\\016;\017;\018;\019;\157;\133;\008;\135;\
\\024;\025;\146;\143;\028;\029;\030;\031;\
\\128;\129;\130;\131;\132;\010;\023;\027;\
\\136;\137;\138;\139;\140;\005;\006;\007;\
\\144;\145;\022;\147;\148;\149;\150;\004;\
\\152;\153;\154;\155;\020;\021;\158;\026;\
\ \160;âäàáãåçñ$.<(+|\
\&éêëèíîïìß!£*);¬\
\-/ÂÄÀÁÃÅÇѦ,%_>?\
\øÉÊËÈÍÎÏÌ`:
\Øabcdefghi«»ðýþ±\
\°jklmnopqrªºæ¸Æ¤\
\µ¯stuvwxyz¡¿ÐÝÞ®\
\¢[¥·©§¶¼½¾^]~¨´×\
\{ABCDEFGHIôöòóõ\
\}JKLMNOPQR¹ûüùúÿ\
\\\÷STUVWXYZ²ÔÖÒÓÕ\
\0123456789³ÛÜÙÚ\159;";
const string: cp_297 is "\
\\000;\001;\002;\003;\156;\009;\134;\127;\ # NUL, SOH, STX, ETX, SEL, HT, RNL, DEL
\\151;\141;\142;\011;\012;\013;\014;\015;\
\\016;\017;\018;\019;\157;\133;\008;\135;\
\\024;\025;\146;\143;\028;\029;\030;\031;\
\\128;\129;\130;\131;\132;\010;\023;\027;\
\\136;\137;\138;\139;\140;\005;\006;\007;\
\\144;\145;\022;\147;\148;\149;\150;\004;\
\\152;\153;\154;\155;\020;\021;\158;\026;\
\ \160;âä@áãå\\ñ°.<(+!\
\&{êë}íîïìߧ$*);^\
\-/ÂÄÀÁÃÅÇÑù,%_>?\
\øÉÊËÈÍÎÏ̵:£à'=\"\
\Øabcdefghi«»ðýþ±\
\[jklmnopqrªºæ¸Æ¤\
\`¨stuvwxyz¡¿ÐÝÞ®\
\¢
\éABCDEFGHIôöòóõ\
\èJKLMNOPQR¹ûü¦úÿ\
\ç÷STUVWXYZ²ÔÖÒÓÕ\
\0123456789³ÛÜÙÚ\159;";
const string: cp_500 is "\
\\000;\001;\002;\003;\156;\009;\134;\127;\ # NUL, SOH, STX, ETX, SEL, HT, RNL, DEL
\\151;\141;\142;\011;\012;\013;\014;\015;\
\\016;\017;\018;\019;\157;\133;\008;\135;\
\\024;\025;\146;\143;\028;\029;\030;\031;\
\\128;\129;\130;\131;\132;\010;\023;\027;\
\\136;\137;\138;\139;\140;\005;\006;\007;\
\\144;\145;\022;\147;\148;\149;\150;\004;\
\\152;\153;\154;\155;\020;\021;\158;\026;\
\ \160;âäàáãåçñ[.<(+!\
\&éêëèíîïìß]$*);^\
\-/ÂÄÀÁÃÅÇѦ,%_>?\
\øÉÊËÈÍÎÏÌ`:
\Øabcdefghi«»ðýþ±\
\°jklmnopqrªºæ¸Æ¤\
\µ~stuvwxyz¡¿ÐÝÞ®\
\¢£¥·©§¶¼½¾¬|¯¨´×\
\{ABCDEFGHIôöòóõ\
\}JKLMNOPQR¹ûüùúÿ\
\\\÷STUVWXYZ²ÔÖÒÓÕ\
\0123456789³ÛÜÙÚ\159;";
const string: cp_1047 is "\
\\000;\001;\002;\003;\156;\009;\134;\127;\ # NUL, SOH, STX, ETX, SEL, HT, RNL, DEL
\\151;\141;\142;\011;\012;\013;\014;\015;\
\\016;\017;\018;\019;\157;\133;\008;\135;\
\\024;\025;\146;\143;\028;\029;\030;\031;\
\\128;\129;\130;\131;\132;\010;\023;\027;\
\\136;\137;\138;\139;\140;\005;\006;\007;\
\\144;\145;\022;\147;\148;\149;\150;\004;\
\\152;\153;\154;\155;\020;\021;\158;\026;\
\ \160;âäàáãåçñ¢.<(+|\
\&éêëèíîïìß!$*);^\
\-/ÂÄÀÁÃÅÇѦ,%_>?\
\øÉÊËÈÍÎÏÌ`:
\Øabcdefghi«»ðýþ±\
\°jklmnopqrªºæ¸Æ¤\
\µ~stuvwxyz¡¿Ð[Þ®\
\¬£¥·©§¶¼½¾Ý¨¯]´×\
\{ABCDEFGHIôöòóõ\
\}JKLMNOPQR¹ûüùúÿ\
\\\÷STUVWXYZ²ÔÖÒÓÕ\
\0123456789³ÛÜÙÚ\159;";
const proc: conv2unicode (inout string: stri, in string: codePage) is func
local
var char: ch is ' ';
var integer: index is 0;
begin
for ch key index range stri do
stri @:= [index] codePage[succ(ord(ch))];
end for;
end func;
const proc: conv2unicodeByName (inout string: stri,
in var string: charset) is func
begin
charset := upper(charset);
if charset = "UTF-8" or
charset = "UTF8" then
stri := fromUtf8(stri);
elsif charset = "ISO-8859-1" or
charset = "ISO_8859-1" or
charset = "ANSI_X3.4-1968" or
charset = "US-ASCII" or
charset = "ASCII" or
charset = "" then
noop;
elsif charset = "ISO-8859-2" then
conv2unicode(stri, iso_8859_2);
elsif charset = "ISO-8859-3" then
conv2unicode(stri, iso_8859_3);
elsif charset = "ISO-8859-4" then
conv2unicode(stri, iso_8859_4);
elsif charset = "ISO-8859-5" then
conv2unicode(stri, iso_8859_5);
elsif charset = "ISO-8859-6" then
conv2unicode(stri, iso_8859_6);
elsif charset = "ISO-8859-7" then
conv2unicode(stri, iso_8859_7);
elsif charset = "ISO-8859-8" then
conv2unicode(stri, iso_8859_8);
elsif charset = "ISO-8859-9" then
conv2unicode(stri, iso_8859_9);
elsif charset = "ISO-8859-10" then
conv2unicode(stri, iso_8859_10);
elsif charset = "ISO-8859-13" then
conv2unicode(stri, iso_8859_13);
elsif charset = "ISO-8859-14" then
conv2unicode(stri, iso_8859_14);
elsif charset = "ISO-8859-15" then
conv2unicode(stri, iso_8859_15);
elsif charset = "ISO-8859-16" then
conv2unicode(stri, iso_8859_16);
elsif charset = "WINDOWS-1250" then
conv2unicode(stri, cp_1250);
elsif charset = "WINDOWS-1251" then
conv2unicode(stri, cp_1251);
elsif charset = "WINDOWS-1252" then
conv2unicode(stri, cp_1252);
elsif charset = "WINDOWS-1253" then
conv2unicode(stri, cp_1253);
elsif charset = "WINDOWS-1254" then
conv2unicode(stri, cp_1254);
elsif charset = "WINDOWS-1255" then
conv2unicode(stri, cp_1255);
elsif charset = "WINDOWS-1256" then
conv2unicode(stri, cp_1256);
elsif charset = "WINDOWS-1257" then
conv2unicode(stri, cp_1257);
elsif charset = "WINDOWS-1258" then
conv2unicode(stri, cp_1258);
elsif charset = "IBM437" or
charset = "CP437" then
conv2unicode(stri, cp_437);
elsif charset = "IBM850" or
charset = "CP850" then
conv2unicode(stri, cp_850);
elsif charset = "MACINTOSH" then
conv2unicode(stri, mac_os_roman);
elsif charset = "KOI8-R" then
conv2unicode(stri, koi8_r);
elsif charset = "KOI8-U" then
conv2unicode(stri, koi8_u);
elsif charset = "TIS-620" then
conv2unicode(stri, tis_620);
elsif charset = "ARMSCII-8" then
conv2unicode(stri, armscii_8);
elsif charset = "GEOSTD8" then
conv2unicode(stri, geostd8);
elsif charset = "VISCII" then
conv2unicode(stri, viscii);
elsif charset = "NS_4551-1" then
conv2unicode(stri, ns_4551_1);
elsif charset = "UTF-16BE" then
stri := fromUtf16Be(stri);
elsif charset = "UTF-16LE" then
stri := fromUtf16Le(stri);
elsif charset = "UTF-7" then
stri := fromUtf7(stri);
else
raise RANGE_ERROR;
end if;
end func;