tetrak_translit.script

The two kinds of data everything else runs over: a script and a scheme.

A Script describes a writing system as this package needs it – its alphabet, which sequences every scheme must render as a unit, its vowels, where its letters live in Unicode and whether it has case. A Scheme is one romanisation table for one script. Both are data; the engine in tetrak_translit.engine is the only code that reads them, and it reads nothing else, which is what makes a new script a matter of adding a package of tables rather than touching the engine.

Every table is written from the published standard it names, never copied from another implementation. Romanisation tables are facts, but a copied file is still a copied file (Tetrak brief 015).

Two kinds of scheme live here and the distinction matters:

  • Display schemes render a script for a reader: a catalogue, a citation, a caption beside an OCR transcript.

  • Finding is a different job, done by tetrak_translit.fold(), which maps every scheme of a script, and the script itself, onto a single index form. A scheme says how a name looks; the fold says which names are the same.

Classes

Scheme(script, key, name, version, standard, ...)

One romanisation table for one script.

Script(key, name, unicode_name, letters[, ...])

A writing system, as the engine needs to know it.