Форум: "WinAPI";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];
ВнизОпределение правильного Charset Найти похожие ветки
← →
Andrey Fomin (2002-07-18 10:44) [0]Как можно определить какой Charset задавать шрифту для корректного отображения текста? Необходимо сделать, чтобы программа на основе установок Windows определяла какой charset использовать. Как это можно сделать?
← →
Dimka Maslov (2002-07-18 13:15) [1]LangID - индентификатор языка (0419 для русского), определить его можно с помощью функций
GetSystemDefaultLangId
GetUserDefaultLangId
GetThreadLocale
function LangIDToCharset(LangID: Integer): Byte;
type
TLangIDItem = packed record
LangID: Byte;
Charset: Byte;
end;
LangCount = 33;
LangIDToCharsetInfo : array [0..LangCount] of TLangIDItem = (
(LangID: $01; Charset: ARABIC_CHARSET),
(LangID: $02; Charset: RUSSIAN_CHARSET),
(LangID: $04; Charset: CHINESEBIG5_CHARSET),
(LangID: $05; Charset: EASTEUROPE_CHARSET),
(LangID: $06; Charset: ANSI_CHARSET),
(LangID: $07; Charset: ANSI_CHARSET),
(LangID: $08; Charset: GREEK_CHARSET),
(LangID: $09; Charset: ANSI_CHARSET),
(LangID: $0A; Charset: ANSI_CHARSET),
(LangID: $0B; Charset: ANSI_CHARSET),
(LangID: $0C; Charset: ANSI_CHARSET),
(LangID: $0D; Charset: HEBREW_CHARSET),
(LangID: $0E; Charset: EASTEUROPE_CHARSET),
(LangID: $0F; Charset: ANSI_CHARSET),
(LangID: $10; Charset: ANSI_CHARSET),
(LangID: $13; Charset: ANSI_CHARSET),
(LangID: $14; Charset: ANSI_CHARSET),
(LangID: $15; Charset: EASTEUROPE_CHARSET),
(LangID: $16; Charset: ANSI_CHARSET),
(LangID: $18; Charset: EASTEUROPE_CHARSET),
(LangID: $19; Charset: RUSSIAN_CHARSET),
(LangID: $1A; Charset: EASTEUROPE_CHARSET),
(LangID: $1B; Charset: EASTEUROPE_CHARSET),
(LangID: $1C; Charset: EASTEUROPE_CHARSET),
(LangID: $1D; Charset: ANSI_CHARSET),
(LangID: $1E; Charset: THAI_CHARSET),
(LangID: $1F; Charset: TURKISH_CHARSET),
(LangID: $22; Charset: RUSSIAN_CHARSET),
(LangID: $23; Charset: RUSSIAN_CHARSET),
(LangID: $24; Charset: EASTEUROPE_CHARSET),
(LangID: $25; Charset: BALTIC_CHARSET),
(LangID: $26; Charset: BALTIC_CHARSET),
(LangID: $27; Charset: BALTIC_CHARSET),
(LangID: $2a; Charset: VIETNAMESE_CHARSET));
var I: byte;
begin
Result:=DEFAULT_CHARSET;
if LangID = 0 then LangID:=_GetLocale;
for i:=0 to LangCount do if Lo(LangID) = LangIDToCharsetInfo[i].LangID then begin
Result:=LangIDToCharsetInfo[i].Charset;
Break;
end;
if LangID = $0C1A then Result:=RUSSIAN_CHARSET;
end;
← →
Andrey Fomin (2002-07-19 11:42) [2]Спасибо!
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.073 c