ConTeXt inserts additional dots for Iosevka font
Hi, ConTeXt has some issues with the character variant features of the Iosevka font available at https://github.com/be5invis/Iosevka/releases/download/v10.1.1/super-ttc-iose... E.g. the following document \definefontfeature [default:test] [default] [cv36=2,cv26=6] \definefont [SomeFont] [name:iosevka*default:test] \starttext \SomeFont I live in a dot-heavy world. \stoptext has six dots instead of one dot over each "i". Tests with multiple other font shapers and inspection of the font file confirmed that this is not intentional behavior. Could you take a look at that? (Based on a luotfload bug report at https://github.com/latex3/luaotfload/issues/202) Best regards, Marcel
On 9/11/2021 10:36 PM, Marcel Fabian Krüger via ntg-context wrote:
Hi,
ConTeXt has some issues with the character variant features of the Iosevka font available at https://github.com/be5invis/Iosevka/releases/download/v10.1.1/super-ttc-iose...
E.g. the following document
\definefontfeature [default:test] [default] [cv36=2,cv26=6]
What is the number supposed to indicate ? It is not an alternate, right?
\definefont [SomeFont] [name:iosevka*default:test] \starttext \SomeFont I live in a dot-heavy world. \stoptext
has six dots instead of one dot over each "i". Tests with multiple other font shapers and inspection of the font file confirmed that this is not intentional behavior.
Could you take a look at that? (Based on a luotfload bug report at https://github.com/latex3/luaotfload/issues/202)
when a number is specified for a multiple and the is > 1 we repeat the last glyph ... this is a 'secret' feature that (already a while ago) we added when discussing / testing a experimental arabic font in combination with a paragraph optimizer ... normally users will say 'yes' and not give a number i can make that a 'context only' feature if needed Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Hi, On Sun, Sep 12, 2021 at 12:01:08AM +0200, Hans Hagen wrote:
\definefontfeature [default:test] [default] [cv36=2,cv26=6]
What is the number supposed to indicate ? It is not an alternate, right?
Actually it is an alternate, but only partially.
\definefont [SomeFont] [name:iosevka*default:test] \starttext \SomeFont I live in a dot-heavy world. \stoptext
has six dots instead of one dot over each "i". Tests with multiple other font shapers and inspection of the font file confirmed that this is not intentional behavior.
Could you take a look at that? (Based on a luotfload bug report at https://github.com/latex3/luaotfload/issues/202)
when a number is specified for a multiple and the is > 1 we repeat the last glyph ... this is a 'secret' feature that (already a while ago) we added when discussing / testing a experimental arabic font in combination with a paragraph optimizer ... normally users will say 'yes' and not give a number
Thanks, this explains a lot. In this font it's problematic though because the cv.. features have multiple loopup tables, one of which is a "multiple" lookup (used to decompose characters before applying the replacements, especially decomposing i into the stem and the dot) and another one is an "alternate" lookup providing multiple character variants. So selecting one of the other alternates requires that a number is passed, but passing the number enables the repetition in the multiple lookup...
i can make that a 'context only' feature if needed
That would certainly solve the issue for me, but it might be nice to provide a solution for context users too. Maybe the feature could be adapted to only interpret the argument as a replication factor if the "multiple" is the only lookup for the feature or if no other lookup for the feature is an alternate lookup? Best, Marcel
Marcel Fabian Krüger via ntg-context schrieb am 12.09.2021 um 01:12:
Hi,
On Sun, Sep 12, 2021 at 12:01:08AM +0200, Hans Hagen wrote:
\definefontfeature [default:test] [default] [cv36=2,cv26=6]
What is the number supposed to indicate ? It is not an alternate, right? Actually it is an alternate, but only partially.
There is a table on the github page with the results from all alternatives. Look at section "Character Variats" on https://github.com/be5invis/Iosevka
\definefont [SomeFont] [name:iosevka*default:test]
@Marcel: I suggest to load ttc fonts with the file option. \starttext \definedfont[file:iosevka.ttc(Iosevka)*none]Iosevka \stoptext Wolfgang
On 9/12/2021 9:45 AM, Wolfgang Schuster via ntg-context wrote:
Marcel Fabian Krüger via ntg-context schrieb am 12.09.2021 um 01:12:
Hi,
On Sun, Sep 12, 2021 at 12:01:08AM +0200, Hans Hagen wrote:
\definefontfeature [default:test] [default] [cv36=2,cv26=6] What is the number supposed to indicate ? It is not an alternate, right? Actually it is an alternate, but only partially.
There is a table on the github page with the results from all alternatives.
Look at section "Character Variats" on https://github.com/be5invis/Iosevka
\definefont [SomeFont] [name:iosevka*default:test]
@Marcel: I suggest to load ttc fonts with the file option.
\starttext \definedfont[file:iosevka.ttc(Iosevka)*none]Iosevka \stoptext as it experimental anyway, i changed this trick to
\definefontfeature[default:test][default][cvxx={repeatlast:3}] repeatmiddle and repeatfirst also supported (it also permits context users to play with runtime feature definitions using multiples that act as extensibles) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On 9/12/2021 9:45 AM, Wolfgang Schuster via ntg-context wrote:
Marcel Fabian Krüger via ntg-context schrieb am 12.09.2021 um 01:12:
Hi,
On Sun, Sep 12, 2021 at 12:01:08AM +0200, Hans Hagen wrote:
\definefontfeature [default:test] [default] [cv36=2,cv26=6] What is the number supposed to indicate ? It is not an alternate, right? Actually it is an alternate, but only partially.
There is a table on the github page with the results from all alternatives.
Look at section "Character Variats" on https://github.com/be5invis/Iosevka With fonts like that we might end up in issues anyway:
\definefontfeature[default:test][default][mlxx=yes,wflm=yes] \definedfont[file:iosevka.ttc(Iosevka)*default:test] :> <> e.g. WFLM Wolfram Language (Mathematica) so we get font specific 4 char feature names that themselves have script / language specifications (like latin default and cyrillic serbian wolfram) ... these could have been ss* features (after all, cv and ss are wildcards and opentype has never been that consistent), not that it matters much because it gets processed anyway, but it's a clear signal that anyone can roll out adn use any feature name Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
participants (3)
-
Hans Hagen
-
Marcel Fabian Krüger
-
Wolfgang Schuster