Render.ru

Type1 из TrueType

#1
Можно ли сгенерить хороший, не кривой Type1 из TrueType, используя FontLab? Я пробую - вроде получается все зыкенксо, Иллюстэйтор все понимает. Но есть один косяк, который не могу разрешить. Если я конверчу из Type1 (PFB) в свой собссный (для порядка) шрифт Type1 - все кул. А если делаю Type1 из TTF, то, вроде все зашибись, но если я сохраняю текст с табуляциями в PDF, Acrobat Reader (5) табуляцию сохраняет, но примешивает к ней прямоугольнички. То же самое при растеризации в PS7. А если в EPS сохраняю - гут. Это связано с тем, что лучше пользоваться Дистиллером для конверта в PDF, или, все-таки, из TTF Type1 не сваришь?
 
#2
А ты сравни глифы, соответствующие табуляторам, в шрифте, с которым всё в порядке, со своим.
 
#3
А чему соответсвует глиф, который FontLab называет ".notdef"? Это не символ ли табуляции? Просто хочется знать наверняка, дабы приступить к переработке шрифтов "под себя".
 
#5
Глифа .notdef возвращается «спросившему», если в запросе указана глифа, не содержащаяся в шрифте. Классический пример — запросы кириллицы afii100xx к «горбатым» кириллическим шрифтам. В свое время — год 97-98, это приводило к «в каждой строчке — только точки [bullet'ы]» в Word't 97/98 b CorelDRAW 8. Еще раньше — в PageMaker'е под NT.
Если ты забудешь создать .notdef сам, то FL при экспорте шрифта создаст его самостоятельно.
 
#6
Блиииинн,... Типа поторопился я с переделкой шрифтов :)
А где ж тогда символ табуляции там найти?
 
#7
HT — decimal 0009. Только не знаю, какое из приложений его поддерживает. Табуляция в «верстальном» плане делается обычным сдвигом следующего за HT символа в фиксированную позицию (левый табулятор), т.е. программно. Так что даже если ты и нарисуешь глифу HT, то скорее всего, нигде ее и не увидишь. Да и ценность ее как табулятора весьма сомнительна — с таким же успехом можно табулировать текст с помощью пробела или знака, скажем, «минус». Впрочем, среди канцелярских работников первый способ весьма распространен.
Когда из AI документ сохраняется как PDF, то текстовые строки в этом PDF'е несут в себе все неотображаемые символы — в т.ч. и специальные: из первых 31 символов ASCII. Поэтому в Reader'е можно неожиданно увидеть HT или мягкие переносы, расставляемые в тексте Unispell'ом. При выводе в PS (или записи документа как EPS) символы форматирования «остаются» в AI, а в конечный PostScript-помещается результат их действия, т.е. форматированный текст. IMHO, при сохранении в PDF'е тоже нужно так делать — выносить служебную информацию в отдельное место, как то сделано в AI EPS'ах. Но, видимо, не сраслось пока что-то :-(
 
#8
Аркадий,

спасибо за объяснения. Правда, мне так и непонятно, почему же, если сгенеренный в AI PDF открыть в нем же - все нормально, а в Acrobat или PSH - примешиваются прямоуголнички. Если я генерю свой Type1 и очищаю .notdef, то есть, редактирую путем удаления прямоугольничка - все как надо работает. Но это ж неправильно?

> IMHO, при сохранении в PDF'е тоже нужно так делать — выносить
> служебную информацию в отдельное место, как то сделано в AI EPS'ах.
А как же так сделать-то?
 
#9
Еще странность: во всех шрифтах, даже в тех, в "правильности" которых я, по определению, должен быть уверен (например, родной Arial в XP), символ HT (0009) серенький, то есть, пустой. Или я ваапсче туписта, раз такие глупости спрашиваю. Даже неловко, блин...
 
#10
>> если сгенеренный в AI PDF открыть в нем же - все нормально
Потому что AI распознает свои метаданные (Document thumbnail) и лишнего не показывает. Аналогично AI нормально открывает «свои» EPS'ы, а чужие (или свои, но без «Doumant thumbnail») преобразует в нагромождение разрозненные фигур и букв/слов.
Точно также растеризатор Photoshop'а или Acrobat reader не вникают в метаданные AI, а просто выводят на экран/растеризуют представленный им PostScript. А вот тут-то в нем (в строках) и оказываются те самые спецсимволы, по всем правилам отображаемые глифой .notdef, т.к. вряд ли кому взбредет в голову в наборной гарнитуре делать зюку, символизирующую собой горизонтальную табуляцию.
 
#11
Надо же, я думал, thumbnail это совершенно другое :) (Preview)
То есть, при сохранении убирать галочку "Generate Thumbnails"? Как-то не верится в другую трактовку этой галочки. Хотя, на всякий попробовал без нее - то же самое.

Я вот что подумал: а вдруг в полиграфии вообще не принято пользоваться табуляцией, как, допустим, ей не пользуются в HTML? Если это так - я и не буду заморачиваться, хотя все равно хочется понять, в чем же косяк.
 
