Помощь - Поиск - Пользователи - Календарь
Полная версия: В.Фигурнов: Использование русских Type 1 шрифтов в Windows 2
ProDTP > Шрифты > Траблы и баги со шрифтами
Kassian
Обсуждаем статью В.Фигурнова "Использование русских Type 1 шрифтов в Windows 2000/XP/2003", а также сопутствующую утилиту Type1Cyr, v1.1.

Поскольку статья Фигурнова явно является реакцией на мой текст FontLab и размышления о кириллических шрифтах Type1 и Фигурнов упрекнул меня в неточности выводов, то наверное естественно, если я дам свой комментарий. Кроме того замечу в скобках, что Фигурнов явным образом использовал ряд фактов и положений из моей статьи, однако упоминает мое имя лишь однажды, когда в конце говорит о моей "неточности".

Ниже речь идет о кириллических шрифтах type1 в среде Windows2000/XP/2003 и только (Windows 9x никак не рассматриваются).

По сути, вопрос сводится к тому, надо ли в кириллических шрифтах type1 прописывать параметр WindowsCharSet 204 или не надо. Напомню, что сама Adobe этот параметр не использует в своих национальных шрифтах, а вот, например, Linotype использует.

По сравнению с моим тестовым стендом, Фигурнов вводит в тестирование две новые программы: MS WinWord XP/2002 и Corel Draw 11.

Посмотрим, что мы имеем в этих программах.

1. MS WinWord XP/2002 Eng SP1.
Тут нас ждет крайне неприятный сюрприз. Как и предупреждают нас Константин Казарновский и авторы сайта Шрифты и Microsoft Windows, эта версия Офиса предъявляет свои особые требования к национальным шрифтам type1. Как ни грустно наблюдать подобное поведение со стороны производителя софта, все время меняющего стандарты, но мы должны с этим смирится.
Результаты с нашими тестовыми шрифтами такие:
Test1: кириллица вводится с клавиатуры.
Test2: кириллица не вводится с клавиатуры (у меня соскакивает на системный Courier New), что не удивительно, т.к. это вообще некорректный шрифт во всех смыслах (см. подробнее в моей статье).
Test3: кириллица вводится с клавиатуры.
Test4: кириллица не вводится с клавиатуры (у меня соскакивает на системный Times New Roman).
Test5: кириллица вводится с клавиатуры.
Test6: кириллица вводится с клавиатуры.
Test7: кириллица вводится с клавиатуры.
Test8: кириллица вводится с клавиатуры.

FL3-Test1: кириллица не вводится с клавиатуры (у меня соскакивает на системный Times New Roman).
FL3-Test2: кириллица не вводится с клавиатуры (у меня соскакивает на системный Times New Roman).

Т.е. получается, что шрифты, у которых прописан WindowsCharSet 200 (Bitstream) или 204 (Cyrillic) функционируют нормально, а шрифты без WindowsCharSet или WindowsCharSet 0 (Western) или WindowsCharSet 2 (Symbol) — некорректно.

Это коренное отличие MS Office XP/2002 от предыдущих версий!

В частности заметим, что в этой версии Офиса пользователь не имеет возможности работать с национальными t1 шрифтами Adobe, но зато может работать со шрифтами Linotype или Paratype.
Kassian
2. Corel Draw 11 Eng.
У всех шрифтов кириллица вводится с клавиатуры, но ни в одном шрифте не кернинга у кириллических символов. Замечу, что, видимо, кириллический кернинг Corel 11 не умеет считывать вообще и никогда (с фирменными кириллическими type1 творится то же безобразие). Это та же история, что и с Photoshop 6 & 7. Шоп научился считывать кириллический кернинг только в версии 8/CS (хотя для Photoshop 6 есть патч zg, устраняющий в частности эту проблему).
Так же замечу в скобках, что шрифтовые проблемы с этой версией Корела очень напоминают ситуацию с FreeHand MX, см. тут.

Как указывает в своем тексте Фигурнов, в принципе обойти Corel 11 можно, подменив в реестре c_1252.nls на c_1251.nls, но в таком случае естественно мы лишаемся возможности работать с Western шрифтами, т.е. фран., нем., и другими языками.


Мораль из всей этой истории такова:
A. Если вам нужно набирать кириллический текст в MS Office XP/2002, используя шрифты type1, или иметь сербские и македонские буквы в Adobe Table, то у шрифтов должен быть прописан параметр WindowsCharSet 204.
Или же вместо указания WindowsCharSet 204, можно в реестре в разделе FontSubstitutes
прописать "Font,0"="Font,204" — иногда это должно быть удобнее.

B. Если вы согласны набирать кириллические тексты в предыдущих версиях Офиса (или же использовать в Офисе XP только ttf и otf), но вам важен кернинг кириллических символов в профессиональных пакетах типа QuarkXPress или PageMaker, то параметр WindowsCharSet надо поставить WindowsCharSet 0 или же вообще убрать (последнее, думаю, предпочтительней).


[Все это в ближайшее время постараюсь внести в свою статью.]


Теперь несколько замечаний собственно о тексте Фигурнова.

1.
Цитата
Если надо назначить шрифту параметр WindowsCharSet 0, то это следует делать прописыванием в INF-файле строки WindowsCharSet 0, а не удалением строки с параметром WindowsCharSet из INF-файла.
Дело в том, что шрифт без параметра WindowsCharSet на разных компьютерах устанавливается по разному. По-видимому, без ATM шрифт устанавливается с параметром WindowsCharSet 0, а ATM при установке шрифта, для которого явно не указан параметр WindowsCharSet, устанавливает значение этого параметра (байт 0x55 в PFM-файле) в зависимости от других параметров шрифта. В частности, русские шрифты устанавливаются с параметром WindowsCharSet 204.

