史密斯(Smith)是一個基於Python的框架,用於構建,測試和維護WSI(寫作系統實現)組件(例如字體)。它基於WAF。史密斯(Smith)協調和集成了各種工具和實用程序,以使基於標準的開放字體設計和生產工作流更容易管理。
構建字體涉及多個步驟和各種程序,如果手工完成,這些程序將非常放慢。即使弄清楚這些步驟也可能需要大量工作。史密斯在項目的根部使用專用文件(文件基於Python),以允許用戶描述如何構建字體。通過智能地鏈接不同的構建步驟,史密斯將構建時間縮短為幾秒鐘而不是數分鐘或數小時,並使構建,測試,修復,重複週期非常易於管理。通過使這些過程可重複,包括同時多個字體,您的項目可以簡單地與他人共享,或者 - 更好 - 可以包含在CI(連續集成)系統中。這允許字體(及其各種源格式)真正成為Libre/開源軟件,並使用開放和協作的方法開發。
史密斯是版權(C)2011-2024 SIL International(www.sil.org) ,並根據BSD許可發布。 (基於WAF版權(C)2005-2011 Thomas Nagy)
標準pip install .將僅安裝史密斯軟件包和命令,但並非將在運行smith configure時史密斯將搜索的所有其他字體工具。
要獲取完整的工具鏈,請在https://silnrsi.github.io/silfontdev/上遵循更描述性的逐步指南。
包含整個工具鏈的Docker映像既可以為CI系統提供基礎,也可以為局部交互式使用提供基礎。
您需要將Docker與稱為Anvil的輔助腳本一起安裝。
Docker-steps.md中描述了有關自己構建Docker映像的所有低級細節(不使用砧座)
該手冊(包括逐步教程)可在Smith手冊上提供Docs/Smith的消息來源。