Recursive: Construyendo desde la fuente en Linux

Creado en 1 nov. 2020  ·  14Comentarios  ·  Fuente: arrowtype/recursive

Descripción del problema
¿Uno de los módulos importados es solo macOS?

Comportamiento esperado
¿Quizás se podría ejecutar una impresión en no macOS en su lugar?

Reproducir
Constrúyelo en Linux

Medio ambiente (complete la siguiente información):

  • SO: Debian GNU / Linux sid en amd64
  • Navegador: n / a
  • Fuentes: última versión

Todos 14 comentarios

¡Gracias por tomarte el tiempo de escribir un número, @alexmyczko!

Pregunta rápida: ¿no puede ejecutar la compilación por completo debido a la dependencia solo de mac, o solo no puede usar la opción --pync para recibir una notificación de finalización de la compilación? Traté de hacer de esto una opción para que no interrumpa la compilación en otros sistemas operativos, pero es posible que lo haya hecho incorrectamente.

bien por donde empezar. Intento construir sin venv, pero hay tantos requisitos que no están empaquetados para construir. ahora estoy tratando de que se compile con ufo2otg / ufo2glyphs y / o fontmake, pero sigo fallando allí también (no quiero construir la parte vf)

Hmm, sí, es un proyecto un poco complejo de construir. Principalmente, para ser honesto, está configurado para que yo mismo lo construya mientras trabajo en terminar las cosas.

¿Hay alguna razón por la que quieras construir esto por tu cuenta? ¿Existe alguna razón por la que desee evitar el uso de venv?

hay tantos requisitos que no están empaquetados para construir

¡Perdón! ¿Me he perdido algo en el archivo Léame o hay algo específico que pueda sugerir ajustar para que sea más fácil de construir para alguien en Linux?

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

alguien lo solicita para debian, y construimos todo desde la fuente (si es posible). ubuntu, raspbian obtienen una copia gratuita.

Bien, gracias por ese detalle!

¿Podrían las fuentes en los lanzamientos oficiales funcionar para este propósito?

Teóricamente sí, pero los preferidos se construyen a partir de la fuente (y eso es lo que también me gustaría hacer) si de alguna manera es posible, lo siento, no respondí las otras preguntas todavía (pero intentaré llegar a eso lo antes posible)

¿Con qué software diseñas la fuente? ¿Tienes .glyphs por casualidad?

Todavía no respondí las otras preguntas (pero intentaré llegar a eso lo antes posible)

Todo bien, sin prisas. Sí, estaría feliz de que esto funcione para usted y le agradecería que tuviera alguna sugerencia sobre cómo puedo mejorar los documentos de compilación para usuarios de Linux. Tengo mucha curiosidad por saber si los requisitos de venv & funcionarán ... que yo sepa, pync es lo único que requiere macOS, pero es totalmente opcional (solo una cosa conveniente para mí, por lo que puedo realizar múltiples tareas durante la construcción algo larga proceso). Hasta donde yo sé, todas las demás dependencias de compilación son multiplataforma.

Si desea generar archivos woff2, probablemente necesite instalar woff2_compress por separado.

¿Con qué software diseñas la fuente? ¿Tienes .glyphs por casualidad?

Usé RoboFont para esto, ya que prefiero el formato UFO para el control de fuente y algunas de las extensiones del ecosistema RoboFont. La compilación principal prepara fuentes limpias ( eliminando glifos que son experimentos / bocetos), luego usa FontMake para construir la fuente variable.

Me cuesta decidir qué es peor / mejor, robofonts o fontship / npm: https://github.com/be5invis/Iosevka/issues/715

@alexmyczko No estoy seguro de cuál es tu problema con Fontship, pero no lo pongas en el mismo grupo que npm (caos, y no es realmente adecuado para ser un sistema de compilación para proyectos que no son de JS) o robofonts (propietario). Fontship es solo un cli conveniente y una forma de hacer que todas las cosas de la cadena de herramientas de compilación de código abierto funcionen juntas sin reinventar la rueda cada vez. Bajo el capó, solo está usando fontmake , psautomint y woff2_compress y muchas otras herramientas similares unidas usando GNU Make para construir objetivos. Debería ser bastante amigable con la filosofía de Debian. Tampoco es del todo hasta la tarea de ser una gota en el reemplazo para esta fuente todavía. Pero, ¿por qué está llamando a la cadena de compilación de código abierto y a las fuentes abiertas de este proyecto solo porque el autor trabaja en esas fuentes en Robo Font?

no quise ser grosero o golpear al azar, pero su respuesta aclaró algunas cosas, así que gracias por eso.

Sí, mi uso de RoboFont hace que esto sea algo más amigable con el código abierto que un proyecto que usa GlyphsApp (incluso si en su caso particular, esto es un poco inconveniente, ¡lo siento, ese es el caso en este momento!).

De cualquier manera, sin embargo, existen herramientas que pueden manejar las fuentes y construirlas.

Estoy cerrando este problema, pero si tiene preguntas específicas pendientes o crea bloqueadores, no dude en agregar más comentarios o abrir nuevos problemas con el problema específico.

¡Gracias!

Además, supongo que ya lo vio, pero el archivo Léame incluye instrucciones bastante específicas para la construcción. Básicamente:

  1. Instalar dependencias
  2. Ejecute los scripts de preparación
  3. Ejecute la compilación (pero no use la opción --pync )
version=1.066 # (replace version number)
python build.py --statfiles --version $version
python build.py --static --version $version

Avíseme si tiene algún error de bloqueo debido a Pync, y puedo eliminarlo o intentar asegurarme de que no esté activado fuera de los entornos Mac.

no tengo idea de lo que falta ahora ...

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 es parte de AFDKO, que se incluye en el archivo de requisitos.

¿Fue útil esta página
0 / 5 - 0 calificaciones