Это сильное утверждение и, пожалуй, наиболее интересный момент в обсуждаемом тексте. В принципе это могло бы быть правдой, но я лично ни с чем подобным не сталкивался и ни разу ни о чем таком не слышал ни для каких версий ATM. Насколько мне известно, при отсутствии в файле INF параметра WindowsCharSet байт 0x55 в PFM будет всегда по нулям.
Таким образом, пока Фигурнов не проведет воспроизводимый эксперимент и не докажет факт, все это остается на уровне голословных утверждений.

Я бы советовал вообще убирать WindowsCharSet в таких случаях, и вот, почему. Очень похоже на то, что спецификация файла INF является закрытой (ну или она уж очень глубоко спрятана в недрах adobe.com). Таким образом де-факто стандартом являются сами национальные шрифты type1, поставляемые Адобе. У них WindowsCharSet отсутствует. Поскольку при прочих равных лучше следовать стандарту, чем от него отклоняться, то и WindowsCharSet лучше вообще не прописывать.

2.
Цитата
А Microsoft Word 95 при этом варианте установки шрифтов упорно назначает русским буквам шрифт с названием \"имя-шрифта Cyr\". Хотя делает это не всегда, а для символов определённого размера... А за неимением шрифта с именем \"имя-шрифта Cyr\" форматирует русские буквы шрифтом Courier New или каким-то ещё -- что подвернётся ему под руку.

[Речь идет о работе шрифтов без WindowsCharSet или с WindowsCharSet 0 в неюникодном WinWord 7/95.] Заметим сразу, что сама формулировка (\"не всегда, а для символов определённого размера...\") крайне странна. Вообще подобный глюк для меня является новостью. Сейчас прошелся в WinWord 6 от 4pt до 20pt с шагом в 1pt и от 20pt до 80pt с шагом в 2pt, потом повторил это же в WinWord 7/95 — ничего подобного не обнаружил. Видимо, это какой-то локальный глюк конкретной тестовой системы Фигурнова.

3
Цитата
После экспериментов с Illustrator CS, Indesign CS, Photoshop CS выяснилось, что они без каких-либо проблем поддерживают русские Type 1 шрифты, обработанные программой Type1Cyr.

Это утверждение просто в корне не верно. Обработка шрифта программой Type1Cyr никак не связана с работой новых адобевских продуктов. Как я уже отмечал в своей статье, новые программы Adobe (Ill 10, Инди 2 и линейка CS) едят все и вся. Они без особых проблем заглатывают все тестовые шрифты из моей статьи, даже в корне неверный шрифт Test2 (хотя в его случае и без кириллического кернинга)!


Таким образом выводы.

Предлагаемая утилита Type1Cyr полезна при пакетной обработке "левых" шрифтов type1, однако надо точно представлять себе, что и зачем вы при помощи нее делаете. Если используется FontLab, то все и так получится в нем самом. Кроме того, надо иметь в виду, что (в отличие от "лечилки" ttfconv для TrueType) эта утилита не поправит вам неправильные имена символов. В случае неправильных имен все равно придется действовать через FontLab или Fontographer.

Что касается самой статьи Фигурнова, то можно заключить, что она написана в чрезвычайно вредном стиле "=XYZ для чайников!!!=", т.е. фактически не помогает пользователю разобраться в вопросе, но создает у него иллюзию, что теперь-то он полностью овладел проблемой. Кроме того, статья содержит: a) ряд неправильных утверждений; cool.gif ряд недоказанных утверждений, выдаваемых однако за доказанные.

Это сообщение было отредактировано:  Kassian, 07 Мар, 2004 г. - 04:50
Victor_Figurnov
Поскольку статья Фигурнова явно является реакцией на мой текст
;-) Реакцией на запрос разъяснить методику применения своей программы Type1Cyr.

Фигурнов явным образом использовал ряд фактов и положений из моей статьи, однако упоминает мое имя лишь однажды, когда в конце говорит о моей "неточности".
Не знаю уж, что за факты и положения имеются в виду. Я этой темой занимался давно, и новостей в данной статье для меня не было. Ну, может, я никогда не исследовал столь неправильные шрифты (например, русские с Pi=false), так как знал, что они правильно работать не будут. Поэтому, действительно, сведения об этом были для меня новостью. Но их я не использовал эти новости  ввиду их полной бесполезности.

По сравнению с моим тестовым стендом, Фигурнов вводит в тестирование две новые программы: MS WinWord XP/2002 и Corel Draw 11.
Ещё были FrameMaker и Ventura. Всё-таки две ведущие программы
для книжной вёрстки. Ну, и версии многих проверяемых программ
были другие (а это бывает важно)


MS WinWord XP/2002 Eng SP1. ...получается, что шрифты, у которых прописан WindowsCharSet 200 (Bitstream) или 204 (Cyrillic) функционируют нормально, а шрифты без WindowsCharSet или WindowsCharSet 0 (Western) или WindowsCharSet 2 (Symbol) — некорректно.
Значит, здесь консенсус.


2. Corel Draw 11 Eng.
У всех шрифтов кириллица вводится с клавиатуры, но ни в одном шрифте не кернинга у кириллических символов. Замечу, что, видимо, кириллический кернинг Corel 11 не умеет считывать вообще и никогда

Это не так. У TrueType кернинг будет. И у Type 1 будет,
если заменить кодовую страницу 1252 на 1251.


Как указывает в своем тексте Фигурнов, в принципе обойти Corel 11 можно, подменив в реестре c_1252.nls на c_1251.nls, но в таком случае естественно мы лишаемся возможности работать с Western шрифтами, т.е. фран., нем., и другими языками.
Да, Western (Latin 1) Type 1 шрифты не будут видны..
И нужно будет либо пользоваться  CE (восточноевропейскими) шрифтами,  где нужные символы тоже есть, либо преобразовавать Western (Latin 1) шрифты с помощью Type1Cyr (но тогда преобразованному шрифту лучше
дать новое имя, так как это будет уже другой шрифт).


