Использование русских Type 1 шрифтов в Windows 2000/XP/2003. |
Как известно, Windows 2000/XP работает с Type 1 шрифтами не так, как Windows 95/98/ME. И для многих шрифтов и многих программ возникают сложности.
Хотелось бы, чтобы русские Type 1 шрифты правильно работали во всех программах - были видны, вводились с клавиатуры, печатались, дистиллировались, RIP-овались, в них был правильный кернинг и т.п.
Как оказалось, это вполне можно сделать, но не для всех программ одинаково, MS Word требует особых условий. Ибо для Type 1 шрифтов есть параметр WindowsCharSet в .INF-файле (ему соответствует байт 0x55 в PFM-файле), который разные программы интерпретируют по-разному. И нет значения этого параметра, при котором все программы вели бы себя хорошо. |
Суть проблемы: |
Посмотреть на форуме.
|
Основной вариант использования шрифтов. |
Вариант шрифтов, созданный программой Type1Cyr по умолчанию:
в этом варианте у шрифта должны быть правильные параметры (см. ниже), а значение параметра WindowsCharSet в .INF-файле должно быть равно 0.
После установки таких шрифтов в Windows 2000/XP/2003, в программах Adobe FrameMaker, Adobe Illustrator, Adobe Indesign, Quark XPress, шрифты видны, русские символы вводятся с клавиатуры, печатаются, дистиллируются, RIP-уются, программы устанавливают для них правильный кернинг и т.п.
В программах Corel Draw, Corel Ventura, со шрифтами тоже всё в порядке, но кернинг для русских букв эти программы не видят. Чтобы увидели, приходится применять хак с подменой кодовой страницы (как это сделать смотрите здесь).
Adobe Photoshop русские буквы видит, печатает и т.п., но кернинга для русских букв нет даже при включении хака с подменой кодовой страницы.
|
Альтернативный вариант использования шрифтов. |
При использовании Windows 95/98/ME, как правило, установлены русские Type 1 шрифты со значением параметра .INF-файла WindowsCharSet, равным 204, а при использовании Windows 2000/XP/2003 - нет, поэтому некоторые программы, среди которых, к сожалению, Microsoft Word, без WindowsCharSet=204 правильно не работают.
В связи с этим и под Windows 2000/XP/2003 иногда бывает целесообразно устанавливать русские Type 1 шрифты с параметром WindowsCharSet=204 в .INF-файле.
Этот вариант шрифтов программа Type1Cyr создаёт при указании параметра /W (или /E=204).
После установки таких шрифтов в Windows 2000/XP/2003, в программах Adobe Illustrator, Adobe Indesign, шрифты видны, русские символы вводятся с клавиатуры, печатаются, дистиллируются, RIP-уются, программы устанавливают для них правильный кернинг и т.п.
В программах Adobe FrameMaker, Adobe PageMaker, Corel Draw, Corel Ventura, Microsoft Word, Quark XPress шрифты видны, русские символы вводятся с клавиатуры, печатаются, дистиллируются, RIP-уются и т.п. Но кернинга для русских букв эти программы не видят. Чтобы увидели, приходится применять хак с подменой кодовой страницы (как это сделать смотрите здесь).
Наконец, Adobe Photoshop русские буквы видит, печатает и т.п., но кернинга для русских букв нет даже при включении хака с подменой кодовой страницы.
|
Использование русских Type 1 шрифтов в Word. |
Microsoft Word, начиная с версии 97, очень требователен к правильности Type 1 шрифтов, например Word 2000/2002 имеет неприятную особенность при работе со шрифтами: при вводе символов, которые, по его мнению, отсутствуют в шрифте, он переключает шрифт вводимых символов на Times New Roman, что крайне неудобно. Приходится выделять введённый текст и оформлять его нужным шрифтом, а это потеря времени.
Но Microsoft Word может полноценно работать с PostScript Type 1 шрифтами, если эти шрифты имеют верные имена символов и некоторые другие параметры. Такие шрифты будут отображаться в списке шрифтов, вводиться с клавиатуры, печататься на PCL, PostScript и иных принтерах, правильно преобразовываться в PDF, обрабатываться программными RIP-ами для PostScript-файлов и т.д.
- Правильная кодировка символов в шрифте:
Номер кода |
Название кода |
Номер кода |
Название кода |
Номер кода |
Название кода |
32 |
space |
107 |
k |
182 |
paragraph |
33 |
exclam |
108 |
l |
183 |
periodcentered |
34 |
quotedbl |
109 |
m |
184 |
afii10071 |
35 |
numbersign |
110 |
n |
185 |
afii61352 |
36 |
dollar |
111 |
o |
186 |
afii10101 |
37 |
percent |
112 |
p |
187 |
guillemotright |
38 |
ampersand |
113 |
q |
188 |
afii10105 |
39 |
quotesingle |
114 |
r |
189 |
afii10054 |
40 |
parenleft |
115 |
s |
190 |
afii10102 |
41 |
parenright/td>
| 116 |
t |
191 |
afii10104 |
42 |
asterisk |
117 |
u |
192 |
afii10017 |
43 |
plus |
118 |
v |
193 |
afii10018 |
44 |
comma |
119 |
w |
194 |
afii10019 |
45 |
hyphen |
120 |
x |
195 |
afii10020 |
46 |
period |
121 |
y |
196 |
afii10021 |
47 |
slash |
122 |
z |
197 |
afii10022 |
49 |
one |
124 |
bar |
199 |
afii10025 |
50 |
two |
125 |
braceright |
200 |
afii10026 |
51 |
three |
126 |
asciitilde |
201 |
afii10027 |
52 |
four |
127 |
-- N/A -- |
202 |
afii10028 |
53 |
five |
128 |
afii10051 |
203 |
afii10029 |
54 |
six |
129 |
afii10052 |
204 |
afii10030 |
55 |
seven |
130 |
quotesinglbase |
205 |
afii10031 |
56 |
eight |
131 |
afii10100 |
206 |
afii10032 |
57 |
nine |
132 |
quotedblbase |
207 |
afii10033 |
58 |
colon |
133 |
ellipsis |
208 |
afii10034 |
59 |
semicolon |
134 |
dagger |
209 |
afii10035 |
60 |
less |
135 |
daggerdbl |
210 |
afii10036 |
61 |
equal |
136 |
Euro |
211 |
afii10037 |
62 |
greater |
137 |
perthousand |
212 |
afii10038 |
63 |
question |
138 |
afii10058 |
213 |
afii10039 |
64 |
at |
139 |
guilsinglleft |
214 |
afii10040 |
65 |
A |
140 |
afii10059 |
215 |
afii10041 |
66 |
B |
141 |
afii10061 |
216 |
afii10042 |
67 |
C |
142 |
afii10060 |
217 |
afii10043 |
68 |
D |
143 |
afii10145 |
218 |
afii10044 |
69 |
E |
144 |
afii10099 |
219 |
afii10045 |
70 |
F |
145 |
quoteleft |
220 |
afii10046 |
71 |
G |
146 |
quoteright |
221 |
afii10047 |
72 |
H |
147 |
quotedblleft |
222 |
afii10048 |
73 |
I |
148 |
quotedblright |
223 |
afii10049 |
74 |
J |
149 |
bullet |
224 |
afii10065 |
75 |
K |
150 |
endash |
225 |
afii10066 |
76 |
L |
151 |
emdash |
226 |
afii10067 |
77 |
M |
152 |
-- N/A -- |
227 |
afii10068 |
78 |
N |
153 |
trademark |
228 |
afii10069 |
79 |
O |
154 |
afii10106 |
229 |
afii10070 |
80 |
P |
155 |
guilsinglright |
230 |
afii10072 |
81 |
Q |
156 |
afii10107 |
231 |
afii10073 |
82 |
R |
157 |
afii10109 |
232 |
afii10074 |
83 |
S |
158 |
afii10108 |
233 |
afii10075 |
84 |
T |
159 |
afii10193 |
234 |
afii10076 |
85 |
U |
160 |
nbspace |
235 |
afii10077 |
86 |
V |
161 |
afii10062 |
236 |
afii10078 |
87 |
W |
162 |
afii10110 |
237 |
afii10079 |
88 |
X |
163 |
afii10057 |
238 |
afii10080 |
89 |
Y |
164 |
currency |
239 |
afii10081 |
90 |
Z |
165 |
afii10050 |
240 |
afii10082 |
91 |
bracketleft |
166 |
brokenbar |
241 |
afii10083 |
92 |
backslash |
167 |
section |
242 |
afii10084 |
93 |
bracketright |
168 |
afii10023 |
243 |
afii10085 |
94 |
asciicircum |
169 |
copyright |
244 |
afii10086 |
95 |
underscore |
170 |
afii10053 |
245 |
afii10087 |
96 |
grave |
171 |
guillemotleft |
246 |
afii10088 |
97 |
a |
172 |
logicalnot |
247 |
afii10089 |
98 |
b |
173 |
sfthyphen |
248 |
afii10090 |
99 |
c |
174 |
registered |
249 |
afii10091 |
100 |
d |
175 |
afii10056 |
250 |
afii10092 |
101 |
e |
176 |
degree |
251 |
afii10093 |
102 |
f |
177 |
plusminus |
252 |
afii10094 |
103 |
g |
178 |
afii10055 |
253 |
afii10095 |
104 |
h |
179 |
afii10103 |
254 |
afii10096 |
105 |
i |
180 |
afii10098 |
255 |
afii10097 |
106 |
j |
181 |
mu |
|
|
Здесь все имена символов стандартны. Лишь для дублирующих символов (неразрывного пробела и "мягкого" дефиса) приняты имена:
160 nbspace
173 sfthyphen
Обычный пробел (код 32) называется space, дефис (код 45) - hyphen.
Символы 127 и 152 в кодировке отсутствуют.
- Параметры INF-файла:
CharacterSet (cyrillicreg.cs)
Encoding (cyrillic.enc)
Pi true
PCLSymbolSet 9R
WindowsCharSet 0 (основной вариант, см. выше) или 204 (альтернативный)
WindowsFirstChar 32
WindowsLastChar 255
Замечание: Если в шрифте есть символы с кодами меньше 32, то параметр WindowsFirstChar надо установить равным наименьшему коду символа в шрифте.
- Параметры AFM-файла:
CharacterSet Cyrillic
EncodingScheme FontSpecific
Замечание: EncodingScheme AdobeStandardCyrillic тоже вроде работает, но тщательно это не проверялось.
Впрочем, самостоятельно устанавливать эти параметры в шрифтах необязательно — для исправления русских Type 1 шрифтов есть программа Type1Cyr.
Для установки Type 1 шрифтов лучше использовать программу Adobe Type Manager. Без Adobe Type Manager, при установке шрифтов средствами Windows, значение параметра WindowsCharSet .INF-файла игнорируется, т.е. байт 0x55 создаваемого .PFM-файла всегда имеет нулевое значение, что в нашем случае нежелательно.
Type 1 шрифты следует устанавливать с помощью комбинации файлов .PFB + .AFM + .INF. Шрифты, установленные с помощью комбинации файлов .PFB + .PFM, не всегда работают правильно.
При соблюдении этих условий русские Type 1 шрифты обрабатываются правильно. Кроме кернинга — его Word для русских букв в Type 1 шрифтах не задействует, но при желании можно сделать так, чтобы Microsoft Word правильно обрабатывал кернинг в русских PostScript Type 1 шрифтах, но лучше без этого обойтись — при этом некоторые программы начинают работать со шрифтами неправильно.
Для того чтобы установить кернинг, примените хак с подменой кодовой страницы (как это сделать смотрите здесь). |
О программе Type1Cyr |
- Назначение:
Программа предназначена для нормализации русских PostScript Type 1 шрифтов, чтобы они правильно отображались, вводились, печатались, дистиллировались, RIP-овались и т.д.
Программа исправляет следующие ошибки в русских PostScript Type 1 шрифтах:
- Неправильные имена символов
- Неправильные параметры AFM и INF-файлов, из-за которых шрифты работают так, как надо.
- Неверная идентификационная строка PFB-файла (%!PS-AdobeFont-1.0: ...), (что встречается у паратайповских шрифтов), из-за чего шрифты не видны в некоторых программах.
Программа также может устанавливать UniqueID (уникальный идентификатор) шрифта.
Следует подчеркнуть, что всю содержательную информацию шрифта: контуры символов (глифов), метрики, кернинг, хинты, композитные символы и т.д., - программа НЕ меняет. Все эти характеристики шрифта полностью сохраняются.
Замечание: Программа может использоваться для обработки шрифтов в иных кодировках (западноевропейской, восточноевропейской и т.п.), а также пиктографических шрифтов, если по каким-то причинам желательно, чтобы эти шрифты обрабатывались системой как русские шрифты.
- Выполняемые программой действия:
Программа принудительно устанавливает в шрифте правильную кириллическую кодировку (точнее, правильные имена символов), переименовывая символы.
Позиции символов в шрифте при этом сохраняются (если они являются допустимыми в кириллической кодировке).
Программа также устанавливает параметры INF и AFM-файлов, необходимые для правильной работы операционной системы с русскими Type 1 шрифтами. Значение параметра WindowsCharSet INF-файла пользователь может выбирать, т.к. в разных случаях этот параметр должен быть разным.
- Формат вызова:
Type1Cyr [имя-файла-шрифта] [режимы]
В имени файла шрифта можно указывать расширение, а можно не указывать. Оно всё равно игнорируется. Например, если Вы скажете Type1Cyr MYFONT, или Type1Cyr MYFONT.PFB, или даже Type1Cyr MYFONT.TXT, программа будет обрабатывать файлы MYFONT.PFB, MYFONT.AFM и MYFONT.INF.
- Режимы программы таковы:
- /E=число - задание кодовой страницы шрифта (параметра WindowsCharSet INF-файла). По умолчанию действует значение /E=0.
При использовании шрифта в Windows 95/98/ME надо указывать параметр /E=204 (или /W, см. ниже). Иначе шрифт операционной системой не будет считаться русским.
При использовании шрифта в Windows 2000/XP/2003 в большинстве случаев лучше режим /E не указывать (что соответствует /E=0). Лишь Microsoft Word и программа Adobe Table при этом работают плохо. Если шрифт будет использоваться в основном с Microsoft Word, может быть целесообразно задать параметр /E=204 (или /W).
Буква "Е" в названии режима /E - латинская (от слова Encoding).
- //W - то же, что /E=204.
- /U=число - задание уникального идентификатора (UniqueID) шрифта. Как правило, значение UniqueID - от 4000000 до 4999999 или 0.
Замечание: Adobe рекомендует, чтобы у всех Type 1 шрифтов в системе UniqueID был разный. Диапазон UniqueID от 4000000 до 4999999 выделен для шрифтов частного применения (личного, внутрикорпоративного и т.п.)
- Ограничения программы:
-
1. Программа Type1Cyr написана под DOS, а потому не понимает длинных имён файлов (в частности, более 8 символов в имени шрифта).
2. При обработке шрифтов в кодировке AdobeStandardEncoding, содержащих композитные символы, определённые командой seac, в преобразованном шрифте некоторые композитные символы могут быть утеряны. Это проявляется, например, для паратайповских "западноевропейских" шрифтов (AcademyA, BalticaA и др.). Причина в том, что внутри шрифта для определения композитов используется команда seac, а она работает только для кодировки AdobeStandardEncoding. В подобных случаях надо загрузить шрифт в шрифтовой редактор типа FontLab, установив режим "Decompose all composite glyphs", и сразу сохранить шрифт. Сгенерированный таким образом шрифт программа Type1Cyr обработает нормально.
Использован материал статей В.Фигурнова.
|
Скачать программу Type1Cyr |
|
Нужен оригинальный шрифт? |
Нет проблем - fontproblem@yandex.ru |
Сомневаетесь в выборе хостинга? Хотите проверить, прежде чем платить? eServer.ru предоставляет Вам эту возможность!
SSL, MySQL, SSI, PHP, PERL, C++, JSP, неограниченный трафик, домен бесплатно и многое другое.
Выберите нас, Вы не пожалеете об этом выборе! Узнать больше...
|