Хелп! Генерация шрифтов в FontLab 4.6?

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

AlexWAR

Участник
Топикстартер
Сообщения
778
Реакции
389
Кто-нибудь может подсказать, как правильно перегенерить FontLabом старые Type 1 (типа Helios и т.п.)? Какие настройки кодировки, набора символов и прочие?
 
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

Для удобства продублирую весь рецепт корректировки Type 1 шрифтов.

Подготовительное действие. При использовании FontLab версии 4 (4.5, 4.6 и т.п.) надо добавить в него описание кириллической кодировки. Для этого надо скачать файл CP1251.ENC:
http://www.orthonord.orthodoxy.ru/fonts/cp1251.enc
и поместить его в подкаталог Encodings программного каталога Фонтлаб (обычно это каталог C:\Program Files\FontLab\FontLab). В FontLab Studio 5 этого делать не нужно -- эта версия FontLab описание кириллической кодировки уже знает.

Далее поступаем так.

1. Открываем корректируемый Typе 1 шрифт. Обычно при этом FontLab показывает шрифт в режиме Names Mode, кодировка Imported. Нам этот режим и нужен.

2. Команда Glyph => Glyph Names => Reencode Glyphs => WinEncoding Cyrillic = CP1251

3. В свойствах шрифта File => Font Info => Encoding and Unicode проверяем, что параметр Microsoft Character Set равен Cyrillic CP1251. Если не равен, устанавливаем этот параметр как Cyrillic CP1251.

4. При необходимости задаём другое имя шрифта (File => Font Info => Names and Copyright)

5. Генерируем Type 1 шрифт: File => Generate Font, тип файла = Type 1 Binary (*.pfb).

Пояснение 1. Если шрифт не кириллический, а западноевропейский, восточноевропейский, балтийский, турецкий и т.п., то надо в шаге 2 выбирать соотвествующую кодовую таблицу, а в шаге 3 -- нужное значение параметра Microsoft Character Set.

Пояснение 2. Что делает описанный рецепт? Он назначает для символов шрифта корректные имена (PostScript-имена символов из нужной таблицы кодировки). Что необходимо для правильной работы шрифта в Windows NT/2000/XP/2003/Vista.

Пояснение 3. Рецепт работает для тех шрифтов, которые правильно функционировали в старых версиях Windows (95/98/ME). То есть, для шрифтов, у которых на каждой позиции расположены "правильные" символы -- скажем, для кириллического шрифта на позиции 192 расположена русская буква "А", на позиции 193 - "Б", на позиции 194 -- "В", и т.д. Но иногда, хотя и редко, встречаются совсем "кривые" шрифты. Я стараюсь не иметь с такими шрифтами дела. Но если такой шрифт всё же позарез нужен, то приходится после шага 4 выполнять правку шрифта вручную. Скажем, если в шрифте нет каких-то нужных служебных символов, нужно их дорисовывать или скопировать из этого же шрифта или другого шрифта с похожим рисунком букв. Если какие-то символы шрифта стоят на неправильных позициях, то их нужно вручную переместить в нужную позицию.
 
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

А что делать если помимо кириллической части нужны еще румынские символы? Они получаются путем добавления к буквам a,i,t,s некоторых диакритиков (breve, cedilla, circumflex, commaaccent). Добавить не составляет сложности, тяжелее понять что прописать в свойствах чтоб шрифт правильно заработал. После генерации и установки, рум. символов не видно при наборе. Это если делать Опентайп. Если делать Type 1 все показывается нормально но глюков на выводе очень много. Посоветуйте пожалуйста в какую сторону копать. (Имена ставлю правильно, согласно спецификации Adobe).
 
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

Don Pedro

При использовании Type 1 шрифтов Вам будет необходимо иметь (создать, скачать, купить) два шрифта -- кириллический и центральноевропейский. Русский текст будет набираться кириллическим шрифтом, а румынский -- центральноевропейским шрифтом. Например, у гарнитуры Академическая фирмы ParaType кириллический шрифт называется AcademyC, а центральноевропейский -- AcademyE.

Далеко не все Type 1 шрифты имеются и в кириллическом, и в центральноевропейском вариантах (кодировках). Но многие шрифты фирм Paratype и ITC, Monotype имеются в обоих этих кодировках.

С TrueType и OpenType шрифтами таких сложностей нет. Там в одном шрифтовом файле могут быть тысячи и даже десятки тысяч символов самых разных языков...
 
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

Спасибо за развернутый ответ? Есть еще один вопрос. При генерации шрифтов по этой методике происходит смещение нижней базовой линии (сдвигается на нижние границы символов). Где это можно отследить?
 
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

Люди вот одного непойму...
почему для параметра "Microsoft Character Set:" одни советуют "Bitstreamfont set", а другие "Cirillic CP1251"? я пользуюсь вторым и всё вроде нармально... в чём разница???
 
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