Насколько мне известно, при отсутствии в файле INF параметра WindowsCharSet байт 0x55 в PFM будет всегда по нулям.
Таким образом, пока Фигурнов не проведет воспроизводимый эксперимент и не докажет факт, все это остается на уровне голословных утверждений.

Это происходит, например. тогда, когда ATM устанавливает шрифт из PFB, AFM, и INF файлов и в нём не указан параметр WindowsCharSet. А до того в том же сеансе  работы с ATM был установлен шрифт, в котором WindowsCharSet был указан. Тогда ATM присваивает шрифту последнее указанное значение WindowsCharSet (т.е из последнего обработанного шрифта, а котором WindowsCharSet был указан). Вот такие пироги.


Очень похоже на то, что спецификация файла INF является закрытой
Её просто нет. Не написали. Даже Дмитрий Юнов, который в Adobe разузнал всё, что возможно и невозможно, тоже не смог её найти.


Таким образом де-факто стандартом являются сами национальные шрифты type1, поставляемые Адобе.
Это очень спорное умозаключение. Adobe никогда ничего подобного не провозглашала. Кроме того, Linotype и FontLab/Pyrus контактируют с Adobe очень плотно,  и они бы не стали использовать неподдерживаемые элементы шрифтов.


Кроме того, В документе Adobe "Non-Latin Fonts"
(http://partners.adobe.com/asn/tech/type/nonlatin.jsp)
ясно сказано, что параметры WindowsCharSet, WindowsFirstChar
и WindowsLastChar определены начиная с ATM 3.0.


Цитата:
А Microsoft Word 95 при этом варианте установки шрифтов упорно назначает русским буквам шрифт с названием "имя-шрифта Cyr" ...

Видимо, это какой-то локальный глюк конкретной тестовой системы Фигурнова.

Возможно. На другом компьютере всё было нормально, на третьем --
Word 95 зависал на Type 1 шрифтах. Больше под рукой у меня
компьютеров нет.

Цитата: "После экспериментов с Illustrator CS, Indesign CS, Photoshop CS выяснилось, что они без каких-либо проблем поддерживают русские Type 1 шрифты, обработанные программой Type1Cyr". Это утверждение просто в корне не верно.
Ну и где контрпример?


Обработка шрифта программой Type1Cyr никак не связана с работой новых адобевских продуктов. Как я уже отмечал в своей статье, новые программы Adobe (Ill 10, Инди 2 и линейка CS) едят все и вся. Они без особых проблем заглатывают все тестовые шрифты из моей статьи,

Это Вы "в корне неверных шрифтов" мало видели. ;-)
Возьмите какой-нибудь старый шрифт URW, где русские буквы обозваны
cyrA, cyrB, cyrV и т.д., или ленполиграфмашевские шрифты,
где все символы имеют имена типа LPM1234. И посмотрите, как они
поведут себя в этих программах. А после Type1Cyr всё будет OK.


Если используется FontLab, то все и так получится в нем самом.
;-)


Кроме того, надо иметь в виду, что (в отличие от "лечилки" ttfconv для TrueType) эта утилита не поправит вам неправильные имена символов.
Всё наоборот. Type1Cyr исправляет имена символов (можете проверить, натравив эту программу на старый шрифт от URW или на какой нибудь AG Opus). А ttfconv это не делает, поскольку там это никому не нужно.
ttfconv правит только CMAP (таблицы преобразования из Unicode
в смещение символа в TTF).


Что касается самой статьи Фигурнова, то можно заключить, что она написана в чрезвычайно вредном стиле "=XYZ для чайников!!!="
Все эти выпады пусть останутся на совести их автора.

статья содержит: a) ряд неправильных утверждений; cool.gif ряд недоказанных утверждений, выдаваемых однако за доказанные.
Пока что эта критика не подтверждена. Разве лишь про Word 95 можно спорить, всегда ли там шрифты с WindowsCharSet 0 сбоят или иногда. Впрочем, всегда готов к конструктивному диалогу.


C уважением, Виктор Фигурнов.
Denis
Цитата
2. Corel Draw 11 Eng.
У всех шрифтов кириллица вводится с клавиатуры, но ни в одном шрифте не кернинга у кириллических символов. Замечу, что, видимо, кириллический кернинг Corel 11 не умеет считывать вообще и никогда

Это не так. У TrueType кернинг будет. И у Type 1 будет,
если заменить кодовую страницу 1252 на 1251.

Да, но при таком изменении в реестре полностью пропадает кернинг в Word 2002 и CorelDraw9 начинает печатать галиматью ( хотя 9-я версия и морально устарела, но до сих пор является наиболее стабильной версией.)
Цитата
Таким образом де-факто стандартом являются сами национальные шрифты type1, поставляемые Адобе.

Полностью разделяю это мнение, т.к. Adobe является разработчиком данного стандарта и является «законодателем».


Это сообщение было отредактировано:  Denis, 08 Мар, 2004 г. - 14:50
Kassian
1. Насчет Office XP/2002 - да, консенсус.

2. Насчет Corel 11 и непонимания им кирилл. кернинга - не надо уж настолько придираться к словам. Имелось в виду естественно кернинг у type1 и без хака nls.
Да и ты сам, кажется, признаешь, что подмена nls файла - в общем случае не лучший путь.

3.
Цитата
Очень похоже на то, что спецификация файла INF является закрытой

Её просто нет. Не написали. Даже Дмитрий Юнов, который в Adobe разузнал всё, что возможно и невозможно, тоже не смог её найти.

Таким образом де-факто стандартом являются сами национальные шрифты type1, поставляемые Адобе.

Это очень спорное умозаключение. Adobe никогда ничего подобного не провозглашала. Кроме того, Linotype и FontLab/Pyrus контактируют с Adobe очень плотно, и они бы не стали использовать неподдерживаемые элементы шрифтов.

