Glaemscribe, the transcription engine of conscryption-kit, writes ☠ (U+2620) for each character that its mode does not know. If that text then goes to a font, the reader sees a skull, or the empty box of the font, in the middle of the message. Nothing tells the reader that part of the message is gone.
At first the kit refused such input with a clear message. Now encode --svg does better:
- It draws each glyph from the outline in the font file (fontTools SVGPathPen), so the SVG needs no installed font.
- It draws each piece of text that has no glyph as plain text in a dashed box. The box has a title that says why.
The reader sees which part of the message the script cannot write, and reads that part as it is.
python -m conscryption_kit.cli encode tf-maximal-alphabet "R2D2 HAS 25 PARTS" --svg r2d2.svg
Two examples
The Maximal chart prints the numbers 1 to 20, so the kit draws the 2 of R2D2 in Maximal. No glyph is known for 25, so it stays as text.
Greco-Sol, from The AllSpark Almanac II, has only ten letters: the Greek capitals alpha to kappa. The kit writes English into them through a romanisation table, so TH becomes theta and E, I and A have glyphs. The other letters of AND OPTIMUS have no glyph, and the boxes show them.
The font’s own empty box counts as missing
A font can map a character to its .notdef glyph, the empty box that a font shows for “no glyph”. The
character then looks present in the font, but it draws nothing useful. Destronic Grafitti, the Decepticon
font, does this for :, ;, - and '. The kit now compares each outline with the outline of the
font’s .notdef glyph, and a match counts as no glyph. A regression test keeps it that way.
A fan project. It is not affiliated with or endorsed by Disney, Hasbro, Paramount or Nickelodeon. The scripts, characters and names belong to their owners. The Avatarian image is shared under CC BY-SA 3.0 (glyphs and rules: User:TechFilmer, Avatar Wiki).