(Mainly) Keyboard font: Proposing some upgrades (glyphs missing, some only reachable via ligatures)
Describe the problem Libertinus Keyboard has been forked from an earlier version of Linux Biolinum Keyboard O, and it seems the latter has evolved a little in the meantime. New glyphs have been added (some I need are still missing), all glyphs can be reached via a Unicode code point from the private use area, and many also via ligatures (i.e., typing "Tux" produces the Tux glyph).
In general, I prefer the Libertinus font family over the Libertine series for professional typesetting (mostly LaTeX but sometimes also LibreOffice), so it’d be great if Libertinus Keyboard could be upgraded (and probably Mono as well) so we all could use a near-perfect font family without switching too much. Also, both keyboard fonts are two of the very few that support both English and German keyboard keys (i.e., "Strg" vs "Ctrl").
For you to reproduce, I used Linux’ Font Viewer and LibreOffice with the following set of characters to produce the following screenshots (copy & paste):
Zwölf Boxkämpfer jagen Viktor quer über den großen Sylter Deich.
ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜẞ
abcdefghijklmnopqrstuvwxyzäöüß
1234567890.:,;(*!?')
"'»«›‹„“”‚‘’
⍽⎀ ⌘⌥⌦⌧⌫ ↥↧ ←↑→↓
Screenshots to show the differences
Linux Biolinum Keyboard O
Libertinus Keyboard
Libertinus Serif Regular, for reference
Proposal for updating the Libertinus Keyboard font
- Make all available glyphs available as Unicode code points (ideally the same as for Linux Biolinum Keyboard O).
- Add missing glyphs that are already in Linux Biolinum Keyboard O but not yet in Libertinus Keyboard. For the first update, use Unicode codepoints only. I’d think those shown in the screenshots may be the most important.
- Add ligatures as needed, and probably redefine some to what Linux Biolinum Keyboard O uses ("Windows" → "Win", "Tux", etc.). I also think that "Bildup" and "Bilddown" are a non-elegant mixture of languages.
- Add some additional glyphs:
- German capital "sharp s" — U+1E9E.
- Typographical apostrophes — U+203A, U+2039, U+201E, U+201C, U+201D, U+201A, U+2018, U+2019. These can probably be gotten from Libertinus Sans or Libertine Sans (?).
- In Libertinus Mono, I mostly miss:
- German capital "sharp s" — U+1E9E.
- Single guillemets — U+203A, U+2039.
- Extra bonus upgrade ;-) — Many Linux fonts seem to favour the "tux" character at U+E000. This could be a nice addition to the whole font family. But by no means necessary … ;-)
Libertinus Mono
Reference Libertine Docs, Appendix B »Linux Biolinum Keyboard Glyphs« Apart from the font’s source, this could also be a good reference for the ligatures used.
I wonder what’s happening here: The Font Viewer didn’t show the characters for Libertinus Keyboard but when I copy-paste the above listed set into other applications like a TeX file, they get shown?!
I did a quick-n-dirty (very dirty!) test using lualatex, by just copy-pasting above character selection into a LaTeX document and guess what! The PDF looks as if (almost) everything was there!

The log did complain about some missing characters, though:
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}
Missing character: There is no ẞ (U+1E9E) in font LibertinusKeyboard:mode=node;script=latn;language=DFLT;+tlig;!
Missing character: There is no › (U+203A) in font LibertinusKeyboard:mode=node;script=latn;language=DFLT;+tlig;!
Missing character: There is no ‹ (U+2039) in font LibertinusKeyboard:mode=node;script=latn;language=DFLT;+tlig;!
Missing character: There is no „ (U+201E) in font LibertinusKeyboard:mode=node;script=latn;language=DFLT;+tlig;!
Missing character: There is no “ (U+201C) in font LibertinusKeyboard:mode=node;script=latn;language=DFLT;+tlig;!
Missing character: There is no ” (U+201D) in font LibertinusKeyboard:mode=node;script=latn;language=DFLT;+tlig;!
Missing character: There is no ‚ (U+201A) in font LibertinusKeyboard:mode=node;script=latn;language=DFLT;+tlig;!
Missing character: There is no ‘ (U+2018) in font LibertinusKeyboard:mode=node;script=latn;language=DFLT;+tlig;!
Missing character: There is no ’ (U+2019) in font LibertinusKeyboard:mode=node;script=latn;language=DFLT;+tlig;!
] (/mnt/matthias/Dokumente/Texte/Technik/mathtest.aux))
Did I make a real dumb mistake?
Here’s the LaTeX code I used for testing:
% !TEX engine = lualatex
\documentclass[a4paper,landscape]{article}
%\usepackage[a4paper,margin=1in,landscape]{geometry}
\RequirePackage{unicode-math}
\setmainfont{Libertinus Keyboard}
\setmathfont{Libertinus Math}
\usepackage{pdflscape}
\begin{document}
\centering
Zwölf Boxkämpfer jagen Viktor quer über den großen Sylter Deich.
ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜẞ
abcdefghijklmnopqrstuvwxyzäöüß
1234567890.:,;(*!?')
"'»«›‹„“”‚‘’
⍽⎀ ⌘⌥⌦⌧⌫ ↥↧ ←↑→↓
\end{document}
Compiled with just
lualatex mathtest.tex
Just a brute-force test, I would normally use the macros for the characters … so don’t hate me too much! :-)
The PDF looks as if (almost) everything was there!
This is bizarre, but I think what's happening is you are getting some kind of fallback to Linux Biolinum Keyboard. Note that many of these as private space Unicode points which I believe were removed from the Libertinus project at some point in favor of only standard encodings using ligatures.
For example in your test document you have the character U+E18C for the Ctrl symbol. This existed in the Linux Biolinum Keyboard fonts, but Libertinus Keyboard makes this symbol available via a ligature for Ctrl.
Some glyphs for keyboard keys really available as ligatures, here is my reconstruction with Libertinus Keyboard, some of them still unknown.
Tux Gnu ⍽⎀ ⌘⌥⌦⌧⌫ WindowsMenu ↥↧ ←↑→↓ Back TabShiftCapslockEnter
SpaceLeer F1F12F16Fn Esc
Ctrl Alt InsDel HomeEnd PageupPagedown Strg AltGr EinfEntf Pos1Ende BildupBilddown
I think some glyphs for mouse keys could be implement via some ligatures with U+1F5AF, U+1F5B0 and U+1F5B1.
Does Linux Biolinum Keyboard has a glyph to present ZWNJ? I found the German T2 keyboard has a symbol for this.
So libertinus keyboard support the Apple command symbol ⌘? I do not see it in texdoc libertinus-otf
If I remember well, then it was missing in LibertinusKeyboard. I have a slightly modified fontfile and get for LibertinusKeyboard and LinBiolinum_K (the old font file) the attached output.