|
Исходный вопрос:
У меня под MSOffice97-2000-WWord8/97 и работе под
Windows95-98 не видны русские, украинские, белорусские,
болгарские, сербские, литовские, латышские, эстонские,
турецкие, румынские, польские, чешские, словацкие,
хорватские, венгерские, греческие (и т.д.) символы из
второй половинки моих Type 1 шрифтов, только точки,
запятые, скобки и цифры и пустое место между ними. Что
делать???
Ответ:
A
- если Вы работаете со смешанным текстов из разных
кодировок плюс Английский, вам не повезло - работайте
только с TrueType или переходите в WindowsNT4.
ATM NT поддерживает Unicode для Type 1 шрифтов, он
корректно передает эту информацию в WindowsNT и у Вас
все будет хорошо.
Вы должны знать, что например:
MS ANSI 1250 - для венгерского, польского....
MS ANSI 1251- для русского, украинского....
MS ANSI 1252 - для французского, шведского,
финского...
MS ANSI 1253 - для новогреческого
MS ANSI 1254 - для турецкого.
MS ANSI 1257 - для эстонского, литовского,
латышского.
Более подробную информацию о том какие языки
поддерживаются какими кодировками можно найти на сайте
MS www.microsoft.com/typography/ и далее в разделе
TrueType.
B
- если Вы работаете под Win95-98 только со своим
языком и английским - например, русский + английский,
литовский + английский, греческий + английский, польский
+ английский, Вам повезло.
Вам необходимо исправить PFM файлы ваших
национальных Type 1 шрифтов в 55 байте.
Для тех шрифтов где нет PFM файла, Вам необходимо
добавить три строки в INF файл, и тогда, при инсталляции
ATM Shell создаст из пары AFM + INF корректный PFM с
правильным языковым сеттингом.
Итак, в конец каждого INF файла Вы должны добавить
три строки
MyFont.INF
...
WindowsCharSet = 204
WindowsFirstChar = 32
WindowsLastChar = 255
Все возможные значения для Вашей кодовой страницы
смотрите ниже.
Для PFM значения языка такие же, но в гексах по
смещению 55.
Примечание:
при работе под Win95-98 внутри MSOffice97 Вы можете
работать ТОЛЬКО со шрифтами Type 1 с таким PFM для своей
кодовой страницы (см. вариант А выше).
Type 1 шрифты с PFM сеттингами для других кодовых
страниц будут на экране в MSOffice 97 или с неправильной
метрикой, или с многочисленными пропусками символов.
Проверено, что PS генерятся при этом правильно для
шрифтов вашей кодовой страницы.
Если же вы сторонник работы в английской локали -
удачи Вам, но русского (польского, монгольского) вы не
получите.
Итак, возможные значения.
WindowsCharSet 200 # (for Bitstream font set)
## WindowsCharSet 2 # (for Symbol font set)
## WindowsCharSet 0 # (for ANSI - Adobe Standard
encoding) ## WindowsCharSet 255 # (for OEM font
set) ## WindowsCharSet 180 # (for Adobe
Arabic) WindowsCharSet 238 # (for
CE) WindowsCharSet 204 # (for
Cyrillic) WindowsCharSet 162 # (for
Turkish) WindowsCharSet 161 # (for
Greek) WindowsCharSet 163 # (for
Vietnamese) WindowsCharSet 222 # (for
Thai) WindowsCharSet 186 # (for
Baltic) WindowsCharSet 177 # (for
Hebrew) WindowsCharSet 178 # (for MS
Arabic) WindowsCharSet 128 # (for Japanese
ShiftJIS) WindowsCharSet 129 # (for Korean EUC-KR
or Unified Hangul Code) WindowsCharSet 130 # Hangul
(Johab) WindowsCharSet 134 # (for Simplified
Chinese EUC-CN or GBK) WindowsCharSet 136 # (for
Traditional Chinese Big 5)
Чтобы не делать это руками, надо взять специально
написанную для этого утилиту, скопировать ее в
директорий с вашими шрифтами ОДHОГО ЯЗЫКА (только
кириллица. Или только Baltic Type 1. Или только что-то
другое - CE например), поправить значения в ее INI файле
на нужный Вам язык и запустить. Данный каталог и все
подкаталоги будут обработаны. То есть в PFM файл
установлен правильный байт языка по смещению 55, а в INF
файл - упомянутые строки.
http://www.star.spb.ru/~ferrum/soft/T12MS.ZIP или
http://www.star.spb.ru/soft/~yudmi/T12MS.ZIP
PSS. Также согласно пониманию Adobe для
Cyrillic and CE INF файлов шрифтов значения должны
быть:
По моим данным, это ни на что не влияет, кроме
старого Adobe Type Foundary, но рекомендуется этому
следовать. Для других языков эти сеттинги не приведены к
стандарту.
для MS ANSI 1251
Cyrillic <...> CharacterSet
(cyrillicreg.cs) Encoding
(cyrillic.enc) <...> для MS 1250 CE (Eastern
Europe) <...> CharacterSet
(ce.cs) Encoding (ce.enc) <...> End of
FAQ
<< НАЗАД
|
|
|