Так какие же шрифты правильные?

  • Автор темы Автор темы Shlyapa
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Shlyapa

Участник
Топикстартер
Сообщения
4 838
Реакции
1
При рассмотрении только что вышедшей новой версии Корела обнаружилось, что имеет место два варианта поведения шрифтов Type1.

Первый вариант

• переносы в Кореле ХэЗэ не работают;
• русский текст нормально выводится в PS, EPS и PDF;
• в INF-файле этих шрифтов прописано (лишнее опущено)
CharacterSet (custom)
Encoding (SpecificEncoding)
WindowsCharSet 204
• в AFM-файле: EncodingScheme FontSpecific
• шрифты эти — старые ParaType-овские, обработанные утилитой type1cyr.

Второй вариант

• работают переносы в Кореле ХэЗэ;
• русский текст нормально выводится только в PDF, и только при Encode text as: Unicode в параметрах Publish to PDF, а в PS и EPS выводится только латиница, цифры и знаки препинания;
• в INF-файле этих шрифтов прописано (лишнее опущено):
CharacterSet (cyrillicreg.cs)
Encoding (cyrillic.enc)
WindowsCharSet 204
• в AFM-файле: EncodingScheme AdobeStandardCyrillic
• шрифты эти сгенерированы FontLab-ом.

Имена глиф в шрифтах в обоих вариантах поименованы в соответствии с Adobe SCFS.

Говорят, что в других программах (верстальных, но в каких именно — не уточнялось) в работе этих шрифтов различий не замечено — и, тебе, переносы, и вывод без проблем в PS, EPS и PDF.

Кто что думает по этому поводу?
 
Ответ: Так какие же шрифты правильные?

Shlyapa сказал(а):
При рассмотрении только что вышедшей новой версии Корела обнаружилось, что имеет место два варианта поведения шрифтов Type1.

Первый вариант

• переносы в Кореле ХэЗэ не работают;
• русский текст нормально выводится в PS, EPS и PDF;
• в INF-файле этих шрифтов прописано (лишнее опущено)
CharacterSet (custom)
Encoding (SpecificEncoding)
WindowsCharSet 204
• в AFM-файле: EncodingScheme FontSpecific
• шрифты эти — старые ParaType-овские, обработанные утилитой type1cyr.

Второй вариант

• работают переносы в Кореле ХэЗэ;
• русский текст нормально выводится только в PDF, и только при Encode text as: Unicode в параметрах Publish to PDF, а в PS и EPS выводится только латиница, цифры и знаки препинания;
• в INF-файле этих шрифтов прописано (лишнее опущено):
CharacterSet (cyrillicreg.cs)
Encoding (cyrillic.enc)
WindowsCharSet 204
• в AFM-файле: EncodingScheme AdobeStandardCyrillic
• шрифты эти сгенерированы FontLab-ом.

Имена глиф в шрифтах в обоих вариантах поименованы в соответствии с Adobe SCFS.

Говорят, что в других программах (верстальных, но в каких именно — не уточнялось) в работе этих шрифтов различий не замечено — и, тебе, переносы, и вывод без проблем в PS, EPS и PDF.

Кто что думает по этому поводу?

Ты сам-то понял что спросил? Я нах ничего не понял. Попробуй Сформулировать вопрос по другому... Меня самого тоже сейчас интересуют отличия форматов файлов...
 
Ответ: Так какие же шрифты правильные?

Shlyapa Дмитрий, немного смущает то, что два приведённых шрифта имеют WindowsCharSet 204. попробуй параметру Microsoft character set, присвоить значение Bitstream font set. К своему стыду могу только добавить, что Х3 установил давно, а руки не дойдут...
 
Ответ: Так какие же шрифты правильные?

Лично меня Bitstream font set смутил бы гораздо больше. Уж и не знаю, почему.
 
Ответ: Так какие же шрифты правильные?

Shlyapa
А ты сравнивал pfm'ы? Если сделать два одинаковых шрифта с одной и другой версией .inf

