Font guidelines for sitelen pona: Difference between revisions

From sona pona, the Toki Pona wiki
Content added Content deleted
(→‎Alternative Glyphs: pedantic correction)
No edit summary
Line 1: Line 1:
By now, there are many fonts for [[sitelen pona]] - and more are getting created, and some old ones are getting improved. This article seeks to collect the ideal state of a font, recommendations that emerged from dealing with many fonts, and guidelines for anyone who wants to make a "good" font.
By now, there are many fonts for {{tp|[[sitelen pona]]}}—and more are getting created, and some old ones are getting improved. This article seeks to collect the ideal state of a font, recommendations that emerged from dealing with many fonts, and guidelines for anyone who wants to make a "good" font.


This may also be of use for people who want to improve their handwriting
The less technical advice may also be of use for people who want to improve their handwriting.


This article is going to be very incomplete for a while.
This article is going to be very incomplete for a while.


=Technically complete=
==Technically complete==
When a font is considered complete is going to differ for different font creators and font users. Generally speaking, though, a font might be considered usable by the majority of users when it has the following technical features:
When a font is considered complete is going to differ for different font creators and font users. Generally speaking, though, a font might be considered usable by the majority of users when it has the following technical features:
*At the very least, all the glyphs found in [[pu|the official book]] should be added
* At the very least, all the glyphs found in ''[[Toki Pona: The Language of Good]]'' (''pu'') should be added.
*Any character that is found in [[UCSUR]] should be assigned the codepoint according to UCSUR
* Any character that is found in [[UCSUR]] should be assigned the codepoint according to UCSUR.
*In fact, beyond pu, having a glyph for each "ideograph" in UCSUR would be good
* In fact, beyond ''pu'', having a glyph for each "ideograph" in UCSUR would be good.
*Also add glyphs for cartouche start, cartouche end, cartouche extention lines, extended pi start, expanded character extension line, cartouche interpunct and cartouche colon in the corresponding UCSUR codepoint
* Also add glyphs for cartouche start, cartouche end, cartouche extension lines, extended {{tp|pi}} start, expanded character extension line, cartouche interpunct, and cartouche colon in the corresponding UCSUR codepoint.
*Add a functionality that cartouches and extended pi work with any sitelen pona character without any gaps between the lines. This can be achieved either by making new glyphs where each sitelen pona character is combined with extension lines, or by creating zero-width extension and cartouche lines that can be used ''after'' a word to reach ''under'' another character.
* Add a functionality that cartouches and extended {{tp|pi}} work with any {{tp|sitelen pona}} character without any gaps between the lines. This can be achieved either by making new glyphs where each {{tp|sitelen pona}} character is combined with extension lines, or by creating zero-width extension and cartouche lines that can be used <em>after</em> a word to reach <em>under</em> another character.
*ideally, cartouches and extended pi should work without adding a control character for the lines each time - instead, through ''contextual ligatures'', lines get filled automatically between a start and end character
* Ideally, cartouches and extended pi should work without adding a control character for the lines each time&mdash;instead, through ''contextual ligatures'', lines get filled automatically between a start and end character.
*For increased accessibility, add ligatures for any sitelen pona character, as well as for any functionality the font supports. "Ligatures" (through "lookup tables") make it so a text in ASCII will get substituted with sitelen pona characters, meaning that <code>toki</code> typed out in the Latin writing systems automatically becomes <code>{{sp|toki}}</code> in the font
* For increased accessibility, add ligatures for any {{tp|sitelen pona}} character, as well as for any functionality the font supports. "Ligatures" (through "lookup tables") make it so a text in ASCII will get substituted with {{tp|sitelen pona}} characters, meaning that <code>{{tok|toki}}</code> typed out in {{tp|[[sitelen Lasina]]}} automatically becomes <code>{{sp|toki}}</code> in the font.


Beyond that, the following features require a big amount of work, so it tends not to be seen as a marker of completedness:
Beyond that, the following features require a large amount of work, so it tends not to be seen as a marker of completion:
*Create smaller versions of glyphs for scaled and stacked glyph combinations
* Create smaller versions of glyphs for scaled and stacked glyph combinations.
*Get stacked and scaled glyph combinations to work. While this may be achievable by merging characters, this would end in a big font file and a lot of work. Instead, making components all align with each other is generally a better option. Consider which kinds of combinations work with which kinds of characters in the first place
* Get stacked and scaled glyph combinations to work. While this may be achievable by merging characters, this would end in a big font file and a lot of work. Instead, making components all align with each other is generally a better option. Consider which kinds of combinations work with which kinds of characters in the first place.


Some users also find the following features useful:
Some users also find the following features useful:
* Japanese-style quotation marks. These are also used as glyphs for experimental quotative particles, {{tp|te}} and {{tp|to}}; these are what the ligatures should use.
*quotation marks "te" and "to" that look like Japanese quotation marks
*an extended "a" character that connects to the extension line (to form a stretched "aaaaa")
* An extended {{tp|a}} character that connects to the extension line, forming a stretched glyph that is equivalent to {{tp|sitelen Lasina}} "{{tp|aaaaa}}"
*extended prepositions that connect to the extension line (most commonly "tawa")
* Extended prepositions that connect to the extension line (most commonly {{tp|tawa}})


