boomboxnation has quit [Read error: Connection reset by peer]
lanodan has quit [Ping timeout: 252 seconds]
boomboxnation has joined #foot
<andyrtr>
dnkl: foot does not fully support OpenType font features like font kerning? I've found Monaspace and CommitMono fonts not showing any kerning. CommitMono at least allows to use style changes through fontconfig/fonts.conf
<andyrtr>
some more font configuration from foot.ini would be nice
lanodan has joined #foot
<dnkl>
beyond individual grapheme clusters, there's no shaping support in foot. i.e no ligatures or anything else that requires shaping more than one grapheme cluster at a time.
<dnkl>
style changes (e.g alternative glyph variants) can be set in foot.ini; as mentioned in the man page, the font option is a fontconfig string
<andyrtr>
there're in JetBrains Mono font fontconfig option for OpenType features like "zero on/off" for 0 style or "cv07 on/off" for W/w alternatives. but foot -o font="JetBrains Mono:size=12:zero=off" is invalid.
<andyrtr>
also with separate -o "zero=off"
<dnkl>
the fontconfig option is called fontfeatures
<dnkl>
try googling that
<andyrtr>
some fontfeatures like alternytive glyphs work using fontconfig/fonts.conf setting but I haven't found a way to pass it directly to foot using -o option or foot.ini
<andyrtr>
I've understand that ligatures and kerning are not yet supported
<dnkl>
should be something like "font=name: size=12:fontfeatures=+cv07". I remember testing it, but not sure about the exact syntax. Again, try googling it
<dnkl>
assuming I knew what I was doing when I wrote that
<dnkl>
there should be a way to explicitly enable/disable too, and I think it's with +/- but not sure
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
mtm has quit [Ping timeout: 252 seconds]
mtm has joined #foot
<andyrtr>
dnkl: I couldn't manage to find a working syntax. -o font="JetBrains Mono:size=12:fontfeatures=cv60+" (tried +cv60 doesn't affect the feature in any way. maybe foot doesn't read it properly or does not pass it well? I'm checking with fc-match -v "..." | grep fontfeatures
<dnkl>
andyrtr: cv60 is a ligature-like feature that depends on two consecutive characters. As mentioned above, that's not supported
<dnkl>
well, not ligature-*like*. cv60-cv79 *are* ligatures
<dnkl>
or wait, maybe I was reading the wrong tänkte
<dnkl>
readme
<andyrtr>
I have cv07 in my fontconfig/fonts.conf and that one is working
<andyrtr>
"zero on" is also working
<dnkl>
can you point me to the documentation of these options/styles?
<andyrtr>
fontfeatures: "calt off"(w) "zero on"(w) "cv07 on"(w) is my fontconfig/fonts.conf preset for that font and foot -o font="Jetbrains Mono:size=12:fontfeatures=cv06" -o line-height=14 doesn't change that
<andyrtr>
so it seems it doesn add/replace/remove any feature
<dnkl>
depends on how your fontconfig option is written. You choose if you want to set (replace) there value, or append
<andyrtr>
that should allow to add more features, right?
<dnkl>
sounds right
cbb has joined #foot
<dnkl>
but if fc-match isn't picking up the features on the command line, *something* in your fontconfig config is preventing it
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
<andyrtr>
I've now fully disabled my user fontconfig/fonts.conf and it still doesn't work for me. Maybe it's swaywm or something else preventing to pickup the feature. It's not very iportant. started with loggin enables it actually passes the fontfeature but in the new terminal fc-match doesn't show it.
<rockorager>
dnkl: awesome work. any perf impact after parsing the initial sequence? doesn’t sound like it
<andyrtr>
dnkl: checking the letter "m" actually shows cv06 taking effect, but fc-match -v doesn't show it.
<dnkl>
rockorager: normally, no. There is a performance hit if you e.g emit plain ascii with an explicit width (that doesn't match the auto-calculated one)
<dnkl>
andyrtr: interesting. That's how I first checked that it worked. Looking at fc-match output was just an after thought
<rockorager>
With your foobar example, I was thinking one could hack this protocol to force “word wrap” using normal text reflow from the terminal
<rockorager>
if you were to wrap each word with the sequence, for example
<rockorager>
…would be diabolical :)
<dnkl>
please don't 🤣
kasimir_ has joined #foot
<rockorager>
Another weirdish hack could be to shape the text within a single sequence, then the application can be in charge of ligatures. I don’t think that would work very well in editors since the two glyphs would act as one, but for display it wouldn’t be too bad
<dnkl>
that's how it works in foot... the entire text string from the escape is shaped as one run
<rockorager>
oh nice
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
ninewise has quit [Remote host closed the connection]
ninewise has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
boomboxnation has quit [Ping timeout: 252 seconds]
boomboxnation has joined #foot
boomboxnation has quit [Remote host closed the connection]
boomboxnation has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
cbb has quit [Quit: cbb]
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
esu has quit [Quit: esu]
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
talismanick has joined #foot
boomboxnation has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]