Andrey ороошо

Зарегистрирован: Feb 24, 2004 Сообщения: 68 Откуда: Эрхуу |
Добавлено: 27.11.11, 07:59 +0000 Отображение монгольских шрифтов на коммуникаторах HTC |
|
|
Привет всем! Если для кого то актуальна проблема с отображением наших специфичных монгольских букв при чтении сайтов и прочих документов на коммуникаторах с Windows Mobile (руссифицированных), то ниже решение для вас.
Здесь не требуется устанавливать специальной прошивки с поддержкой дополнительных языков.
Спасибо сайту www.4pda.ru, ссылка на размещенный далее материал - http://4pda.ru/forum/index.php?showtopic=14894&st=1260#entry7358313, название "Решение проблем, связанных с добавлением (изменением) набора шрифтов в ОС Windows Mobile".
Итак:
Краткое вступление. Универсальные шрифты.
Для начала хочется отметить, что не бывает «удачно подобранного» или «неудачно подобранного» набора шрифтов. Если просто накопировать кучу шрифтов в папку Windows Вашего КПК, получите мешанину из шрифтов на экране. В худшем случае – квадратики и т.д. и т.п.
В Windows Mobile (MSDN не даст соврать) существует механизм подстановки недостающих символов из шрифта, который такие символы содержит (FontLinking).
Для справки:
Существуют так называемые универсальные шрифты, содержащие расширенный набор символов (UNICODE fonts). В них содержатся начертания букв нескольких языков, а также множество специальных символов.
Примеры Unicode шрифтов, присутствующих на ББ:
ARIALUNI.ttf (внутреннее имя - Arial Unicode MS),
l_10646.ttf (внутреннее имя Lucida Sans Unicode).
Еще Unicode шрифты:
Microsoft YaHei, Microsoft Hei.
Почему надо выбрать, какой из Unicode шрифтов копировать на КПК?
Самый полный набор языков и символов находится в Arial Unicode MS, и поэтому его размер ~23 Mb,
Microsoft YaHei несколько уступает ему по количеству поддерживаемых языков, и размер у него меньше – 15Mb.
Microsoft Hei – «облегченный» вариант предыдущего шрифта – 1,5Mb.
Lucida Sans Unicode – самый легкий из Unicode шрифтов – 323Kb.
На самом деле, очень много места в первых двух шрифтах занимают иероглифы, если их убрать, шрифт заметно похудеет.
Поэтому вопрос выбора такой: нужна ли Вам поддержка иероглифов, и сколько «лишнего» свободного места у Вас есть на КПК.
1. Определяемся с выбором Unicode шрифта и копируем его в папку Windows КПК.
2. В редакторе реестра заходим в ветку:
HKLM\Software\Microsoft
3. Смотрим, есть ли ключ FontLink, если нет, создаем его, и в нем создаем еще один ключ – SystemLink.
4. В итоге должно получится следующее:
HKLM\Software\Microsoft\FontLink\SystemLink
5. Заходим в ключ SystemLink и создаем параметр типа «строка» (string) следующего вида:
«Имя_Вашего_проблемного_шрифта»=\Windows\имя_файла_unicode_шрифта.ttf, его_внутреннее_имя.
6. Для случая со шрифтами плагинов Тудея, содержащих только цифры (равно как и других подобных шрифтов) – необходимо найти на КПК, где лежит этот шрифт, посмотреть его внутреннее имя (возможно для этого его придется скопировать на ББ), тогда:
HKLM\Software\Microsoft\FontLink\SystemLink
"Внутреннее_имя_шрифта_плагина_на_Тудей"="\Windows\имя_файла_unicode_шрифта.ttf,его_внутреннее_имя"
Внимание!
в значении параметра "\Windows\имя_файла_unicode_шрифта.ttf,его_внутреннее_имя"
пробел после запятой - НЕ НУЖЕН, иначе работать не будет
7. Обязательно делаем СР, без него ничего не получится.
Пример:
Системным шрифтом у Вас стоит,
ну к примеру – Candara:
HKLM\System\GDI\SysFnt
Nm=”Candara”
и где-нибудь при отображении этим шрифтом появляется «мусор» из квадратиков,
а Unicode шрифт, который Вы скопировали в папку Windows - ARIALUNI.ttf (его внутреннее имя - Arial Unicode MS).
Тогда конструкция для Вашего случая будет выглядеть так:
HKLM\Software\Microsoft\FontLink\SystemLink
"Candara"="\Windows\ARIALUNI.ttf,Arial Unicode MS"
Внимание!
в значении параметра "\Windows\ARIALUNI.ttf,Arial Unicode MS"
пробел после запятой - НЕ НУЖЕН, иначе работать не будет
Надеюсь кому то будет полезным ) сам долго промучился с этой проблемой. Если, что пишите. |
|