Metrolog / Font.GOST2.304-81

Проект шрифтов ГОСТ 2.304-81 (ttf, otf, ...), пакета TeX для них, msi, msm, chocolatey пакета для них
Apache License 2.0
15 stars 1 forks source link

О сборке шрифта pfb средствами FontForge и результатах генерации pdflatex #214

Open milofon opened 8 years ago

milofon commented 8 years ago

Сергей, добрый вечер!

После нескольких часов эксперимента по направлению fontforge -> latex получил следующий результат.

Радостно, что в условиях отсутствия документации вообще удалось получить pdf. Особенно хороошо, что и кодировки правильные (т.е. если скопировать текст из pdf, то он будет без крокозябров, а также ищется поиском).

Ранее я подключал otf по инструкции http://www.tex.raleigh.ru/doku.php/faq/ttffonts и были проблемы с кодировкой, хотя отображение было хорошее (правда я использовал наработки https://bitbucket.org/fat_angel/opengostfont/src).

Собственно, что я сделал:

1) средствами FontForge получил afm и pfb; 2) далее по мотивам http://www.tex.raleigh.ru/doku.php/faq/ttf_fontinst и https://fontforge.github.io/PfaEdit-TeX.html создал дополнительные файлы; 3) собрал pdf документ отсюда https://ru.wikipedia.org/wiki/LaTeX .

Может у Вас есть мысли как получить нормальное отображение? Я полагаю, что генерация afm и pfb должна осуществляться как-то иначе чем просто вызов меню FontForge Generate Font.

Например, я заметил, что присланные Вами файлы afm около 1.5 Мб, а я создал в несколько десятков Кб.

ПРИМЕР ВЫВОДА В PDF:

test.pdf

sergey-s-betke commented 8 years ago

Алексей, добрый день.

Увидел пример :-) Проблема в том,что Вы взяли исходные файлы, которые содержат не контурные шрифты. Они преобразуются в контурные в процессе сборки в несколько этапов.

make ttf или make otf подготовит необходимые шрифты. make fonts подготовит все шрифты.

Насколько я понял, Вы собираете проект под Linux. makefile под Linux не тестировал, но доработки не должны быть существенными.

Если всё-таки будете использовать fontforge для генерации необходимых для pdflatex файлов, предлагаю сейчас загружать в fontforge уже собранные контурные шрифты из пакета, который я Вам высылал.

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

milofon commented 8 years ago

Сергей, спасибо за комментарии.

К такому выводу пришел параллельно как Вы писали письмо :) Посмотрел make файлы, а также провел эксперимент с присланным Вами ttf.

А могли бы Вы добавить в сборку pfb файлы шрифтов? Сейчас у Вас собираются ttf, otf и afm.

Поясните еще сущность команды ffphyton, из какого пакета она берется?

14 июля 2016 г., в 23:17, Sergey S. Betke notifications@github.com написал(а):

Алексей, добрый день.

Увидел пример :-) Проблема в том,что Вы взяли исходные файлы, которые содержат не контурные шрифты. Они преобразуются в контурные в процессе сборки в несколько этапов.

make ttf или make otf подготовит необходимые шрифты. make fonts подготовит все шрифты.

Насколько я понял, Вы собираете проект под Linux. makefile под Linux не тестировал, но доработки не должны быть существенными.

Если всё-таки будете использовать fontforge для генерации необходимых для pdflatex файлов, предлагаю сейчас загружать в fontforge уже собранные контурные шрифты из пакета, который я Вам высылал.

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

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

sergey-s-betke commented 8 years ago

ffphyton входит в состав fontforge под windows. Использование ffphyton позволяет в скриптах работать с уже подключенными модулями fontforge и не устанавливать отдельно phyton.

Видимо, одним из первых шагов к подготовке к сборке на Linux будет отказ от ffpython в пользу phyton с подключением модулей fontforge...

В сборке fontforge под Linux ffpython отсутствует?

milofon commented 8 years ago

Рабочий стол и GUI приложения я запускаю под macOS, а все остальное в Debian. В этой связи на вопрос ответить сразу не смогу.

14 июля 2016 г., в 23:28, Sergey S. Betke notifications@github.com написал(а):

ffphyton входит в состав fontforge под windows. Использование ffphyton позволяет в скриптах работать с уже подключенными модулями fontforge и не устанавливать отдельно phyton.

Видимо, одним из первых шагов к подготовке к сборке на Linux будет отказ от ffpython в пользу phyton с подключением модулей fontforge...

В сборке fontforge под Linux ffpython отсутствует?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

sergey-s-betke commented 8 years ago

make pstype1 собирает .afm, .pfb, .enc, .pfm файлы. Они не подходят? Я их именно для pdflatex и планировал в дальнейшем использовать.

Ловите архив pstype1.zip, в котором как раз собранные PS Type 1 шрифты. Попробуйте. Буду благодарен за информацию о результатах. Эти файлы должны подойти без регенерации инструментами TeX...

milofon commented 8 years ago

Сергей, пока только такой вариант.

Желательно бы получить еще map, fd и vf файлы. Так как сейчас я их порождаю сомнительным образом, отсюда и результат.

test.pdf

sergey-s-betke commented 8 years ago

Уже лучше. Теперь шрифт контурный, всё лучше. Только вся кириллица не отображается. Видимо, как раз по той причине что для классического TEX кодировка шрифтов семибитная, а файлы, всё-таки, получены для Unicode шрифтов...

sergey-s-betke commented 8 years ago

Алексей, у меня сейчас не будет времени для поддержки pdflatex, я изначальное ориентировался на инструменты с поддержкой Unicode. Результат возможно получить и сейчас, но это требует времени.

Могу предположить, что .enc файлы Вам следует получить по первоначальному алгоритму... И выбирать при этом кодировки TeX, поддерживающие кириллицу.

sergey-s-betke commented 8 years ago

Алексей, информация:

Пока наткнулся на проблему с GitVersion. Его использую для автоматической нумерации, но возможности его применения на Linux пока не нашёл. Если у Вас есть информация по данному вопросу - буду крайне благодарен!

milofon commented 8 years ago

Сергей, приветствую! GitVersion написан на C#, ясность относительно поддержки Mono я не увидел (Mono - реализация C# под POSIX).

Посмотрю на предмет аналогов GitVersion под POSIX.

19 июля 2016 г., в 16:16, Sergey S. Betke notifications@github.com написал(а):

Алексей, информация:

• версию 0.7 со сборкой на appveyor (windows) опубликовал в master. Соответственно, install.ps1 готовит необходимую для сборки на windows среду. • приступил к тестовым сборкам проекта на travis CI. Работаю над этим в ветке https://github.com/Metrolog/Font.GOST2.304-81/tree/feature/travis_CI. Собственно - только приступил. Как раз для того, чтобы обеспечить сборку проекта (тех частей, что возможно) на Linux. Буду благодарен участию. Пока наткнулся на проблему с GitVersion. Его использую для автоматической нумерации, но возможности его применения на Linux пока не нашёл. Если у Вас есть информация по данному вопросу - буду крайне благодарен!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

sergey-s-betke commented 8 years ago

Спасибо, Алексей, буду ждать...

P.S. Жаль, что он написан не на кроссплатформенном языке. Вполне бы хватило скрипта на каком-нибудь python или perl... И проблем бы с Linux не было.

sergey-s-betke commented 8 years ago

Начиная с 0.7.3 при фиксации в master релиза при успешной сборке на appveyor автоматически публикуется в https://github.com/Metrolog/Font.GOST2.304-81/releases релиз и собранные файлы. В ответ на Вашу просьбу о папке distribs в репозитории :-)