И второе... Как с поведением в Адобе CS, PM, Кварке, Word'е (Word более интересен, т.к. вообще работает с Type1 через одно место...)

У меня есть какое-то подозрение, что 2-й вариант более явно указывает, что шрифт кириллический, поэтому Corel начинает использовать русскую таблицу переносов. Может быть есть различия с маппингом букв на внутреннюю кодировку таблицы переносов (не забывай, языковой пакет там унаследован из WordPerfect'а, причем чуть ли не из Досовского).
 
Ответ: Так какие же шрифты правильные?

А ты сравнивал pfm'ы? Если сделать два одинаковых шрифта с одной и другой версией .inf
Тут и сравнивать нечего: если INF-ы разные, будут отличаться и PFM-ы.

Как с поведением в Адобе CS, PM, Кварке, Word'е (Word более интересен, т.к. вообще работает с Type1 через одно место...)
Расскажу про второй вариант, поскольку первый вариант у меня без PFM-файла. Его мог бы сгенерировать ATM, но он у меня не установлен (обхожусь Suitecase-ом, поскольку у меня все шрифты комплектами из четырёх файлов), и ради одного единственного эксперимента устанавливать его не хочу.

И про Кварк с PM-ом не расскажу — нет их на компе, за которым сейчас сижу. (Кварка нет вообще ни на одном, за которыми работаю, но сейчас не об этом.)

Итак, поведение шрифтов «второй вариант» в Adobe CS2 и MS Word.

Adobe CS2: ввод с клавиатуры, назначение ранее набранному тексту, переносы, проверка орфографии, кернинг, вывод в любые форматы — всё ОК.

MS Word 2003: ввод с клавиатуры, назначение ранее набранному тексту, переносы, проверка орфографии, вывод на PS-принтер, вывод на принтер Adobe PDF, вывод через Convert to PDF — всё ОК, кроме кернинга.

Примечание: WinXP Pro Rus SP2. Реестр, как это порой рекомендуют делать ради обхода проблем со шрифтами, НЕ редактировался.)

не забывай, языковой пакет там унаследован из WordPerfect'а, причем чуть ли не из Досовского
Не удивлюсь, если это действительно так.
Однако, начиная с 12-й версии Корел стал поддерживать Unicode, что должно указывать на некоторую переработку текстового движка.

P.S. Во вложении — шрифты обоих вариантов для желающих поэкспериментировать самостоятельно.
 

Вложения

Ответ: Так какие же шрифты правильные?

А не помнишь, в Ворде вообще удалось для Type1 шрифтов получить кернинг?
А то я что-то в упор не могу вспомнить.

Насчет текстового движка...
Я подозреваю, что они просто переписали функцию передачи текста в хепхинатор, соответственно ввели трансляцию из Unicode в 8, если вообще не 7 битный код (помнится в WordPerfect'е была очень специфичная кодировка русского, посмотри на досуге шрифтец WP CirillicA, его кажется очень любит Корел ставить, у него кодировка унаследована от старого DOS'го WP).

Вобщем нужно смотреть... Хотя меня уже задрали эти шрифтовые чудеса, все...
Нужно писать скрипт для FontLab'а и все шрифты в OTF перегонять, а то надоело.
 
Ответ: Так какие же шрифты правильные?

JAW сказал(а):
А не помнишь, в Ворде вообще удалось для Type1 шрифтов получить кернинг?
А то я что-то в упор не могу вспомнить.
Фигурнов в статье «Использование русских шрифтов Type 1 в Windows 2000/XP/2003» пишет:


• Adobe FrameMaker 7.0
• Adobe PageMaker 7.0
• Corel Draw 11
• Corel Ventura 10
• Microsoft Word 2002
• Microsoft Word 95
• Quark XPress 5.0
• Quark XPress 6.0

…кернинга для русских букв эти программы не видят. Чтобы увидели, приходится применять хак с подменой кодовой страницы (см. пункт 5 ниже).


5. Хак с подменой кодовой страницы

