Форум: "Основная";
Текущий архив: 2010.03.21;
Скачать: [xml.tar.bz2];
ВнизКитайский язык Найти похожие ветки
← →
_REA (2009-05-25 11:49) [0]Хотят от меня странного - чтобы в программе были китайские иероглифы. Как бы так сделать, чтобы и программу на юникод не переделывать и чтобы отдельные надписи сделать иероглифами? Их вообще в 255 символов можно впихать (какой нибудь упрощенный китайский)? Кто-нибудь сталкивался с этим?
← →
sniknik © (2009-05-25 12:00) [1]> Как бы так сделать, чтобы и программу на юникод не переделывать и чтобы отдельные надписи сделать иероглифами?
переделать не программу, а только отдельные надписи.
есть компоненты TNT (название от бесплатных, сейчас они же платные и по другому называются)
← →
Игорь Шевченко © (2009-05-25 12:32) [2]
> Как бы так сделать, чтобы и программу на юникод не переделывать
поставить китайскую Windows
← →
_REA (2009-05-25 12:38) [3]>переделать не программу, а только отдельные надписи
да вот как то совсем ничего не хочется глобально переделывать :)
тем более что там часть надписей (если не большая часть) выводятся вручную. Программ просто сильно много и по-хорошему надо бы все переделать, но ни возможности ни времени нет. Да и часть вообще не я писал.
>поставить китайскую Windows
а можно виндоус обычную, но как-то с китайским языком что бы?
Работать то надо на русском, но отчеты выдавать на китайском.
← →
clickmaker © (2009-05-25 12:46) [4]панель управления - региональные настройки - языки - [x] установить файлы для восточных языков
← →
Игорь Шевченко © (2009-05-25 12:54) [5]
> а можно виндоус обычную, но как-то с китайским языком что
> бы?
> Работать то надо на русском, но отчеты выдавать на китайском.
>
Тогда юникод. В обычной Windows кодовая страница по умолчанию не позволяет отображать китайский
← →
_REA (2009-05-25 13:08) [6]>В обычной Windows кодовая страница по умолчанию не позволяет отображать китайский
даже с учетом галочки в Control Panel Установить поддержку языков с письмом иероглифами? А тогда оно зачем?
← →
Игорь Шевченко © (2009-05-25 13:39) [7]
> даже с учетом галочки в Control Panel Установить поддержку
> языков с письмом иероглифами? А тогда оно зачем?
Для юникода
← →
_REA (2009-05-25 14:06) [8]Поставил я эту галку, выбрал в TLabel шрифт @Arial Unicode MS, выбрал charset CHINESEBIG5_CHARSET и как-то оно вывело мне на каждые две русские буквы Caption по одному иероглифу. Это типа юникод такой?
← →
Игорь Шевченко © (2009-05-25 14:12) [9]
> Это типа юникод такой?
Для TLabel - да, только такой. TLabel юникода не умеет
← →
clickmaker © (2009-05-25 14:26) [10]TUnicodeLabel = class(TCustomLabel)
FUnicodeCaption: WideString;
...
function GetLabelText: WideString; reintroduce;
procedure DoDrawText(var Rect: TRect; Flags: Longint); override;
function TUnicodeLabel.GetLabelText: WideString;
begin
Result := UnicodeCaption;
end;
procedure TUnicodeLabel.DoDrawText(var Rect: TRect; Flags: Longint);
begin
...
DrawTextW(Canvas.Handle, PWideChar(Text), Length(Text), Rect, Flags);
...
end;
← →
_REA (2009-05-25 14:43) [11]А оно типа и так работает, если в DrawText указать длину -1
Мне как раз Label и не надо и юникод по большому счету тоже - надо отдельные надписи иероглифами.
Причем сейчас можно одновременно писать по английски и китайски, DrawText сам это разбирает, хотя нигде у меня WideString не объявлен.
В общем меня такой вариант устраивает, переделаю TextOut на DrawText, где надо и вуаля.
И кстати я тут видел забавную штуку - можно в программе переопределить уже определенные классы. Т.е. взять и поиздеваться над стандартным TLabel превратив его в Unicode например. Это они в CodeGear так поиздевались над DBGrid переопределив там отрисовку для поддержки XP тем.
Всем спасибо за помощь!
← →
DVM © (2009-05-25 15:00) [12]
> какой нибудь упрощенный китайский
китайской эллочки-людоедки
← →
_REA (2009-05-25 15:07) [13]>китайской эллочки-людоедки
их китайцев не поймешь, они и сами половину иероглифов не помнят и в каждой провинции там свои. И еще они используют какой то Simplified chinese. Я так и не понял - то ли усеченный набор иероглифов то ли набор английскими буквами китайских слов. Наборов иероглифов китайских во всяком случае там два... На этом мои познания в китайском заканчиваются :)
← →
_REA (2009-05-25 15:31) [14]Если кто-то в состоянии вкурить про упрощенный китайский и системы транскрипции:
http://ru.wikipedia.org/wiki/Упрощение_иероглифов
http://ru.wikipedia.org/wiki/Системы_транскрипции_китайских_иероглифов
но их там все равно 2235, немного не дотянули до 255 :)
← →
Игорь Шевченко © (2009-05-25 15:50) [15]"В Китае все жители - китайцы и даже сам Император - китаец." (с)
> юникод по большому счету тоже - надо отдельные надписи иероглифами
Вообще-то DrawTextW - это и есть юникод
← →
DVM © (2009-05-25 15:56) [16]
> _REA (25.05.09 15:07) [13]
> их китайцев не поймешь, они и сами половину иероглифов не
> помнят и в каждой провинции там свои
Особенно забавно выглядит, когда китаец одной профессии не может прочитать текст, относящийся к другой профессии - он типа таких иероглифов не учил.
← →
_REA (2009-05-25 17:02) [17]>Вообще-то DrawTextW - это и есть юникод
Но я то использовал просто DrawText :) Но там видимо все-равно юникод, когда -1 длина. Как оно распознает где двухбайтовая (или сколько там положено) кодировка, а где однобайтовая даже не догадываюсь, но русские буквы показывает и иероглифы тоже с другим шрифтом и набором символов.
Китайцы вообще затейники - у них и знаки препинания другие: есть просто запятая, а есть запятая для перечислений, или к примеру просто точка и точка для инициалов.
← →
Игорь Шевченко © (2009-05-25 17:53) [18]
> Но я то использовал просто DrawText
Код в студию. D7 по умолчанию подразумевает DrawTextA
← →
_REA (2009-05-26 15:33) [19]А какой код то? Просто вот так:
Windows.DrawText(Canvas.Handle, PChar(s), -1, rc, TextFlags);
← →
_REA (2009-05-26 15:46) [20]Я кстати понял как китайцы вводят текст, если кому интересно: при нажатии на кнопку появляется панелька ввода с латинской буквой. По мере набора формируется кусок транскрипции из латинских букв и когда транскрипция совпадает с иероглифом появляется иероглиф уже в поле ввода.
← →
Игорь Шевченко © (2009-05-26 16:11) [21]
> А какой код то?
Интересно же, как у тебя получается комбинация английского и китайского без использования Unicode на некитайской Windows
← →
_REA (2009-06-01 10:53) [22]Моя не знать :)
Оно само как то разбирается - видимо все что до 127 нечетными буквами - английские, все что выше - китайское. При таком подходе можно закодировать 32768 иероглифов, что есть дофига - они там порядка 5000 используют.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2010.03.21;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.005 c