Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Шрифты. Русские программы на нерусских осях. (http://forum.oszone.net/showthread.php?t=58261)

Kroc 19-12-2005 01:05 384495

Шрифты. Русские программы на нерусских осях.
 
Делфи 7. Прога не поддерживает Unicode.
Цитата из письма одного из пользователей моей программки:
"текст всех клавиш и меню программы отражается в той же форме - "???????". У меня в настройках Панель управления/Язык и региональные стандарты - выбран Английский язык. Но все остальные русскоязычные программы работают нормально. Если вам как-то поможет - само название программы (в меню "Пуск")рядом с иконкой отражается корректно"

Что же, все остальные русскоязычные программы используют Юникод?
Или всё же инсталлят свои шрифты?
Советовать юзеру лезть в дополнительные настройки языка. Выставить там русский язык для программ не поддерживающих Юникод? Не выход. Не всякий будет это делать. Уж скорее забъёт на твою прогу.
И ещё один вопрос: как потестить?
Что я только не делал с настройками языка и региональных стандартов, на моём компе всё отображается нормально.
Что-то я пока не вижу достойного выхода из создавшейся ситуации.

pva 22-12-2005 11:58 385772

Вриант №1. Нужно выбирать русскоязычные наборы символов в русскоязычных шрифтах, например:
face = "Arial Cyr", character set = CHARSET_RUSSIAN при создании шрифта (Font).
А что, Delphi 7 действительно уникод не поддерживает?

Вариант №2: Чтобы не заставлять пользователя, напиши файлик для regedit-а.

Протестить: ставь вторую (англоязычную) винду, лучше NT40. У неё самые крутые на этот счёт завихи.

SergeCpp 22-12-2005 12:21 385791

Вариант №2++
Код:

REGEDIT4
 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NLS\CodePage]
"1250"="C_1251.NLS"
"1251"="C_1251.NLS"
"1252"="C_1251.NLS"
 
; EOF


Kroc 23-12-2005 07:00 386031

pva
Проблема в том, что у чела, похоже, шрифт с кириллицей не установлен. Или установлен, но не Arial, то есть тот, который я выставил в настройках. И чарсет у меня стоит CHARSET_RUSSIAN. Но винда сама начинает искать что-то похожее, и, не находит.

Вариант #2 и 2++ не катят. Считаю, что без ведома юзера не вправе что-то ковырять в реестре. В смысле, файлы настроек у него не должны меняться. Уж лучше на время текущей сессии свой шрифт зарегить.


Время: 04:34.

Время: 04:34.
© OSzone.net 2001-