А кто свечечку держал, можно спросить? Насчет того, что Юнов узнал \"всё, что возможно и невозможно\" и про Linotype & FontLab?
Да, они сотрудничают с Адобе. Но наивно было бы думать, что Адобе разбрасывается направо и налево всеми своими секретами. Так же как и Microsoft явно утаивает часть вещей, касающихся TrueType.
Как-то я не думаю, что все шрифтовые проблемы у сторонних производителей, таких как FreeHand, Corel, Quark, из-за паталогической кривизны рук ихних программеров.

А что касается спецификации INF, то опять же Adobe не производит впечатление фирмы, делающей софт на коленках. Такая спецификация явно есть. Просто, в отличие от спецификации AFM, ее не опубликовали (случайно или сознательно).

В документе http://partners.adobe.com/asn/tech/type/nonlatin.jsp , где Адобе упоминает WindowsCharSet, то там речь идет именно об арабских шрифтах, которые сама Адобе не производит, и у которых уши растут еще из Алдуса (на их примере Юнов кстати и выяснил про хак с WindowsCharSet).
Для всех остальных шрифтов Adobe на этот параметр забивает, а точнее он выставляется по нулям.

4.
Цитата
А Microsoft Word 95 при этом варианте установки шрифтов упорно назначает русским буквам шрифт с названием \"имя-шрифта Cyr\" ...
Видимо, это какой-то локальный глюк конкретной тестовой системы Фигурнова.


Возможно. На другом компьютере всё было нормально, на третьем --
Word 95 зависал на Type 1 шрифтах. Больше под рукой у меня
компьютеров нет

Вот я о тот и говорю. Совершенно официально обращаю к тебе просьбу: НЕ НАДО ВВОДИТЬ ПОЛЬЗОВАТЕЛЕЙ В ЗАБЛУЖДЕНИЕ непроверенными фактами.
Я ни разу не слышал ни от кого жалоб на подобное поведение этой версии Ворда. И сам ни разу не сталкивался.

5.
Цитата
Кроме того, надо иметь в виду, что (в отличие от \"лечилки\" ttfconv для TrueType) эта утилита не поправит вам неправильные имена символов.

Всё наоборот. Type1Cyr исправляет имена символов (можете проверить, натравив эту программу на старый шрифт от URW или на какой нибудь AG Opus). 

Да, я приношу свои извинения, я был не прав. Действительно Type1Cyr прописывает в PFB и AFM правильные имена у символов. (К сожалению кстати программа не хочет обрабатывать комплекты, состоящие только из PFB + PFM.)

6.
Цитата
  Обработка шрифта программой Type1Cyr никак не связана с работой новых адобевских продуктов. Как я уже отмечал в своей статье, новые программы Adobe (Ill 10, Инди 2 и линейка CS) едят все и вся. Они без особых проблем заглатывают все тестовые шрифты из моей статьи, 

Это Вы \"в корне неверных шрифтов\" мало видели. 
Возьмите какой-нибудь старый шрифт URW, где русские буквы обозваны
cyrA, cyrB, cyrV и т.д., или ленполиграфмашевские шрифты,
где все символы имеют имена типа LPM1234. И посмотрите, как они
поведут себя в этих программах. А после Type1Cyr всё будет OK.

Ну, заметим, кривых шрифтов я видал и имею немало. Это раз. Два: шрифты от URW и LenPoligraphmash совершенно не кривые для своего времени. Они и сейчас прекрасно работают в прогах типа неюникодного Ворда или Кварка. Действительно в юникодном Ворде будут проблемы. Но сами шрифты совершенно не \"неправильные\", просто старенькие.

А три: в Adobe iD 2, iD 3/CS, Ill 10, Ill 11/CS и Photoshop 7 эти шрифты URW и LenPoligraphmash тоже работают АБСОЛЮТНО НОРМАЛЬНО (что, безусловно, делает честь адобевским программерам). Я имею в виду Roman версии. Могу предположить, что проблемы возникают в CE версиях, но тогда так и надо указывать.
Повторяю: последние два поколения адобевских продуктов максимально толерантны к шрифтам type1. Грубо говоря, они скушают все, что угодно.
Опять же НЕ НАДО ВВОДИТЬ ПОЛЬЗОВАТЕЛЕЙ В ЗАБЛУЖДЕНИЕ непроверенными фактами.

7.
Цитата
Насколько мне известно, при отсутствии в файле INF параметра WindowsCharSet байт 0x55 в PFM будет всегда по нулям.
Таким образом, пока Фигурнов не проведет воспроизводимый эксперимент и не докажет факт, все это остается на уровне голословных утверждений.


Это происходит, например. тогда, когда ATM устанавливает шрифт из PFB, AFM, и INF файлов и в нём не указан параметр WindowsCharSet. А до того в том же сеансе работы с ATM был установлен шрифт, в котором WindowsCharSet был указан. Тогда ATM присваивает шрифту последнее указанное значение WindowsCharSet (т.е из последнего обработанного шрифта, а котором WindowsCharSet был указан). Вот такие пироги. 

Ага. А вот в такой формулировке согласен. Да, это действительно так. Если ATM (любой версии?) сама генерит PFM и мы сначала устанавливаем шрифт, у которого эксплицитно прописан WindowsCharSet, а потом, не закрывая ATM, устанавливаем второй шрифт, у которого WindowsCharSet не прописан, то у этого второго шрифта байт 0x55 будет такой же, как у первого ширфта.
Спасибо за указание на такой глюк. Теперь я тоже согласен, что WindowsCharSet лучше всегда прописывать.
Victor_Figurnov
В ответ на сообщение от Kassian от 08 мартя 2004.


я не думаю, что все шрифтовые проблемы у сторонних производителей,
таких как FreeHand, Corel, Quark, из-за паталогической кривизны
рук ихних программеров.


Их просто не волнуют проблемы пользователей в дикой России, где
они имеют 0,001% продаж.


В документе http://partners.adobe.com/asn/tech/type/nonlatin.jsp ,
где Адобе упоминает WindowsCharSet, то там речь идет именно об арабских
шрифтах

Но утверждение о том. что WindowsCharSet
поддерживается начиная с версии ATM 3.0, сделано общее.


Для всех остальных шрифтов Adobe на этот параметр забивает
Потому что для адобовскпх продуктов он не нужен.
А те, кто пользуются другими продуктами, будут иметь причину
для перехода на адобовские продукты. ;-)



НЕ НАДО ВВОДИТЬ ПОЛЬЗОВАТЕЛЕЙ В ЗАБЛУЖДЕНИЕ непроверенными фактами.
Я ни разу не слышал ни от кого жалоб на подобное поведение этой версии Ворда.
И сам ни разу не сталкивался.

Как оказалось, подобное поведение происходит при обмене данными с
юникодными программами. Если в Word 95 вставить -- через RTF, через буфер обмена.
или иным способом, -- форматированный данным шрифтом текст, то он (при
WindowsCharSet 0) получает имя шрифта с суффиксом cyr. Обычно
этот фрагмент можно отформатировать нужным шрифтом, и все приходит
в норму. А иногда -- нет. При WindowsCharSet 200 или 204 этих
фокусов не происходит. Так что я бы рекомендовал при использовании
Word 95 либо ставить в шрифтах WindowsCharSet 204, либо проявлять особую
осторожность при обмене данными с юникодными программами. Например,
вставлять текст из таких программ только как неформатированный текст
(Правка => специальная вставка).


в Adobe iD 2, iD 3/CS, Ill 10, Ill 11/CS и Photoshop 7 эти шрифты URW
и LenPoligraphmash тоже работают АБСОЛЮТНО НОРМАЛЬНО (что, безусловно,
делает честь адобевским программерам). Я имею в виду Roman версии.
Могу предположить, что проблемы возникают в CE версиях, но тогда так
и надо указывать. Повторяю: последние два поколения адобевских продуктов
максимально толерантны к шрифтам type1. Грубо говоря, они скушают все, что угодно.
Опять же НЕ НАДО ВВОДИТЬ ПОЛЬЗОВАТЕЛЕЙ В ЗАБЛУЖДЕНИЕ непроверенными фактами.

;-) Очень грозная инвектива.


Один только нюанс: мои утверждения были полностью проверенными, а Ваши -- нет. :-(


Вы провели самую
поверхностную проверку: назначили шрифт, ввели несколько слов с клавиатуры,
убедились, что русские буквы в этом шрифте видны на экране и печатаются.
И пошли писать гневное письмо.


А если бы Вы столь скоропалительно не впадали в гнев, а чуть-чуть поработали бы с
введённым текстом, то обнаружили бы пренеприятную вещь. Да, русские буквы
вводятся с клавиатуры, видны на экране и печатаются. Но эти введённые
с клавиатуры буквы являются с точки зрения программы не русскими буквами,
а чем-то вроде пиктографических символов из шрифтов типа Adobe WoodType
или DingBats.


В общем. это вполне понятно. Откуда Индизайну или кому-то ещё знать,
что символ /cyrA -- это русское "А"? Неоткуда. Поэтому он рассматривает
его как какой-то пиктографический символ. Как, скажем, символ /gaswell
(похожий на солнышко или конфорку газовой плиты) в шрифте Carta, у
которого позиция тоже равна 192.


Что в результате получается? Возьмём и введём в нормальном шрифте
русский текст. А потом попробуем оформить его нашим кривым шрифтом от URW или
Ленполиграфмаша. Русские буквы пропадут или превратятся в квадратики,
потому что с точки зрения программы в нашем кривом шрифте русских букв нет.
И наоборот, при оформлении нормальным шрифтом введённого в кривом шрифте
текста русские буквы тоже пропадут или превратятся в квадратики.


Я уж не говорю о таких мелочах. как отсутствие для введённого в кривом
шрифте текста проверки спеллинга, переносов, поиска и перевода в другой регистр
и т.п.


Я такое поведение шрифта никак не могу назвать приемлемым. Тем более
"абсолютно нормальным".


Так что моя рекомендация остаётся прежней. Эти шрифты нормально
не работают, и их надо обрабатывать программой Type1Cyr или,
при избытке свободного времени, FontLab'ом.


Кроме того, Вы, видимо, имели в виду не Photoshop 7, а Photoshop 8 (CS).
Photoshop 7 как раз работает с шрифтами не очень корректно (нет кернинга
для русских букв, например).

Теперь я тоже согласен, что WindowsCharSet лучше всегда прописывать.
Ч.т.д.

В заключение скажу о чрезвычайно вредном стиле "=XYZ для чайников!!!=>",,
который фактически не помогает пользователю разобраться в вопросе,
но создает у него иллюзию, что теперь-то он полностью овладел проблемой.




Безусловно, 90% статей и книг, доступных неспециалистам, написано людьми
недостаточно компетентными, и содержат непродуманные легковесные, а часто и неверные
рекомендации. Но 5-10% относятся к другому роду -- их читать тоже легко,
но это "такая лёгкость, в которой сложность преодолена". Там люди говорят просто и
понятно не потому, что сложных вещей не знают, а потому, что говорят лишь то, что
достаточно знать собеседнику или читателю.


Но, чтобы отличить одно от другого, надо хорошо разбираться
в вопросе.


Успехов!


С уважением, Виктор Фигурнов
Kassian
Цитата
Их просто не волнуют проблемы пользователей в дикой России, где 
они имеют 0,001% продаж.

Насколько я понимаю, этот вопрос касается вообще всех шрифтов с кодировкой отличной от AdobeStandard, не только кириллических. Впрочем тут я больших экспериментов не проводил.

Цитата
Потому что для адобовскпх продуктов он не нужен.
А те, кто пользуются другими продуктами, будут иметь причину
для перехода на адобовские продукты.

Угу. За исключением того момента, что Адобе до относительно недавнего времени была таки заинтересована в продажах своего PageMaker.

Цитата
;-) Очень грозная инвектива. 