#12
Thumbnail в данном случае всего лишь встраивание в документ дополнительной информации, позволяющей AI при повторном открытии такого документа восстановить его логическую структуру. Представляет собой этот thumbnail доволно большой объем PostScript-комментариев.
>> а вдруг в полиграфии вообще не принято пользоваться табуляцией
Это у секретуток принято не пользоваться табуляцией. В верстаках же символ табуляции никак не отображается, а только лишь сигнализирует программе о том, что текст нужно разорвать и опреденным образом выровнять по заранее определенной позиции в строке. Точно также, например, обрабатывается и мягкий перенос — в обычных условиях он не виден. Хотя в записанном непосредственно из AI PDF'е часто эти переносы вылазят на экран

>> хотя все равно хочется понять, в чем же косяк.
Повторяю [см. выше] — «Когда из AI документ сохраняется как PDF, то текстовые строки в этом PDF'е несут в себе все неотображаемые символы — в т.ч. и специальные: из первых 31 символов ASCII. Поэтому в Reader'е можно неожиданно увидеть HT или мягкие переносы, расставляемые в тексте Unispell'ом. При выводе в PS (или записи документа как EPS) символы форматирования «остаются» в AI, а в конечный PostScript-помещается результат их действия, т.е. форматированный текст».
Т.е. в EPS'е (или PS-файле) имеем например:

0 0 moveto
(tabulated) show
300 0 moveto
(Text) show

в записанном PDF'е этот текст будет представлено примерно так:

0 0 moveto
(tabulated\tText) show

(на самом деле в PDF текст дробится по отдельным литерам, но в данном случае это не принципиально). Обрати внимание на символ табуляции \t присуствующий в строке. Вот он то у тебя и отображается с помощью .notdef
Причем если ты используешь TTF-шрифт, то в сиду ряда особенностей встраивания этих шрифтов в PDF табуляция принимает образ двухбайтового CID'а \000\000
P.S. Табуляция встраивается в строки, набранные шрифтом поддерживающим кириллицу. В Roman'ские строки табуляция не встраивается.
А вывод такой — если уж используешь TTF'ы, то пользуйся Distiller'ом. Или не пользуйся TTF'ами :)
 
#13
Аракадий,

спасибо тебе и прости за кажущуюся тупость, на самом деле я парень врубастый :)

> А вывод такой — если уж используешь TTF'ы, то пользуйся
> Distiller'ом. Или не пользуйся TTF'ами :)

Вообще-то я Type1 использовал, которые сам сгенерил. Просто у Type1 скачанных где-то-там глиф .notdef пустой, а в TTF-ах - нет. В общем, я понял так: Не надо переделывать шрифты и удалять прямоугольничек из .notdef при генерарировании Type1, просто для экспорта в PDF использовать Distiller,
про Save As -> PDF в случае с текстом лучше забыть. Правильно?
 
#14
Скажи пожалуйста, а почему при генерации PFB скидываются все проставленные мной энкодинги? (FL4.6) То есть, везде в свойствах шрифта проставляю Cyrillic/CP1251 Cyrillic. (Encoding And Unicode/Supported Codepages/Unicode Ranges). И неважно, что я проставляю в настройках Type1-экспорта в Options самой программы, неважно, как именно сохраняю PFB (Type1 Binary/Multiple Master). Открываю сгенеренный PFB - А там только Latin 1 в Supported Codepages, правда, в Microsoft Character Set CP1251 остается. В принципе, установленные затем в систему, эти шрифты работают прекрасно, с кириллицей проблем нет. Просто, непорядок, ведь! :) Кстати, а какой все-таки PFB выбирать, Type1 Binary или Multiple Master?
 
#15
Чтобы «энкодинги» не переключались в Latin, надо кириллицу на отведенные ее места расставить — c именами afii100xx, переключатели в позициях «Name», «MS Windows Cyrillic 1251» утоплена кнопка с сеточкой — между «UNI» и «123»
 
#16
Ух ты... А я только следил, чтобы заглавная "А" стояла на 0410, и чтобы "Ё" на своих местах были... Вечером посмотрю, спасибо!
 
#17
> переключатели в позициях «Name»
В dropdown меню позиции Name нет 1251, из максимально близких только Adobe Cyrillic (Mac)

> утоплена кнопка с сеточкой — между «UNI» и «123»
"Codepages"? Так и делаю, вибираю MS Windows 1251 Cyrillic и слежу, чтобы заглавная "А" стояла на 0410 (afii10017), соответственно, маленькая "я" на 044F (afii10097).

Вроде все по правилам, а сгенерированный PFB сбрасывает кириллические настройки, если смотреть их через FontLab, но, повторюсь, на пригодности шрифта это не сказывается, все гут.
 
#18
>> а сгенерированный PFB сбрасывает кириллические настройки
В PFB достаточно, чтобы encoding был Custom, а кириллица именовалась как afii1000xx. Язык указывается в PFM- и в AFM-файлах. Это уже прописывается в File > Font info > Encopding & UNICODE
 
Сверху