Setting script that is the same as current language system should make no effect. This is not documented in the spec, but it is what makeotf does. This as the effect of preserving lookupflag when set before such a script statement. Fixes https://github.com/fonttools/fonttools/issues/1824
150 lines
2.5 KiB
Plaintext
150 lines
2.5 KiB
Plaintext
languagesystem DFLT dflt;
|
|
|
|
@TOP_MARKS = [acute grave macron];
|
|
markClass [cedilla ogonek] <anchor 350 -20> @BOTTOM_MARKS;
|
|
@FRENCH_MARKS = [acute grave cedilla dieresis circumflex];
|
|
@MARKS_WITH_DUPLICATES = [breve caron umlaut breve caron umlaut];
|
|
|
|
lookup A {
|
|
lookupflag RightToLeft;
|
|
pos one 1;
|
|
} A;
|
|
|
|
lookup B {
|
|
lookupflag IgnoreBaseGlyphs;
|
|
pos two 2;
|
|
} B;
|
|
|
|
lookup C {
|
|
lookupflag IgnoreLigatures;
|
|
pos four 4;
|
|
} C;
|
|
|
|
lookup D {
|
|
#test-fea2fea: lookupflag RightToLeft IgnoreBaseGlyphs IgnoreLigatures;
|
|
lookupflag 7;
|
|
pos seven 7;
|
|
} D;
|
|
|
|
lookup E {
|
|
lookupflag IgnoreMarks;
|
|
pos eight 8;
|
|
} E;
|
|
|
|
lookup F {
|
|
lookupflag MarkAttachmentType @TOP_MARKS;
|
|
pos F 1;
|
|
} F;
|
|
|
|
lookup G {
|
|
lookupflag MarkAttachmentType @BOTTOM_MARKS;
|
|
pos G 1;
|
|
} G;
|
|
|
|
lookup H {
|
|
lookupflag IgnoreLigatures MarkAttachmentType @TOP_MARKS;
|
|
pos H 1;
|
|
} H;
|
|
|
|
lookup I {
|
|
lookupflag UseMarkFilteringSet @TOP_MARKS;
|
|
pos I 1;
|
|
} I;
|
|
|
|
lookup J {
|
|
# @FRENCH_MARKS overlaps with @TOP_MARKS.
|
|
# Other than with MarkAttachmentType, the same glyph may appear
|
|
# in multiple glyphsets for UseMarkFilteringSet. Make sure that
|
|
# our implementation can handle this.
|
|
lookupflag UseMarkFilteringSet @FRENCH_MARKS;
|
|
pos J 1;
|
|
} J;
|
|
|
|
lookup K {
|
|
lookupflag IgnoreLigatures UseMarkFilteringSet @TOP_MARKS;
|
|
pos K 1;
|
|
} K;
|
|
|
|
lookup L {
|
|
pos L 1;
|
|
} L;
|
|
|
|
lookup M {
|
|
lookupflag UseMarkFilteringSet @MARKS_WITH_DUPLICATES;
|
|
pos M 1;
|
|
} M;
|
|
|
|
lookup N {
|
|
lookupflag MarkAttachmentType @MARKS_WITH_DUPLICATES;
|
|
pos N 1;
|
|
} N;
|
|
|
|
feature test {
|
|
lookup A;
|
|
lookup B;
|
|
lookup C;
|
|
lookup D;
|
|
lookup E;
|
|
lookup F;
|
|
lookup G;
|
|
lookup H;
|
|
lookup I;
|
|
lookup J;
|
|
lookup K;
|
|
lookup L;
|
|
lookup M;
|
|
lookup N;
|
|
} test;
|
|
|
|
feature test {
|
|
lookupflag IgnoreMarks;
|
|
lookup O {
|
|
pos one 1;
|
|
} O;
|
|
lookup P {
|
|
pos one 1;
|
|
} P;
|
|
} test;
|
|
|
|
feature test {
|
|
lookup Q {
|
|
pos one 1;
|
|
} Q;
|
|
lookup R {
|
|
pos one 1;
|
|
} R;
|
|
} test;
|
|
|
|
feature test {
|
|
lookup S {
|
|
lookupflag IgnoreMarks;
|
|
pos one 1;
|
|
} S;
|
|
lookup T {
|
|
pos one 1;
|
|
} T;
|
|
} test;
|
|
|
|
feature test {
|
|
lookup U {
|
|
pos one 1;
|
|
} U;
|
|
lookup V {
|
|
lookupflag IgnoreMarks;
|
|
pos one 1;
|
|
} V;
|
|
} test;
|
|
|
|
feature test {
|
|
lookup W {
|
|
lookupflag IgnoreMarks;
|
|
script latn;
|
|
pos one 1;
|
|
} W;
|
|
lookup X {
|
|
lookupflag IgnoreMarks;
|
|
script latn;
|
|
pos two 2;
|
|
} X;
|
|
} test;
|