sitelen pona pona
sitelen pona pona

This concept (and embedded font) adapts sitelen pona (also found in the official toki pona book) into a unicode-based script that can be typed or written, and attempts to tackle the following goals:

The source for the font and this page can be seen on the Github repo, and downloaded from the releases page

Glyphs

Some glyphs were very easy to covert, while others needed to be adapted for multiple reasons. Below are all of the glyphs, followed by some of the reasoning behind the decisions made. Inspiration (especially for new/apocryphal words) was taken from the excellent linja pona.

a
akesi
ala
alasa
ale/ali
anpa
ante
anu
awen
e
en
esun
ijo
ike
ilo
insa
jaki
jan
jelo
jo
kala
kalama
kama
kasi
ken
kepeken
kili
kiwen
ko
kon
kule
kulupu
kute
la
lape
laso
lawa
len
lete
li
lili
linja
lipu
loje
lon
luka
lukin
lupa
ma
mama
mani
meli
mi
mije
moku
moli
monsi
mu
mun
musi
mute
nanpa
nasa

nasin
nena
ni
nimi
noka
o
olin
ona
open
pakala
pali
palisa
pan
pana
pi
pilin
pimeja
pini
pipi
poka
poki
pona
pu
sama
seli
selo
seme
sewi
sijelo
sike
sin
sina
sinpin
sitelen
sona
soweli
suli
suno
supa
suwi
tan
taso
tawa
telo
tenpo
toki
tomo
tu
unpa
uta
utala
walo
wan
waso
wawa
weka
wile
apeja
monsuta
kipisi
kin
oko
namako
pake

leko
tonsi
kijetesantakalu

Removing redundant information

akesi (akesi), soweli (soweli), pipi (pipi), and waso (waso) are all related to animals, so keeping the two dots as eyes makes sense, but other features like the multiple lines aren't used to differentiate them from other glyphs. alasa (alasa) is the only glyph that uses this shape, so removing the arrow-head and tail helps to refine the shape and allows us to keep a tighter spacing. Similarly, lawa (lawa) only needs the line in the middle of the circle to differentiate it from ijo (ijo). pan (pan) doesn't need the third chevron to differentiate it from other shapes. There are no shapes like uta (uta), so its under-dot can be removed. sitelen (sitelen) only needs one dot to differentiate it from lipu (lipu), and allows us to use a narrower shape. The extra line in sewi (sewi) could be confused for belonging to another shape, and can be removed without causing confusion.

Refining original ideas

jaki (jaki) can be simplified into a still-chaotic shape, while being easy to draw and recognize, as can ko (ko). Shapes like monsi (monsi), poka (poka), and sinpin (sinpin) all have dots outside their horizontal bounds, which could easily be confused for punctuation or a part of another shape, so these were converted to mid-lines and moved to the inside of the shape. If we want to be able to use "?" in our sentences, seme (seme) needs to become a distinct shape, so it retains the top part of the question mark and combines it with ijo (ijo). wile (wile) uses an inverted pilin (pilin), because of its related definition and already-similar shape - this also removes the (possible) Latin-centric design.

mu (mu) has a similar shape to musi (musi), so we can remove the line connecting the two circles and let the center dot differentiate them. Similarly, la (la) and kute (kute) can be made similar but separated by a center dot. jo (jo) is a very common word, so we can remove the extra arm to make it easier to identify. The two "x"s in moli (moli) makes it very line-dense at smaller sizes, so we can use just one "x" shape and move it outside the circle.

Differentiating between similar shapes

a (a) is very similar to o (o) at smaller sizes, and is a little Latin-centric, so the line from the "a" is moved to the top. kin (kin) is flipped horizontally since it functions in a similar way. To differentiate between pona (pona) and lupa (lupa), lines along the reference point in the latter (the ground in this case) were added. This was also applied to nena (nena) to separate it from ike (ike). Ascending/descending both shapes help them look unique as well. At smaller sizes, ante (ante) could look similar to ala (ala), so the points of each chevron were offset, which gives it an unique and easily recognizable shape.

To differentiate between lili (lili) and suli (suli), reference lines were added to each - a floor in lili's case, and a ceiling in suli's. wawa (wawa) and mani (mani)'s shapes can be easily confused, so the former's lines were made parallel and separate from the circle. nimi (nimi)'s base shape is difficult to differentiate between lipu (lipu), so a diagonal line was added. palisa (palisa) suffers from the same problem, so the bottom of the shape was made flat, while keeping the entire shape narrow.

Technical details

