On 4/24/2013 11:07 AM, Georg Duffner wrote:
Hi,
in EB Garamond I have some contextual lookups in the kern feature with which LuaTeX in context standalone (updated today in the morning) seems to have problems (the issue is not new, I’ve already reported it in january but perhaps that was a bit too confusing).
The test document is:
\definefontfeature[default][default][mode=base]
you want node mode, so mode=node
\definefontsynonym[ebg][file:EBGaramond12-Regular.otf] \definefontfeature[ss20][ss20=yes] \definefontfeature[iota1][cv81=1] \definefontfeature[iota2][cv81=2] \definefontfeature[altcirc][cv80=1] \define\test{Tì αᾟα\par} \starttext \definedfont[ebg*default at 12pt]\test \addfeature{ss20}\test \addfeature{iota1}\test \addfeature{iota2}\test \addfeature{altcirc}\test \stoptext
The font is at http://www.georgduffner.at/ebgaramond/fonts/EBGaramond12-Regular.otf
The corresponding lookups in the kern.fea roughly contain
pos T' 145 i.dotless gravecomb;
which increases the right sidebearing of T by 145 before i.dotless followed by gravecomb
maybe you also need to enable lfbd and rtbd?
and
pos Eta' <218 0 218 0> uni0345.cap @grk_tlAcc2; pos Eta' <218 0 418 0> uni0345.cap1 @grk_tlAcc2; pos Eta' <218 0 558 0> uni0345.cap2 @grk_tlAcc2;
where @grk_tlAcc2 contains the accents attached at the top left of the glyph and which means that Eta is positioned at 218 inside its bounding box and the bounding box is expanded by the third value between <>, on the condition that it’s followed by uni0345.cap* and the said accents.
ok, so that is effectively changing the advance width
ss20 does a full decomposition of all composed glyphs so I can replace any component by an alternate glyph. Their order corresponds to canonical decomposition.
Attached you find the pdf output and a pdf from a parallel xelatex test which shows the desired result:
\documentclass[12pt]{minimal} \usepackage{fontspec} \setmainfont{EB Garamond} \newcommand{\test}{Tì αᾟα\par} \begin{document} \test \addfontfeature{RawFeature=+ss20}\test \addfontfeature{CharacterVariant=81:1}\test \addfontfeature{CharacterVariant=81:2}\test \addfontfeature{CharacterVariant=80}\test \end{document}
I don't know what \addfontfeature does in xetex (probably accumulative) but in context you can best use the \feature command: \feature[+][iota1] as \addfeature cum suis were somewhat experimental features related to oriental tex. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------