Совершенно серьезная инвектива. Я обязан следить, чтоб на этом форуме не было постов, вводящих пользователей в заблуждение. Даже если это будут такие содержательные посты, как у тебя.
Хотя, согласен, что и я сам иногда подобным грешу.

Цитата
Вы провели самую 
поверхностную проверку: назначили шрифт, ввели несколько слов с клавиатуры,
убедились, что русские буквы в этом шрифте видны на экране и печатаются.
И пошли писать гневное письмо.

А если бы Вы столь скоропалительно не впадали в гнев, а чуть-чуть поработали бы с 
введённым текстом, то обнаружили бы пренеприятную вещь. Да, русские буквы 
вводятся с клавиатуры, видны на экране и печатаются. Но эти введённые 
с клавиатуры буквы являются с точки зрения программы не русскими буквами, 
а чем-то вроде пиктографических символов из шрифтов типа Adobe WoodType 
или DingBats.

Да, признаю, что мой вывод насчет корректной работы таких кириллических шрифтов в Инди и Илле был скоропалителен и неверен. Дествительно (и в общем закономерно) не работает русский спеллинг, переносы и смена регистра.
Смена такого шрифта на новый в iD 2 возможна только, если это t1 шрифт (причем все равно будет отсутствовать спеллинг и т.д.). Заменить на юникодные ttf или otf не получится.
В iD 3 и того хуже - заменить, кажется, невозможно ни на что.
(Впрочем заметим, что и в Инди, и в Илле вообще много проблем с заменой t1 шрифтов на ttf/otf. Но конечно не таких суровых.)

Цитата
Как оказалось, подобное поведение происходит при обмене данными с
юникодными программами. Если в Word 95 вставить -- через RTF, через буфер обмена.
или иным способом, -- форматированный данным шрифтом текст, то он (при 
WindowsCharSet 0) получает имя шрифта с суффиксом cyr. Обычно 
этот фрагмент можно отформатировать нужным шрифтом, и все приходит
в норму. А иногда -- нет. При WindowsCharSet 200 или 204 этих
фокусов не происходит. Так что я бы рекомендовал при использовании 
Word 95 либо ставить в шрифтах WindowsCharSet 204, либо проявлять особую
осторожность при обмене данными с юникодными программами. Например,
вставлять текст из таких программ только как неформатированный текст 
(Правка => специальная вставка). 

Ага. Вот это уже интереснее. Да, согласен. При создании rtf в юникодном Ворде, если национальные символы взяты из шрифта с CharSet'ом 0, Ворд придумывает и присваивает им новый шрифт с национальным CharSet'ом и национальным суффиксом (напр., CharSet 204, Cyr).
Очень, однако, забавное поведение...

В общем, Виктор, я должен тебя поблагодарить за действительно продуктивную дискуссию. Ты сообщил мне и другим обитателям этого форума ряд новых и интересных фактов. За что тебе большое спасибо.

Что касается твоей статьи, то теперь сам ты видишь, что значат точные формулировки и насколько неточны и даже ошибочны многие утверждения в текущей версии твоего текста.
Victor_Figurnov
В ответ на сообщение от Kassian от 12/03/2004:


Цитата
Насколько я понимаю, этот вопрос касается вообще всех шрифтов с кодировкой отличной от AdobeStandard, не только кириллических.

В моём высказывании была доля шутки. ;-)  На самом деле, адобовский драйвер шрифтов (cooltype.dll) — это выдающееся достижение, повторить которое трудно. Так что если другие фирмы пока не обладают чем-то подобным, то это не показатель их криворукости. А просто показатель того, что Adobe в этом вопросе вырвалась вперёд.


Цитата
В общем, Виктор, я должен тебя поблагодарить за действительно продуктивную дискуссию. Ты сообщил мне и другим обитателям этого форума ряд новых и интересных фактов. За что тебе большое спасибо.

Что касается твоей статьи, то теперь сам ты видишь, что значат точные формулировки и насколько неточны и даже ошибочны многие утверждения в текущей версии твоего текста.

За тёплые слова спасибо. Формулировки поправим. Наверное, выпущу следующую и, надеюсь, последнюю, версию программы Type1Cyr, там будет и следующая версия статьи про использование шрифтов. Тем более  что, благодаря нашему плодотворному обсуждению,  теперь можно лучше, понятнее и конкретнее объяснить механизм действия программы, достоинства и недостатки возможных режимов установки шрифта.


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


1. Режим для обработки паратайповских шрифтов с акцентами — сейчас при обработке этих шрифтов символ акцента, который находится на отсутствующей в кириллической кодировке позиции 152, становится недоступен для неюникондных программ. В README.TXT описан способ спасения этого символа, но он требует большого количества ручной работы. По умолчанию акценты 136 и 152 будут отображаться на позиции 190 и 191, где находятся символы S и s, но можно будет задать и другие варианты.


2. Обработка файлов по маске. Например, type1cyr * будет обрабатывать все Type 1 шрифты из текущего каталога. Может, сделаю и обработку шрифтов в подкаталогах. При этом только нельзя будет задавать UniqueID шрифта.


3. Приложить к программе утилиты для изменения UniqueID шрифта и для изменения внутреннего имени шрифта.


Ещё раз, спасибо за содержательную и полезную дискуссию.


С уважением, Виктор Фигурнов

Это сообщение было отредактировано:  Victor_Figurnov, 12 Мар, 2004 г. - 08:22
Henyk
Виктор!

