feat: add a sitelen pona font to MFM
Created by: lewdum
Summary
Add a sitelen pona font family to MFM and make it available as $[font.sitelen text]
.
Purpose
clears throat
toki pona is a constructed language created by Sonja Lang in 2001 which sports a considerable community on Fedi. A search for the term is enough to reveal a pretty large quantity of posts pertaining to it and users whose profiles mention it. It is most often written in the Latin alphabet, but an official logographic writing system known as "sitelen pona" has become increasingly popular in the community.
Implementation
Unlike in, say, Chinese writing, every word in toki pona is represented by a unique symbol, and every symbol represents a unique word. This means that fonts can take advantage of ligatures to render words in the Latin alphabet as their equivalents in sitelen pona. In other words, the same exact toki pona string can be rendered in either Latin characters or sitelen pona depending on the font. For example, typing the word "pona" will render a single semi-circle, its symbol in sitelen pona -- no preprocessing required. This is a pretty cool technique and this page showcases it pretty well (in the "Phrases from tokipona.net" section).
In practice, all that Sharkey would have to do is ship a sitelen pona font and enable it in the MFM syntax mentioned above.
Compatibility and Accessibility
Assuming that other software that doesn't support this font family simply ignores it (or the user disables MFM), we actually get the best possible outcome. The text will be rendered in the Latin alphabet and be perfectly readable for those who can read toki pona in its Latin form. Furthermore, screen readers should pronounce the words exactly the same whether they are rendered in the Latin alphabet or a sitelen pona font, since the underlying text is the same, and copying the "glyphs" will copy their Latin equivalent rather than some sequence of (non-alphabetic) Unicode characters.
But which one?
I have found linja lipamanka to be readable, properly sized and beautiful. It is provided in OTF and WOFF formats. I spoke to the author on Discord and it said that the font is released under the Open Font License ("OFL allows you to use it for anything without asking me") and that it is "finished". Alternatively, sitelen pona pona (released under The Unlicense) has good ergonomics but changes many of the glyphs in arbitrary ways that may be controversial in the community, so I don't think it is suitable.
Alternatives
lipamanka also told me that it is working to get sitelen pona as stand-alone glyphs in Unicode! While this is very exciting, it is currently unclear when this will happen and lipamanka itself predicts it will take "a few months", and suggests that linja lipamanka could still serve as a fallback font in that case.
Do you want to implement this feature yourself?
- Yes, I will implement this by myself and send a pull request