|
From: Johan W. <joh...@te...> - 2011-12-01 18:11:51
|
Hi!
I got a bug report today from a user of my Graphite font, pointing out
that the font behaved differently in LibreOffice 3.4 compared to previous
versions. To demonstrate this, I have managed to construct a minimal (or
at least small) testcase:
---- GDL file begins ----
table(glyph)
a=codepoint("a")
A=codepoint("A")
b=codepoint("b")
B=codepoint("B")
endtable;
table(substitution)
pass(1)
b b > B B / _ ^ a a _ ; // Rule 1
a > A / B A ^ _ ; // Rule 2
a > A / B ^ _ ; // Rule 3
endpass;
endtable;
---- EOF ----
A Graphite font compiled with this GDL file is attached.
If I understand the GDL language correctly, these rules (slightly
contrived as they are) should handle the string "baaba" as follows
(^ shows scan position):
^baaba (Initial string)
B^aaBa (By rule 1)
B^AaBa (By rule 3)
BA^aBa (No match)
BA^ABa (By rule 2)
BAA^Ba (No match)
BAAB^a (No match)
BAAB^A (By rule 3)
BAABA^ (No match)
This ("BAABA") is the result I get in applications using pango-graphite
under Ubuntu, but in LibreOffice 3.4 the result is "BAABa", with a final
lower case "a". Is Graphite2 in error here?
Regards,
Johan Winge |