FontLab+Python, cнижение контрастности

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

JAW

Топикстартер
15 лет на форуме
Сообщения
15 795
Реакции
3 454
Не натыкался ли кто на скрипты для снижения контрастности шрифта в FontLab?

Имеется в виду, что ширины дополнительных стемов нужно увеличить не трогая основные стемы.
 
Ответ: FontLab+Perl, Снижение контрастности

Если мне склероз не изменяет, то там не Перл, а Питон.
 
Ответ: FontLab+Perl, Снижение контрастности

TRANTOR
Всё перепуталось...

Прошу модератора заменить Перл на Питон в названии темы.

TRANTOR... Мда, взглючил мрачно :(
 
Ответ: FontLab+Perl, Снижение контрастности

Большинство существующих скриптов перечисленно здесь
http://www.fontlab.com/python/
 
Ответ: FontLab+Perl, Снижение контрастности

Да вот нету там такого.
Всё перерыл.

Там либо какие-то игры с MultipleMaster, причём для этого нужно иметь MM шрифт,
либо просто болд в разные стороны, впрочем лучший, чем родной.
Если бы речь щла только про горизонтальные стемы, то более менее понятно,
Но нужно и вертикальные тонкие тоже делать толще.
 
Ответ: FontLab+Perl, Снижение контрастности

Из помнящихся были VF-Weight Macros, но там меняется контур глифов дублированием глифов в сторону со слиянием с исходником, оператором distance и т.п., а не работа со стемами. Новым полученным контурам придётся делать перехинтовку.
 
Ответ: FontLab+Perl, Снижение контрастности

Да. Но это именно аналогично обычному болду, именно контрастность он не уменьшает.
 
Ответ: FontLab+Perl, Снижение контрастности

Неконтрастный шрифт - шрифт у которого толщины вертикальных и горизонтальных штрихов равны. Дублируя глиф в направлении толстого штриха или просто растягивая, мы можем сравнять/сблизить толщины штрихов => снизить контрастность. Искажения формы, пропорций, контура в данный момент не рассматриваем. Контрастность понижается.
 
Ответ: FontLab+Perl, Снижение контрастности

Не вертикальных и горизонтальных, а скорее основных и дополнительных.
Например в "Л" правый штрих - основной толстый, левый - дополнительный тонкий.
Но увеличить толщину левого стема не увеличив толщину правого не получится.

Собственно источник проблемы в приложенных файлах.
Это снапшоты с PocketBook 301+, видно что некоторые штрихи вырождаются в одну точку, если с горизонтальными можно было бы что-то сделать, то с некоторыми не всё так очевидно.

Да... Это моя версия Академической, если что :)
 

Вложения

  • scr0011.gif
    scr0011.gif
    30.3 КБ · Просм.: 776
  • scr0012.gif
    scr0012.gif
    35.7 КБ · Просм.: 1 086
Ответ: FontLab+Perl, Снижение контрастности

JAW сказал(а):
ширины дополнительных стемов нужно увеличить не трогая основные стемы.

Андрей, а попробуй "родную" ФЛ операцию tools/action/effects/bold не трогая h-weight но сохраняя габариты (keep glyph dimensions) — хотя на диагоналях может потребоваться ручная доработка
 
Ответ: FontLab+Perl, Снижение контрастности

Разумеется попробовал... Результат курсивный болд на снапшотах.
Мягко говоря не фонтан... Но для обозначения потянет...
 
Скрипты и шрифты

Вопрос не простой, даже очень сложный.

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

Может кто знает какие инструменты, скрипты для шрифтовых редакторов, которые бы при ширине штриха ниже определённой границы увеличивали бы её?

P.S. Речь в первую очередь о Антиквах.
 
Ответ: Скрипты и шрифты

Я недопонял вопрос. Во-первых, почему обязательно скрипт должен быть именно к шрифтовому редактору?
Если обобщить, то, допустим, есть некая замкнутая кривая с засечками, нужен скрипт для векторного редактора, которые бы регулировал длину и ширину засечек на кривой - правильно? На мой взгляд, задача вообще для искусственного интелекта. :-(
 
Ответ: Скрипты и шрифты

Чем новый вопрос отличается от Вашего старого? Выходом за рамки FontLab'а?
 
Ответ: Скрипты и шрифты

Сюда и переедем :-)
 
Ответ: Скрипты и шрифты

Автоматически сделать качественный шрифт все равно невозможно, ручная доводка неизбежна, если ставится целью получение приемлемого результата. Шрифт — не решетка из горизонтальных и вертикальных штрихов, есть еще соединения кривых в "m", "n", "a" и т. п. В принципе задача удовлетворительно решается именно при помощи tools/action/effects/bold, но несколько часов на корректировку контуров приходится тратить обязательно.

На Python'е увеличение толщины горизонтальных штрихов описывается примерно так:

f=fl.font
f["A"].Distance(0, 10, 1)

Первые два параметра задают изменение толщины соответственно вертикальных и горизонтальных штрихов, третий — тип кисти.

Инструкция по Python'у для FL: http://www.e-font.de/flpydoc/view_html.html
Метод Distance — здесь http://www.e-font.de/flpydoc/html/Glyph.xml.html
 
Ответ: Скрипты и шрифты

Вообще говоря задача довольно специфическая. Адаптация существующих шрифтов под e-Ink экран.
Если с серифами ещё куда не шло, то с Антиквами швах полный. Тоненькие дополнительные штрихи вырождаются в точку, а сглаживание при том, что всего 4 градации не помогает. Болд помогает конечно, но, честно говоря хотелось бы его деать выборочно для конкретных штрихов.

Эх. Был бы это MetaFont, там всего один файлик подкорректировать и дело в шляпе.
 
Ответ: Скрипты и шрифты

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