The glyphs are mapped to the currently-unused UCSUR range of 0xEE00 to 0xEE85 - this includes discrete codes for the left and right cartouche ends and a combining code, for optionally inserting glyphs into each other, where readable (this is not widely implemented). All the details of this deserve a full Unicode proposal, mapping all words (e.g. ones that may be missing), along with full names that follow the correct conventions.

The font uses OpenType features (the liga table) to automatically convert Latin text into the individual sitelen pona glyphs - in cases where there shouldn't be a space between the glyphs (anywhere but double spaces or after punctuation), this is removed. A full Latin font is included as well, and toki pona text will render in this if the liga table is not active. When active, any words not listed above will automatically be cartouched, so long as valid toki pona letters are used. To use the cartouche with toki pona characters, you can use the square brackets - the encapsulated characters don't have the lines above/below them: jan [jaki akesi kon olin] - jan [jaki akesi kon olin], compared to jan jako - jan jako.

Some glyphs can be combined by using a hyphen between words, like this: sona-ala (sona-ala), which is one of the few combinations currently enabled. Because of the difficulty of reading these at smaller sizes, and the already-high density of information in these glyphs, this wasn't seen as important of a feature.

When using the font on a webpage, you can use this css to force the liga table to activate:

text-rendering: optimizeLegibility;
font-feature-settings: "liga" 1;

Many graphic programs have glyph/typography option panels that allow you to enable stylistic alternatives, or at least a glyph browser to manually select them. If all else fails, the glyphs in the table above (and only this table) are the Unicode representations, and can be copy/pasted into any program where the font is available - the liga is not required for these to work.

Examples

Phrases from tokipona.net

ni li ike. mi wile toki tawa jan lawa.
ni li ike. mi wile toki tawa jan lawa.
I wish to complain.
ni li pona mute lon ma Mewika. ona li pona lili lon ma ni.
ni li pona mute lon ma Mewika. ona li pona lili lon ma ni.
It's better in the States.
mi wile pana e mani pona. sina wile e mute seme?
mi wile pana e mani pona. sina wile e mute seme?
How much is that in real money?
sina toki e toki Inli, anu seme?
sina toki e toki Inli, anu seme?
Don't you speak English?

Paragraph from toki soweli

48px

mi lon seme? tenpo pini lili la mi lape. lape ni li suli li wawa. tenpo mute la mi lape. taso tenpo ni la mi lape ala. mi lon. oko mi li open ala. mi lon seme? mi pilin e ni: mi lon anpa anu seme? mi open e oko mi li lukin e ni: mi lon anpa pi ma kasi. kasi suli li lon poka mi. kasi lili li lon ali. suno lili li lon tan kasi suli. mi ken kute e mu. mi lon seme? mi toki e ni: 'pakala a.' mi sewi e mi li lukin. kasi suli li lon ali. mi kute kin e mu.

36px

mi lon seme? tenpo pini lili la mi lape. lape ni li suli li wawa. tenpo mute la mi lape. taso tenpo ni la mi lape ala. mi lon. oko mi li open ala. mi lon seme? mi pilin e ni: mi lon anpa anu seme? mi open e oko mi li lukin e ni: mi lon anpa pi ma kasi. kasi suli li lon poka mi. kasi lili li lon ali. suno lili li lon tan kasi suli. mi ken kute e mu. mi lon seme? mi toki e ni: 'pakala a.' mi sewi e mi li lukin. kasi suli li lon ali. mi kute kin e mu. mi pilin e ni: ken la soweli ni li pona li ken toki tawa mi. mi tawa. tenpo kama lili la kasi suli li lon lili. kasi lili li lon mute. kin la suno li lon lili tan ni: sewi li kama jo e telo sewi mute. mi kute e mu li lukin. mi lukin e ni: ijo li tawa! mi tawa kepeken tenpo lili. mi pilin e ni: ijo li soweli li pona.

24px

