{"id":236,"date":"2015-09-02T11:41:23","date_gmt":"2015-09-02T11:41:23","guid":{"rendered":"http:\/\/software.sil.org\/ruwudu\/?page_id=236"},"modified":"2024-10-23T15:59:38","modified_gmt":"2024-10-23T15:59:38","slug":"developer","status":"publish","type":"page","link":"https:\/\/software.sil.org\/ruwudu\/developer\/","title":{"rendered":"Developer"},"content":{"rendered":"<h2>Welcome font developers!<\/h2>\n<p>We welcome other developers who wish to get involved in supporting and enhancing these fonts or who want to modify them.<\/p>\n<h2>Permissions granted by the OFL<\/h2>\n<p>SIL\u2019s fonts are licensed according to the terms of the <a href=\"https:\/\/scripts.sil.org\/OFL\" target=\"_blank\" rel=\"noopener\">SIL Open Font License<\/a>. The OFL allows the fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. For details see the OFL.txt and OFL-FAQ.txt files in the package.<\/p>\n<h2>Building the fonts from source code<\/h2>\n<p>Font sources are published in a <a href=\"https:\/\/github.com\/silnrsi\/font-ruwudu\" target=\"_blank\" rel=\"noopener\">Github project<\/a>. The build process requires <a href=\"https:\/\/github.com\/silnrsi\/smith\" target=\"_blank\" rel=\"noopener\">smith<\/a> and project build parameters are set in the <a href=\"https:\/\/github.com\/silnrsi\/smith\/blob\/master\/wscript\" target=\"_blank\" rel=\"noopener\">wscript<\/a>.<\/p>\n<p>Font sources are in the <a href=\"http:\/\/unifiedfontobject.org\/versions\/ufo3\/\" target=\"_blank\" rel=\"noopener\">UFO3<\/a> format with font family structures defined using <a href=\"https:\/\/github.com\/fonttools\/fonttools\/tree\/master\/Doc\/source\/designspaceLib\" target=\"_blank\" rel=\"noopener\">designspace<\/a>. OpenType source code is stored in the <a href=\"https:\/\/adobe-type-tools.github.io\/afdko\/OpenTypeFeatureFileSpecification.html\" target=\"_blank\" rel=\"noopener\">.fea<\/a> format in the UFO (features.fea) but is maintained in a separate file using the more efficient and powerful <a href=\"https:\/\/github.com\/silnrsi\/pysilfont\/blob\/master\/docs\/feaextensions.md\" target=\"_blank\" rel=\"noopener\">.feax<\/a> format.<\/p>\n<p>The fonts are built using a completely free and open source workflow using industry-standard tools (<a href=\"https:\/\/github.com\/fonttools\/fonttools\" target=\"_blank\" rel=\"noopener\">fonttools<\/a>), a package of custom python scripts (<a href=\"https:\/\/github.com\/silnrsi\/pysilfont\" target=\"_blank\" rel=\"noopener\">pysilfont<\/a>), and a build and packaging system (<a href=\"https:\/\/github.com\/silnrsi\/smith\" target=\"_blank\" rel=\"noopener\">Smith<\/a>). The whole system is available in a preconfigured virtual machine using VirtualBox and Vagrant.<\/p>\n<p>Full instructions for setting up the tools and building SIL fonts are available on a dedicated web site: <a href=\"https:\/\/silnrsi.github.io\/silfontdev\/\" target=\"_blank\" rel=\"noopener\">SIL Font Development Notes<\/a>.<\/p>\n<h2>Building<\/h2>\n<p>The Ruwudu project can be built from source using <a href=\"https:\/\/github.com\/silnrsi\/smith\" target=\"_blank\" rel=\"noopener\">smith<\/a>. This is done via the sequence:<\/p>\n<pre><code>    smith distclean\n    smith configure\n    smith build\n    smith alltests\n<\/code><\/pre>\n<h3>Adding characters<\/h3>\n<p>After base characters to the font, the following files will also need updating:<br \/>\n&#8211; <code>glyph_data.csv<\/code> &#8212; used to set glyph orders and psnames in the built font<br \/>\n&#8211; <code>classes.xml<\/code> &#8212; used to define classes used by OpenType<br \/>\n&#8211; <code>opentype\/*.feax<\/code> &#8212; modify as needed to add needed OpenType behavior<br \/>\n&#8211; <code>tests\/*.ftml<\/code> &#8212; see below<\/p>\n<h3>Generated test files<\/h3>\n<p>After adding characters or additional behaviors to the font, test files should be created or enhanced to test the new behaviors. The test files:<br \/>\n&#8211; <code>tests\/AllChars-auto.ftml<\/code><br \/>\n&#8211; <code>tests\/ALsorted-auto.ftml<\/code><br \/>\n&#8211; <code>tests\/Diac1-auto.ftml<\/code><br \/>\n&#8211; <code>tests\/Diac1-short-auto.ftml<\/code><br \/>\n&#8211; <code>tests\/SubtendingMarks-auto.ftml<\/code><\/p>\n<p>are generated automatically using <code>tools\/genftmlfiles.sh<\/code>.<\/p>\n<p><code>tools\/ftml.xsl<\/code> can be used to view ftml documents directly in Firefox (which supports both Graphite and OpenType rendering).<\/p>\n<h3>About ftml tests<\/h3>\n<p>After a successful build, the results\/ folder will contain, along with the built ttf and woff fonts, a number of<br \/>\ntest files in an xml-based format called FTML. Examples are AllChars-auto.ftml, DiacTest1-auto.ftml.<br \/>\nThere is an ftml.xsl file that can be used to view these ftml documents directly in Firefox.<\/p>\n<p>However, in order for Firefox to access the .xsl file, you need to relax its &#8220;strict URI&#8221; policy by going to about:config and<br \/>\nsetting <a href=\"http:\/\/kb.mozillazine.org\/Security.fileuri.strict_origin_policy\" target=\"_blank\" rel=\"noopener\">security.fileuri.strict_origin_policy<\/a> to false.<\/p>\n<p>Once you have this setting in effect, you can load the FTML documents directly into Firefox and see the built font rendered.<\/p>\n<h2>Contributing to the project<\/h2>\n<p>We warmly welcome contributions to the fonts, such as new glyphs, enhanced smart font code, or bug fixes. The <a href=\"https:\/\/silnrsi.github.io\/silfontdev\/en-US\/Contributing_Changes.html\" target=\"_blank\" rel=\"noopener\">brief overview of contributing changes<\/a> is a good place to begin. The next step is to contact us by responding to an existing issue or creating an issue in the Github repository and expressing your interest. We can then work together to plan and integrate your contributions.<\/p>\n<p>To enable us to accept contributions in a way that honors your contribution and respects your copyright while preserving long-term flexibility for open source licensing, you would also need to agree to the <strong>SIL Global Contributor License Agreement for Font Software (v1.0)<\/strong> prior to sending us your contribution. To read more about this requirement and find out how to submit the required form, please visit the <a href=\"https:\/\/software.sil.org\/fontcla\">CLA information page<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome font developers! We welcome other developers who wish to get involved in supporting and enhancing these fonts or who want to modify them. Permissions granted by the OFL SIL\u2019s fonts are licensed according to the terms of the SIL Open Font License. The OFL allows the fonts to be used, studied, modified and redistributed [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"hide_sidebar":false,"hide_h1":false,"footnotes":""},"class_list":["post-236","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/software.sil.org\/ruwudu\/wp-json\/wp\/v2\/pages\/236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/software.sil.org\/ruwudu\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/software.sil.org\/ruwudu\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/software.sil.org\/ruwudu\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/software.sil.org\/ruwudu\/wp-json\/wp\/v2\/comments?post=236"}],"version-history":[{"count":26,"href":"https:\/\/software.sil.org\/ruwudu\/wp-json\/wp\/v2\/pages\/236\/revisions"}],"predecessor-version":[{"id":1103,"href":"https:\/\/software.sil.org\/ruwudu\/wp-json\/wp\/v2\/pages\/236\/revisions\/1103"}],"wp:attachment":[{"href":"https:\/\/software.sil.org\/ruwudu\/wp-json\/wp\/v2\/media?parent=236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}