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