Ваша программа -- действительно чудесная работа, но я бы ещё хотел предложить опциональную возможность выставления винчарсета 200 aka Bitstream.

Пока что не спрашивайте зачем это нужно...  :-D
Victor_Figurnov
В ответ на сообщение от Henyk от 12.03.2004

Цитата
Ваша программа -- действительно чудесная работа, но я бы ещё хотел  предложить опциональную возможность выставления винчарсета 200 aka Bitstream. 

Спасибо за отзыв. А возможность, которую Вы хотмте, уже есть. Вызывавйте программу с режимом /E=200. Об этом написано в файле README.TXT и в справке, которую выдаёт программа на экран, если её вызвать без параметров или с параметром /?.


C уважением, Виктор Фигурнов
Henyk
Спасибо! Не дочитал до конца  :oops:
Zerge
Victor_Figurnov!
Пиво с меня за программу, коли уж бесплатно выложил на сайт!
----------
Глупостями типа Корела со товарищи не пользуюсь, а в адобных продуктах (Шоп, Шустратор, ИНДД) все исправилось!
---------------------------
Kassian, Victor_Figurnov
не ругайтесь. идете ведь к одной цели.... smile.gif
SINL
Цитата
Кроме изменения документации, я хочу переделать программу в 32-разрядное консольное приложение, чтобы она не спотыкалась на длинных именах файлов. А также ввести следующие усовершенствования:
1. Режим для обработки паратайповских шрифтов с акцентами
2. Обработка файлов по маске.
3. Приложить к программе утилиты
12 Мар, 2004 г. - 08:22


И каковы успехи на этом поприще?
ruvimiski
Если можно ответ на GSoft@list.ru или icq 337586070
Виктор здравствуйте. Есть такой вопрос касаемо Вашей программы.
Суть вопроса - программа при конвертировании Plain начертание конвертирует в Italic. В чем здесь проблема, в кривом шрифте (хотя пробовалось несколько десятков) или же это нюанс самой программы.
Если можно ответ на GSoft@list.ru или icq 337586070
Заранее спасибо.
WAW
Попробовал обкатать эту чудесную по всем отзывам программу, но, или я чего-то не понял в readme, или с программой что-то не то. Набираю в командной строке, например TYPE1CYR  FitaVjaz, как написано в сопроводиловке, и получаю: Не удается найти файл TYPE1CYR  FitaVjaz.exe, что вполне естественно, т.к. его в природе нет. Указываю путь: "C:Type 1CyrTYPE1CYR.EXE" FitaVjaz и получаю: Ошибка при выполнении программы Type 1Cyr, файл FitaVjaz.afm не найден, код ошибки 2.
Путь к ps файлам стандартный для использования ATM. В чем дело - не пойму.

PS Да, ОС - Win 2000 и режимы разные тоже ствил.
Kassian
Должны быть имя—файла-шрифта.PFB, имя-файла-шрифта.AFM и имя-файла-шрифта.INF. И они должны лежать в одной директории. Читаем доки.
WAW
А я и читал:

Формат вызова:
============== 

  Type1Cyr  имя-файла-шрифта  [режимы]

В имени файла шрифта можно указывать расширение, а можно не указывать.
Оно всё равно игнорируется. Например, если Вы скажете Type1Cyr MYFONT ,
или Type1Cyr MYFONT.PFB , или даже Type1Cyr MYFONT.TXT, программа будет
обрабатывать файлы MYFONT.PFB, MYFONT.AFM и MYFONT.INF.
MikeVM
Не забудь, что программа работает в DOS-режиме, поэтому имена всех файлов и директорий не должна превышать 8 символов и быть без пробелов.
Если твом файлы находятся в директории, напр. THIS IS MY FONTS,
то нужно указывать путь: THISIS~1
jonoton
У меня есть некая странность, может я что-то пропустил, но когда я запускаю программу и файлы проходят конвертацию, (в ps1 есть и afm и INF, PFB) то шрифты сконвертированные  прекращают ассоциироваться в маздае XPsp2, и пониматься как fontExpert 2004 6.0 так и exstensis suitcase 9
В чем проблема, если это уже обсуждалось  прошу прощения, дайте ссылку.
Заранее пасиб!
Поиск был пользован
:-?
Kassian
Цитата
прекращают ассоциироваться в маздае XPsp2, и пониматься как fontExpert 2004 6.0 так и exstensis suitcase 9