AlexWAR сказал(а):
При генерации шрифтов по этой методике происходит смещение нижней базовой линии
Можно посмотреть шрифт до и после и файл FontLab из которого экспортировался
zzz23[#]abwesend.de

Sanchos
http://www.prodtp.ru/index.php?act=recipes&CODE=03&id=6
http://www.prodtp.ru/index.php?act=recipes&CODE=03&id=7
 
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

suntory сказал(а):
Можно посмотреть шрифт до и после и файл FontLab из которого экспортировался/QUOTE]
Выкладываю
 

Вложения

Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

И еще
 

Вложения

  • New.jpg
    New.jpg
    47.4 КБ · Просм.: 905
  • Old.jpg
    Old.jpg
    61.8 КБ · Просм.: 1 230
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

В вашем исходном шрифте Ascender = 954
В моем аналогичном 720

В большинстве случаев выставляют равным высоте буквы "b", в оригинальном Helios Light так и есть.
 

Вложения

  • 954.GIF
    954.GIF
    12.9 КБ · Просм.: 1 220
  • 720.GIF
    720.GIF
    12.6 КБ · Просм.: 1 136
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

suntory сказал(а):
В вашем исходном шрифте Ascender = 954
В моем аналогичном 720

В большинстве случаев выставляют равным высоте буквы "b", в оригинальном Helios Light так и есть.

Огромное спасибо за помощь, все исправил, заработало.
 
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

suntory сказал(а):
В большинстве случаев выставляют равным высоте буквы "b"
Исключение например капительные (SmallCaps) начертания - в них Ascender выставляют по букве "b" в обычном (некапительном) начертании того же шрифта, а не по его собственной "b" у которой нет выносного элемента.
 
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

Вот фокус заметил (вероятность на него нарватся мала):
открываем шрифт Т1 (почти нормальный неизвестного происхождения) в Фонтлабе, удаляем или переносим на другое место Символ "№" и на его старом месте кликаем 2 раза мышкой чтоб там появился пустой символ... а вот тут и появляется "ЧУДО фокус". Неизвестно откуда на этом месте появляется другой символ "№", совсем непоходий на старый и если его удалить и опять кликнуть мышькой 2 раза, он снова появится... :) И так не только с символом"№"...

правится этот "фокус" радикально - копированием всех символов в новый пустой файл... и последующе генерацией шрифта.

Люди а чё никто не знает ответа на моё предыдущее сообщение?
 
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

Sanchos сказал(а):
Вот фокус заметил (вероятность на него нарватся мала): <...> правится этот "фокус" радикально
Это не ошибка, а фича программы. Отключается здесь:
Tools > Options > Font Window > опция Create glyph command generates them if possible
Шрифт не при чем.
http://www.prodtp.ru/index.php?s=&showtopic=958&view=findpost&p=97708

Sanchos сказал(а):
Люди а чё никто не знает ответа на моё предыдущее сообщение?
Выше я уже давал ссылки на статьи Фигурнова и Касьяна на prodtp
 
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

Tools > Options > Font Window > опция Create glyph command generates them if possible
Есть такое. После "левый" символ действительно не появляется, но и старый "№" не работает после генерации шрифта... всётаки чёта там в шрифте прошито... взял другой вариан тогоже шрифта и там ничё не появляется даже с включеной галочкой, да и шрифт после генерации работает нормально...

А за ссылки спасибо
 
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

Sanchos сказал(а):
ничё не появляется даже
Написано же "if possible"
Невозможно, например, если у глифа имя которого нет в alias.dat

но и старый "№" не работает после генерации шрифта
Если ты его удалил или поменял имя и/или юникодный индекс то не удивительно что он не работает.
"левый" символ действительно не появляется
Еще раз: это не левый символ и в шрифте его нет.
При включенной опции FontLab копирует контуры похожих на создаваемый глифов и из них можно доделать, не рисуя с нуля и не копируя вручную.
Сделано так для удобства человека который проектирует новый шрифт или дополняет новыми знаками существующий, а не лечит шрифт с кривой кодировкой.
 
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

Sanchos

Обсуждение работы в FontLab'e на известном ресурсе.
Читайте, смотрите ссылки.
Да и здесь тоже кое-что есть (выберите "показать темы за всё время").
 
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

VF сказал(а):
Don Pedro
С TrueType и OpenType шрифтами таких сложностей нет. Там в одном шрифтовом файле могут быть тысячи и даже десятки тысяч символов самых разных языков...
Вот это меня и интересует. Где и что прописать чтоб полученный ОТФ правильно все отображал? И русские и румынские?
 
Ответ: Хелп! Генерация шрифтов в FontLab 4.6?

Don Pedro
Пришли что у тебя получается (шрифт и файл FontLab)
Мыло в выше, в 8-посте
 
Статус
Закрыто для дальнейших ответов.