%D \module %D [ file=s-fonts-engines, % was: s-fnt-22 %D version=2017.06.21, %D title=\CONTEXT\ Style File, %D subtitle=Compare engines and such, %D author=Hans Hagen, %D date=\currentdate, %D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] %C %C This module is part of the \CONTEXT\ macro||package and is %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. %D This module is just for me when I wanted to check some husayni (by Idris) %D regression. Interesting is that fina should be disabled for hb (otherwise %D garbage) and that some substitutions are ignored in hb (1.1.3), so we can %D only compare some examples. Don't expect this style to be stable as I %D might change default features. \startmodule[fonts-engines] \usemodule[fonts-steps] \usemodule[fonts-plugins] \enabletrackers[fonts.reorderlookups] \startsetups otftracker-extra-context \definedfont[\getvariable{otftracker}{font}*\getvariable{otftracker}{features} at \getvariable{otftracker}{size}]\relax \setotfcompositiondirection{\getvariable{otftracker}{direction}}\relax \getvariable{otftracker}{sample}\relax \stopsetups \startsetups otftracker-extra-context-reordered \definedfont[\getvariable{otftracker}{font}*otftracker-context-reordered at \getvariable{otftracker}{size}]\relax \setotfcompositiondirection{\getvariable{otftracker}{direction}}\relax \getvariable{otftracker}{sample}\relax \stopsetups \startsetups otftracker-extra-harfbuzz \definedfont[\getvariable{otftracker}{font}*otftracker-harfbuzz-native at \getvariable{otftracker}{size}]\relax \setotfcompositiondirection{\getvariable{otftracker}{direction}}\relax \getvariable{otftracker}{sample}\relax \stopsetups \startsetups otftracker-extra-uniscribe \definedfont[\getvariable{otftracker}{font}*otftracker-harfbuzz-uniscribe at \getvariable{otftracker}{size}]\relax \setotfcompositiondirection{\getvariable{otftracker}{direction}}\relax \getvariable{otftracker}{sample}\relax \stopsetups \definecolor[otftracker-overlay-1][a=1,t=.5,b=1] \definecolor[otftracker-overlay-2][a=1,t=.5,g=1] \definecolor[otftracker-overlay-3][a=1,t=.5,r=1] % This is a sort of a check against xetex but with limited font trickery because we bypass % the normal font handling. It's no big deal for a test. The biggest problem is that we % run into default features and we don't know what is turned on by default. We also need % to disable tagging so that hb itself can do some (init/medi/fina) magic in setting % features. \startsetups otftracker-extra \start \blank \definefontfeature [otftracker-context-reordered] [\getvariable{otftracker}{features}] [reorderlookups=arab] \definefontfeature [otftracker-harfbuzz-uniscribe] [\getvariable{otftracker}{features}] [mode=plug, features=harfbuzz, shaper=uniscribe, % stch=nothing, % ccmp=nothing, % locl=nothing, % rlig=nothing, % calt=nothing, % mset=nothing, fina=nothing, % looks like the libs does something special init=nothing, % looks like the libs does something special medi=nothing, % looks like the libs does something special isol=nothing, % looks like the libs does something special % method=binary, script=arabic] \definefontfeature [otftracker-harfbuzz-native] [\getvariable{otftracker}{features}] [mode=plug, features=harfbuzz, shaper=native, % stch=nothing, % ccmp=nothing, % locl=nothing, % rlig=nothing, % calt=nothing, % mset=nothing, fina=nothing, % looks like the libs does something special init=nothing, % looks like the libs does something special medi=nothing, % looks like the libs does something special isol=nothing, % looks like the libs does something special script=arabic] \doifelsesomething {\getvariable{otftracker}{comment}} { \def\ExtraComment{ \TB \NC comment \NC \vtop { \hsize\dimexpr\hsize-10em\relax \veryraggedright \getvariable{otftracker}{comment} } \NC \NR } } { \def\ExtraComment{} } \starttabulate[|lTB|l|] \NC context \NC \showglyphs \showfontkerns \enabletrackers[otf.sample.silent] \ruledhbox{\directsetup{otftracker-extra-context}} \disabletrackers[otf.sample] \NC \NR \TB \NC reordered \NC \showglyphs \showfontkerns \enabletrackers[otf.sample.silent] \ruledhbox{\directsetup{otftracker-extra-context-reordered}} \disabletrackers[otf.sample] \NC \NR \TB \NC harfbuzz \NC \showglyphs \showfontkerns \enabletrackers[fonts.plugins.hb.colors] \ruledhbox{\directsetup{otftracker-extra-harfbuzz}} \disabletrackers[fonts.plugins.hb.colors] \NC \NR \TB \NC uniscribe \NC \showglyphs \showfontkerns \enabletrackers[fonts.plugins.hb.colors] \ruledhbox{\directsetup{otftracker-extra-uniscribe}} \disabletrackers[fonts.plugins.hb.colors] \NC \NR \TB \NC context \NC \showglyphs \showfontkerns \ruledhbox{\directsetup{otftracker-extra-context}} \NC \NR \TB \NC harfbuzz \NC \showglyphs \showfontkerns \ruledhbox{\directsetup{otftracker-extra-harfbuzz}} \NC \NR \TB \NC uniscribe \NC \showglyphs \showfontkerns \ruledhbox{\directsetup{otftracker-extra-uniscribe}} \NC \NR \TB \NC context harfbuzz \NC \showglyphs \showfontkerns \hbox to \zeropoint { \ruledhbox{\color[otftracker-overlay-1]{\directsetup{otftracker-extra-harfbuzz}}} \hss } \ruledhbox{\color[otftracker-overlay-3]{\directsetup{otftracker-extra-context}}} \NC \NR \TB \NC uniscribe harfbuzz \NC \showglyphs \showfontkerns \hbox to \zeropoint { \ruledhbox{\color[otftracker-overlay-1]{\directsetup{otftracker-extra-harfbuzz}}} \hss } \ruledhbox{\color[otftracker-overlay-2]{\directsetup{otftracker-extra-uniscribe}}} \NC \NR \TB \NC context uniscribe \NC \showglyphs \showfontkerns \hbox to \zeropoint { \ruledhbox{\color[otftracker-overlay-1]{\directsetup{otftracker-extra-uniscribe}}} \hss } \ruledhbox{\color[otftracker-overlay-2]{\directsetup{otftracker-extra-context}}} \NC \NR \ExtraComment \stoptabulate \stop \stopsetups \stopmodule