From 796f677225ae7d9a0d0b661fa04ad6a31a883ac6 Mon Sep 17 00:00:00 2001 From: Cosimo Lupo Date: Wed, 24 Jan 2024 16:41:34 +0000 Subject: [PATCH] restore original spec5d1.fea example and modify expected ttx instead --- Tests/feaLib/data/spec5d1.fea | 22 ++++++++++++++++------ Tests/feaLib/data/spec5d1.ttx | 16 ++++++++-------- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/Tests/feaLib/data/spec5d1.fea b/Tests/feaLib/data/spec5d1.fea index a9a23f815..0b5acdd30 100644 --- a/Tests/feaLib/data/spec5d1.fea +++ b/Tests/feaLib/data/spec5d1.fea @@ -2,7 +2,7 @@ # http://www.adobe.com/devnet/opentype/afdko/topic_feature_file_syntax.html feature F1 { - sub [one one.oldstyle] [fraction slash] [two two.oldstyle] by onehalf; + sub [one one.oldstyle] [slash fraction] [two two.oldstyle] by onehalf; } F1; # Since the OpenType specification does not allow ligature substitutions @@ -11,13 +11,23 @@ feature F1 { # if glyph classes are detected in . Thus, the above # example produces an identical representation in the font as if all # the sequences were manually enumerated by the font editor: +# +# NOTE(anthrotype): The previous sentence is no longer entirely true, since we +# now preserve the order in which the ligatures (with same length and first glyph) +# were specified in the feature file and do not sort them alphabetically +# by the ligature component names. Therefore, the way this particular example from +# the FEA spec is written will produce two slightly different representations +# in the font in which the ligatures are enumerated differently, however the two +# lookups are functionally equivalent. +# See: https://github.com/fonttools/fonttools/issues/3428 +# https://github.com/adobe-type-tools/afdko/issues/1727 feature F2 { - sub one fraction two by onehalf; - sub one fraction two.oldstyle by onehalf; sub one slash two by onehalf; - sub one slash two.oldstyle by onehalf; - sub one.oldstyle fraction two by onehalf; - sub one.oldstyle fraction two.oldstyle by onehalf; sub one.oldstyle slash two by onehalf; + sub one fraction two by onehalf; + sub one.oldstyle fraction two by onehalf; + sub one slash two.oldstyle by onehalf; sub one.oldstyle slash two.oldstyle by onehalf; + sub one fraction two.oldstyle by onehalf; + sub one.oldstyle fraction two.oldstyle by onehalf; } F2; diff --git a/Tests/feaLib/data/spec5d1.ttx b/Tests/feaLib/data/spec5d1.ttx index 77dfc93b8..8763c931e 100644 --- a/Tests/feaLib/data/spec5d1.ttx +++ b/Tests/feaLib/data/spec5d1.ttx @@ -43,16 +43,16 @@ - - + + - - + + @@ -62,16 +62,16 @@ - - + + - - + +