mi lon seme? tenpo pini lili la mi lape. lape ni li suli li wawa. tenpo mute la mi lape. taso tenpo ni la mi lape ala. mi lon. oko mi li open ala. mi lon seme? mi pilin e ni: mi lon anpa anu seme? mi open e oko mi li lukin e ni: mi lon anpa pi ma kasi. kasi suli li lon poka mi. kasi lili li lon ali. suno lili li lon tan kasi suli. mi ken kute e mu. mi lon seme? mi toki e ni: 'pakala a.' mi sewi e mi li lukin. kasi suli li lon ali. mi kute kin e mu. mi pilin e ni: ken la soweli ni li pona li ken toki tawa mi. mi tawa. tenpo kama lili la kasi suli li lon lili. kasi lili li lon mute. kin la suno li lon lili tan ni: sewi li kama jo e telo sewi mute. mi kute e mu li lukin. mi lukin e ni: ijo li tawa! mi tawa kepeken tenpo lili. mi pilin e ni: ijo li soweli li pona. tenpo kama lili la mi lukin e ona! taso ona li soweli ala. ona li akesi monsuta! ike a! akesi monsuta li suli li jo e luka tu tu li jo e noka tu wan li jo e oko loje. ona li mu kepeken kalama wawa. pakala a! akesi monsuta li toki e ni: 'mi pana e lape tawa sina. mi tawa e sina lon ma kasi. mi wile e ni: mi utala e sina li moli e sina!' mi wile e ni: mi kama weka. taso mi sona e ni: mi ken tawa ala. tan ni la mi pilin e ni: mi utala. akesi monsuta li mu li pilin wawa e anpa kepeken luka ona. mi lukin e oko pi akesi monsuta. mi toki a! mi tawa e akesi monsuta li utala e akesi monsuta. akesi monsuta li open e uta ona li pana e seli tawa mi. mi tawa poka mi. akesi li pana e seli mute. mi tawa. akesi li pana ala e seli. mi tawa li pilin e sinpin akesi kepeken luka mi.

16px

mi lon seme? tenpo pini lili la mi lape. lape ni li suli li wawa. tenpo mute la mi lape. taso tenpo ni la mi lape ala. mi lon. oko mi li open ala. mi lon seme? mi pilin e ni: mi lon anpa anu seme? mi open e oko mi li lukin e ni: mi lon anpa pi ma kasi. kasi suli li lon poka mi. kasi lili li lon ali. suno lili li lon tan kasi suli. mi ken kute e mu. mi lon seme? mi toki e ni: 'pakala a.' mi sewi e mi li lukin. kasi suli li lon ali. mi kute kin e mu. mi pilin e ni: ken la soweli ni li pona li ken toki tawa mi. mi tawa. tenpo kama lili la kasi suli li lon lili. kasi lili li lon mute. kin la suno li lon lili tan ni: sewi li kama jo e telo sewi mute. mi kute e mu li lukin. mi lukin e ni: ijo li tawa! mi tawa kepeken tenpo lili. mi pilin e ni: ijo li soweli li pona. tenpo kama lili la mi lukin e ona! taso ona li soweli ala. ona li akesi monsuta! ike a! akesi monsuta li suli li jo e luka tu tu li jo e noka tu wan li jo e oko loje. ona li mu kepeken kalama wawa. pakala a! akesi monsuta li toki e ni: 'mi pana e lape tawa sina. mi tawa e sina lon ma kasi. mi wile e ni: mi utala e sina li moli e sina!' mi wile e ni: mi kama weka. taso mi sona e ni: mi ken tawa ala. tan ni la mi pilin e ni: mi utala. akesi monsuta li mu li pilin wawa e anpa kepeken luka ona. mi lukin e oko pi akesi monsuta. mi toki a! mi tawa e akesi monsuta li utala e akesi monsuta. akesi monsuta li open e uta ona li pana e seli tawa mi. mi tawa poka mi. akesi li pana e seli mute. mi tawa. akesi li pana ala e seli. mi tawa li pilin e sinpin akesi kepeken luka mi. akesi monsuta li mu li tawa monsi. mi tawa li pilin e lawa akesi kepeken noka mi. akesi li mu li lon supa. ona li mu li moli. tenpo kama la mi tawa ma ali li utala e monsuta ali. mi wile e ni: ma ali li pona tawa jan ali.

All glyphs at 16px

a akesi ala alasa ale anpa ante anu awen e en esun ijo ike ilo insa jaki jan jelo jo kala kalama kama kasi ken kepeken kili kiwen ko kon kule kulupu kute la lape laso lawa len lete li lili linja lipu loje lon luka lukin lupa ma mama mani meli mi mije moku moli monsi mu mun musi mute nanpa nasa nasin nena ni nimi noka o olin ona open pakala pali palisa pan pana pi pilin pimeja pini pipi poka poki pona pu sama seli selo seme sewi sijelo sike sin sina sinpin sitelen sona soweli suli suno supa suwi tan taso tawa telo tenpo toki tomo tu unpa uta utala walo wan waso wawa weka wile apeja kipisi oko namako monsuta pake leko kin

Try it out (just type/paste toki pona!)