smith font and keyboard build system
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
build_system_kit
demos #1031 Aug 30, 2011
docs
playground
smith-playground
smithlib
tests
utils
vm-install
waflib
.gitignore
ChangeLog Fixup mess back to r2690 (aa34df555614) Sep 21, 2011
DEVEL docs Jan 25, 2011
MANIFEST.in Added missing template. Dec 17, 2017
README.md
README.original Add new readme Aug 6, 2015
TODO Fix tests and start support for multiple script Mar 21, 2013
bash_completion_smith
configure
install
mywaflite
setup.py
smith.py
smith_dev.py
waf-light Fixup mess back to r2690 (aa34df555614) Sep 21, 2011
wscript

README.md

Smith

smith is a Python-based framework for building, testing and maintaining WSI (Writing Systems Implementation) components such as fonts and keyboards. It is based on waf. Smith orchestrates and integrates various tools and utilities to make a standards-based open font design and production workflow easier to manage.

Building a font involves numerous steps and various programs, which, if done by hand, would be prohibitively slow. Even working out what those steps are can take a lot of work. Smith uses a dedicated file at the root of the project (the file is python-based) to allow the user to describe how to build the font. By chaining the different build steps intelligently, smith reduces build times to seconds rather than minutes or hours, and makes build, test, fix, repeat cycles very manageable. By making these processes repeatable, including for a number of fonts at the same time, your project can be shared with others simply, or - better yet - it can be included in a CI (Continuous Integration) system. This allows for fonts (and their various source formats) to truly be libre/open source software and developed with open and collaborative methodologies.

Smith is Copyright (c) 2011-2018 SIL International (www.sil.org)
and is released under the BSD license.

Documentation

The manual (including a step-by-step tutorial) is in docs/smith. (to regenerate: cd docs/smith/ && ./build-docs.sh)

Installation

The current VM (Virtual Machine) installation files (using vagrant) are in vm-install.
These files make it easier to use smith (and its various components) on macOS, Windows or Ubuntu.
Simply copy the files to the root of your project and run vagrant up.