Smith ist ein Python-basierter Rahmen zum Aufbau, Testen und Wartung von WSI-Komponenten (Writing Systems Implementation) wie Schriftarten. Es basiert auf WAF. Smith orchestriert und integriert verschiedene Tools und Dienstprogramme, um ein standardbasiertes Open-Schriftart- und Produktions-Workflow leichter zu verwalten.
Der Aufbau einer Schrift beinhaltet zahlreiche Schritte und verschiedene Programme, die, wenn sie von Hand durchgeführt werden, unerschwinglich langsam wäre. Selbst wenn Sie herausfinden, was diese Schritte sind, können viel Arbeit erfordern. Smith verwendet eine dedizierte Datei am Stamm des Projekts (die Datei ist pythonbasiert), um dem Benutzer zu beschreiben, wie die Schriftart erstellt wird. Durch das Ketten der verschiedenen Build -Schritte intelligent reduziert Smith die Build -Zeiten auf Sekunden und nicht auf Minuten oder Stunden und macht Build, Test, Reparatur und Wiederholungszyklen sehr überschaubar. Indem Sie diese Prozesse wiederholbar machen, auch für eine Reihe von Schriftarten gleichzeitig, kann Ihr Projekt einfach mit anderen oder - noch besser - in ein CI (Continuous Integration) -System aufgenommen werden. Dadurch können Schriftarten (und ihre verschiedenen Quellformate) wirklich libre/open Source -Software sein und mit offenen und kollaborativen Methoden entwickelt.
Smith ist Copyright (C) 2011-2024 SIL International (www.sil.org) und wird unter der BSD-Lizenz veröffentlicht. (Basierend auf WAF Copyright (C) 2005-2011 Thomas Nagy)
Die Standard pip install . Installiert nur die Smith -Pakete und -befehle, wird jedoch nicht alle anderen Schriftarten, nach denen Smith suchen wird, wenn smith configure ausgeführt wird.
Um die vollständige Toolchain zu erhalten, befolgen Sie die beschreibendere Schritt-für-Schritt-Anleitung unter https://silnrsi.github.io/silfontdev/.
Ein Docker -Bild, das die gesamte Toolchain enthält, ist sowohl verfügbar, um eine Basis für CI -Systeme und für die lokale interaktive Verwendung bereitzustellen.
Sie müssen Docker zusammen mit dem Helper -Skript namens ANVIL installieren.
Alle Details auf niedrigem Niveau zum Erstellen des Docker-Images selbst (ohne Ambilanz, der empfohlene Ansatz) sind in Docker-Steps.md beschrieben
Das Handbuch (einschließlich eines Schritt-für-Schritt-Tutorials) ist im Smith-Handbuch mit den Quellen in Docs/Smith erhältlich.