NRSI: Computers & Writing Systems
SIL Reprise — font conversion utility
Version 1.3 is now available.
What is SIL Reprise?
Why "Reprise"? A long time ago, in a technology far, far away, SIL produced a set of high quality digital typefaces known as the SIL Premier Fonts. The subsequent generation of these typefaces was the SIL Encore Font System. Reprise breathes new life into SIL Encore fonts by making them usable in Unicode applications.
Reprise is a utility to convert legacy-encoded fonts (e.g., SIL Encore fonts) into Unicode fonts so they can be used in Unicode-based applications. The goal is to produce a Unicode font that renders your Unicode data exactly as the legacy font renders your legacy data.
In addition to your legacy font, Reprise requires a fully reversible TECkit mapping between the legacy encoding and Unicode. In this context, "fully reversible" means that you can use it to convert Unicode data back to Legacy encoding and it renders properly (e.g., with appropriate contextual forms) using your Legacy font.
Reprise uses information from the TECkit mapping for two purposes:
Sounds tricky — what are the limitations?
There are encoding mapping constructs that Reprise cannot handle. The most important of these is multi-pass or re-ordered mappings. However, most legacy fonts built from the SIL Encore font system will not require these kinds of mappings. See below for more information about limitations and known problems.
Why not just use Doulos SIL or Charis SIL?
Doulos SIL and Charis SIL are much more complete, in terms of character repertoire and "smarts", than any font you can build with Reprise. If your requirements are met by one of these fonts then by all means use them rather than Reprise.
However, if you need other typefaces, e.g., the italic or bold variants of Doulos, or any of Sophia or Manuscript, or if you need alternate glyphs (e.g., of Eng) or special diacritic positioning that you have perfected in your Encore fonts, then while waiting for complete font families to be developed you could convert your existing legacy fonts using Reprise.
How does it work?
How SIL Reprise works
Reprise reads the legacy font and mapping description to create a new output font and, optionally, a Graphite GDL source file. You then compile the output font using Microsoft VOLT and/or GrCompiler to create a new font that has the smarts.
What are the requirements for using Reprise?
Limitations and known issues
Please look over this carefully!
The Reprise technology is not a blackbox, pushbutton, system.
There are several individual steps in the process of building a font, and you have to use several different programs. Further, and especially during this early phase, there may be errors along the way.
Requires VOLT and/or Graphite compiler
Some users may want to use VOLT to "touch up" the OpenType logic built by Reprise, so that will always be an option. Eventually we hope to provide the option of automatic compilation of OpenType tables, thus bypassing VOLT. But for now you will need to use VOLT or Graphite to compile your fonts.
No multipass or reordered mappings
As mentioned above, Reprise does not support mappings that utilize multiple passes or reordering. This will not be a concern to most Encore font users, but could affect some others.
Bad mapping descriptions create bad fonts
The success of Reprise is dependent on having a good reverse (i.e., from Unicode back to Legacy) mapping information defined in your TECkit or UTR22c mapping description. However, I find that a lot of people are more concerned about the forward (Legacy to Unicode) mapping than they are with the reverse mapping.
Things to look out for include:
If you are ready to have a go, then continue here.