Smith es un marco basado en Python para construir, probar y mantener componentes WSI (implementación de sistemas de escritura) como las fuentes. Se basa en WAF. Smith orquesta e integra varias herramientas y utilidades para hacer que un diseño de diseño de fuente abierto y un flujo de trabajo de producción basado en estándares sean más fáciles de administrar.
La construcción de una fuente implica numerosos pasos y varios programas, que, si se hacen a mano, sería prohibitivamente lento. Incluso calcular cuáles son esos pasos puede requerir mucho trabajo. Smith usa un archivo dedicado en la raíz del proyecto (el archivo está basado en Python) para permitir al usuario describir cómo construir la fuente. Al encadenar los diferentes pasos de compilación de manera inteligente, Smith reduce los tiempos de construcción a segundos en lugar de minutos o horas, y hace que la construcción, prueba, arreglar, repetir los ciclos muy manejables. Al hacer que estos procesos sean repetibles, incluso para una serie de fuentes al mismo tiempo, su proyecto se puede compartir con otros simplemente o, mejor aún, se puede incluir en un sistema CI (integración continua). Esto permite que las fuentes (y sus diversos formatos de origen) sean realmente libre/software de código abierto y se desarrollen con metodologías abiertas y colaborativas.
Smith es Copyright (c) 2011-2024 SIL International (www.sil.org) y se publica bajo la licencia BSD . (Basado en WAF Copyright (C) 2005-2011 Thomas Nagy)
La pip install . Instalará solo los paquetes y comandos de Smith, pero no todas las otras herramientas de fuentes que Smith buscará cuándo se ejecuta smith configure .
Para obtener la cadena de herramientas completa, siga la guía paso a paso más descriptiva en https://silnrsi.github.io/silfontdev/.
Una imagen de Docker que contiene toda la cadena de herramientas está disponible tanto para proporcionar una base para los sistemas CI como para el uso interactivo local.
Debe instalar Docker junto con el script auxiliar llamado Anvil.
Todos los detalles de bajo nivel sobre la construcción de la imagen de Docker (sin usar yunque, el enfoque recomendado) se describen en Docker-Steps.md
El manual (incluido un tutorial paso a paso) está disponible en Smith Manual con las fuentes en Docs/Smith.