2 puntos por jamiekim 16 시간 전 | Aún no hay comentarios. | Compartir por WhatsApp

Hace poco vi con interés aquí Jetendard (JetBrains Mono Nerd Font + Pretendard). Normalmente, este tipo de fuentes compuestas se usan tal como las distribuye quien las creó, con la combinación que esa persona eligió. Pero seguramente también hay gente que quiere crear su propia combinación, usando la fuente A para inglés y la fuente B para coreano. Por eso hice una herramienta para que cualquiera pueda hacerlo directamente desde una GUI.

Combinar dos fuentes con CLI en sí no es difícil. Si lo haces con fontTools, se resuelve rápido. Lo tedioso viene después: cambiar opciones, volver a combinar, instalar y revisar. Cada vuelta de ese ciclo toma varios minutos y además hay que asignar la fuente en el IDE, así que resulta bastante molesto. font-moeum es una app de escritorio enfocada en reducir ese ciclo a unos pocos segundos. Toma exactamente dos fuentes, una en inglés y otra en coreano (TTF/OTF), y las combina en un solo TTF.

Cuando termina la fusión, puedes cargar el resultado de inmediato y probarlo escribiendo directamente en el área de vista previa, sin instalar nada. El tamaño y la altura de línea se ajustan en tiempo real con CSS, sin necesidad de volver a combinar. Si cambias una opción, se vuelve a combinar automáticamente. Para glifos que existen en ambas fuentes, como latinos, números y signos de puntuación, puedes elegir de cuál fuente tomarlos y comparar con un solo clic usando el intercambio A/B.

Hay dos modos.

El modo normal hace la fusión completa con fontTools Merger y conserva las proporciones originales del coreano, por lo que va bien para documentos e interfaces.

El modo de fuente para programación usa un motor dedicado que toma como base la fuente monoespaciada A y copia los glifos coreanos de B escalándolos y centrando su alineación dentro de celdas que son múltiplos enteros del ancho latino (por defecto 2:1). Así, en terminales y editores, dos espacios latinos y un carácter coreano coinciden exactamente. En el panel avanzado se pueden ajustar cosas como la escala del coreano, el múltiplo de ancho, el desplazamiento vertical, si incluir hanja y la composición de jamo (ccmp). Si A no es monoespaciada, la fusión se rechaza.

La implementación usa Tauri v2 + React. El motor de fusión integra Python fontTools como sidecar, empaquetado como ejecutable único con PyInstaller. La fusión usa fontTools tal cual. Para mostrar el resultado al instante, fue conveniente usar la FontFace API del webview, y de ahí salió esta estructura. En el caso de OTF (CFF), al cargarlas se convierten a TTF con cu2qu y luego se combinan. Como hay aproximación de curvas y pérdida del hinting de CFF, se muestra una insignia "OTF→TTF" en el slot, y los OTF variables CFF2 se rechazan. La salida siempre es TTF.

Ya están publicados builds para Windows (instalador y zip portable), macOS (Apple Silicon) y Linux (AppImage/deb). Como no hay firma de código, en Windows aparece una advertencia de SmartScreen y en macOS, al no estar notarizada, hay que ejecutar xattr -cr una vez. La app no incluye fuentes.

Cumplir la licencia de las fuentes que se vayan a combinar es responsabilidad del usuario (el Reserved Font Name de OFL no se puede reutilizar en el nombre de salida).

Tiene licencia MIT. Como combinación de ejemplo se usa D2Coding + JetBrains Mono (OFL). Si encuentran fuentes que no se combinan o combinaciones que se ven raras, agradeceré que lo reporten en un issue.

Aún no hay comentarios.

Aún no hay comentarios.