Recursive: Сборка из исходников в Linux

Созданный на 1 нояб. 2020  ·  14Комментарии  ·  Источник: arrowtype/recursive

Описание проблемы
Один из импортированных модулей - только macOS?

Ожидаемое поведение
Может быть, вместо этого можно было бы запустить печать на не macOS?

Воспроизводить
Сделайте это в Linux

Окружающая среда (просьба заполнить следующую информацию):

  • ОС: Debian GNU / Linux sid на amd64
  • Браузер: нет данных
  • Шрифты: последний выпуск

Все 14 Комментарий

Спасибо, что нашли время написать вопрос, @alexmyczko!

Быстрый вопрос: вы полностью не можете запустить сборку из-за зависимости только от Mac, или вы не можете использовать параметр --pync для получения уведомления о завершении сборки? Я попытался сделать это опцией, чтобы это не мешало сборке в других ОС, но, возможно, я сделал это неправильно.

ну с чего начать. Я пытаюсь построить без venv, но тогда существует множество требований, которые не упаковываются для сборки. Теперь я пытаюсь создать его с помощью ufo2otg / ufo2glyphs и / или fontmake, но и там тоже не получается (я не хочу создавать часть vf)

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

Есть ли какая-то причина, по которой вы хотите построить это самостоятельно? Есть ли какая-то причина, по которой вы не хотите использовать венв?

есть так много требований, которые не упакованы для сборки

Извините! Пропустил ли я что-нибудь в readme или есть что-то конкретное, что вы могли бы предложить изменить, чтобы облегчить сборку для кого-то в Linux?

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=944202

кто-то просит его для debian, и мы строим все из исходников (если возможно). ubuntu, raspbian получите бесплатную копию.

Хорошо, спасибо за эту деталь!

Подойдут ли для этой цели шрифты в официальных выпусках ?

Теоретически да, но предпочтительные строятся из исходников (и это то, что я тоже хотел бы сделать), если возможно - извините, я еще не ответил на другие вопросы (но постараюсь добраться до этого как можно скорее)

С помощью какого программного обеспечения вы разрабатываете шрифт? У вас случайно нет .glyphs?

Я еще не ответил на другие вопросы (но постараюсь ответить как можно скорее)

Все хорошо, без спешки. Да, я был бы рад, если это сработает для вас, и признателен, если у вас есть какие-либо предложения о том, как я могу улучшить документацию по сборке для пользователей Linux. Мне очень любопытно, будут ли работать venv & requirements ... насколько мне известно, pync - это единственное, что требует macOS, но это совершенно необязательно (для меня это просто удобство, так что я могу работать в многозадачном режиме во время довольно длинной сборки процесс). Насколько мне известно, все остальные зависимости сборки кроссплатформенны.

Если вы хотите сгенерировать файлы woff2, вам, вероятно, потребуется установить woff2_compress отдельно.

С помощью какого программного обеспечения вы разрабатываете шрифт? У вас случайно нет .glyphs?

Я использовал для этого RoboFont, так как предпочитаю формат UFO для управления версиями и некоторые расширения в экосистеме RoboFont. Основная сборка подготавливает чистые исходники (избавляется от глифов, которые являются экспериментами / эскизами), затем использует AFDKO для создания статических шрифтов и FontMake для создания переменного шрифта.

Мне сложно решить, что хуже / лучше, robofonts или fontship / npm: https://github.com/be5invis/Iosevka/issues/715

@alexmyczko Я не уверен, что вы думаете о Fontship, но не бросайте это в одну корзину с npm (хаос, и не совсем подходит для того, чтобы быть системой сборки для проектов, отличных от JS) или robofonts (проприетарный). Fontship - это просто удобный инструмент и способ заставить все инструменты сборки с открытым исходным кодом работать вместе, не изобретая каждый раз колесо. Под капотом он просто использует fontmake , psautomint и woff2_compress и многие другие подобные инструменты, связанные вместе с помощью GNU Make для создания целей. Он должен быть достаточно дружественным к философии Debian. Это также еще не совсем подходит для замены этого шрифта. Но почему вы стучитесь в цепочку сборки этого проекта с открытым исходным кодом и открытые исходные коды только потому, что автор работает с этими источниками в Robo Font?

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

Ага, мое использование RoboFont делает его более дружественным к открытым исходным кодом, чем проект, использующий GlyphsApp (даже если в вашем конкретном случае это немного неудобно - извините, что это так прямо сейчас!).

В любом случае, существуют инструменты, которые могут обрабатывать исходные коды и создавать их.

Я закрываю этот вопрос, но если у вас есть какие-либо нерешенные конкретные вопросы или блокировщики сборки, не стесняйтесь добавлять дополнительные комментарии или открывать новые проблемы с конкретной проблемой.

Спасибо!

Кроме того, я предполагаю, что вы это уже видели, но в readme есть довольно конкретные инструкции по сборке. По сути:

  1. Установить зависимости
  2. Запустите подготовительные скрипты
  3. Запустите сборку (но не используйте параметр --pync )
version=1.066 # (replace version number)
python build.py --statfiles --version $version
python build.py --static --version $version

Сообщите мне, если у вас есть какие-либо ошибки блокировки из-за Pync, и я могу либо удалить их, либо попытаться убедиться, что они не активированы за пределами сред Mac.

не знаю, чего сейчас не хватает ...

python3 build.py --static --version $version
🏗  Initial OTF building
Traceback (most recent call last):--------------------| 0.0% Complete
  File "build.py", line 83, in <module>
    build_static(files["cff"], files["ttf"], out)
  File "/var/www/debian/fonts-recursive/fonts-recursive-1.066+dfsg/mastering/build_static.py", line 7
59, in build_static
    makeSFNT(cff_root, d)
  File "/var/www/debian/fonts-recursive/fonts-recursive-1.066+dfsg/mastering/build_static.py", line 6
89, in makeSFNT
    run = subprocess.run(args,
  File "/usr/lib/python3.8/subprocess.py", line 489, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'makeotf'

@alexmyczko makeotf является частью AFDKO, которая указана в файле требований.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги