Skip to content
plntyk edited this page Sep 9, 2018 · 4 revisions

TOC

Unicode Fonts

Font formats have technical limitations so a single font cannot include glyphs for all valid Unicode Code Points. source

Kmscon uses freetype2 and that can combine multiple fonts. As a result kmscon uses glyphs from multiple font files that can have different features or formats. This is managed by fontconfig configuration files. It can be shown with tools or using "FC_DEBUG" environment variable.

Bugs in font files

Some font files have bugs or differ in interpretation of their glyph description. This can result in a wrong character width calculation and results in a faulty display on kmscon. However there might also be some bugs in kmscon regarding the calculation. pango-view might be used to test display but probably should be used with the ft2 backend since kmscon does not use libcairo.

Colored Fonts

While kmscon has color support via terminal control it does not support colored glyphs because currently freetype2 does support only monochrome or greyscale.

Currently (Sept. 2018) there is no common standard for "colored" fonts. While there is Browser Compatibility there isnt an easy solution in Linux available, so there can be problems w. scaling and displaying them in kmscon.

Some symbols are internally rendered bigger and then some small part of that rendered glyph is displayed

Detailed in #11

So "new" bitmap-fonts -- those that might have "CBDT Data Tables" in them -- and their scaling seems to be the culprit.

Temporary "workaround" but with some bugs in character width too: use Symbola Font. The Symbola Font is a more "normal" font and has exotic symbols and emojis like 🦖 but the Symbola raptor is incomplete too on : only the left half of the glyph is displayed.

Graphical application gucharmap can display what glyphs a font supports. Font editing tool fontforge does not have the feature "colored fonts" and fails currently when loading them (like NotoColorEmoji). see #2044 , #677

Popular bitmap fonts currently with bad display/CBDT:

Emoji Fonts without CBDT:

Unicode Charts Emoji@commons