'Tree builder recursive.bas b+ Petr 2020-06-26 now with SMCNeill Fix!! add CHR$(0) to C string
_TITLE "Video and music detective V0.1 alpha"
mask$ = "AVI,MPG,MKV,MPG,MPEG,WAV,ACC,MP4,MP3,MP2,VOC,S3M,MOD,XM,TS,MOV,AC3,WMA,WMV,FLAC,M3U," ' on end must be comma!
ReturnMASK mask(), mask$
path$ = SelectDIR$
PRINT "Loading config..." LoadINI SortStyle&, ViewStyle&
PRINT "Detecting country (for MAPUNICODE use)...";
PRINT "Dynamic Library output: "; COUNTRY
PRINT "Creating subdirectories + files list in "; path$
MakeTree path$
PRINT "Subdirectories + files list created in";
TIMER - t
PRINT "total records: ";
UBOUND(tree
) 'is match with real number files and folders
PRINT "Sorting files by mask:"
RealFiles(RealCount) = Tree(s)
RealCount = RealCount + 1
PRINT "Valid files now writed to array RealFiles. Size: ";
UBOUND(realfiles
) PRINT "Loading font arial.ttf..." SORT RealFiles(), SortStyle&
PRINT "Sort done, Separating name to file name, folder name and full path..." SeparateFileName RealFiles(), FileName(), FolderName() 'RealFiles obsahuje plnou cestu k souboru. FileName osahuje jen jmeno souboru. FolderName obsahuje jen jmeno prvniho nadrazeneho adresare. Indexy vsech se shoduji.
PRINT "Mapping characters by country..."
CountryA
DrawMyScreen ForegroundColor~&, BackgroundColor~& 'static draw
CopyARR FileName(), arr()
'----------------------------------------------------------------------------------- file browsing init (now contains bug, first file in the list is not visible)
x = 25: Y = 120: Lenght = 112: Height = 40: NumDirs = 0: UseWheel = 1: first = 1
Lb = 0
Le = Lb + Height
ListColor& = Black '_RGB32(166, 244, 244) nema ucinek
InPosColor& = Red '_RGB32(67, 72, 238)
DirColor& = Green '_RGB32(238, 22, 28)
oldposX = posX
IF first
= 1 THEN oldposX
= -1 ': first = 0
'mouse support ---
IF MoX
> x
AND MoX
< x
+ ((Lenght
+ 4) * 8) AND MoY
> Y
AND MoY
< Y
+ (Height
* 20) + 40 THEN 'podle LINE Poloha
= _CEIL((MoY
- Y
- 20) / 20) 'pro mys IF UseWheel
THEN ' in function last parameter: 0 = use wheel, 1 = not use wheel
IF Poloha
< posX
- Lb
THEN k$
= Up$
IF Poloha
> posX
- Lb
THEN k$
= Dn$
k$ = Up$
k$ = Dn$
'------------------
' --- keyboard inputs
CASE IS = Up$: posX
= posX
- 1: GU
= 1: GD
= 0: act
= 1 'marks: Go down disabled, go up enbabled, act = clear screen and print it again CASE IS = Dn$: posX
= posX
+ 1: GU
= 0: GD
= 1: act
= 1 'marks: Go down enabled, go up disabled CASE IS = PgUp$: posX
= posX
- Height: Lb
= Lb
- Height: Le
= Lb
+ Height: act
= 1 CASE IS = PgDn$: posX
= posX
+ Height: Lb
= Lb
+ Height: Le
= Lb
+ Height: act
= 1
' -------------------
'if is link selected (not dir):
'end of bug repair
IF posX
<= 0 THEN posX
= 0 ': Lb = 0: Le = Lb + height IF posX
> Le
AND GD
THEN Lb
= Lb
+ 1: Le
= Le
+ 1 IF GU
AND posX
< Lb
THEN Lb
= Lb
- 1: Le
= Le
- 1 textpos = 0
' IF Le - Lb > height THEN Le = Lb + height
LINE (x
+ 1, Y
+ 1)-(x
+ 3 + (8 * Lenght
) + 16, Y
+ 3 + (20 * Height
) + 38), White
, BF
'erase screen
rfs$ = RealFiles(posX)
FOR V
= Lb
TO Le
'List Begin to List End ' K& = _KEYHIT
textpos = textpos + 20 'row is 20 pixel height
text$ = arr(V)
COLOR ListColor&
, Black
'_RGB32(0, 0, 0)
possss = posX + 1
Posuvnik_V_Procentech!
= (possss
/ UBOUND(arr
))
'----------------------------------------------------------------------- extremne zpomaluje pri bezpodminecnem tisku
WindowHeight = (23 + Height * 20) - 40
OldGC = GC
GC = Y + WindowHeight * Posuvnik_V_Procentech!
COLOR Black
'_RGB32(0, 0, 0) COLOR Black
'_RGB32(127, 127, 127)
'---------------------------------------------------------------------------
notthia:
act = 0
k$ = ""
first = 2
LINE (x
+ 1, Y
+ 1)-(x
+ 3 + (8 * Lenght
) + 16, Y
+ 3 + (20 * Height
) + 38), , B
LINE (x
+ 4, Y
+ 4)-(x
+ (8 * Lenght
) + 16, Y
+ (20 * Height
) + 38), , B
Browse = posX
_SCREENCLICK MoX
, MoY
'aby okno bylo stale aktivni a neprebiral ho Windows media player (moznost toto nastavit) For stay your program window still active command = 0
SUB DrawMyScreen
(backgroundcolor~&
, foregroundcolor~&
) B = backgroundcolor~&
F = foregroundcolor~&
'Labels. Labels in this program can be set to your own language, use SETUP icon in program for creating own language file. NOT IMPLANTED IN THIS ALPHA VERSION
'index list: (in english lng file)
'0 = file list:
'1 = file details:
'2 = Full path to file:
GetLCiD = GetUserDefaultLCID%
IF GetUserDefaultLCID%
= 0 AND GetSystemDefaultLangID%
THEN GetLCiD
= GetSystemDefaultLangID%
IF GetUserDefaultLCID%
= 0 AND GetSystemDefaultLangID%
= 0 THEN GetLCiD
= -1 'error finding LCID
SUB LoadINI
(SortStyle&
, ViewStyle&
)
GET ff
, , ForegroundColor~&
GET ff
, , BackgroundColor~&
SortStyle& = 1
ViewStyle& = 1
BackgroundColor~& = Black
ForegroundColor~& = White
PUT #ff
, , ForegroundColor~&
PUT #ff
, , BackgroundColor~&
UsedCOUNTRY$ = "english"
LoadNationalLabels
"MaV-" + _TRIM$(UsedCOUNTRY$
) + ".lng" REM showarr Label
() 'developing helper
Label(i) = Label$
i = i + 1
BEEP:
PRINT file$;
" - this language file not found. Starting in english!" LoadNationalLabels "MaV-english.lng"
SUB SORT
(arr
() AS STRING, HOW
AS _BYTE) ' If is HOW zero, sort descending, if is HOW <> 0, sort ascending (this is modified Eoredson method). Y = X + 1
Y = Y + 1
X = X + 1
f$
= MID$(mask$
, 1, P
- 1) mask$
= MID$(mask$
, P
+ 1) mask(i) = f$
i = i + 1
SUB SeparateFileName
(SOURCEarr
() AS STRING, DESTarrFileName
() AS STRING, DESTarrFolderName
() AS STRING) 'vse OK (for case, when Folder name is album name and file name is soundtrack name) Source is array with full path. s$ = "\"
S$ = "/"
DESTarrFileName
(sep
) = MID$(SOURCEarr
(sep
), _INSTRREV(SOURCEarr
(sep
), s$
) + 1, LEN(SOURCEarr
(sep
)) - _INSTRREV(SOURCEarr
(sep
), s$
))
' PRINT "Full path: ";
' PRINT SOURCEarr(sep)
' PRINT "File name: ";
' PRINT DESTarrFileName(sep)
Miss$
= LEFT$(SOURCEarr
(sep
), LEN(SOURCEarr
(sep
)) - 1 - LEN(DESTarrFileName
(sep
))) ' PRINT Miss$
' PRINT "Folder name: ";
' PRINT DESTarrFolderName(sep)
' PRINT Miss(sep)
TYPE BROWSEINFO
' typedef struct _browseinfo 'Microsoft MSDN END TYPE ' BROWSEINFO, *PBROWSEINFO, *LPBROWSEINFO;
FUNCTION SHBrowseForFolder%&
(x
AS BROWSEINFO
) ' Microsoft MSDN
b.hwndOwner = hwnd
a$
= "Select folder for searching movies and music:" + CHR$(0) ' _SCREENHIDE
o = SHBrowseForFolder(b)
' _SCREENSHOW
' Path$ = LEFT$(s$, INSTR(s$, CHR$(0)) - 1)
SHGetPathFromIDList o
, _OFFSET(s2$
) PRINT "Directory not selected, using current directory"
IF load_dir
(SearchDirectory
+ CHR$(0)) THEN 'Steve's fix here with CHR$(0) for C call length = has_next_entry
get_next_entry nam$, flags, file_size
'IF _DIREXISTS(SearchDirectory + "\" + nam$) THEN
DirCount = DirCount + 1
DirList(DirCount) = SearchDirectory + "\" + nam$
'END IF
close_dir 'Steve first fix that got navigator working
copyStart$ = startDir
GetSubDirs copyStart$, D()
sAppend Tree(), D(i)
MakeTree D(i)
'nation.bm my FIRST attempt for INTERNATIONAL QB64 language support.
'function find code page need for correct text show on screen and set (if is right font used) unicode characters.
PRINT "Alpha version developing: CountryA PowerShell output is: "; LCID_DECIMAL
'try find with dynamic library:
LCID_DECIMAL = GetLCiD
SHELL _HIDE ("echo $LANG |cut -c1,2,4,5 > nation.txt")
' language code page
CASE 1078: lang$
= "Afrikaans": CP
= 1252 CASE 1052: lang$
= "Albanian": CP
= 1250 CASE 1118: lang$
= "Amharic":
'CP unknown CASE 5121: lang$
= "Arabic - Algeria": CP
= 1401: CPW
= 1256 CASE 15361: lang$
= "Arabic - Bahrain": CP
= 1256 CASE 3073: lang$
= "Arabic - Egypt": CP
= 1256 CASE 2049: lang$
= "Arabic - Iraq": CP
= 801: CPW
= 1256 CASE 11265: lang$
= "Arabic - Jordan": CP
= 1256 CASE 13313: lang$
= "Arabic - Kuwait": CP
= 3401: CPW
= 1256 CASE 12289: lang$
= "Arabic - Lebanon": CP
= 3001: CPW
= 1256 CASE 4097: lang$
= "Arabic - Libya": CP
= 1001: CPW
= 1256 CASE 6145: lang$
= "Arabic - Morocco": CP
= 1801: CPW
= 1256 CASE 8193: lang$
= "Arabic - Oman": CP
= 2001: CP2
= 1256 CASE 16385: lang$
= "Arabic - Qatar": CP
= 4001: CP2
= 1256 CASE 1025: lang$
= "Arabic - Saudi Arabia": CP
= 401: CP2
= 1256 CASE 10241: lang$
= "Arabic - Syria": CP
= 2801: CP2
= 1256 CASE 7169: lang$
= "Arabic - Tunisia": CP
= 1256 CASE 14337: lang$
= "Arabic - United Arab Emirates": CP
= 3801: CP2
= 1256 CASE 9217: lang$
= "Arabic - Yemen": CP
= 2401: CP2
= 1256 CASE 1067: lang$
= "Armenian" 'CP unknown CASE 1101: lang$
= "Assamese" 'CP uunknown CASE 2092: lang$
= "Azeri - Cyrillic": CP
= 1251 CASE 1068: lang$
= "Azeri - Latin": CP
= 1254 CASE 1069: lang$
= "Basque": CP
= 1252 CASE 1059: lang$
= "Belarusian": CP
= 423: CP2
= 1251 CASE 2117: lang$
= "Bengali - Bangladesh": CP
= 2117: CP2
= 845 CASE 1093: lang$
= "Bengali - India": CP
= 445 CASE 5146: lang$
= "Bosnian" 'CP unknown CASE 1026: lang$
= "Bulgarian": CP
= 402: CP2
= 1251 CASE 1109: lang$
= "Burmese": CP
= 455 CASE 1027: lang$
= "Catalan": CP
= 403: CP2
= 1252 CASE 2052: lang$
= "Chinese - China": CP
= 804 CASE 3076: lang$
= "Chinese - Hong Kong":
'CP unknown CASE 5124: lang$
= "Chinese - Macau": CP
= 1404 CASE 4100: lang$
= "Chinese - Singapore": CP
= 1004 CASE 1028: lang$
= "Chinese - Taiwan": CP
= 404 CASE 1050: lang$
= "Croatian": CP
= 1250 CASE 1029: lang$
= "Czech": CP
= 405: CP2
= 1250 CASE 1030: lang$
= "Danish": CP
= 406: CP2
= 1252 'Divehi Dhivehi Maldivian dv dv unknown code and CP
CASE 2067: lang$
= "Dutch - Belgium": CP
= 813: CP2
= 1252 CASE 1043: lang$
= "Dutch - Netherlands": CP
= 413: CP2
= 1252 CASE 1126: lang$
= "Edo": CP
= 466 CASE 3081: lang$
= "English - Australia": CP
= 1252 CASE 10249: lang$
= "English - Belize": CP
= 2809: CP2
= 1252 CASE 4105: lang$
= "English - Canada": CP
= 1009: CP2
= 1252 CASE 9225: lang$
= "English - Caribbean": CP
= 2409: CP2
= 1252 CASE 2057: lang$
= "English - Great Britain": CP
= 809: CP2
= 1252 CASE 16393: lang$
= "English - India": CP
= 4009 CASE 6153: lang$
= "English - Ireland": CP
= 1809: CP2
= 1252 CASE 8201: lang$
= "English - Jamaica": CP
= 2009: CP2
= 1252 CASE 5129: lang$
= "English - New Zealand": CP
= 1409: CP2
= 1252 CASE 13321: lang$
= "English - Phillippines": CP
= 3409: CP2
= 1252 CASE 7177: lang$
= "English - Southern Africa": CP
= 1252 CASE 11273: lang$
= "English - Trinidad": CP
= 1252 CASE 1033: lang$
= "English - United States": CP
= 409: CP2
= 1252 CASE 12297: lang$
= "English - Zimbabwe": CP
= 3009: CP2
= 1252 CASE 1061: lang$
= "Estonian": CP
= 425: CP2
= 1257 CASE 1071: lang$
= "FYRO Macedonia": CP
= 1251 CASE 1080: lang$
= "Faroese": CP
= 438: CP2
= 1252 CASE 1065: lang$
= "Farsi - Persian": CP
= 429: CP2
= 1256 CASE 1124: lang$
= "Filipino": CP
= 464 CASE 1035: lang$
= "Finnish": CP
= 1252 CASE 2060: lang$
= "French - Belgium": CP
= 1252 CASE 11276: lang$
= "French - Cameron":
'unknown CP CASE 3084: lang$
= "French - Canada": CP
= 1252 CASE 9228: lang$
= "French - Congo":
'unknown CP CASE 12300: lang$
= "French - Cote d'Ivoire" 'unknown CP CASE 1036: lang$
= "French - France": CP
= 1252 CASE 5132: lang$
= "French - Luxembourg": CP
= 1252 CASE 13324: lang$
= "French - Mali" 'unknown CP CASE 6156: lang$
= "French - Monaco": CP
= 1252 CASE 14348: lang$
= "French - Morocco" 'cp unknown CASE 10252: lang$
= "French - Senegal" 'cp unknown CASE 4108: lang$
= "French - Switzerland": CP
= 1252 CASE 7180: lang$
= "French - West Indies" 'CP unknown CASE 1122: lang$
= "Frisian - Netherlands": CP
= 462 CASE 2108: lang$
= "Gaelic - Ireland" 'CP unknown CASE 1084: lang$
= "Gaelic - Scotland" 'CP unknown CASE 1110: lang$
= "Galician": CP
= 456: CP2
= 1252 CASE 1079: lang$
= "Georgian": CP
= 437 CASE 3079: lang$
= "German - Austria": CP
= 1252 CASE 1031: lang$
= "German - Germany": CP
= 407: CP2
= 1252 CASE 5127: lang$
= "German - Liechtenstein": CP
= 1407: CP2
= 1252 CASE 4103: lang$
= "German - Luxembourg": CP
= 1007: CP2
= 1252 CASE 2055: lang$
= "German - Switzerland": CP
= 807: CP2
= 1252 CASE 1032: lang$
= "Greek": CP
= 408: CP2
= 1253 CASE 1140: lang$
= "Guarani - Paraguay": CP
= 474 CASE 1095: lang$
= "Gujarati": CP
= 447 CASE 1279: lang$
= "HID (Human Interface Device)": CP
= -1 CASE 1037: lang$
= "Hebrew": CP
= 1255 CASE 1081: lang$
= "Hindi": CP
= 439 CASE 1038: lang$
= "Hungarian": CP
= 1250 CASE 1039: lang$
= "Icelandic": CP
= 1252 CASE 1136: lang$
= "Igbo - Nigeria": CP
= 470 CASE 1057: lang$
= "Indonesian": CP
= 421: CP2
= 1252 CASE 1040: lang$
= "Italian - Italy": CP
= 410: CP2
= 1252 CASE 2064: lang$
= "Italian - Switzerland": CP
= 810: CP2
= 1252 CASE 1041: lang$
= "Japanese ": CP
= 411 CASE 1099: lang$
= "Kannada" ' CP unknown CASE 1120: lang$
= "Kashmiri": CP
= 460 CASE 1087: lang$
= "Kazakh": CP
= 1251 CASE 1107: lang$
= "Khmer": CP
= 453 CASE 1111: lang$
= "Konkani": CP
= 457 CASE 1042: lang$
= "Korean": CP
= 412 CASE 1088: lang$
= "Kyrgyz - Cyrillic": CP
= 440: CP2
= 1251 CASE 1108: lang$
= "Lao": CP
= 454 CASE 1142: lang$
= "Latin": CP
= 476 CASE 1062: lang$
= "Latvian": CP
= 426: CP2
= 1257 CASE 1063: lang$
= "Lithuanian": CP
= 427: CP2
= 1257 CASE 2110: lang$
= "Malay - Brunei": CP
= 1252 CASE 1086: lang$
= "Malay - Malaysia": CP
= 1252 CASE 1100: lang$
= "Malayalam" 'unknown CP CASE 1082: lang$
= "Maltese" 'unknown CP CASE 1112: lang$
= "Manipuri": CP
= 458 CASE 1153: lang$
= "Maori": CP
= 481 CASE 1102: lang$
= "Marathi" 'unknown CP CASE 2128: lang$
= "Mongolian": CP
= 850 CASE 1104: lang$
= "Mongolian": CP
= 450: CP2
= 1251 CASE 1121: lang$
= "Nepali": CP
= 461 CASE 1044: lang$
= "Norwegian - Bokml": CP
= 414: CP2
= 1252 CASE 2068: lang$
= "Norwegian - Nynorsk": CP
= 814: CP2
= 1252 CASE 1096: lang$
= "Oriya": CP
= 448 CASE 1045: lang$
= "Polish": CP
= 415: CP2
= 1250 CASE 1046: lang$
= "Portuguese - Brazil": CP
= 416: CP2
= 1252 CASE 2070: lang$
= "Portuguese - Portugal": CP
= 816: CP2
= 1252 CASE 1094: lang$
= "Punjabi": CP
= 446 CASE 1047: lang$
= "Raeto-Romance": CP
= 417 CASE 2072: lang$
= "Romanian - Moldova": CP
= 818 CASE 1048: lang$
= "Romanian - Romania": CP
= 418: CP2
= 1250 CASE 1049: lang$
= "Russian": CP
= 419: CP2
= 1251 CASE 2073: lang$
= "Russian - Moldova": CP
= 2073: CP2
= 819 CASE 1083: lang$
= "Sami Lappish" 'CP unknown CASE 1103: lang$
= "Sanskrit" 'CP unknown CASE 3098: lang$
= "Serbian - Cyrillic": CP
= 1251 CASE 2074: lang$
= "Serbian - Latin": CP
= 1250 CASE 1072: lang$
= "Sesotho (Sutu)": CP
= 430 CASE 1074: lang$
= "Setsuana": CP
= 432 CASE 1113: lang$
= "Sindhi": CP
= 459 CASE 1115: lang$
= "Sinhala Sinhalese" ' cp unknown CASE 1051: lang$
= "Slovak": CP
= 1250 CASE 1060: lang$
= "Slovenian": CP
= 424: CP2
= 1250 CASE 1143: lang$
= "Somali": CP
= 477 CASE 1070: lang$
= "Sorbian" 'unknown CP CASE 11274: lang$
= "Spanish - Argentina": CP
= 1252 CASE 16394: lang$
= "Spanish - Bolivia": CP
= 1252 CASE 13322: lang$
= "Spanish - Chile": CP
= 1252 CASE 9226: lang$
= "Spanish - Colombia": CP
= 1252 CASE 5130: lang$
= "Spanish - Costa Rica": CP
= 1252 CASE 7178: lang$
= "Spanish - Dominican Republic": CP
= 1252 CASE 12298: lang$
= "Spanish - Ecuador": CP
= 1252 CASE 17418: lang$
= "Spanish - El Salvador": CP
= 1252 CASE 4106: lang$
= "Spanish - Guatemala": CP
= 1252 CASE 18442: lang$
= "Spanish - Honduras": CP
= 1252 CASE 2058: lang$
= "Spanish - Mexico": CP
= 1252 CASE 19466: lang$
= "Spanish - Nicaragua": CP
= 1252 CASE 6154: lang$
= "Spanish - Panama": CP
= 1252 CASE 15370: lang$
= "Spanish - Paraguay": CP
= 1252 CASE 10250: lang$
= "Spanish - Peru": CP
= 1252 CASE 20490: lang$
= "Spanish - Puerto Rico": CP
= 1252 CASE 1034: lang$
= "Spanish - Spain (Traditional)": CP
= 1252 CASE 14346: lang$
= "Spanish - Uruguay": CP
= 1252 CASE 8202: lang$
= "Spanish - Venezuela": CP
= 1252 CASE 1089: lang$
= "Swahili": CP
= 441: CP2
= 1252 CASE 2077: lang$
= "Swedish - Finland": CP
= 1252 CASE 1053: lang$
= "Swedish - Sweden": CP
= 1252 CASE 1114: lang$
= "Syriac" 'unknown CP CASE 1064: lang$
= "Tajik": CP
= 428 CASE 1097: lang$
= "Tamil": CP
= 449 CASE 1092: lang$
= "Tatar": CP
= 444: CP2
= 1251 CASE 1098: lang$
= "Telugu" 'CP unknown CASE 1054: lang$
= "Thai" 'CP unkown CASE 1105: lang$
= "Tibetan": CP
= 451 CASE 1073: lang$
= "Tsonga": CP
= 431 CASE 1055: lang$
= "Turkish": CP
= 1254 CASE 1090: lang$
= "Turkmen": CP
= 442 CASE 1058: lang$
= "Ukrainian": CP
= 422: CP2
= 1251 CASE 8: lang$
= "Unicode": CP
= -2 ' UTF-8 CASE 1056: lang$
= "Urdu": CP
= 420: CP2
= 1256 CASE 2115: lang$
= "Uzbek - Cyrillic": CP
= 843: CP2
= 1251 CASE 1091: lang$
= "Uzbek - Latin": CP
= 443: CP2
= 1254 CASE 1075: lang$
= "Venda": CP
= 433 CASE 1066: lang$
= "Vietnamese": CP
= 1258 CASE 1106: lang$
= "Welsh": CP
= 452 CASE 1076: lang$
= "Xhosa": CP
= 434 CASE 1085: lang$
= "Yiddish" 'unknown CP CASE 1077: lang$
= "Zulu": CP
= 435 CASE "af": lang$
= "Afrikaans": CP
= 1252 CASE "sq": lang$
= "Albanian": CP
= 1250 CASE "am": lang$
= "Amharic":
'CP unknown CASE "ardz": lang$
= "Arabic - Algeria": CP
= 1401: CPW
= 1256 CASE "arbh": lang$
= "Arabic - Bahrain": CP
= 1256 CASE "areg": lang$
= "Arabic - Egypt": CP
= 1256 CASE "ariq": lang$
= "Arabic - Iraq": CP
= 801: CPW
= 1256 CASE "arjo": lang$
= "Arabic - Jordan": CP
= 1256 CASE "arkw": lang$
= "Arabic - Kuwait": CP
= 3401: CPW
= 1256 CASE "arlb": lang$
= "Arabic - Lebanon": CP
= 3001: CPW
= 1256 CASE "arly": lang$
= "Arabic - Libya": CP
= 1001: CPW
= 1256 CASE "arma": lang$
= "Arabic - Morocco": CP
= 1801: CPW
= 1256 CASE "arom": lang$
= "Arabic - Oman": CP
= 2001: CP2
= 1256 CASE "arqa": lang$
= "Arabic - Qatar": CP
= 4001: CP2
= 1256 CASE "arsa": lang$
= "Arabic - Saudi Arabia": CP
= 401: CP2
= 1256 CASE "arsy": lang$
= "Arabic - Syria": CP
= 2801: CP2
= 1256 CASE "artn": lang$
= "Arabic - Tunisia": CP
= 1256 CASE "arae": lang$
= "Arabic - United Arab Emirates": CP
= 3801: CP2
= 1256 CASE "arye": lang$
= "Arabic - Yemen": CP
= 2401: CP2
= 1256 CASE "hy": lang$
= "Armenian" 'CP unknown CASE "as": lang$
= "Assamese" 'CP uunknown CASE "asaz": lang$
= "Azeri - Cyrillic": CP
= 1251 CASE "asaz": lang$
= "Azeri - Latin": CP
= 1254 CASE "eu": lang$
= "Basque": CP
= 1252 CASE "be": lang$
= "Belarusian": CP
= 423: CP2
= 1251 CASE "bn": lang$
= "Bengali - Bangladesh": CP
= 2117: CP2
= 845 CASE "bn": lang$
= "Bengali - India": CP
= 445 CASE "bs": lang$
= "Bosnian" 'CP unknown CASE "bg": lang$
= "Bulgarian": CP
= 402: CP2
= 1251 CASE "my": lang$
= "Burmese": CP
= 455 CASE "ca": lang$
= "Catalan": CP
= 403: CP2
= 1252 CASE "zhcn": lang$
= "Chinese - China": CP
= 804 CASE "zhhk": lang$
= "Chinese - Hong Kong":
'CP unknown CASE "zhmo": lang$
= "Chinese - Macau": CP
= 1404 CASE "zhsg": lang$
= "Chinese - Singapore": CP
= 1004 CASE "zhtw": lang$
= "Chinese - Taiwan": CP
= 404 CASE "hr": lang$
= "Croatian": CP
= 1250 CASE "cscz": lang$
= "Czech": CP
= 405: CP2
= 1250 CASE "da": lang$
= "Danish": CP
= 406: CP2
= 1252 'Divehi Dhivehi Maldivian dv dv unknown code and CP
CASE "nlbe": lang$
= "Dutch - Belgium": CP
= 813: CP2
= 1252 CASE "nlnl": lang$
= "Dutch - Netherlands": CP
= 413: CP2
= 1252 CASE "": lang$
= "Edo": CP
= 466 CASE "enau": lang$
= "English - Australia": CP
= 1252 CASE "enbz": lang$
= "English - Belize": CP
= 2809: CP2
= 1252 CASE "enca": lang$
= "English - Canada": CP
= 1009: CP2
= 1252 CASE "encb": lang$
= "English - Caribbean": CP
= 2409: CP2
= 1252 CASE "engb": lang$
= "English - Great Britain": CP
= 809: CP2
= 1252 CASE "enin": lang$
= "English - India": CP
= 4009 CASE "enie": lang$
= "English - Ireland": CP
= 1809: CP2
= 1252 CASE "enjm": lang$
= "English - Jamaica": CP
= 2009: CP2
= 1252 CASE "ennz": lang$
= "English - New Zealand": CP
= 1409: CP2
= 1252 CASE "enph": lang$
= "English - Phillippines": CP
= 3409: CP2
= 1252 CASE "enza": lang$
= "English - Southern Africa": CP
= 1252 CASE "entt": lang$
= "English - Trinidad": CP
= 1252 CASE "enus": lang$
= "English - United States": CP
= 409: CP2
= 1252 CASE "": lang$
= "English - Zimbabwe": CP
= 3009: CP2
= 1252 CASE "et": lang$
= "Estonian": CP
= 425: CP2
= 1257 CASE "fo": lang$
= "Faroese": CP
= 438: CP2
= 1252 CASE "fa": lang$
= "Farsi - Persian": CP
= 429: CP2
= 1256 CASE "": lang$
= "Filipino": CP
= 464 CASE "fi": lang$
= "Finnish": CP
= 1252 CASE "frbe", "frca", "frfr", "frlu", "frch": lang$
= "French": CP
= 1252 CASE "mk": lang$
= "FYRO Macedonia": CP
= 1251 CASE "gdie": lang$
= "Gaelic - Ireland" 'CP unknown CASE "gd": lang$
= "Gaelic - Scotland" 'CP unknown CASE "gl": lang$
= "Galician": CP
= 456: CP2
= 1252 CASE "ka": lang$
= "Georgian": CP
= 437 CASE "deat", "dede", "deli", "delu", "dech": lang$
= "German": CP
= 1252 CASE "el": lang$
= "Greek": CP
= 408: CP2
= 1253 CASE "gn": lang$
= "Guarani - Paraguay": CP
= 474 CASE "gu": lang$
= "Gujarati": CP
= 447 CASE "he": lang$
= "Hebrew": CP
= 1255 CASE "hi": lang$
= "Hindi": CP
= 439 CASE "hu": lang$
= "Hungarian": CP
= 1250 CASE "is": lang$
= "Icelandic": CP
= 1252 CASE "id": lang$
= "Indonesian": CP
= 421: CP2
= 1252 CASE "itit": lang$
= "Italian - Italy": CP
= 410: CP2
= 1252 CASE "itch": lang$
= "Italian - Switzerland": CP
= 810: CP2
= 1252 CASE "ja": lang$
= "Japanese ": CP
= 411 CASE "kn": lang$
= "Kannada" ' CP unknown CASE "ks": lang$
= "Kashmiri": CP
= 460 CASE "kk": lang$
= "Kazakh": CP
= 1251 CASE "km": lang$
= "Khmer": CP
= 453 CASE "ko": lang$
= "Korean": CP
= 412 CASE "lo": lang$
= "Lao": CP
= 454 CASE "la": lang$
= "Latin": CP
= 476 CASE "lv": lang$
= "Latvian": CP
= 426: CP2
= 1257 CASE "lt": lang$
= "Lithuanian": CP
= 427: CP2
= 1257 CASE "msbn": lang$
= "Malay - Brunei": CP
= 1252 CASE "msmy": lang$
= "Malay - Malaysia": CP
= 1252 CASE "ml": lang$
= "Malayalam" 'unknown CP CASE "mt": lang$
= "Maltese" 'unknown CP CASE "mi": lang$
= "Maori": CP
= 481 CASE "mr": lang$
= "Marathi" 'unknown CP CASE "mn": lang$
= "Mongolian": CP
= 450: CP2
= 1251 CASE "ne": lang$
= "Nepali": CP
= 461 CASE "nono": lang$
= "Norwegian - Bokml": CP
= 414: CP2
= 1252 CASE "or": lang$
= "Oriya": CP
= 448 CASE "pl": lang$
= "Polish": CP
= 415: CP2
= 1250 CASE "ptbr": lang$
= "Portuguese - Brazil": CP
= 416: CP2
= 1252 CASE "ptpt": lang$
= "Portuguese - Portugal": CP
= 816: CP2
= 1252 CASE "pa": lang$
= "Punjabi": CP
= 446 CASE "rm": lang$
= "Raeto-Romance": CP
= 417 CASE "romo": lang$
= "Romanian - Moldova": CP
= 818 CASE "ro": lang$
= "Romanian - Romania": CP
= 418: CP2
= 1250 CASE "ru": lang$
= "Russian": CP
= 419: CP2
= 1251 CASE "rumo": lang$
= "Russian - Moldova": CP
= 2073: CP2
= 819 CASE "sa": lang$
= "Sanskrit" 'CP unknown CASE "srsp": lang$
= "Serbian - Cyrillic": CP
= 1251 CASE "tn": lang$
= "Setsuana": CP
= 432 CASE "sd": lang$
= "Sindhi": CP
= 459 CASE "si": lang$
= "Sinhala Sinhalese" ' cp unknown CASE "sk": lang$
= "Slovak": CP
= 1250 CASE "sl": lang$
= "Slovenian": CP
= 424: CP2
= 1250 CASE "so": lang$
= "Somali": CP
= 477 CASE "sb": lang$
= "Sorbian" 'unknown CP CASE "esar": lang$
= "Spanish - Argentina": CP
= 1252 CASE "esbo": lang$
= "Spanish - Bolivia": CP
= 1252 CASE "escl": lang$
= "Spanish - Chile": CP
= 1252 CASE "esco": lang$
= "Spanish - Colombia": CP
= 1252 CASE "escr": lang$
= "Spanish - Costa Rica": CP
= 1252 CASE "esdo": lang$
= "Spanish - Dominican Republic": CP
= 1252 CASE "esec": lang$
= "Spanish - Ecuador": CP
= 1252 CASE "essv": lang$
= "Spanish - El Salvador": CP
= 1252 CASE "esgt": lang$
= "Spanish - Guatemala": CP
= 1252 CASE "eshn": lang$
= "Spanish - Honduras": CP
= 1252 CASE "esmx": lang$
= "Spanish - Mexico": CP
= 1252 CASE "esni": lang$
= "Spanish - Nicaragua": CP
= 1252 CASE "espa": lang$
= "Spanish - Panama": CP
= 1252 CASE "espy": lang$
= "Spanish - Paraguay": CP
= 1252 CASE "espe": lang$
= "Spanish - Peru": CP
= 1252 CASE "espr": lang$
= "Spanish - Puerto Rico": CP
= 1252 CASE "eses": lang$
= "Spanish - Spain (Traditional)": CP
= 1252 CASE "esuy": lang$
= "Spanish - Uruguay": CP
= 1252 CASE "esve": lang$
= "Spanish - Venezuela": CP
= 1252 CASE "sw": lang$
= "Swahili": CP
= 441: CP2
= 1252 CASE "swfi": lang$
= "Swedish - Finland": CP
= 1252 CASE "svse": lang$
= "Swedish - Sweden": CP
= 1252 CASE "tg": lang$
= "Tajik": CP
= 428 CASE "ta": lang$
= "Tamil": CP
= 449 CASE "tr": lang$
= "Tatar": CP
= 444: CP2
= 1251 CASE "te": lang$
= "Telugu" 'CP unknown CASE "th": lang$
= "Thai" 'CP unkown CASE "bo": lang$
= "Tibetan": CP
= 451 CASE "ts": lang$
= "Tsonga": CP
= 431 CASE "tr": lang$
= "Turkish": CP
= 1254 CASE "tk": lang$
= "Turkmen": CP
= 442 CASE "uk": lang$
= "Ukrainian": CP
= 422: CP2
= 1251 CASE "utf8": lang$
= "Unicode": CP
= -2 ' UTF-8 CASE "ur": lang$
= "Urdu": CP
= 420: CP2
= 1256 CASE "uzuz": lang$
= "Uzbek - Cyrillic": CP
= 843: CP2
= 1251 CASE "vi": lang$
= "Vietnamese": CP
= 1258 CASE "cy": lang$
= "Welsh": CP
= 452 CASE "xh": lang$
= "Xhosa": CP
= 434 CASE "yi": lang$
= "Yiddish" 'unknown CP CASE "zu": lang$
= "Zulu": CP
= 435
IF language
= 0 THEN PRINT "Sorry, unknown Code Page for your country.":
END
SELECT CASE language
' set DATA READ to correct position (without it read READ first DATA block and ignore his name)
FOR ASCIIcode
= 128 TO 255
PRINT "Detected nation:"; lang$;
", code pages: "; CP;
", "; CP2
'INPUT "input text with your national characters, if is displayed wrong, try other font (set it in line 392):"; text$
Microsoft_pc_cp437:
DATA 199,252,233,226,228,224,229,231,234,235,232,239,238,236,196,197 DATA 201,230,198,244,246,242,251,249,255,214,220,162,163,165,8359,402 DATA 225,237,243,250,241,209,170,186,191,8976,172,189,188,161,171,187 DATA 9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488 DATA 9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575 DATA 9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600 DATA 945,223,915,960,931,963,181,964,934,920,937,948,8734,966,949,8745 DATA 8801,177,8805,8804,8992,8993,247,8776,176,8729,183,8730,8319,178,9632,160
Microsoft_pc_cp737:
DATA 913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928 DATA 929,931,932,933,934,935,936,937,945,946,947,948,949,950,951,952 DATA 953,954,955,956,957,958,959,960,961,963,962,964,965,966,967,968 DATA 9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488 DATA 9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575 DATA 9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600 DATA 969,940,941,942,970,943,972,973,971,974,902,904,905,906,908,910 DATA 911,177,8805,8804,938,939,247,8776,176,8729,183,8730,8319,178,9632,160
Microsoft_pc_cp775:
DATA 262,252,233,257,228,291,229,263,322,275,342,343,299,377,196,197 DATA 201,230,198,333,246,290,162,346,347,214,220,248,163,216,215,164 DATA 256,298,243,379,380,378,8221,166,169,174,172,189,188,321,171,187 DATA 9617,9618,9619,9474,9508,260,268,280,278,9571,9553,9559,9565,302,352,9488 DATA 9492,9524,9516,9500,9472,9532,370,362,9562,9556,9577,9574,9568,9552,9580,381 DATA 261,269,281,279,303,353,371,363,382,9496,9484,9608,9604,9612,9616,9600 DATA 211,223,332,323,245,213,181,324,310,311,315,316,326,274,325,8217 DATA 173,177,8220,190,182,167,247,8222,176,8729,183,185,179,178,9632,160
Microsoft_pc_cp850:
DATA 199,252,233,226,228,224,229,231,234,235,232,239,238,236,196,197 DATA 201,230,198,244,246,242,251,249,255,214,220,248,163,216,215,402 DATA 225,237,243,250,241,209,170,186,191,174,172,189,188,161,171,187 DATA 9617,9618,9619,9474,9508,193,194,192,169,9571,9553,9559,9565,162,165,9488 DATA 9492,9524,9516,9500,9472,9532,227,195,9562,9556,9577,9574,9568,9552,9580,164 DATA 240,208,202,203,200,305,205,206,207,9496,9484,9608,9604,166,204,9600 DATA 211,223,212,210,245,213,181,254,222,218,219,217,253,221,175,180 DATA 173,177,8215,190,182,167,247,184,176,168,183,185,179,178,9632,160
Microsoft_pc_cp852:
DATA 199,252,233,226,228,367,263,231,322,235,336,337,238,377,196,262 DATA 201,313,314,244,246,317,318,346,347,214,220,356,357,321,215,269 DATA 225,237,243,250,260,261,381,382,280,281,172,378,268,351,171,187 DATA 9617,9618,9619,9474,9508,193,194,282,350,9571,9553,9559,9565,379,380,9488 DATA 9492,9524,9516,9500,9472,9532,258,259,9562,9556,9577,9574,9568,9552,9580,164 DATA 273,272,270,203,271,327,205,206,283,9496,9484,9608,9604,354,366,9600 DATA 211,223,212,323,324,328,352,353,340,218,341,368,253,221,355,180 DATA 173,733,731,711,728,167,247,184,176,168,729,369,344,345,9632,160
Microsoft_pc_cp855:
DATA 1106,1026,1107,1027,1105,1025,1108,1028,1109,1029,1110,1030,1111,1031,1112,1032 DATA 1113,1033,1114,1034,1115,1035,1116,1036,1118,1038,1119,1039,1102,1070,1098,1066 DATA 1072,1040,1073,1041,1094,1062,1076,1044,1077,1045,1092,1060,1075,1043,171,187 DATA 9617,9618,9619,9474,9508,1093,1061,1080,1048,9571,9553,9559,9565,1081,1049,9488 DATA 9492,9524,9516,9500,9472,9532,1082,1050,9562,9556,9577,9574,9568,9552,9580,164 DATA 1083,1051,1084,1052,1085,1053,1086,1054,1087,9496,9484,9608,9604,1055,1103,9600 DATA 1071,1088,1056,1089,1057,1090,1058,1091,1059,1078,1046,1074,1042,1100,1068,8470 DATA 173,1099,1067,1079,1047,1096,1064,1101,1069,1097,1065,1095,1063,167,9632,160
Microsoft_pc_cp857:
DATA 199,252,233,226,228,224,229,231,234,235,232,239,238,305,196,197 DATA 201,230,198,244,246,242,251,249,304,214,220,248,163,216,350,351 DATA 225,237,243,250,241,209,286,287,191,174,172,189,188,161,171,187 DATA 9617,9618,9619,9474,9508,193,194,192,169,9571,9553,9559,9565,162,165,9488 DATA 9492,9524,9516,9500,9472,9532,227,195,9562,9556,9577,9574,9568,9552,9580,164 DATA 186,170,202,203,200,0,205,206,207,9496,9484,9608,9604,166,204,9600 DATA 211,223,212,210,245,213,181,0,215,218,219,217,236,255,175,180 DATA 173,177,0,190,182,167,247,184,176,168,183,185,179,178,9632,160
Microsoft_pc_cp860:
DATA 199,252,233,226,227,224,193,231,234,202,232,205,212,236,195,194 DATA 201,192,200,244,245,242,218,249,204,213,220,162,163,217,8359,211 DATA 225,237,243,250,241,209,170,186,191,210,172,189,188,161,171,187 DATA 9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488 DATA 9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575 DATA 9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600 DATA 945,223,915,960,931,963,181,964,934,920,937,948,8734,966,949,8745 DATA 8801,177,8805,8804,8992,8993,247,8776,176,8729,183,8730,8319,178,9632,160
Microsoft_pc_cp861:
DATA 199,252,233,226,228,224,229,231,234,235,232,208,240,222,196,197 DATA 201,230,198,244,246,254,251,221,253,214,220,248,163,216,8359,402 DATA 225,237,243,250,193,205,211,218,191,8976,172,189,188,161,171,187 DATA 9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488 DATA 9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575 DATA 9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600 DATA 945,223,915,960,931,963,181,964,934,920,937,948,8734,966,949,8745 DATA 8801,177,8805,8804,8992,8993,247,8776,176,8729,183,8730,8319,178,9632,160
Microsoft_pc_cp862:
DATA 1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503 DATA 1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,162,163,165,8359,402 DATA 225,237,243,250,241,209,170,186,191,8976,172,189,188,161,171,187 DATA 9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488 DATA 9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575 DATA 9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600 DATA 945,223,915,960,931,963,181,964,934,920,937,948,8734,966,949,8745 DATA 8801,177,8805,8804,8992,8993,247,8776,176,8729,183,8730,8319,178,9632,160
Microsoft_pc_cp863:
DATA 199,252,233,226,194,224,182,231,234,235,232,239,238,8215,192,167 DATA 201,200,202,244,203,207,251,249,164,212,220,162,163,217,219,402 DATA 166,180,243,250,168,184,179,175,206,8976,172,189,188,190,171,187 DATA 9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488 DATA 9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575 DATA 9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600 DATA 4023,945,223,915,960,931,963,181,964,934,920,937,948,8734,966,949,8745 DATA 8801,177,8805,8804,8992,8993,247,8776,176,8729,183,8730,8319,178,9632,160
Microsoft_pc_cp864:
DATA 176,183,8729,8730,9618,9472,9474,9532,9508,9516,9500,9524,9488,9484,9492,9496 DATA 946,8734,966,177,189,188,8776,171,187,65271,65272,0,0,65275,65276,0 DATA 160,173,65154,163,164,65156,0,0,65166,65167,65173,65177,1548,65181,65185,65189 DATA 1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,65233,1563,65201,65205,65209,1567 DATA 162,65152,65153,65155,65157,65226,65163,65165,65169,65171,65175,65179,65183,65187,65191,65193 DATA 65195,65197,65199,65203,65207,65211,65215,65217,65221,65227,65231,166,172,247,215,65225 DATA 1600,65235,65239,65243,65247,65251,65255,65259,65261,65263,65267,65213,65228,65230,65229,65249 DATA 65149,1617,65253,65257,65260,65264,65266,65232,65237,65269,65270,65245,65241,65265,9632,0
Microsoft_pc_cp865:
DATA 199,252,233,226,228,224,229,231,234,235,232,239,238,236,196,197 DATA 201,230,198,244,246,242,251,249,255,214,220,248,163,216,8359,402 DATA 225,237,243,250,241,209,170,186,191,8976,172,189,188,161,171,164 DATA 9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488 DATA 9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575 DATA 9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600 DATA 945,223,915,960,931,963,181,964,934,920,937,948,8734,966,949,8745 DATA 8801,177,8805,8804,8992,8993,247,8776,176,8729,183,8730,8319,178,9632,160
Microsoft_pc_cp866:
DATA 1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055 DATA 1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071 DATA 1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087 DATA 9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488 DATA 9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575 DATA 9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600 DATA 1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103 DATA 1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160
Microsoft_pc_cp869:
DATA 0,0,0,0,0,0,902,0,183,172,166,8216,8217,904,8213,905 DATA 906,938,908,0,0,910,939,169,911,178,179,940,163,941,942,943 DATA 970,912,972,973,913,914,915,916,917,918,919,189,920,921,171,187 DATA 9617,9618,9619,9474,9508,922,923,924,925,9571,9553,9559,9565,926,927,9488 DATA 9492,9524,9516,9500,9472,9532,928,929,9562,9556,9577,9574,9568,9552,9580,931 DATA 932,933,934,935,936,937,945,946,947,9496,9484,9608,9604,948,949,9600 DATA 950,951,952,953,954,955,956,957,958,959,960,961,963,962,964,900 DATA 173,177,965,966,967,167,968,901,176,168,969,971,944,974,9632,160
Microsoft_pc_cp874:
DATA 8364,0,0,0,0,8230,0,0,0,0,0,0,0,0,0,0 DATA 0,8216,8217,8220,8221,8226,8211,8212,0,0,0,0,0,0,0,0 DATA 160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599 DATA 3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615 DATA 3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631 DATA 3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,0,0,0,0,3647 DATA 3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663 DATA 3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,0,0,0,0
Microsoft_windows_cp1250:
DATA 8364,0,8218,0,8222,8230,8224,8225,0,8240,352,8249,346,356,381,377 DATA 0,8216,8217,8220,8221,8226,8211,8212,0,8482,353,8250,347,357,382,378 DATA 160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379 DATA 176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380 DATA 340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270 DATA 272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223 DATA 341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271 DATA 273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729
Microsoft_windows_cp1251:
DATA 1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039 DATA 1106,8216,8217,8220,8221,8226,8211,8212,0,8482,1113,8250,1114,1116,1115,1119 DATA 160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031 DATA 176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111 DATA 1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055 DATA 1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071 DATA 1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087 DATA 1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103
Microsoft_windows_cp1252:
DATA 8364,0,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,0,381,0 DATA 0,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,0,382,376 DATA 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175 DATA 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191 DATA 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207 DATA 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223 DATA 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239 DATA 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
Microsoft_windows_cp1253:
DATA 8364,0,8218,402,8222,8230,8224,8225,0,8240,0,8249,0,0,0,0 DATA 0,8216,8217,8220,8221,8226,8211,8212,0,8482,0,8250,0,0,0,0 DATA 160,901,902,163,164,165,166,167,168,169,0,171,172,173,174,8213 DATA 176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911 DATA 912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927 DATA 928,929,0,931,932,933,934,935,936,937,938,939,940,941,942,943 DATA 944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959 DATA 960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,0
Microsoft_windows_cp1254:
DATA 8364,0,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,0,0,0 DATA 0,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,0,0,376 DATA 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175 DATA 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191 DATA 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207 DATA 286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223 DATA 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239 DATA 287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255
Microsoft_windows_cp1255:
DATA 8364,0,8218,402,8222,8230,8224,8225,710,8240,0,8249,0,0,0,0 DATA 0,8216,8217,8220,8221,8226,8211,8212,732,8482,0,8250,0,0,0,0 DATA 160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175 DATA 176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191 DATA 1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,0,1467,1468,1469,1470,1471 DATA 1472,1473,1474,1475,1520,1521,1522,1523,1524,0,0,0,0,0,0,0 DATA 1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503 DATA 1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,0,0,8206,8207,0
Microsoft_windows_cp1256:
DATA 8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672 DATA 1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722 DATA 160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175 DATA 176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567 DATA 1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583 DATA 1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603 DATA 224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239 DATA 1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746
Microsoft_windows_cp1257:
DATA 8364,0,8218,0,8222,8230,8224,8225,0,8240,0,8249,0,168,711,184 DATA 0,8216,8217,8220,8221,8226,8211,8212,0,8482,0,8250,0,175,731,0 DATA 160,0,162,163,164,0,166,167,216,169,342,171,172,173,174,198 DATA 176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230 DATA 260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315 DATA 352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223 DATA 261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316 DATA 353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729
Microsoft_windows_cp1258:
DATA 8364,0,8218,402,8222,8230,8224,8225,710,8240,0,8249,338,0,0,0 DATA 0,8216,8217,8220,8221,8226,8211,8212,732,8482,0,8250,339,0,0,376 DATA 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175 DATA 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191 DATA 192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207 DATA 272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223 DATA 224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239 DATA 273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255
start = start + 1
d(start) = s(start)