Akira TAGOH wrote:
That should works as expected now. please test as well as usual
matching rule since the logic was somewhat rewritten.
There seems to be a regression.
When testing the following rule:
<match target="pattern">
<test name="family"><string>testfamily2</string></test>
<test name="pixelsize" compare="less"
qual="all"><double>100</double></test>
<edit name="family"
mode="append"><string>testfamily2_append</string></edit>
</match>
with
FC_DEBUG=1 fc-match testfamily2 |grep family:
the <edit> is applied at the wrong position, i. e. the position of the
'family' match isn't retained if another <test> is inbetween.
Raimund
On Mon, Jun 17, 2013 at 9:25 PM, Raimund Steger <rs@xxxxxxxx> wrote:
Hi,
On Tue, June 11, 2013 09:59, Akira TAGOH wrote:
Hi,
If there are not anything else we want to fix before releasing 2.11.0,
please follow up on this mail otherwise I'll make one next week.
Sorry- I know I should have tested this a lot earlier, but the
implementation of https://bugs.freedesktop.org/show_bug.cgi?id=59385
(intermixed <test> and <edit> elements in <match>,
http://cgit.freedesktop.org/fontconfig/commit/?id=d26fb23c41abd87422778bb38eea39f25ba3dc4a)
does not seem to exactly match Behdad's suggestion from his initial mail:
http://thread.gmane.org/gmane.comp.fonts.fontconfig/4607
The suggestion in the mail is that:
<match>
<test1>
<edit1>
<test2>
<edit2>
</match>
is a shortcut for:
<match>
<test1>
<edit1>
</match>
<match>
<test1>
<test2>
<edit2>
</match>
i. e., test2 is only evaluated if test1 was successful.
However the current implementation in head seems to generate two unrelated
rules.
If I make an example configuration like this:
<match target="pattern">
<test name="family" qual="first"><string>Helvetica</string></test>
<edit name="family" mode="append"><string>Helvetica LT
Std</string></edit>
<test name="pixelsize" compare="less"><double>12</double></test>
<edit name="family" mode="prepend"><string>Lucida Sans</string></edit>
</match>
so that Helvetica LT Std is always acceptable for Helvetica, but below
12px Lucida Sans is preferred for the family, fontconfig instead prepends
"Lucida Sans" to all patterns with a pixelsize below 12. So I'd have to
write
<match target="pattern">
<test name="family" qual="first"><string>Helvetica</string></test>
<edit name="family" mode="append"><string>Helvetica LT
Std</string></edit>
<test name="family" qual="first"><string>Helvetica</string></test>
<test name="pixelsize" compare="less"><double>12</double></test>
<edit name="family" mode="prepend" binding="strong"><string>Lucida
Sans</string></edit>
</match>
instead.
(Given I haven't made an error in my test) it's probably still an
improvement over 2.10 though.
Raimund
--
Worringer Str 31 Duesseldorf 40211 DE home: <rs@xxxxxxxx>
+49-179-2981632 icq 16845346 work: <rs@xxxxxxxxxxxxxxx>
--
Worringer Str 31 Duesseldorf 40211 DE home: <rs@xxxxxxxx>
+49-179-2981632 icq 16845346 work: <rs@xxxxxxxxxxxxxxx>
_______________________________________________
Fontconfig mailing list
Fontconfig@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/fontconfig