contour
contour copied to clipboard
Builtin fonts for special glyphs (nerd fonts / powerline) and emoji (Noto?)
Some terminals do provide builtin support for certain glyphs, most notably pwerline fonts and some for Noto Color Emoji.
I think this is good for making providing an easy fallback for users that haven't these glyphs installed or properly configured.
Powerline codepoints
Uses U+E0A0–U+E0A2 and U+E0B0–U+E0B3 for extra box-drawing characters. That can be perfectly implemented in the existing box drawing implementation.
- https://github.com/ryanoasis/nerd-fonts/issues/506
- https://github.com/ryanoasis/nerd-fonts/blob/master/images/sankey-glyphs-combined-diagram.svg
NerdFont codepoints
- https://github.com/ryanoasis/nerd-fonts/releases/latest/ download the NerdFontsSymbolsOnly.zip
Implementation notes
- we could do it similar to libunicode, fetching the UCD.zip, downloading the font file ZIPs during configure stage
- embed the files using Qt's RCC
- have them as fallback (manually appended), such that user preferred versions will always be favored, and the embedded ones are only used if the host configuration does not provide them
One of my conceal characters is ⛏ for template, which Konsole rendered as ⛏e, whereas in Contour it becomes a "box". But the font-fallback is at least querying a lot of things.
When rendering the following line to the standard output:
syntax keyword cppStructure template conceal cchar=⛏
in Konsole and Contour, respectively:

