Santak is a collection of tools that help automate creating and working with fonts and related image files. It's not very thoroughly documented or maintained, but I use it.
The individual components of Santak are under their original licenses; documentation, code, scripts, and data created by Steve Tinney for Santak is placed in the public domain under a CC0 license.
The following packages are required:
fontforge gimp imagemagick potrace
Santak is not entirely portable and some processes require a Unix environment.
- On MacOS Gimp xcf2png may fail because 'plug-in-script-fu-text-console' is not available, which disables batchmode.
To create a new font, set up a working directory containing a Makefile and a directory with the starting files, e.g., .xcf files named with FSS conventions.
If reference to an Oracc project is required by a process (see below) then the environment variable ORACC_BUILDS must be set to the path to built projects.
The Makefile must contain at least two variables:
santak the path to the santak directory
todo a quoted list of processes
It must end with the line:
include $(santak)/tools/makerules.txt
Depending on the processes listed in the todo variable, the following variables may also be required and must appear before the include line.
nsprefix a prefix for labels in the OSL PUA system
project an Oracc project
corpus a corpus within the project
The process stages working from making a font back to image-gathering are:
ttf
true-type-font--generates the font from the svg/ directory;
the files must be named with the Unicode codepoint of their
location in the font.
svg
svg output--translates the ucp/ files to svg and stores them
in the svg/ directory.
ucp
unicode-code-point--translates OIDs/labels to code points and
creates a directory of links in the ucp/ directory. The links
are named by the code point and point to the source png files.
rep
repertoire-checking--analyzes coverage using the fss-oid.tab
and a repertoire table that can be built from an Oracc
corpus-based signlist. This process normally obtains its
rep-tab via a project and corpus set in the Makefile. This
process expects to find a file
$ORACC_BUILDS/$project/00etc/$corpus-rep.tab
fss
file-system-safe (ATF) resolution--translates png file-names
that use Oracc FSS transliteration to Oracc OIDs or to
character labels that can be used in OSL's PUA
management. This phase creates a table of filenames to
OIDs/labels, the ffs-oid.tab
png
png output--converts non-png files, e.g., xcf, to png and puts
them in the png/ directory.