Doulos SIL Font Developer Guide
Doulos SIL Font Developer Guide
Doulos SIL facilitates the development and modification of its fonts by providing the full source code on Github for their Latin, Greek, and Cyrillic fonts. The fonts are available in the UFO3 format with structures defined using designspace. Additional tools provided include fonttools, custom python scripts (pysilfont), and a build and packaging system (Smith), all available in a preconfigured virtual machine using VirtualBox and Vagrant. Detailed instructions are provided on a dedicated website, SIL Font Development Notes, which helps developers set up the tools and build the fonts .
Fonts licensed under the SIL Open Font License (OFL) can be used, studied, modified, and redistributed freely as long as they are not sold by themselves. This implies that while the fonts can be part of a larger product or service, they cannot be individually sold as standalone products .
The technologies and licensing policies at Doulos SIL reflect a strong commitment to open-source principles by providing open access to the source code on platforms like Github and licensing the fonts under the SIL Open Font License. This license allows for free usage, modification, and redistribution, an embodiment of open-source philosophy. Additionally, the use of open-source tools and the provision of a virtual machine environment underscore their dedication to an open and collaborative development process .
Offering the font development toolkit in a preconfigured virtual machine significantly enhances the ease and accessibility of the development process for contributors working on Doulos SIL fonts. It ensures that all necessary tools and dependencies are correctly installed and configured, reducing the barrier to entry for working on the fonts and allowing developers to focus on contributions rather than setup complexities. This streamlines workflow and encourages broader participation in enhancing and modifying the fonts .
Doulos SIL particularly welcomes contributions such as new glyphs, enhanced smart font code, or bug fixes. Specific examples of desired contributions include the development of old style figures, Coptic characters for the Gentium font, historic/archaic Cyrillic characters, mathematical glyphs, additional scripts (such as Armenian), and any necessary OpenType code .
Doulos SIL uses a variety of tools and technologies for developing its fonts, including industry-standard tools like fonttools, a package of custom python scripts known as pysilfont, and a build and packaging system called Smith. The use of these tools, along with maintaining the source code in formats like UFO3 and .feax, contributes to a completely free and open-source workflow. A preconfigured virtual machine setup using VirtualBox and Vagrant further streamlines the development process, making font development and modification accessible and efficient for external developers .
Using formats like UFO3 and .feax for storing and maintaining font source code offers multiple advantages. UFO3 provides a flexible and structured format for font data, which is conducive to collaborative development and version control. The .feax format, used for OpenType source code, is more efficient and powerful than the basic .fea format, facilitating better management of complex font features. These formats enhance modularity, maintainability, and ease of integration of new features and contributions .
Doulos SIL ensures quality control by carefully reviewing all submissions to guarantee high-quality standards. Contributions must cover all weights and styles of the font family, and sometimes all four font projects are involved. If a submission does not meet these standards in terms of quality or completeness, developers are asked to make revisions. This rigorous review process helps maintain the overall quality of the font offerings .
New developers interested in contributing to Doulos SIL font projects are recommended to begin by reviewing the brief overview of contributing changes. The next step is to engage with the community by responding to an existing issue or creating a new one in the GitHub repository, expressing their interest. This process allows for collaborative planning and integration of the contributions into the project .
Doulos SIL requires contributors to agree to the SIL International Contributor License Agreement for Font Software (v1.0) to ensure that contributions can be made in a way that honors the contributor's intellectual property and copyright while maintaining long-term flexibility for open-source licensing. This agreement helps protect both the contributors and the integrity of the project, ensuring that quality is maintained and that legal constraints are clear and respected .