Эти программы работают только при наличие pfm файла. Поставь ATM и будет щастье.
jonoton
Спасибо за ответ но я предвосхитил его к сожалению *(((
И поставил Adobe Type Manager 4.1 Deluxe и что же, во всем маздае (всмысле меню) слетела кодировка, хорошо, что есть такая пользительная штука как откат на контрольную точку. В общем, еле вернулся назад.
Я так понимаю и тут есть решение проблемы ?
Такое впечатление, что нам не решают проблемы адоб и мелкомягкие а создают *(
Если несложно киньте ссылку на решение и этой проблемы, если ВАС не затруднит!
Kassian
Создай новую тему, там спроси, а тут лучше не офтопить.
danny
Если работаешь на ХР, Photoshop 8, a шрифты с изображениями - *.ttf - ничего хорошего тебе не светит. У меня проходят только шрифты типа Type 1 и большинство ps (pfm+pfb).
danny
Цитата(spravedlivy @ Apr 26 2005, 12:46)
2 danny:
А чем отличаются шрифты Type 1 от ps?
*



Не знаю. У меня установлены были постскрипт шрифты (*.pfm + *.pfb). Работала в Кваке и Шопе 6 под 98 - полный порядок. Перешла на XP, Шоп 8, попробовала InDesign CS - ничего! Позвала умеющих друзей на помощ, терзала их две недели. В Дизайне и Шопе - полный мрак, в Кварке на експонаторе выводятся только постскрипт шрифты (которые в Дизайне и Шопе вообще не видно). Про *.ttf пришлось забыть. Скачала здесь с архива фонты, на которых было указано, что они Type 1 - все пошло наилучшим образом. Да вот не нашла два шрифта для основного текста - у меня они называются Timok и Helen. Теперь в Шопе работаю с красивыми шрифтами с архива, в Кваке верстаю с тем, что идет, а от InDesign отказалсь. А хочется...  huh.gif
danny
Цитата(Kassian @ Apr 26 2005, 13:14)
Сам понимаешь, что ничем.
*


Спорить вообще не буду, я лаик. Но можешь ли объяснить зачем тогда у меня в Шопе8 Type 1 с архива видны и чудесно выводятся на експонаторе, а старые ps, которые с Кварка выводятся в Шопе не видны? Все переустановлено, шрифты через Аdobe Type Manager 4.01 - все.
nik7777
danny

Ты все неправильно напутала smile.gif
По большому счету, народ пользует три вида шрифтов: TrueType (.ttf), OpenType (.otf) и Type1 (.pfb +).
Есть еще MultiplyMaster (.mmm +) -- незаслуженно игнорируется всеми производителями софта (Shlyapa, я все еще помню про написание статьи, а ты?).

У твоих-то ps и Type1 какие расширения?
danny
Разширения все *pfm + *.pfb. Но факт остается фактом - одних видно, других - нет. Скажем s Stonehenge-м порядок, а с Helen-ом - нет. Буду благодарна, если подскажешь решение. Но объяснят придется как тупому - я с шрифтами работаю, поскольку верстаю и дизайню газеты и журналы. Дальше - ни-ни.
nik7777
Цитата(danny @ Apr 26 2005, 18:12)
Разширения все *pfm + *.pfb. Но факт остается фактом - одних видно, других - нет. Скажем s Stonehenge-м порядок, а с Helen-ом - нет. Буду благодарна, если подскажешь решение. Но объяснят придется как тупому - я с шрифтами работаю, поскольку верстаю и дизайню газеты и журналы. Дальше - ни-ни.
*


Так значит это все шрифты Type1 (они же ps). Если "ни-ни", то попробуй свой Helen обработать утилитой Фигурнова Type1Cyr (здесь в архиве лежит).
danny
Спасибо, попробую.
Мне Еvgen попытался Trans Type-ом помочь, но я не справилась. Не получилось у меня, может шрифты, которых попыталась переделывать (из ttf в ps) глючными были.
danny
Цитата(nik7777 @ Apr 26 2005, 14:30)
попробуй свой Helen обработать утилитой Фигурнова Type1Cyr (здесь в архиве лежит).
*



Скачала, начала изучать. Сразу вопрос - не вижу шрифтов с разширением .INF. А совету перекрутить все через FontLab никак не могу следовать - с такой программой никогда в жизни не работала.
spravedlivy
2 danny:

<<Сразу вопрос - не вижу шрифтов с разширением .INF>>
Тут где-то на сайте была статья о шрифтах - ttf, type1, otf. Рекомендую почитать. Много вопросов сразу отпадут. :-)
nik7777
Цитата(danny @ Apr 26 2005, 19:05)
Скачала, начала изучать. Сразу вопрос - не вижу шрифтов с разширением .INF. А совету перекрутить все через FontLab никак не могу следовать - с такой программой никогда в жизни не работала.
*


Тогда используй TransType для получения полноценного Type1.
Если еще вопросы появятся, то отыщи поиском топик про Type1Cyr и продолжай там. В этом все-таки другой вопрос обсуждается.
Kassian
Цитата
отыщи поиском топик про Type1Cyr

(Это эта ветка и есть. Кто-то из модераторов сюда кусок другого треда перенес.)
danny
Н-да, перенесли, я ответов нашла и мне ужасно стыдно признаться, но я доброй половины спора не понимаю. Не разбираюсь я в софте, ни тем более в управлении и создании шрифтов. Научиться конечно было бы неплохо, и статьи найду и потихонечку буду читать, но я - юзер шрифтов и программ, не создатель. Когда у меня горит компьютер, я таскаю его (буквально) к друзьям, чтоб перезагрузили все программы и привели их к синхронной работе. Ну, скажем плагины в Шопе могу ставить и сама. Шрифты через АТМ - тоже. Но я никоим образом не рискну предпирнять действия, которые могут сорвать машину, а я не смогу сама вернуть все обратно. Если модераторы или другие експерты стояли за плечом и могли поругать и быстренько все исправить - тогда пожалуйста, экспериментировала бы. А так - не смею. Сорву все, а тут придется газету верстать! И кто же будеть из-за меня каждую неделю компьютер перегружать! Поэтому делаю не как надо и как правильно, а как возможно при данных обстоятельствах.
Всем спасибо за советы. Может пробюсь когда-то...smile.gif))
aar
Type1CyrShell — оболочка для Type1Cyr.

Type1CyrShell_v0.01.rar (размер 501 кбайт)
доступен по адресу: webfile.ru/295596 в течение 14 дней до 08:08 24.05.2005.

Дополнительные возможности:
- обработка длинных имен файлов шрифта;
- рекурсивная обработка каталогов со шрифтами;
- удаление бэкапа, т. е. файлов *.~FM, *.~NF, *.~FB, *.$FM.
aar
Type1CyrShell v0.02

*  для  параметра  --fontsdir  перед  закрывающей кавычкой не
  должен  стоять  символ  бэкслэш  (\), так как операционная
  система    трактует    конструкцию    \"    как    эскейп-
  последовательность  для  символа  кавычки,  а  не  как два
  символа  (бэкслэш и кавычка),  и  поэтому  считается,  что
  всё,  что  находится  в командной  строке  есть  значение 
  параметра,  включая и последовательность следующих за этим
  параметров.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2012 Invision Power Services, Inc.

Реклама

   Rambler's Top100    Яндекс цитирования