ASCII Input Standard (v1.0)
todo
todo
ASCII Input Standard
- Version 1.0
- Fallback behaviors
- Notes for font makers
- Conventions for some obscure features
- Standard glyph numbering
Version 1.0
This is a standard for typing Sitelen Pona using ASCII. It's used in the following situations:
- Someone is composing a Sitelen Pona document with a preprocessor that converts ASCII to Sitelen Pona.
- A font is converting ASCII strings into Sitelen Pona glyphs using ligatures. This standard was primarily created by font makers for this purpose.
- A developer of a Input Method Editor (IME) for Sitelen Pona may opt to use this standard as a basis for their input method.
To use a font's default glyph for a word, type the word, such as sewi.
To type a font's alternate glyph for a word, append a number, such as sewi2. This numbering differs between fonts and technologies. For example, some fonts assign the "upside-down anpa" version of sewi to sewi1; others assign it to sewi2.
To type a specific glyph for a word, in a way that's consistent across fonts and technologies, append a number with a leading zero, such as sewi02. (The leading zero will still be present after 10, e.g. word09, word010, word011.) kulupu Linku will publish and maintain a database of standardized glyph numberings. The initial set is below, under Standard glyph numbering.
There are three ways of combining glyphs.
-To stack two glyphs on top of each other, use a hyphen. For example,kala-liliwill show a kala with a lili above it.+To nest one glyph inside another, use a plus. For example,kala+liliwill show a kala with a lili inside it.&To request a non-standard way of combining glyphs, use an ampersand. For example,kulupu&kilimight draw three kili in the arrangement of the kulupu glyph. Also use the ampersand to allow a font designer to pick for you if there is no special combination. For example, in one font,kala&lilimight stack; but in another, it might nest.
To write a cartouche, use the symbols [ and ]. For example, "jan Itan" might be written jan [ijo tan anpa nanpa].
To use nasin sitelen kalama inside cartouches, use . and :. For example, "jan Itan" might be written jan [ijo tan:].
To use tally marks below cartouches, use ,. For example, "jan Itan" might be written jan [ijo, tan,,,].
To write quotation marks, use te for opening quote, and to for closing quote.
To separate words, type a single space, e.g. kala ma. This space is collapsed to zero-width. For example, kala ma will show the "kala" glyph followed by the "ma" glyph, with no space in between.
To write a full-width space, type |. For example, to write two sentences on one line without punctuation, type something like soweli li pona | o pona tawa ona. To indent a sentence fragment, type something like:
soweli mi li suwi
| | li pona tawa mi
| | | | tawa jan ante
To write the word "pi" wrapping under other words, use ( and ). For example, "tomo pi mama mi li suwi" might be written tomo pi(mama mi) li suwi.
There are two ways of rotating the word "ni":
- Use leading-zero standard numbering, such as
ni02for "ni" pointing right. - Use
v,>,^, and<, such asni>for "ni" pointing right.
Fallback behaviors
- When a word isn't supported by a font or technology, the fallback is undefined and varies. For example, for an unsupported word "kokosila", a font might display a [?] symbol, a string like "koTok koTok s i laTok", or a cartouche like "[ko.ko.sina.la.]".
- If a numbered glyph variant or directional glyph variant isn't available, the font or technology picks a different variant to use.
- If long pi isn't available,
(and)are treated as invisible. - If the user-specified method for combining glyphs isn't available, then a font or technology can pick a different combo strategy, or not combine the characters at all.
Notes for font makers
If you're making a font that converts ASCII into Sitelen Pona using ligatures, you should make the standard space show a zero-width space. This collapses the space between two words, such as jan pona. Intentional spaces between words can be typed with |. This design choice ensures that sequences of spaces show up properly in web browsers, avoiding the space-collapsing design of HTML itself, and avoiding an Apple bug that prevents ligatures like p o n a space from being used.
If a tally mark is used outside a cartouche, the resulting behavior is undefined and varies. Since sentences like tenpo ni la, mi pilin pona are common, and would otherwise result in an unintended tally mark below la, we recommend hiding the tally mark outside of cartouches, and producing a zero-width or full-width space.
Supporting a space between pi and ( is optional. To guarantee compatibility, authors should write pi( without a space.
Conventions for some obscure features
These ASCII symbols aren't standardized by this document, and may be repurposed for something else in a future revision if a more important or popular feature needs them. But they're included here to help font makers to experiment:
To wrap a glyph backwards around other words, use { and }. For example, "mi tawa tomo mi" might be written mi tawa {tomo}mi. (Many font makers use { and } for other purposes, such as custom cartouches, and that isn't a violation of this standard.)
To type dakuten in a cartouche, use " and *. For example, "jan Itan" might be written jan [ijo" tan*].
To manually insert a combining cartouche extension (the middle of a cartouche), use =. To manually insert a combining long glyph extension (the middle of long pi), use _. Combining extensions are applied to the preceding glyph, so mi toki= pona shows "toki" with a line above and below it.
Standard glyph numbering
The following list is maintained by kulupu Linku, not the Association. It’s not part of this standard, and is only included for reference. Glyphs are included based on frequency of their inclusion in fonts, and ordered historically.
For every glyph included in "Toki Pona: The Language of Good" (2014), word01 produces the original version of that glyph. For example, sama01 produces an equals sign.
| Word | # | Input | Description | Example |
|---|---|---|---|---|
| a | 01 | a01 | pu a | |
| 03 | a03[sic] | triple-stick a | ||
| akesi | 01 | akesi01 | 6 legged akesi | |
| 02 | akesi02 | 4 legged akesi | ||
| ante | 01 | ante01 | pu ante | |
| 02 | ante02 | skew ante | ||
| apeja | 01 | apeja01 | kulupu apeja | |
| epiku | 01 | epiku01 | upvote epiku | |
| 02 | epiku02 | emitters epiku | ||
| isipin | 01 | isipin01 | lawa emitters isipin | |
| jami | 01 | jami01 | suwi jami | |
| jan | 01 | jan01 | pu jan | |
| 02 | jan02 | eyes jan | ||
| kala | 01 | kala01 | pu kala | |
| 02 | kala02 | eyes kala | ||
| kamalawala | 01 | kamalawala01 | anarchist kamalawala | |
| kapesi | 01 | kapesi01 | loje jelo laso style kapesi | |
| kiki | 01 | kiki01 | explosion kiki | |
| 02 | kiki02 | triangle kiki | ||
| ko | 01 | ko01 | blobby ko | |
| 02 | ko02 | flower ko | ||
| kokosila | 02 | kokosila02[sic] | toki kokosila | |
| konwe | 01 | konwe01 | glider konwe | |
| kulijo | 01 | kulijo01 | lete kulijo | |
| lanpan | 01 | lanpan01 | jo lanpan | |
| 02 | lanpan02 | pana lanpan | ||
| lape | 01 | lape01 | lying down lape | |
| 02 | lape02 | u.u lape | ||
| linluwi | 01 | linluwi01 | emitters linluwi | |
| 02 | linluwi02 | sitelen linluwi | ||
| 03 | linluwi03 | kulupu linluwi | ||
| lupa | 01 | lupa01 | pu lupa | |
| 02 | lupa02 | sitelen sa lupa | ||
| majuna | 01 | majuna01 | turned sin majuna | |
| 02 | majuna02 | lotus/book majuna | ||
| meli | 01 | meli01 | pu meli | |
| 02 | meli02 | venus meli | ||
| melome | 01 | melome01 | right-side-up melome | |
| meso | 01 | meso01 | tu meso | |
| mije | 01 | mije01 | pu mije | |
| 02 | mije02 | mars mije | ||
| mijomi | 01 | mijomi01 | right-side-up mijomi | |
| misa | 01 | misa01 | legless earless misa | |
| misikeke | 01 | misikeke01 | capsule misikeke | |
| 02 | misikeke02 | mortar and pestle misikeke | ||
| moli | 01 | moli01 | pu moli | |
| 02 | moli02 | x_x moli | ||
| monsi | 01 | monsi01 | pu monsi | |
| 02 | monsi02 | tail monsi | ||
| monsuta | 01 | monsuta01 | jagged line monsuta | |
| mu | 01 | mu01 | pu mu | |
| 02 | mu02 | dialogue punctuation | ||
| mute | 01 | mute01 | pu mute | |
| 02 | mute02orluka&luka&luka&luka | four hands mute | ||
| namako | 01 | namako01 | 4-line sin namako | |
| 02 | namako02 | pepper namako | ||
| nena | 01 | nena01 | pu nena | |
| 02 | nena02 | sitelen sa nena | ||
| ni | 01 | ni01orniv | down ni | |
| 02 | ni02orni> | right ni | ||
| 03 | ni03orni^ | up ni | ||
| 04 | ni04orni< | left ni | ||
| 05 | ni05orniv>orni>v | down right ni | ||
| 06 | ni06orni^>orni>^ | up right ni | ||
| 07 | ni07orni^<orni<^ | up left ni | ||
| 08 | ni08orniv<orni<v | down left ni | ||
| oko | 01 | oko01 | side oko | |
| olin | 01 | olin01 | pu olin | |
| 02 | olin02 | overlapping olin | ||
| 03 | olin03 | emitters olin | ||
| omekapo | 01 | omekapo01 | kala emitters omekapo | |
| owe | 01 | owe01 | lukin emitters oko | |
| pake | 01 | pake01 | T pake | |
| penpo | 01 | penpo01 | toki pona with 8 emitters penpo | |
| pika | 01 | pika01 | lightning pika | |
| po | 01 | po01 | numeral 4 po | |
| powe | 01 | powe01 | lon ala powe | |
| puwa | 01 | puwa01 | cloud puwa | |
| san | 01 | san01 | triple backwards wan san | |
| sewi | 01 | sewi01 | pu sewi | |
| 02 | sewi02 | turned anpa sewi | ||
| sinpin | 01 | sinpin01 | pu sinpin | |
| 02 | sinpin02 | face sinpin | ||
| sitelen | 01 | sitelen01 | pu sitelen | |
| 02 | sitelen02 | line sitelen | ||
| soko | 01 | soko01 | thin stem soko | |
| 02 | soko02 | thick stem soko | ||
| 03 | soko03 | annulus soko | ||
| soto | 01 | soto01 | box soto | |
| su | 01 | su01 | oz su | |
| 02 | su02 | unicorn su | ||
| 03 | su03 | suno su | ||
| sutopatikuna | 01 | sutopatikuna01 | head sutopatikuna | |
| taki | 01 | taki01 | yin yang taki | |
| 02 | taki02 | magnet taki | ||
| teje | 01 | teje01 | box teje | |
| tenpo | 01 | tenpo01 | pu tenpo | |
| 02 | tenpo02 | hourglass tenpo | ||
| tomo | 01 | tomo01 | pu tomo | |
| 02 | tomo02 | overhang tomo | ||
| tonsi | 01 | tonsi01 | transgender symbol tonsi | |
| 02 | tonsi02 | nonbinary symbol tonsi | ||
| unu | 01 | unu01 | kule mun unu | |
| usawi | 01 | usawi01 | nasa emitters usawi | |
| uta | 01 | uta01 | pu uta | |
| 02 | uta02 | dotless uta | ||
| wa | 01 | wa01 | exclamation wile wa | |
| wasoweli | 01 | wasoweli01 | 4 legged wasoweli | |
| wekama | 01 | wekama01 | weka kama wekama | |
| wile | 01 | wile01 | pu wile | |
| 02 | wile02 | turned heart wile | ||
| wuwojiti | 01 | wuwojiti01 | box wuwojiti | |
| yupekosi | 01 | yupekosi01 | y yupekosi |