This commit adds Thai glyphs (U+0E00..U+0E7F) to KaticaBold10.font
Currently the language doesn't render properly due to the lack of
combinable Unicode characters implementation, but the glyphs are here :)
Katica10's numbers 0-9 were originally monospaced but became
proportional at some point. Tabular numbers greatly reduce the
jitteriness of widgets that update often like status bars and the
geometry overlay and of course line up properly in apps like
Spreadsheet.
This commit adds the following characters to Katica 10 fonts:
- U+2010 HYPHEN, U+2012 FIGURE DASH, U+2013 EN DASH,
U+2014 EM DASH (Bold), U+2020 DAGGER, U+2021 DOUBLE DAGGER,
U+2022 BULLET, U+2023 TRIANGULAR BULLET, U+2024 ONE DOT LEADER,
U+2025 TWO DOT LEADER, U+2030 PER MILLE SIGN, U+2039 SINGLE LEFT-
POINTING QUOTATION MARK, U+2040 SINGLE RIGHT-POINTING QUOTATION
MARK, U+203B REFERENCE MARK and U+203C DOUBLE EXCLAMATION MARK.
These fonts are currently used by Browser in some cases. This patch adds
glyphs for the codepoints
ÄÖÜßäöü„“‚‘…
which appear very frequently on German webpages, and fixes the alignment
of '*'.
Type has been replaced with a bit mask size whose value corresponds
to the number of u8 ranges of 256 characters per bit. Given 0x110000
possible glyphs in Unicode 13.0, its maximum size is currently 544
and can be expanded if needed.
Adds the 0xFFFD replacement character to Csilla/KaticaRegular fonts
and fixes dozens of alignment errors in the Latin character sets.
When building userland with UBSAN enabled (#7434), we were getting
spammed to death by unaligned access errors.
Fix these by adding 2 bytes of padding to the FontFileHeader struct,
and adjusting all our font files to match the new format. :^)
The glyph for the letter `Shin` (U+05E9) looks a bit wonky because the
width of the font is too small. Unfortunately it doesn't look like the
FontEditor is capable of changing the width of an existing font, so if
that option will be added in the future this glyph can be fixed.
The main inspiration behind this was to have a correct ex CSS unit.
The mean line is based off what it shows in the CSS Values and Units
Level 4 specification, section 6.1.1.
https://www.w3.org/TR/css-values-4/#font-relative-lengths
In all default fonts, make the lower bar of the F one pixel shorter to
match the middle bare of the E.
Make the W in CsillaThin a bit shorter on the sides and make it
go less high in the middle. This makes it look more like the W in
CsillaBold, makes the middle high spot in W match the height of
the same spot in X Y E F H. Making it shorter on the side makes
the letter look better when its next ot other full-width letters,
e.g. in "WWW".
Make the w in Katica10 match new new W in CsillaThin. The bold
letters already match, and in general it looks like Csilla is
a monospace version of Katica.