=Glyphs=
==Glyphs==
Generally, glyphs are more legible if they are '''monospaced''', meaning that the width of each glyph should be the same, even if the drawing of the character doesn't occupy the whole space.
Generally, glyphs are more legible if they are '''monospaced''', meaning that the width of each glyph should be the same, even if the drawing of the character doesn't occupy the whole space.

==Common pitfalls==
===Common pitfalls===
* up-arrow epiku is easy to confuse with directional ni
* flipped-sin majuna is easy to mix up with sin or namako, and lotus majuna is prettier
* Up-arrow {{tp|epiku}} is easy to confuse with directional {{tp|ni}}.
* Flipped-{{tp|sin}} {{tp|majuna}} is easy to mix up with {{tp|sin}} or {{tp|namako}}, and lotus {{tp|majuna}} is prettier.
* thick-stem soko is easy to confuse with mama
* Thick-stem {{tp|soko}} is easy to confuse with {{tp|mama}}.
* monospaced fonts are generally more readable than proportional fonts, because it's faster to find the center of each glyph
* Monospaced fonts are generally more readable than proportional fonts, because it's faster to find the center of each glyph.
* making the circle massive in the pronouns and lape make them easier to confuse with each other
* Making the circle massive in the pronouns ({{tp|mi, sina, ona}}) and {{tp|lape}} make them easier to confuse with each other.
* making glyphs fill up a square bounding box makes them harder to recognize by silhouette
* making glyphs similar to pu generally makes them easier to recognize
* Making glyphs fill up a square bounding box makes them harder to recognize by silhouette.
* Making glyphs similar to [[jan Sonja]]'s handwriting in {{tp|pu}} generally makes them easier to recognize.
* adhering to the metaphors intended by pu glyphs, when possible, helps recognizability
* Adhering to the metaphors intended by {{tp|pu}} glyphs, when possible, helps recognizability.
==Flexible glyphs==

===Flexible glyphs===
Many characters in sitelen pona are widely considered to not be static and aren't supposed to be drawn the same way every time.
Many characters in sitelen pona are widely considered to not be static and aren't supposed to be drawn the same way every time.
*'''jaki''': any scribble, usually with overlaps
* '''{{tp|jaki}}''': any scribble, usually with overlaps
*'''ko''': any blobby unshapely form
* '''{{tp|ko}}''': any blobby unshapely form
*'''ni''': many use ni to point to the part ni is referencing (up, down, right, or other directions, instead of the standard downwards arrow)
* '''{{tp|ni}}''': many use {{tp|ni}} to point to the part {{tp|ni}} is referencing (up, down, right, or other directions, instead of the standard downwards arrow)
*'''lete, kin''': rotation, and maybe even exact number of intersecting lines, aren't important
* '''{{tp|lete, kin}}''': rotation, and maybe even exact number of intersecting lines, aren't important
*'''linja, kon, telo, pakala, mun''': can be mirrored
* '''{{tp|linja, kon, telo, pakala, mun}}''': can be mirrored
*'''soweli''': the exact amount of legs might be less important
* '''{{tp|soweli}}''': the exact amount of legs might be less important
*'''ku''': the ''toki pona'' symbol can range from a simple dot to full-fidelity
* '''{{tp|ku}}''': the {{tp|toki pona}} symbol can range from a simple dot to full-fidelity