this is the output:
, seq:, seqEmpty?:true, key:0x1000004, mod:0x0, keySeq[0]:0
[terminal/Terminal.cpp:123:send] char: 0x000D ()
[terminal/Terminal.cpp:334:flushInput] \r
[text_shaper/open_shaper.cpp:673:shape] Shaping codepoints: U+73 U+79 U+6e U+74 U+61 U+78
Using font: key=0, path="/usr/local/share/fonts/j/JetBrainsMono-Regular.ttf"
[terminal_renderer/TextRenderer.cpp:251:shapeRun] Shaped codepoints: syntax (presentation: text/Text) (U+0073 U+0079 U+006E U+0074 U+0061 U+0078)
with metrics: (312+0+0) (351+0+0) (272+0+0) (320+0+0) (180+0+0) (350+0+0)
[text_shaper/open_shaper.cpp:673:shape] Shaping codepoints: U+6b U+65 U+79 U+77 U+6f U+72 U+64
Using font: key=0, path="/usr/local/share/fonts/j/JetBrainsMono-Regular.ttf"
[terminal_renderer/TextRenderer.cpp:251:shapeRun] Shaped codepoints: keyword (presentation: text/Text) (U+006B U+0065 U+0079 U+0077 U+006F U+0072 U+0064)
with metrics: (262+0+0) (216+0+0) (351+0+0) (345+0+0) (279+0+0) (308+0+0) (212+0+0)
[text_shaper/open_shaper.cpp:673:shape] Shaping codepoints: U+63 U+70 U+70 U+53 U+74 U+72 U+75 U+63 U+74 U+75 U+72 U+65
Using font: key=0, path="/usr/local/share/fonts/j/JetBrainsMono-Regular.ttf"
[terminal_renderer/TextRenderer.cpp:251:shapeRun] Shaped codepoints: cppStructure (presentation: text/Text) (U+0063 U+0070 U+0070 U+0053 U+0074 U+0072 U+0075 U+0063 U+0074 U+0075 U+0072 U+0065)
with metrics: (206+0+0) (305+0+0) (305+0+0) (128+0+0) (320+0+0) (308+0+0) (325+0+0) (206+0+0) (320+0+0) (325+0+0) (308+0+0) (216+0+0)
[text_shaper/open_shaper.cpp:673:shape] Shaping codepoints: U+74 U+65 U+6d U+70 U+6c U+61 U+74 U+65
Using font: key=0, path="/usr/local/share/fonts/j/JetBrainsMono-Regular.ttf"
[terminal_renderer/TextRenderer.cpp:251:shapeRun] Shaped codepoints: template (presentation: text/Text) (U+0074 U+0065 U+006D U+0070 U+006C U+0061 U+0074 U+0065)
with metrics: (320+0+0) (216+0+0) (271+0+0) (305+0+0) (265+0+0) (180+0+0) (320+0+0) (216+0+0)
[text_shaper/open_shaper.cpp:673:shape] Shaping codepoints: U+63 U+6f U+6e U+63 U+65 U+61 U+6c
Using font: key=0, path="/usr/local/share/fonts/j/JetBrainsMono-Regular.ttf"
[terminal_renderer/TextRenderer.cpp:251:shapeRun] Shaped codepoints: conceal (presentation: text/Text) (U+0063 U+006F U+006E U+0063 U+0065 U+0061 U+006C)
with metrics: (206+0+0) (279+0+0) (272+0+0) (206+0+0) (216+0+0) (180+0+0) (265+0+0)
[text_shaper/open_shaper.cpp:673:shape] Shaping codepoints: U+63 U+63 U+68 U+61 U+72 U+3d U+26cf
Using font: key=0, path="/usr/local/share/fonts/j/JetBrainsMono-Regular.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=2, path="/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=3, path="/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=4, path="/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=5, path="/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=6, path="/usr/share/fonts/type1/gsfonts/n019003l.pfb"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=7, path="/usr/share/fonts/truetype/tlwg/Loma.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=8, path="/usr/share/fonts/truetype/tlwg/Waree.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=9, path="/usr/share/fonts/truetype/tlwg/Laksaman.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=10, path="/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=11, path="/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=12, path="/usr/share/fonts/truetype/ttf-khmeros-core/KhmerOS.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=13, path="/usr/share/fonts/truetype/fonts-beng-extra/MuktiNarrow.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=14, path="/usr/share/fonts/truetype/fonts-gujr-extra/padmaa-Medium-0.5.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=15, path="/usr/share/fonts/truetype/fonts-gujr-extra/padmaa.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=16, path="/usr/share/fonts/truetype/fonts-gujr-extra/padmaa-Bold.1.1.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=17, path="/usr/share/fonts/truetype/lohit-bengali/Lohit-Bengali.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=18, path="/usr/share/fonts/truetype/lohit-gujarati/Lohit-Gujarati.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=19, path="/usr/share/fonts/truetype/lohit-tamil/Lohit-Tamil.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=20, path="/usr/share/fonts/truetype/malayalam/Meera.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=21, path="/usr/share/fonts/truetype/lohit-kannada/Lohit-Kannada.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=22, path="/usr/share/fonts/truetype/lohit-telugu/Lohit-Telugu.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=23, path="/usr/share/fonts/truetype/sinhala/lklug.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=24, path="/usr/share/fonts/truetype/freefont/FreeSans.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=25, path="/usr/share/fonts/truetype/freefont/FreeMono.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=26, path="/usr/share/fonts/truetype/freefont/FreeSerif.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=27, path="/usr/share/fonts/truetype/openoffice/opens___.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=28, path="/usr/share/fonts/truetype/tlwg/Norasi.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=29, path="/usr/share/fonts/truetype/kacst-one/KacstOne.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=30, path="/usr/share/fonts/opentype/font-awesome/FontAwesome.otf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=31, path="/usr/share/fonts/truetype/hack/Hack-Regular.ttf" size=14.0pt dpi=(96, 96) (22, 11, 18, -4, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=31, path="/usr/share/fonts/truetype/hack/Hack-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=32, path="/usr/share/fonts/truetype/padauk/Padauk-Regular.ttf" size=14.0pt dpi=(96, 96) (28, 0, 19, -9, -10, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=32, path="/usr/share/fonts/truetype/padauk/Padauk-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=33, path="/usr/share/fonts/truetype/lohit-devanagari/Lohit-Devanagari.ttf" size=14.0pt dpi=(96, 96) (35, 20, 21, -9, -7, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=33, path="/usr/share/fonts/truetype/lohit-devanagari/Lohit-Devanagari.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=34, path="/usr/share/fonts/truetype/dejavu/DejaVuMathTeXGyre.ttf" size=14.0pt dpi=(96, 96) (23, 7, 15, -3, -3, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=34, path="/usr/share/fonts/truetype/dejavu/DejaVuMathTeXGyre.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=35, path="/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf" size=14.0pt dpi=(96, 96) (22, 11, 18, -4, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=35, path="/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=36, path="/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf" size=14.0pt dpi=(96, 96) (22, 11, 18, -4, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=36, path="/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=37, path="/usr/share/fonts/truetype/noto/NotoSansArmenian-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=37, path="/usr/share/fonts/truetype/noto/NotoSansArmenian-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=38, path="/usr/share/fonts/truetype/lato/Lato-Regular.ttf" size=14.0pt dpi=(96, 96) (23, 10, 19, -3, -1, 2)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=38, path="/usr/share/fonts/truetype/lato/Lato-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=39, path="/usr/share/fonts/truetype/tlwg/Sawasdee.ttf" size=14.0pt dpi=(96, 96) (31, 7, 22, -6, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=39, path="/usr/share/fonts/truetype/tlwg/Sawasdee.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=40, path="/usr/share/fonts/truetype/noto/NotoSans-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=40, path="/usr/share/fonts/truetype/noto/NotoSans-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=41, path="/usr/share/fonts/truetype/noto/NotoSerif-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=41, path="/usr/share/fonts/truetype/noto/NotoSerif-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=42, path="/usr/share/fonts/truetype/noto/NotoSansAdlam-Regular.ttf" size=14.0pt dpi=(96, 96) (22, 11, 18, -3, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=42, path="/usr/share/fonts/truetype/noto/NotoSansAdlam-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=43, path="/usr/share/fonts/truetype/noto/NotoSansAnatolianHieroglyphs-Regular.ttf" size=14.0pt dpi=(96, 96) (27, 11, 22, -4, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=43, path="/usr/share/fonts/truetype/noto/NotoSansAnatolianHieroglyphs-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=44, path="/usr/share/fonts/truetype/noto/NotoSansArabic-Regular.ttf" size=14.0pt dpi=(96, 96) (40, 11, 26, -13, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=44, path="/usr/share/fonts/truetype/noto/NotoSansArabic-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=45, path="/usr/share/fonts/truetype/noto/NotoSansAvestan-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=45, path="/usr/share/fonts/truetype/noto/NotoSansAvestan-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=46, path="/usr/share/fonts/truetype/noto/NotoSansBamum-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=46, path="/usr/share/fonts/truetype/noto/NotoSansBamum-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=47, path="/usr/share/fonts/truetype/noto/NotoSansBatak-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 9, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=47, path="/usr/share/fonts/truetype/noto/NotoSansBatak-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=48, path="/usr/share/fonts/truetype/noto/NotoSansBuhid-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=48, path="/usr/share/fonts/truetype/noto/NotoSansBuhid-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=49, path="/usr/share/fonts/truetype/noto/NotoSansCarian-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 9, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=49, path="/usr/share/fonts/truetype/noto/NotoSansCarian-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=50, path="/usr/share/fonts/truetype/noto/NotoSansChakma-Regular.ttf" size=14.0pt dpi=(96, 96) (28, 12, 22, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=50, path="/usr/share/fonts/truetype/noto/NotoSansChakma-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=51, path="/usr/share/fonts/truetype/noto/NotoSansCham-Regular.ttf" size=14.0pt dpi=(96, 96) (28, 11, 21, -6, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=51, path="/usr/share/fonts/truetype/noto/NotoSansCham-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=52, path="/usr/share/fonts/truetype/noto/NotoSansCherokee-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=52, path="/usr/share/fonts/truetype/noto/NotoSansCherokee-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=53, path="/usr/share/fonts/truetype/noto/NotoSansCuneiform-Regular.ttf" size=14.0pt dpi=(96, 96) (43, 11, 30, -12, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=53, path="/usr/share/fonts/truetype/noto/NotoSansCuneiform-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=54, path="/usr/share/fonts/truetype/noto/NotoSansCypriot-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=54, path="/usr/share/fonts/truetype/noto/NotoSansCypriot-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=55, path="/usr/share/fonts/truetype/noto/NotoSansDeseret-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=55, path="/usr/share/fonts/truetype/noto/NotoSansDeseret-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=56, path="/usr/share/fonts/truetype/noto/NotoSansDevanagari-Regular.ttf" size=14.0pt dpi=(96, 96) (25, 11, 17, -7, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=56, path="/usr/share/fonts/truetype/noto/NotoSansDevanagari-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=57, path="/usr/share/fonts/truetype/noto/NotoSansEgyptianHieroglyphs-Regular.ttf" size=14.0pt dpi=(96, 96) (31, 11, 25, -6, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=57, path="/usr/share/fonts/truetype/noto/NotoSansEgyptianHieroglyphs-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=58, path="/usr/share/fonts/truetype/noto/NotoSansEthiopic-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=58, path="/usr/share/fonts/truetype/noto/NotoSansEthiopic-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=59, path="/usr/share/fonts/truetype/noto/NotoSansGeorgian-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=59, path="/usr/share/fonts/truetype/noto/NotoSansGeorgian-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=60, path="/usr/share/fonts/truetype/noto/NotoSansGlagolitic-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 9, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=60, path="/usr/share/fonts/truetype/noto/NotoSansGlagolitic-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=61, path="/usr/share/fonts/truetype/noto/NotoSansImperialAramaic-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 9, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=61, path="/usr/share/fonts/truetype/noto/NotoSansImperialAramaic-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=62, path="/usr/share/fonts/truetype/noto/NotoSansInscriptionalPahlavi-Regular.ttf" size=14.0pt dpi=(96, 96) (27, 11, 20, -6, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=62, path="/usr/share/fonts/truetype/noto/NotoSansInscriptionalPahlavi-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=63, path="/usr/share/fonts/truetype/noto/NotoSansInscriptionalParthian-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=63, path="/usr/share/fonts/truetype/noto/NotoSansInscriptionalParthian-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=64, path="/usr/share/fonts/truetype/noto/NotoSansLao-Regular.ttf" size=14.0pt dpi=(96, 96) (31, 9, 23, -8, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=64, path="/usr/share/fonts/truetype/noto/NotoSansLao-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=65, path="/usr/share/fonts/truetype/noto/NotoSansLinearB-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=65, path="/usr/share/fonts/truetype/noto/NotoSansLinearB-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=66, path="/usr/share/fonts/truetype/noto/NotoSansLycian-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 9, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=66, path="/usr/share/fonts/truetype/noto/NotoSansLycian-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=67, path="/usr/share/fonts/truetype/noto/NotoSansLydian-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 9, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=67, path="/usr/share/fonts/truetype/noto/NotoSansLydian-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=68, path="/usr/share/fonts/truetype/noto/NotoSansMandaic-Regular.ttf" size=14.0pt dpi=(96, 96) (22, 11, 14, -7, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=68, path="/usr/share/fonts/truetype/noto/NotoSansMandaic-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=69, path="/usr/share/fonts/truetype/noto/NotoSansNKo-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=69, path="/usr/share/fonts/truetype/noto/NotoSansNKo-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=70, path="/usr/share/fonts/truetype/noto/NotoSansNewTaiLue-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=70, path="/usr/share/fonts/truetype/noto/NotoSansNewTaiLue-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=71, path="/usr/share/fonts/truetype/noto/NotoSansOlChiki-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=71, path="/usr/share/fonts/truetype/noto/NotoSansOlChiki-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=72, path="/usr/share/fonts/truetype/noto/NotoSansOldItalic-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=72, path="/usr/share/fonts/truetype/noto/NotoSansOldItalic-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=73, path="/usr/share/fonts/truetype/noto/NotoSansOldSouthArabian-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 9, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=73, path="/usr/share/fonts/truetype/noto/NotoSansOldSouthArabian-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=74, path="/usr/share/fonts/truetype/noto/NotoSansOldTurkic-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=74, path="/usr/share/fonts/truetype/noto/NotoSansOldTurkic-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=75, path="/usr/share/fonts/truetype/noto/NotoSansOsage-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=75, path="/usr/share/fonts/truetype/noto/NotoSansOsage-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=76, path="/usr/share/fonts/truetype/noto/NotoSansRunic-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=76, path="/usr/share/fonts/truetype/noto/NotoSansRunic-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=77, path="/usr/share/fonts/truetype/noto/NotoSansSamaritan-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 9, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=77, path="/usr/share/fonts/truetype/noto/NotoSansSamaritan-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=78, path="/usr/share/fonts/truetype/noto/NotoSansShavian-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 9, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=78, path="/usr/share/fonts/truetype/noto/NotoSansShavian-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=79, path="/usr/share/fonts/truetype/noto/NotoSansSinhala-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=79, path="/usr/share/fonts/truetype/noto/NotoSansSinhala-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=80, path="/usr/share/fonts/truetype/noto/NotoSansSymbols-Regular.ttf" size=14.0pt dpi=(96, 96) (39, 11, 28, -10, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=80, path="/usr/share/fonts/truetype/noto/NotoSansSymbols-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=81, path="/usr/share/fonts/truetype/noto/NotoSansSymbols2-Regular.ttf" size=14.0pt dpi=(96, 96) (32, 11, 20, -11, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=81, path="/usr/share/fonts/truetype/noto/NotoSansSymbols2-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=82, path="/usr/share/fonts/truetype/noto/NotoSansTamil-Regular.ttf" size=14.0pt dpi=(96, 96) (24, 11, 17, -6, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=82, path="/usr/share/fonts/truetype/noto/NotoSansTamil-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=83, path="/usr/share/fonts/truetype/noto/NotoSansTifinagh-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=83, path="/usr/share/fonts/truetype/noto/NotoSansTifinagh-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=84, path="/usr/share/fonts/truetype/noto/NotoSansYi-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 8, 20, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=84, path="/usr/share/fonts/truetype/noto/NotoSansYi-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=85, path="/usr/share/fonts/truetype/tibetan-machine/TibetanMachineUni.ttf" size=14.0pt dpi=(96, 96) (38, 12, 23, -14, -3, 2)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=85, path="/usr/share/fonts/truetype/tibetan-machine/TibetanMachineUni.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=86, path="/usr/share/fonts/truetype/abyssinica/AbyssinicaSIL-R.ttf" size=14.0pt dpi=(96, 96) (24, 19, 16, -2, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=86, path="/usr/share/fonts/truetype/abyssinica/AbyssinicaSIL-R.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=87, path="/usr/share/fonts/truetype/fonts-telu-extra/Pothana2000.ttf" size=14.0pt dpi=(96, 96) (33, 12, 17, -15, -16, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=87, path="/usr/share/fonts/truetype/fonts-telu-extra/Pothana2000.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=88, path="/usr/share/fonts/opentype/firacode/FiraCode-Regular.otf" size=14.0pt dpi=(96, 96) (23, 11, 18, -4, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=88, path="/usr/share/fonts/opentype/firacode/FiraCode-Regular.otf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=89, path="/usr/share/fonts/truetype/fonts-deva-extra/chandas1-2.ttf" size=14.0pt dpi=(96, 96) (48, 19, 29, -18, -18, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=89, path="/usr/share/fonts/truetype/fonts-deva-extra/chandas1-2.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=90, path="/usr/share/fonts/truetype/pagul/Pagul.ttf" size=14.0pt dpi=(96, 96) (22, 9, 17, -4, -2, 2)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=90, path="/usr/share/fonts/truetype/pagul/Pagul.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=91, path="/usr/share/fonts/truetype/noto/NotoSansJavanese-Regular.ttf" size=14.0pt dpi=(96, 96) (31, 11, 20, -10, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=91, path="/usr/share/fonts/truetype/noto/NotoSansJavanese-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=92, path="/usr/share/fonts/truetype/noto/NotoSansKaithi-Regular.ttf" size=14.0pt dpi=(96, 96) (29, 11, 21, -7, 0, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=92, path="/usr/share/fonts/truetype/noto/NotoSansKaithi-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=93, path="/usr/share/fonts/truetype/noto/NotoSansLimbu-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -2, 2)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=93, path="/usr/share/fonts/truetype/noto/NotoSansLimbu-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=94, path="/usr/share/fonts/truetype/noto/NotoSansRejang-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=94, path="/usr/share/fonts/truetype/noto/NotoSansRejang-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=95, path="/usr/share/fonts/truetype/noto/NotoSansSundanese-Regular.ttf" size=14.0pt dpi=(96, 96) (27, 11, 20, -6, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=95, path="/usr/share/fonts/truetype/noto/NotoSansSundanese-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=96, path="/usr/share/fonts/truetype/noto/NotoSansMeeteiMayek-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=96, path="/usr/share/fonts/truetype/noto/NotoSansMeeteiMayek-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=97, path="/usr/share/fonts/truetype/noto/NotoSansMongolian-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=97, path="/usr/share/fonts/truetype/noto/NotoSansMongolian-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=98, path="/usr/share/fonts/truetype/noto/NotoSansSylotiNagri-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, 0, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=98, path="/usr/share/fonts/truetype/noto/NotoSansSylotiNagri-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=99, path="/usr/share/fonts/truetype/noto/NotoSansSyriacEastern-Regular.ttf" size=14.0pt dpi=(96, 96) (25, 11, 18, -7, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=99, path="/usr/share/fonts/truetype/noto/NotoSansSyriacEastern-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=100, path="/usr/share/fonts/truetype/noto/NotoSansTagbanwa-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=100, path="/usr/share/fonts/truetype/noto/NotoSansTagbanwa-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=101, path="/usr/share/fonts/truetype/noto/NotoSansTaiTham-Regular.ttf" size=14.0pt dpi=(96, 96) (30, 11, 20, -9, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=101, path="/usr/share/fonts/truetype/noto/NotoSansTaiTham-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=102, path="/usr/share/fonts/truetype/noto/NotoSansBalinese-Regular.ttf" size=14.0pt dpi=(96, 96) (34, 11, 20, -13, 0, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=102, path="/usr/share/fonts/truetype/noto/NotoSansBalinese-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=103, path="/usr/share/fonts/truetype/noto/NotoSansBrahmi-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 9, 20, -5, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=103, path="/usr/share/fonts/truetype/noto/NotoSansBrahmi-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=104, path="/usr/share/fonts/truetype/noto/NotoSansCoptic-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=104, path="/usr/share/fonts/truetype/noto/NotoSansCoptic-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=105, path="/usr/share/fonts/truetype/noto/NotoSansKharoshthi-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=105, path="/usr/share/fonts/truetype/noto/NotoSansKharoshthi-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=106, path="/usr/share/fonts/truetype/noto/NotoSansLepcha-Regular.ttf" size=14.0pt dpi=(96, 96) (28, 11, 20, -7, 0, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=106, path="/usr/share/fonts/truetype/noto/NotoSansLepcha-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=107, path="/usr/share/fonts/truetype/noto/NotoSansPhagsPa-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, 0, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=107, path="/usr/share/fonts/truetype/noto/NotoSansPhagsPa-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=108, path="/usr/share/fonts/truetype/noto/NotoSansTagalog-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=108, path="/usr/share/fonts/truetype/noto/NotoSansTagalog-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=109, path="/usr/share/fonts/truetype/noto/NotoSansTaiViet-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 20, -5, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=109, path="/usr/share/fonts/truetype/noto/NotoSansTaiViet-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=110, path="/usr/share/fonts/truetype/noto/NotoSansTibetan-Regular.ttf" size=14.0pt dpi=(96, 96) (40, 11, 23, -17, 0, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=110, path="/usr/share/fonts/truetype/noto/NotoSansTibetan-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=111, path="/usr/share/fonts/truetype/noto/NotoSerifKannada-Regular.ttf" size=14.0pt dpi=(96, 96) (32, 11, 18, -13, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=111, path="/usr/share/fonts/truetype/noto/NotoSerifKannada-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=112, path="/usr/share/fonts/truetype/noto/NotoSerifMalayalam-Regular.ttf" size=14.0pt dpi=(96, 96) (26, 11, 17, -9, -1, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=112, path="/usr/share/fonts/truetype/noto/NotoSerifMalayalam-Regular.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=113, path="/usr/share/fonts/opentype/malayalam/Manjari-Regular.otf" size=14.0pt dpi=(96, 96) (21, 6, 14, -6, -5, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=113, path="/usr/share/fonts/opentype/malayalam/Manjari-Regular.otf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=114, path="/usr/local/share/fonts/j/JetBrains_Mono_Regular_Nerd_Font_Complete.ttf" size=14.0pt dpi=(96, 96) (23, 11, 19, -4, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=114, path="/usr/local/share/fonts/j/JetBrains_Mono_Regular_Nerd_Font_Complete.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=115, path="/usr/share/fonts/truetype/lao/Phetsarath_OT.ttf" size=14.0pt dpi=(96, 96) (28, 0, 20, -7, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=115, path="/usr/share/fonts/truetype/lao/Phetsarath_OT.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=116, path="/usr/share/fonts/truetype/ubuntu/Ubuntu-C.ttf" size=14.0pt dpi=(96, 96) (22, 10, 18, -3, -3, 2)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=116, path="/usr/share/fonts/truetype/ubuntu/Ubuntu-C.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=117, path="/usr/share/fonts/truetype/ubuntu/Ubuntu-R.ttf" size=14.0pt dpi=(96, 96) (22, 10, 18, -3, -3, 2)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=117, path="/usr/share/fonts/truetype/ubuntu/Ubuntu-R.ttf"
[text_shaper/open_shaper.cpp:531:get_font_key_for] Loading font: key=118, path="/usr/share/fonts/truetype/samyak/Samyak-Devanagari.ttf" size=14.0pt dpi=(96, 96) (26, 8, 19, -5, -2, 1)
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=118, path="/usr/share/fonts/truetype/samyak/Samyak-Devanagari.ttf"
[text_shaper/open_shaper.cpp:700:shape] Try fallback font: key=1, path="/usr/share/fonts/truetype/noto/NotoColorEmoji.ttf"
[text_shaper/open_shaper.cpp:704:shape] Shaping failed.
[terminal_renderer/TextRenderer.cpp:251:shapeRun] Shaped codepoints: cchar=⛏ (presentation: text/Text) (U+0063 U+0063 U+0068 U+0061 U+0072 U+003D U+26CF)
with metrics: (206+0+0) (206+0+0) (243+0+0) (180+0+0) (308+0+0) (723+0+0) (0+0+0)
[terminal_renderer/TextRenderer.cpp:346:getTextureInfo] Glyph metrics: rasterized_glyph(0, 9x6+9+1, 0)
[terminal_renderer/TextRenderer.cpp:417:getTextureInfo] insert glyph 723: text; ratio:1.0; yOverflow(0, 0); rasterized_glyph(0, 9x6+9+1, 0)
[terminal_renderer/TextRenderer.cpp:346:getTextureInfo] Glyph metrics: rasterized_glyph(0, 9x14+14+1, 0)
[terminal_renderer/TextRenderer.cpp:417:getTextureInfo] insert glyph 0: text; ratio:1.0; yOverflow(0, 0); rasterized_glyph(0, 9x14+14+1, 0)
[text_shaper/open_shaper.cpp:673:shape] Shaping codepoints: U+32 U+2e U+36 U+37
Using font: key=0, path="/usr/local/share/fonts/j/JetBrainsMono-Regular.ttf"
[terminal_renderer/TextRenderer.cpp:251:shapeRun] Shaped codepoints: 2.67 (presentation: text/Text) (U+0032 U+002E U+0036 U+0037)
with metrics: (541+0+0) (574+0+0) (545+0+0) (546+0+0)
[text_shaper/open_shaper.cpp:673:shape] Shaping codepoints: U+31 U+32 U+3a U+31 U+39 U+3a U+35 U+33
Using font: key=0, path="/usr/local/share/fonts/j/JetBrainsMono-Regular.ttf"
[terminal_renderer/TextRenderer.cpp:251:shapeRun] Shaped codepoints: 12:19:53 (presentation: text/Text) (U+0031 U+0032 U+003A U+0031 U+0039 U+003A U+0035 U+0033)
with metrics: (540+0+0) (541+0+0) (576+0+0) (540+0+0) (548+0+0) (576+0+0) (544+0+0) (542+0+0)
[contour/TerminalWidget.cpp:897:keyPressEvent] text:, seq:, seqEmpty?:true, key:0x1000023, mod:0x8000000, keySeq[0]:0