Open ArenT1981 opened 4 years ago
Thanks for your very detailed report and your thoughts on eovim, I really appreciate ;)
The text widget I use in eovim enables rich text rendering, such as ligatures, easy line spacing, and fancy underlines. Since it is not a "matrix of glyphs", it absolutely requires that all glyphs have the same width.
I ran on the exact same problem with a Fira Code
I manually installed. I did not experience this issue with Fira Code
distributed by my package manager (i.e. the Debian package fonts-firacode
on Ubuntu 20.04).
I think that the problem here is caused by the bold font. I'm not sure what happens exactly, but when Fira Code
is "not properly installed (??)" bold glyphs are a bit larger than normal glyphs, which makes the UI quite ugly.
I have very little knowledge of the text rendering that happens behind the scenes, but it seems that when Fira Code (Bold)
is not installed, the text engine makes glyphs bigger.
Can you please check if Fira Code (Bold)
is installed or not ? Please let me know if installing it indeed "fixes" the problem.
Interesting. Your explanation certainly makes sense, however I do have Fira Code Bold installed.
I'm on Fedora 32 so I simply installed the fira-code-fonts package:
Name : fira-code-fonts
Version : 5.2
Release : 1.fc32
Architecture : noarch
Size : 1.7 M
Source : fira-code-fonts-5.2-1.fc32.src.rpm
Repository : @System
From repo : updates
Summary : Monospaced font with programming ligatures
URL : https://github.com/tonsky/FiraCode
License : OFL
Description : Fira Code is an extension of the Fira Mono font containing a set of ligatures
: for common programming multi-character combinations. This is just a font
: rendering feature: underlying code remains ASCII-compatible. This helps to
: read and understand code faster. For some frequent sequences like .. or //,
: ligatures allow us to correct spacing.
I have Fira Code Bold installed:
--> fc-list | grep Fira
/usr/share/fonts/fira-code/FiraCode-Bold.ttf: Fira Code:style=Bold
/usr/share/fonts/fira-code/FiraCode-Retina.ttf: Fira Code,Fira Code Retina:style=Retina,Regular
/usr/share/fonts/fira-code/FiraCode-Regular.ttf: Fira Code:style=Regular
/usr/share/fonts/fira-code/FiraCode-Medium.ttf: Fira Code,Fira Code Medium:style=Medium,Regular
/usr/share/fonts/fira-code/FiraCode-SemiBold.ttf: Fira Code,Fira Code SemiBold:style=SemiBold,Regular
/usr/share/fonts/fira-code/FiraCode-Light.ttf: Fira Code,Fira Code Light:style=Light,Regular
Here is the output of fc-query Fira-code-*
run in the Fira Code font installation directory. I don't know whether it will yield any useful comparison information with the versions of the fonts installed on your system:
Pattern has 26 elts (size 32)
family: "Fira Code"(s)
familylang: "en"(s)
style: "Bold"(s)
stylelang: "en"(s)
fullname: "Fira Code Bold"(s)
fullnamelang: "en"(s)
slant: 0(i)(s)
weight: 200(f)(s)
width: 100(f)(s)
spacing: 90(i)(s)
foundry: "CTDB"(s)
file: "FiraCode-Bold.ttf"(s)
index: 0(i)(s)
outline: True(s)
scalable: True(s)
charset:
0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
0001: ffffffff ffffffff ffffffff 7fffffff 00040000 00000000 00000000 f0000000
0002: 0f000000 00800000 00000000 00000000 00000000 16000000 3f0002c0 00000000
0003: 00189dff 006000c0 00000024 fcff0000 ffffd7f0 fffffffb ffffffff ffff0003
0004: ffffffff ffffffff ffffffff 03ffffff fffffc00 ffffffff ffffffff ffffffff
0005: ffffffff 0000ffff 00000000 00000000 00000000 00000000 00000000 00000000
0014: 00000420 00000000 00000000 00000000 00000000 00000000 00000000 00000000
001e: 00000000 00000000 00000000 00000000 4000003f 00000000 00000000 000c0000
001f: 3f3fffff ffffffff aaff3f3f 3fffffff ffffffff ffdfffff efcfffdf 7fdcffff
0020: 77fc0980 06010047 00000410 fff10000 00007fff 26009000 00000000 00000000
0021: 26682004 00004014 fff80000 00000000 03ff0c00 000f0200 c0000000 000007f0
0022: 4626bffd 00700f80 00000100 00000037 00000ffc 0000fffc 00000000 00000000
0023: 0101007d 000009f3 00000000 00000000 f8000980 00003fff 0000c000 00000000
0024: ffffffff 0000007f 00000000 00000000 00000000 00000000 00000000 00000000
0025: ffffffff ffffffff ffffffff ffffffff ffffffff 1444ffff feefced1 00ff8fbf
0026: 00070000 1eff0001 00000005 00000c69 00000000 00000000 00000000 00000000
0027: 00080000 00000000 00000000 00030000 00000000 00000002 00000000 ffff0300
002b: 000000e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000
002e: 00000000 0c000000 00000000 00000000 00000000 00000000 00000000 00000000
0030: 00003000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00e0: 0000000f 00000000 00000000 00000000 00000000 000f0007 00000000 00000000
00fe: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 80000000
00ff: 00000000 00000000 00000000 0000000c 00000000 00000000 00000000 00000000
01d5: 00000000 02000000 00000000 00000000 00000000 00000000 00000000 00000000
01f3: 00010000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(s)
lang: aa|ab|af|av|ay|ba|be|bg|bi|br|bs|bua|ca|ce|ch|chm|co|cs|cu|cv|cy|da|de|el|en|eo|es|et|eu|fi|fj|fo|fr|fur|fy|gd|gl|gv|ho|hr|hu|ia|id|ie|ik|io|is|it|kaa|ki|kk|kl|ku-am|kum|kv|ky|la|lb|lez|lt|lv|mg|mh|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|sah|se|sel|sh|shs|sk|sl|sma|smj|smn|so|sq|sr|ss|st|sv|sw|tg|tk|tl|tn|tr|ts|tt|tyv|uk|uz|vo|vot|wa|wen|wo|xh|yap|zu|an|crh|csb|fil|hsb|ht|jv|kj|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|pap-an|pap-aw|rn|rw|sc|sg|sn|su|ty|za(s)
fontversion: 327811(i)(s)
capability: "otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latn otlayout:zinh otlayout:zyyy"(s)
fontformat: "TrueType"(s)
decorative: False(s)
postscriptname: "FiraCode-Bold"(s)
color: False(s)
symbol: False(s)
variable: False(s)
fonthashint: True(s)
Pattern has 26 elts (size 32)
family: "Fira Code"(s) "Fira Code Light"(s)
familylang: "en"(s) "en"(s)
style: "Light"(s) "Regular"(s)
stylelang: "en"(s) "en"(s)
fullname: "Fira Code Light"(s)
fullnamelang: "en"(s)
slant: 0(i)(s)
weight: 50(f)(s)
width: 100(f)(s)
spacing: 90(i)(s)
foundry: "CTDB"(s)
file: "FiraCode-Light.ttf"(s)
index: 0(i)(s)
outline: True(s)
scalable: True(s)
charset:
0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
0001: ffffffff ffffffff ffffffff 7fffffff 00040000 00000000 00000000 f0000000
0002: 0f000000 00800000 00000000 00000000 00000000 16000000 3f0002c0 00000000
0003: 00189dff 006000c0 00000024 fcff0000 ffffd7f0 fffffffb ffffffff ffff0003
0004: ffffffff ffffffff ffffffff 03ffffff fffffc00 ffffffff ffffffff ffffffff
0005: ffffffff 0000ffff 00000000 00000000 00000000 00000000 00000000 00000000
0014: 00000420 00000000 00000000 00000000 00000000 00000000 00000000 00000000
001e: 00000000 00000000 00000000 00000000 4000003f 00000000 00000000 000c0000
001f: 3f3fffff ffffffff aaff3f3f 3fffffff ffffffff ffdfffff efcfffdf 7fdcffff
0020: 77fc0980 06010047 00000410 fff10000 00007fff 26009000 00000000 00000000
0021: 26682004 00004014 fff80000 00000000 03ff0c00 000f0200 c0000000 000007f0
0022: 4626bffd 00700f80 00000100 00000037 00000ffc 0000fffc 00000000 00000000
0023: 0101007d 000009f3 00000000 00000000 f8000980 00003fff 0000c000 00000000
0024: ffffffff 0000007f 00000000 00000000 00000000 00000000 00000000 00000000
0025: ffffffff ffffffff ffffffff ffffffff ffffffff 1444ffff feefced1 00ff8fbf
0026: 00070000 1eff0001 00000005 00000c69 00000000 00000000 00000000 00000000
0027: 00080000 00000000 00000000 00030000 00000000 00000002 00000000 ffff0300
002b: 000000e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000
002e: 00000000 0c000000 00000000 00000000 00000000 00000000 00000000 00000000
0030: 00003000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00e0: 0000000f 00000000 00000000 00000000 00000000 000f0007 00000000 00000000
00fe: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 80000000
00ff: 00000000 00000000 00000000 0000000c 00000000 00000000 00000000 00000000
01d5: 00000000 02000000 00000000 00000000 00000000 00000000 00000000 00000000
01f3: 00010000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(s)
lang: aa|ab|af|av|ay|ba|be|bg|bi|br|bs|bua|ca|ce|ch|chm|co|cs|cu|cv|cy|da|de|el|en|eo|es|et|eu|fi|fj|fo|fr|fur|fy|gd|gl|gv|ho|hr|hu|ia|id|ie|ik|io|is|it|kaa|ki|kk|kl|ku-am|kum|kv|ky|la|lb|lez|lt|lv|mg|mh|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|sah|se|sel|sh|shs|sk|sl|sma|smj|smn|so|sq|sr|ss|st|sv|sw|tg|tk|tl|tn|tr|ts|tt|tyv|uk|uz|vo|vot|wa|wen|wo|xh|yap|zu|an|crh|csb|fil|hsb|ht|jv|kj|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|pap-an|pap-aw|rn|rw|sc|sg|sn|su|ty|za(s)
fontversion: 327811(i)(s)
capability: "otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latn otlayout:zinh otlayout:zyyy"(s)
fontformat: "TrueType"(s)
decorative: False(s)
postscriptname: "FiraCode-Light"(s)
color: False(s)
symbol: False(s)
variable: False(s)
fonthashint: True(s)
Pattern has 26 elts (size 32)
family: "Fira Code"(s) "Fira Code Medium"(s)
familylang: "en"(s) "en"(s)
style: "Medium"(s) "Regular"(s)
stylelang: "en"(s) "en"(s)
fullname: "Fira Code Medium"(s)
fullnamelang: "en"(s)
slant: 0(i)(s)
weight: 100(f)(s)
width: 100(f)(s)
spacing: 90(i)(s)
foundry: "CTDB"(s)
file: "FiraCode-Medium.ttf"(s)
index: 0(i)(s)
outline: True(s)
scalable: True(s)
charset:
0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
0001: ffffffff ffffffff ffffffff 7fffffff 00040000 00000000 00000000 f0000000
0002: 0f000000 00800000 00000000 00000000 00000000 16000000 3f0002c0 00000000
0003: 00189dff 006000c0 00000024 fcff0000 ffffd7f0 fffffffb ffffffff ffff0003
0004: ffffffff ffffffff ffffffff 03ffffff fffffc00 ffffffff ffffffff ffffffff
0005: ffffffff 0000ffff 00000000 00000000 00000000 00000000 00000000 00000000
0014: 00000420 00000000 00000000 00000000 00000000 00000000 00000000 00000000
001e: 00000000 00000000 00000000 00000000 4000003f 00000000 00000000 000c0000
001f: 3f3fffff ffffffff aaff3f3f 3fffffff ffffffff ffdfffff efcfffdf 7fdcffff
0020: 77fc0980 06010047 00000410 fff10000 00007fff 26009000 00000000 00000000
0021: 26682004 00004014 fff80000 00000000 03ff0c00 000f0200 c0000000 000007f0
0022: 4626bffd 00700f80 00000100 00000037 00000ffc 0000fffc 00000000 00000000
0023: 0101007d 000009f3 00000000 00000000 f8000980 00003fff 0000c000 00000000
0024: ffffffff 0000007f 00000000 00000000 00000000 00000000 00000000 00000000
0025: ffffffff ffffffff ffffffff ffffffff ffffffff 1444ffff feefced1 00ff8fbf
0026: 00070000 1eff0001 00000005 00000c69 00000000 00000000 00000000 00000000
0027: 00080000 00000000 00000000 00030000 00000000 00000002 00000000 ffff0300
002b: 000000e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000
002e: 00000000 0c000000 00000000 00000000 00000000 00000000 00000000 00000000
0030: 00003000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00e0: 0000000f 00000000 00000000 00000000 00000000 000f0007 00000000 00000000
00fe: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 80000000
00ff: 00000000 00000000 00000000 0000000c 00000000 00000000 00000000 00000000
01d5: 00000000 02000000 00000000 00000000 00000000 00000000 00000000 00000000
01f3: 00010000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(s)
lang: aa|ab|af|av|ay|ba|be|bg|bi|br|bs|bua|ca|ce|ch|chm|co|cs|cu|cv|cy|da|de|el|en|eo|es|et|eu|fi|fj|fo|fr|fur|fy|gd|gl|gv|ho|hr|hu|ia|id|ie|ik|io|is|it|kaa|ki|kk|kl|ku-am|kum|kv|ky|la|lb|lez|lt|lv|mg|mh|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|sah|se|sel|sh|shs|sk|sl|sma|smj|smn|so|sq|sr|ss|st|sv|sw|tg|tk|tl|tn|tr|ts|tt|tyv|uk|uz|vo|vot|wa|wen|wo|xh|yap|zu|an|crh|csb|fil|hsb|ht|jv|kj|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|pap-an|pap-aw|rn|rw|sc|sg|sn|su|ty|za(s)
fontversion: 327811(i)(s)
capability: "otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latn otlayout:zinh otlayout:zyyy"(s)
fontformat: "TrueType"(s)
decorative: False(s)
postscriptname: "FiraCode-Medium"(s)
color: False(s)
symbol: False(s)
variable: False(s)
fonthashint: True(s)
Pattern has 26 elts (size 32)
family: "Fira Code"(s)
familylang: "en"(s)
style: "Regular"(s)
stylelang: "en"(s)
fullname: "Fira Code Regular"(s)
fullnamelang: "en"(s)
slant: 0(i)(s)
weight: 80(f)(s)
width: 100(f)(s)
spacing: 90(i)(s)
foundry: "CTDB"(s)
file: "FiraCode-Regular.ttf"(s)
index: 0(i)(s)
outline: True(s)
scalable: True(s)
charset:
0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
0001: ffffffff ffffffff ffffffff 7fffffff 00040000 00000000 00000000 f0000000
0002: 0f000000 00800000 00000000 00000000 00000000 16000000 3f0002c0 00000000
0003: 00189dff 006000c0 00000024 fcff0000 ffffd7f0 fffffffb ffffffff ffff0003
0004: ffffffff ffffffff ffffffff 03ffffff fffffc00 ffffffff ffffffff ffffffff
0005: ffffffff 0000ffff 00000000 00000000 00000000 00000000 00000000 00000000
0014: 00000420 00000000 00000000 00000000 00000000 00000000 00000000 00000000
001e: 00000000 00000000 00000000 00000000 4000003f 00000000 00000000 000c0000
001f: 3f3fffff ffffffff aaff3f3f 3fffffff ffffffff ffdfffff efcfffdf 7fdcffff
0020: 77fc0980 06010047 00000410 fff10000 00007fff 26009000 00000000 00000000
0021: 26682004 00004014 fff80000 00000000 03ff0c00 000f0200 c0000000 000007f0
0022: 4626bffd 00700f80 00000100 00000037 00000ffc 0000fffc 00000000 00000000
0023: 0101007d 000009f3 00000000 00000000 f8000980 00003fff 0000c000 00000000
0024: ffffffff 0000007f 00000000 00000000 00000000 00000000 00000000 00000000
0025: ffffffff ffffffff ffffffff ffffffff ffffffff 1444ffff feefced1 00ff8fbf
0026: 00070000 1eff0001 00000005 00000c69 00000000 00000000 00000000 00000000
0027: 00080000 00000000 00000000 00030000 00000000 00000002 00000000 ffff0300
002b: 000000e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000
002e: 00000000 0c000000 00000000 00000000 00000000 00000000 00000000 00000000
0030: 00003000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00e0: 0000000f 00000000 00000000 00000000 00000000 000f0007 00000000 00000000
00fe: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 80000000
00ff: 00000000 00000000 00000000 0000000c 00000000 00000000 00000000 00000000
01d5: 00000000 02000000 00000000 00000000 00000000 00000000 00000000 00000000
01f3: 00010000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(s)
lang: aa|ab|af|av|ay|ba|be|bg|bi|br|bs|bua|ca|ce|ch|chm|co|cs|cu|cv|cy|da|de|el|en|eo|es|et|eu|fi|fj|fo|fr|fur|fy|gd|gl|gv|ho|hr|hu|ia|id|ie|ik|io|is|it|kaa|ki|kk|kl|ku-am|kum|kv|ky|la|lb|lez|lt|lv|mg|mh|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|sah|se|sel|sh|shs|sk|sl|sma|smj|smn|so|sq|sr|ss|st|sv|sw|tg|tk|tl|tn|tr|ts|tt|tyv|uk|uz|vo|vot|wa|wen|wo|xh|yap|zu|an|crh|csb|fil|hsb|ht|jv|kj|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|pap-an|pap-aw|rn|rw|sc|sg|sn|su|ty|za(s)
fontversion: 327811(i)(s)
capability: "otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latn otlayout:zinh otlayout:zyyy"(s)
fontformat: "TrueType"(s)
decorative: False(s)
postscriptname: "FiraCode-Regular"(s)
color: False(s)
symbol: False(s)
variable: False(s)
fonthashint: True(s)
Pattern has 26 elts (size 32)
family: "Fira Code"(s) "Fira Code Retina"(s)
familylang: "en"(s) "en"(s)
style: "Retina"(s) "Regular"(s)
stylelang: "en"(s) "en"(s)
fullname: "Fira Code Retina"(s)
fullnamelang: "en"(s)
slant: 0(i)(s)
weight: 90(f)(s)
width: 100(f)(s)
spacing: 90(i)(s)
foundry: "CTDB"(s)
file: "FiraCode-Retina.ttf"(s)
index: 0(i)(s)
outline: True(s)
scalable: True(s)
charset:
0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
0001: ffffffff ffffffff ffffffff 7fffffff 00040000 00000000 00000000 f0000000
0002: 0f000000 00800000 00000000 00000000 00000000 16000000 3f0002c0 00000000
0003: 00189dff 006000c0 00000024 fcff0000 ffffd7f0 fffffffb ffffffff ffff0003
0004: ffffffff ffffffff ffffffff 03ffffff fffffc00 ffffffff ffffffff ffffffff
0005: ffffffff 0000ffff 00000000 00000000 00000000 00000000 00000000 00000000
0014: 00000420 00000000 00000000 00000000 00000000 00000000 00000000 00000000
001e: 00000000 00000000 00000000 00000000 4000003f 00000000 00000000 000c0000
001f: 3f3fffff ffffffff aaff3f3f 3fffffff ffffffff ffdfffff efcfffdf 7fdcffff
0020: 77fc0980 06010047 00000410 fff10000 00007fff 26009000 00000000 00000000
0021: 26682004 00004014 fff80000 00000000 03ff0c00 000f0200 c0000000 000007f0
0022: 4626bffd 00700f80 00000100 00000037 00000ffc 0000fffc 00000000 00000000
0023: 0101007d 000009f3 00000000 00000000 f8000980 00003fff 0000c000 00000000
0024: ffffffff 0000007f 00000000 00000000 00000000 00000000 00000000 00000000
0025: ffffffff ffffffff ffffffff ffffffff ffffffff 1444ffff feefced1 00ff8fbf
0026: 00070000 1eff0001 00000005 00000c69 00000000 00000000 00000000 00000000
0027: 00080000 00000000 00000000 00030000 00000000 00000002 00000000 ffff0300
002b: 000000e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000
002e: 00000000 0c000000 00000000 00000000 00000000 00000000 00000000 00000000
0030: 00003000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00e0: 0000000f 00000000 00000000 00000000 00000000 000f0007 00000000 00000000
00fe: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 80000000
00ff: 00000000 00000000 00000000 0000000c 00000000 00000000 00000000 00000000
01d5: 00000000 02000000 00000000 00000000 00000000 00000000 00000000 00000000
01f3: 00010000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(s)
lang: aa|ab|af|av|ay|ba|be|bg|bi|br|bs|bua|ca|ce|ch|chm|co|cs|cu|cv|cy|da|de|el|en|eo|es|et|eu|fi|fj|fo|fr|fur|fy|gd|gl|gv|ho|hr|hu|ia|id|ie|ik|io|is|it|kaa|ki|kk|kl|ku-am|kum|kv|ky|la|lb|lez|lt|lv|mg|mh|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|sah|se|sel|sh|shs|sk|sl|sma|smj|smn|so|sq|sr|ss|st|sv|sw|tg|tk|tl|tn|tr|ts|tt|tyv|uk|uz|vo|vot|wa|wen|wo|xh|yap|zu|an|crh|csb|fil|hsb|ht|jv|kj|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|pap-an|pap-aw|rn|rw|sc|sg|sn|su|ty|za(s)
fontversion: 327811(i)(s)
capability: "otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latn otlayout:zinh otlayout:zyyy"(s)
fontformat: "TrueType"(s)
decorative: False(s)
postscriptname: "FiraCode-Retina"(s)
color: False(s)
symbol: False(s)
variable: False(s)
fonthashint: True(s)
Pattern has 26 elts (size 32)
family: "Fira Code"(s) "Fira Code SemiBold"(s)
familylang: "en"(s) "en"(s)
style: "SemiBold"(s) "Regular"(s)
stylelang: "en"(s) "en"(s)
fullname: "Fira Code SemiBold"(s)
fullnamelang: "en"(s)
slant: 0(i)(s)
weight: 180(f)(s)
width: 100(f)(s)
spacing: 90(i)(s)
foundry: "CTDB"(s)
file: "FiraCode-SemiBold.ttf"(s)
index: 0(i)(s)
outline: True(s)
scalable: True(s)
charset:
0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
0001: ffffffff ffffffff ffffffff 7fffffff 00040000 00000000 00000000 f0000000
0002: 0f000000 00800000 00000000 00000000 00000000 16000000 3f0002c0 00000000
0003: 00189dff 006000c0 00000024 fcff0000 ffffd7f0 fffffffb ffffffff ffff0003
0004: ffffffff ffffffff ffffffff 03ffffff fffffc00 ffffffff ffffffff ffffffff
0005: ffffffff 0000ffff 00000000 00000000 00000000 00000000 00000000 00000000
0014: 00000420 00000000 00000000 00000000 00000000 00000000 00000000 00000000
001e: 00000000 00000000 00000000 00000000 4000003f 00000000 00000000 000c0000
001f: 3f3fffff ffffffff aaff3f3f 3fffffff ffffffff ffdfffff efcfffdf 7fdcffff
0020: 77fc0980 06010047 00000410 fff10000 00007fff 26009000 00000000 00000000
0021: 26682004 00004014 fff80000 00000000 03ff0c00 000f0200 c0000000 000007f0
0022: 4626bffd 00700f80 00000100 00000037 00000ffc 0000fffc 00000000 00000000
0023: 0101007d 000009f3 00000000 00000000 f8000980 00003fff 0000c000 00000000
0024: ffffffff 0000007f 00000000 00000000 00000000 00000000 00000000 00000000
0025: ffffffff ffffffff ffffffff ffffffff ffffffff 1444ffff feefced1 00ff8fbf
0026: 00070000 1eff0001 00000005 00000c69 00000000 00000000 00000000 00000000
0027: 00080000 00000000 00000000 00030000 00000000 00000002 00000000 ffff0300
002b: 000000e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000
002e: 00000000 0c000000 00000000 00000000 00000000 00000000 00000000 00000000
0030: 00003000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00e0: 0000000f 00000000 00000000 00000000 00000000 000f0007 00000000 00000000
00fe: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 80000000
00ff: 00000000 00000000 00000000 0000000c 00000000 00000000 00000000 00000000
01d5: 00000000 02000000 00000000 00000000 00000000 00000000 00000000 00000000
01f3: 00010000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(s)
lang: aa|ab|af|av|ay|ba|be|bg|bi|br|bs|bua|ca|ce|ch|chm|co|cs|cu|cv|cy|da|de|el|en|eo|es|et|eu|fi|fj|fo|fr|fur|fy|gd|gl|gv|ho|hr|hu|ia|id|ie|ik|io|is|it|kaa|ki|kk|kl|ku-am|kum|kv|ky|la|lb|lez|lt|lv|mg|mh|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|sah|se|sel|sh|shs|sk|sl|sma|smj|smn|so|sq|sr|ss|st|sv|sw|tg|tk|tl|tn|tr|ts|tt|tyv|uk|uz|vo|vot|wa|wen|wo|xh|yap|zu|an|crh|csb|fil|hsb|ht|jv|kj|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|pap-an|pap-aw|rn|rw|sc|sg|sn|su|ty|za(s)
fontversion: 327811(i)(s)
capability: "otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latn otlayout:zinh otlayout:zyyy"(s)
fontformat: "TrueType"(s)
decorative: False(s)
postscriptname: "FiraCode-SemiBold"(s)
color: False(s)
symbol: False(s)
variable: False(s)
fonthashint: True(s)
One other unrelated side issue that is probably simple to resolve, but I don't know much vimscript, is that in order to make eovim work properly with colorschemes I have had to put set termguicolors
into my neovim init.vim
.
The only downside of this is now the colorscheme doesn't load properly if I just happen to run nvim within my rxvt terminal, probably due to lack of true color support or so, or something else. Setting my $TERM made no difference. I don't use nvim directly in the console that much (I use eovim!), but sometimes it is handy just for a super quick edit, and so having all the nice colours disappear is slightly annoying although no big deal. I suppose I could switch terminals, to something like kitty, but I rather like the efficiency of rxvt-unicode.
It works fine in rxvt without the set termguicolors
option. So is there a way of putting something like
if call#eovim()
set termguicolors
So that basically the set termguicolors
option is only set when starting up a eovim session? (Can it be passed as a command line argument?). I don't know what the correct syntax is.
Thanks! :-)
Okay... interesting. I'll investigate the font issue more into details. Thanks for the info.
For setting termguicolors
only when Eovim runs, I think you can do the following:
if exists("g:eovim_running")
set termguicolors
endif
If you are interested in more vim scripting, there is a Wiki page that explains some tricks.
eovim --version
: 0.1.3.99-69652c1nvim --version | head -n1
: NVIM v0.4.3edje_cc --version
: Version: 1.23.Hello
Thanks for your work on this. It is definitely one of the best Neovim front-ends. The simple addition of the floating command palette makes a massive difference in these days of high-res/large screens.
One issue, however. I have noticed that vertical splits seem to have an alignment issue, possibly/probably related to the ligature (?) support, and in particular triggered by
NERDTree
.As recommended, I installed Fira Code, which looks great. If I set the font to use any of the different font weights (e.g. style=Medium), the problem with vertical alignment is 10x worse.
If I just use plain Fira Code with no style option specified as my
guifont
, the problem is essentially almost non-existent; I say "almost", because when I toggle NERDTree, a couple of vertical bars are very slightly misaligned, e.g. by just a couple of pixels, far less dramatic than the screenshots below. This misalignment propagates to any other split views in the window. However, it immediately disappears and all is perfect again as soon as I close/toggle NERDTRee back to hidden.So in practice it is only the tiniest imperfection and does not impact usability, it is more of a slight aesthetic ugliness issue.
With, say, Fira Code using the medium style option to increase the font weight, the problem is much more serious. Even after toggling NERDTree to close again, the vertical misalignment remains between splits, which is very ugly. So it essentially makes alternative font weights very problematical.
As I say, my guess is this is related to way that
eovim
is handling ligatures or some other font width metric.Hopefully the attached screenshots will explain it better than my text above does.