Skip to content

Add space characters of various lengths.#18

Open
mina86 wants to merge 2 commits into
impallari:masterfrom
mina86:a
Open

Add space characters of various lengths.#18
mina86 wants to merge 2 commits into
impallari:masterfrom
mina86:a

Conversation

@mina86

@mina86 mina86 commented Feb 25, 2026

Copy link
Copy Markdown

Adds the following Unicode space characters:

Unicode Character Width
8192 en quad 1/2 of font’s em size
8193 em quad Font’s em size
8194 en space 1/2 of font’s em size
8195 em space Font’s em size
8196 three-per-em space 1/3 of font’s em size
8197 four-per-em space 1/4 of font’s em size
8198 six-per-em space 1/6 of font’s em size
8199 figure space Width of the digit ‘0’
8200 punctuation space Width of a dot character
8201 thin space 1/5 of font’s em size
8202 hair space 1/6 of font’s em size
8287 medium mathematical space 2/9 of font’s em size

The widths for each layer were copied (with appropriate calculation) from
font’s em size (1000) or width of corresponding character (as per the
table) in that layer. Sizes based on Microsoft Typography documentation.¹

¹ https://learn.microsoft.com/en-us/typography/develop/character-design-standards/whitespace

Also updates the variable font files however for the time being other font files
are left untouched.


I’ve started testing the fonts on my website, and they seem to work fine.

mina86 added 2 commits March 19, 2026 17:14
Adds the following Unicode space characters:

    | Unicode | Character                 | Width                    |
    | ------- | ------------------------- | ------------------------ |
    | 8192    | en quad                   | 1/2 of font’s em size    |
    | 8193    | em quad                   | Font’s em size           |
    | 8194    | en space                  | 1/2 of font’s em size    |
    | 8195    | em space                  | Font’s em size           |
    | 8196    | three-per-em space        | 1/3 of font’s em size    |
    | 8197    | four-per-em space         | 1/4 of font’s em size    |
    | 8198    | six-per-em space          | 1/6 of font’s em size    |
    | 8199    | figure space              | Width of the digit ‘0’   |
    | 8200    | punctuation space         | Width of a dot character |
    | 8201    | thin space                | 1/5 of font’s em size    |
    | 8202    | hair space                | 1/6 of font’s em size    |
    | 8239    | narrow no-break space     | 1/3 of width of space    |
    | 8287    | medium mathematical space | 2/9 of font’s em size    |

The widths for each layer were copied (with appropriate calculation) from
font’s em size (1000) or width of corresponding character (as per the
table) in that layer.  Sizes based on Microsoft Typography documentation.¹

¹ https://learn.microsoft.com/en-us/typography/develop/character-design-standards/whitespace
Conversion done with fontmake as follows:

    fontmake -g sources/$in.glyphs -o variable --output-path fonts/variable/$out.ttf

Other font files left not updated for now.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant