史密斯(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的消息来源。