Подмена делается выполнением файла 1252_RUS.REG с таким содержанием:

REGEDIT4
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNlsCodePage]
”1252” = ”c_1251. nls”

А отмена этого хака — выполнением файла 1252_LAT.REG с таким содержанием:

REGEDIT4
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNlsCodePage]
”1252”=”c_1252. nls”

Этот хак небезобиден — при его использовании могут возникнуть проблемы с западноевропейскими, восточноевропейскими, и т. п. шрифтами. Поэтому без надобности его не следует применять.
Лично я его, хак этот, вообще не применяю. Ну его в баню!..

JAW сказал(а):
Насчет текстового движка...
Я подозреваю, что они просто переписали функцию передачи текста в хепхинатор, соответственно ввели трансляцию из Unicode в 8, если вообще не 7 битный код…
По большому счёту всё равно, как оно у Корела внутри устроено. Важно то, что снаружи. А снаружи имеем неудовлетворительную работу со шрифтами Type1, и не какими попало, а отвечающими требованиям действующих спецификаций.
Это приговор. Или диагноз.
(нужное подчеркнуть)

JAW сказал(а):
меня уже задрали эти шрифтовые чудеса, все...
Нужно писать скрипт для FontLab'а и все шрифты в OTF перегонять, а то надоело.
Перегонять Type1 в OTF не добавляя фич я считаю бессмысленным.

Оно конечно, с OTF-ами новый Корел ровнее работает (я проверял).
Но на Корел ли равняться?
 
Ответ: Так какие же шрифты правильные?

Shlyapa сказал(а):
Лично я его, хак этот, вообще не применяю. Ну его в баню!..

Аналогично. Если уж приспичит в Ворде верстать, то как нибудь TTF'ми обойдусь.

По большому счёту всё равно, как оно у Корела внутри устроено. Важно то, что снаружи. А снаружи имеем неудовлетворительную работу со шрифтами Type1, и не какими попало, а отвечающими требованиям действующих спецификаций.

Чего, чего? А с чего это ты, интересно, считаешь, что утилита Фигурнова работает правильней с точки зрения спецификаций, чем FontLab?

Перегонять Type1 в OTF не добавляя фич я считаю бессмысленным.

Ну, бессмысленно, не бессмысленно, но тут знакомым таким образом удалось таки решить проблему переноса MAC - PC для Adobe CS.
Да и по крайней мере не так остро стоит проблема, что эта программа нормально работает, эта не работает, эта кернингов не видит без хаков и т.п.

Оно конечно, с OTF-ами новый Корел ровнее работает (я проверял). Но на Корел ли равняться?

А почему собственно нет? Да и AdobeCS тоже с русскими Type1 работает не сказал бы, чтобы идеально.

Тут есть один очень существенный момент.
Дело в том, что Type1 шрифты изначально не предназначены были работать с 16 битными кодировками, они как бы 8 битные по жизни.
Когда началась игра с Unicode и началась задница с маппингом букв на Unicode индекс.
Посему лучше уж сразу нормально юникодные таблицы прописать, чем надеяться, что дяди америкосы сделают все нормально для русского языка.
 
Ответ: Так какие же шрифты правильные?

Чего, чего? А с чего это ты, интересно, считаешь, что утилита Фигурнова работает правильней с точки зрения спецификаций, чем FontLab?
Как раз наоборот.
Правильными я считаю шрифты, сделанные FontLab-ом.

Шрифты, обработанные утилитой Фигурнова разве что выводятся из Корела в PS и EPS. Но ведь переносы в том же Кореле с этими шрифтами не работают, что означает, что не всё в порядке с их, тыкскыть, языковой идентификацией.

А полностью правильные шрифты (у которых с языковой идентификацией всё в порядке) Корел вывести в PS и EPS не может? Почему?

А х… его знает! Корел ведь…

Да и AdobeCS тоже с русскими Type1 работает не сказал бы, чтобы идеально.
А конкретнее?

Дело в том, что Type1 шрифты изначально не предназначены были работать с 16 битными кодировками, они как бы 8 битные по жизни.
Ну и что? Восьми бит вполне достаточно, чтобы прописать 256 символов таблицы, а уж какой именно — 1250, 1251, 1252, 1253… — без разницы.

Кста-а-ати!
Интересно, какой-нибудь не английский текст Корел так же выводит, так же в нём переносы расставляет, если использовать правильные шрифты с кодовой таблицей, отличной от 1252?

Когда началась игра с Unicode и началась задница с маппингом букв на Unicode индекс.
Ну-у-у, впервые я с этим столкунался при переходе на MS Office 97 — тому уж сколько лет? За прошедшее с тех пор время многое и во многих местах улучшилось и даже уже устаканиваться начало. И устаканится окончательно рано или поздно.

Но одни дальше в этом направлении продвинулись, другие в пути подзадержались. Когда-нибудь (но когда?) подтянутся.

Но сейчас-то что?
А сейчас иметь в виду всё вышесказанное об особенностях работы Type1 в том же, чёрт его побери, Кореле, и не наступать на грабли.
Предупреждённый вооружён.

Или работать в софте, в котором граблей поменьше разбросано.
 
Ответ: Так какие же шрифты правильные?

перечисленные различия между двумя вариантами к теме не относятся. На самом деле ХэЗэ смотрит на волшебный байт 5aH (90), PitchAndFamily, в файле pfm. Для символьных type1 это 51H. Для серифов 11H, для сан-серифов 31H, и т.д. 01H -- это, вероятно, don't care. При установке кириллических (возможно, любых "нестандартных") type1 из inf+afm ATM почему-то всегда пишет 51H, в создаваемый pfm, в этом все и дело. ХэЗэ справедливо считает, что всякие символы и дингбаты переносить не надо, в том числе не переносится и англ. текст, набранный таким шрифтом
 
Ответ: Так какие же шрифты правильные?

1998]/b]
А как ATM узнаёт, что шрифт кириллический или нестандартный? По каким конкретно параметрам?
 
Ответ: Так какие же шрифты правильные?

1998 сказал(а):
ХэЗэ справедливо считает, что всякие символы и дингбаты переносить не надо, в том числе не переносится и англ. текст, набранный таким шрифтом
Ну ладно, почему в ХэЗэ не всегда работают переносы понятно. Оно, наверное, и правильно.

Но почему при использовании шрифтов «второй вариант» ХэЗэ, раставив переносы, не выводит кириллицу в PS, EPS и PDF, если в параметрах вывода последнего указано Encode text as: ASCII?

В этом-то случае ему чего не хватает?
 
Ответ: Так какие же шрифты правильные?

>А как ATM узнаёт, что шрифт кириллический или нестандартный?

не знаю, я не шрифтовик. Проверка навскидку, замена в "нерусском" AmericanTypewriter всех строк в inf и afm, приведенных в сообщении #1, на соответствующие из "вариант2", показала, что АТМ не устанавливает волшебный байт в 51H. Значит, анализируется наличие или отсутствие каких-то конкретных символов

>почему ... не выводит кириллицу в PS, EPS и PDF

неблагодарное занятие, анализировать поведение цорела, тем более с устаревшим форматом шрифтов, тем более с никому, кроме 1/6, не интересным алфавитом
 
Ответ: Так какие же шрифты правильные?

1998 сказал(а):
неблагодарное занятие, анализировать поведение цорела, тем более с устаревшим форматом шрифтов, тем более с никому, кроме 1/6, не интересным алфавитом
Может быть, может быть…

Однако, есть софт, уверенно работающий со всеми форматами шрифтов, при условии, что шрифты правильные.
Потому, несмотря на некоторые успехи последней версии Корела, причислить его к числу надёжных инструменов по-прежнему нельзя.
 
Ответ: Так какие же шрифты правильные?

Подниму тему, решена ли проблема с выводом шрифтов на PS, кроме как переводом в OTF?
 
Статус
Закрыто для дальнейших ответов.