===Alternative Glyphs===
====Alternative glyphs====
For various different reasons, people have made new glyphs of different characters. The Esperanto translation of the [[pu|official book]] includes drawings of these''':
For various different reasons, people have made new glyphs of different characters. The Esperanto translation of {{tp|pu}}, ''Tokipono: La lingvo de bono'', includes drawings of these:
*'''sewi''': mirrored glyph of "anpa" (not very common, but listed by ku - alternatively, it has been suggested elsewhere to use other religious symbols, with the possible downside of being less legible)
* '''{{tp|sewi}}''': mirrored glyph of {{tp|anpa}} (not very common, but listed by ''[[Toki Pona Dictionary]]''&mdash;alternatively, it has been suggested elsewhere to use other religious symbols, with the possible downside of being less legible)
*'''akesi''': 2 pairs of legs instead of 3
* '''{{tp|akesi}}''': 2 pairs of legs instead of 3
*'''namako''': both "sin" with an extra line below, and a hot pepper with emenating lines above, are featured side-by-side
* '''{{tp|namako}}''': both {{tp|sin}} with an extra line below, and a hot pepper with emanating lines above, are featured side-by-side
*additionally, 4 different drawings of '''jaki''' are included
* Additionally, 4 different drawings of '''{{tp|jaki}}''' are included

Other common-ish variations include:
Other common-ish variations include:
*'''kala''': adding 2 dots for eyes
* '''{{tp|kala}}''': adding 2 dots for eyes
*'''epiku, kokosila, lanpan''': although there is a more widely accepted version for all of these, their glyphs are relatively recent and have had more than one shape, so older versions are still in use
* '''{{tp|epiku, kokosila, lanpan}}''': although there is a more widely accepted version for all of these, their glyphs are relatively recent and have had more than one shape, so older versions are still in use

Revision as of 23:16, 23 July 2023

By now, there are many fonts for sitelen pona—and more are getting created, and some old ones are getting improved. This article seeks to collect the ideal state of a font, recommendations that emerged from dealing with many fonts, and guidelines for anyone who wants to make a "good" font.

The less technical advice may also be of use for people who want to improve their handwriting.

This article is going to be very incomplete for a while.

Technically complete

When a font is considered complete is going to differ for different font creators and font users. Generally speaking, though, a font might be considered usable by the majority of users when it has the following technical features:

  • At the very least, all the glyphs found in Toki Pona: The Language of Good (pu) should be added.
  • Any character that is found in UCSUR should be assigned the codepoint according to UCSUR.
  • In fact, beyond pu, having a glyph for each "ideograph" in UCSUR would be good.
  • Also add glyphs for cartouche start, cartouche end, cartouche extension lines, extended pi start, expanded character extension line, cartouche interpunct, and cartouche colon in the corresponding UCSUR codepoint.
  • Add a functionality that cartouches and extended pi work with any sitelen pona character without any gaps between the lines. This can be achieved either by making new glyphs where each sitelen pona character is combined with extension lines, or by creating zero-width extension and cartouche lines that can be used after a word to reach under another character.
  • Ideally, cartouches and extended pi should work without adding a control character for the lines each time—instead, through contextual ligatures, lines get filled automatically between a start and end character.
  • For increased accessibility, add ligatures for any sitelen pona character, as well as for any functionality the font supports. "Ligatures" (through "lookup tables") make it so a text in ASCII will get substituted with sitelen pona characters, meaning that toki typed out in sitelen Lasina automatically becomes toki in the font.

Beyond that, the following features require a large amount of work, so it tends not to be seen as a marker of completion:

  • Create smaller versions of glyphs for scaled and stacked glyph combinations.
  • Get stacked and scaled glyph combinations to work. While this may be achievable by merging characters, this would end in a big font file and a lot of work. Instead, making components all align with each other is generally a better option. Consider which kinds of combinations work with which kinds of characters in the first place.

Some users also find the following features useful:

  • Japanese-style quotation marks. These are also used as glyphs for experimental quotative particles, te and to; these are what the ligatures should use.
  • An extended a character that connects to the extension line, forming a stretched glyph that is equivalent to sitelen Lasina "aaaaa"
  • Extended prepositions that connect to the extension line (most commonly tawa)

Glyphs

Generally, glyphs are more legible if they are monospaced, meaning that the width of each glyph should be the same, even if the drawing of the character doesn't occupy the whole space.

Common pitfalls

  • Up-arrow epiku is easy to confuse with directional ni.
  • Flipped-sin majuna is easy to mix up with sin or namako, and lotus majuna is prettier.
  • Thick-stem soko is easy to confuse with mama.
  • Monospaced fonts are generally more readable than proportional fonts, because it's faster to find the center of each glyph.
  • Making the circle massive in the pronouns (mi, sina, ona) and lape make them easier to confuse with each other.
  • Making glyphs fill up a square bounding box makes them harder to recognize by silhouette.
  • Making glyphs similar to jan Sonja's handwriting in pu generally makes them easier to recognize.
  • Adhering to the metaphors intended by pu glyphs, when possible, helps recognizability.

Flexible glyphs

Many characters in sitelen pona are widely considered to not be static and aren't supposed to be drawn the same way every time.

  • jaki: any scribble, usually with overlaps
  • ko: any blobby unshapely form
  • ni: many use ni to point to the part ni is referencing (up, down, right, or other directions, instead of the standard downwards arrow)
  • lete, kin: rotation, and maybe even exact number of intersecting lines, aren't important
  • linja, kon, telo, pakala, mun: can be mirrored
  • soweli: the exact amount of legs might be less important
  • ku: the toki pona symbol can range from a simple dot to full-fidelity

Alternative glyphs

For various different reasons, people have made new glyphs of different characters. The Esperanto translation of pu, Tokipono: La lingvo de bono, includes drawings of these:

  • sewi: mirrored glyph of anpa (not very common, but listed by Toki Pona Dictionary—alternatively, it has been suggested elsewhere to use other religious symbols, with the possible downside of being less legible)
  • akesi: 2 pairs of legs instead of 3
  • namako: both sin with an extra line below, and a hot pepper with emanating lines above, are featured side-by-side
  • Additionally, 4 different drawings of jaki are included

Other common-ish variations include:

  • kala: adding 2 dots for eyes
  • epiku, kokosila, lanpan: although there is a more widely accepted version for all of these, their glyphs are relatively recent and have had more than one shape, so older versions are still in use