Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Почему в иноязычной Windows программа на русском не корр....  (Прочитано 10882 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Aleck D.Shadow
Опытный

tr
Offline Offline
Пол: Мужской

« : 04-03-2004 12:02 » 

не правильно работает? Вместо русских букв "Не понял?"!
Записан
Кот
Гость
« Ответ #1 : 05-03-2004 03:51 » 

С текстом надо работать в формате Unicode тогда все нормально будет отображатся
Записан
Diletant
Помогающий

de
Offline Offline

« Ответ #2 : 18-03-2004 10:35 » 

Потому что существенная часть стандартных фонтов содержит символы только для кодов от нуля до 127.  A UNICODE ИМХО тут не причем.
Записан
Кот
Гость
« Ответ #3 : 19-03-2004 04:39 » 

Вот именно по тому что большинство шрифтов в системе до 127 символов и надо пользоватся шрифтами поддерживающими UNICODE. Т.е. имеющими более 127 символов.
1 способ ручками прописывать какой именно шрифт с поддержкой UNICODE использовать (ни есть хорошо шрифта может не быть в системе)
2 способ использовать для работы с текстом UNICODE функции библиотеки С(тогда будет использоватся шрифт с поддержкой UNICODE по умолчанию, такой всегда есть в системе например Arial Unicode MS)

Именно введение UNICODE и дало возможность использовать шрифты с более чем 127 символов.
Записан
Anonymous
Гость
« Ответ #4 : 19-03-2004 08:39 » 

UNICODE, UNICODE...  А как же под 95, 98 Ме :?:
А ещё есть ANSI в котором 256 символов!!! Ага
Записан
Diletant
Помогающий

de
Offline Offline

« Ответ #5 : 19-03-2004 08:39 » 

Цитата: Кот

Именно введение UNICODE и дало возможность использовать шрифты с более чем 127 символов.


Пардон, но это чушь. UNICODE по определению двубайтовая система кодировок, и может быть различной кстати для китайского или японского.
Все русские таблицы кодировок используют коды из первого байта (обычно коды располагаются в диапазоне от 128 до 255, но бывают исключения).  Поэтому если фонт предназначен для отображения греческого языка, то  будь он хоть дважды UNICODE русские буквы при его использовании отображаться не будут, поскольку у него на этом месте греческие символы.
Записан
um
Гость
« Ответ #6 : 19-03-2004 20:58 » 

возможно указана неверная кодовая страница?
если для шрифте (например, truetype) указана другая страница, то символы с кодом >127 отображаются неверно, поскольку трансформируются на другой набор глифов.
на эту мысль наводит небольшой опыт работы с прогой fontographer, где мне пришлось самому рисовать буквы. там тоже никак не хотел устанавливаться нормальный русский шрифт.
ну и, ессно, есть шрифты, в которых русского алфавита нет в принципе (например, Wingdings)    Отлично

п.с. у меня аська часто так слетает - при переключении раскладки. точнее, у меня все ок, а у оппонента - одни вопросы.
Записан
Александр
Опытный

kz
Offline Offline
Пол: Мужской
Угадай кто?


WWW
« Ответ #7 : 20-03-2004 17:50 » 

Открываем в реестре HKEY_LOCAL MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes и смотрим, присутствуют ли там нижеописанные шрифты. Если к-л нет, то создаем строковой параметр и придаем ему значение, стоящее после знака= Все эти шрифты являются системными и их корректная работа обязательна.

Small Fonts,0=Small Fonts,204
MS Sans Serif,0=MS Sans Serif,204
MS Serif,0=MS Serif,204
System,0=System,204
Fixedsys,0=Fixedsys,204
Arial,0=Arial,204
Times New Roman,0=Times New Roman,204
Comic Sans MS Regular,0=Comic Sans MS Regular,204
Comic Sans MS,0=Comic Sans MS,204
Lucida Console,0=Lucida Console,204
Tahoma,0=Tahoma,204
Verdana,0=Verdana,204
Helvetica=Arial
Helvetica,0=Arial,204
Записан

Бороться и искать, найти и перепрятать.
um
Гость
« Ответ #8 : 20-03-2004 20:28 » 

Код:

<Font-name>
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes

Data type Range Default value
REG_SZ  font name  substitute font  

Description
Associates an alternative font with the actual font requested by a program or used in a document.

The substitute font can be used either as the screen font or as the printer font or both. These entries have the following form{

Font name REG_SZ substitute font

For example,

Helvetica REG_SZ Arial

indicates that Arial can be substituted for Helvetica if Helvetica is not available.

 Note

The <Font-name> subkey is a variable representing the subkeys in the FontSubstitutes subkey. It does not actually appear in the registry. This variable entry displays information which is common to the entries in

--------------------------------------------------------------------------------
Send feedback to MSDN.Look here for MSDN Online resources.

вот не поленился и выдрал из MSDN.  Отлично

Александр, обращаю внимание на фразу "indicates that Arial can be substituted for Helvetica if Helvetica is not available". если же такой фонт (в данном случае Helvetica) присутствует в системе, то его заменить не получится.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines