Магазин портативной техники "Портатив"
:: на главную
Подборка шрифтов > FAQ > Hе видятся русские/литовские/греческие/ половины Type1 шрифтов?

Исходный вопрос:
У меня под 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

<< НАЗАД