Add slanting for fonts without oblique/italic varient. Fix matching code to
make this work
This commit is contained in:
parent
0c35c0facb
commit
c689ec2291
|
@ -166,6 +166,34 @@
|
||||||
</prefer>
|
</prefer>
|
||||||
</alias>
|
</alias>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Artificial oblique for fonts without an italic or oblique version
|
||||||
|
-->
|
||||||
|
|
||||||
|
<match target="font">
|
||||||
|
<!-- check to see if the font is roman -->
|
||||||
|
<test qual="first" name="slant">
|
||||||
|
<const>roman</const>
|
||||||
|
</test>
|
||||||
|
<!-- check to see if the pattern requested non-roman -->
|
||||||
|
<test qual="not_first" name="slant" compare="not_eq">
|
||||||
|
<const>roman</const>
|
||||||
|
</test>
|
||||||
|
<!-- multiply the matrix to slant the font -->
|
||||||
|
<edit name="matrix" mode="assign">
|
||||||
|
<times>
|
||||||
|
<name>matrix</name>
|
||||||
|
<matrix><double>1</double><double>.2</double>
|
||||||
|
<double>0</double><double>1</double>
|
||||||
|
</matrix>
|
||||||
|
</times>
|
||||||
|
</edit>
|
||||||
|
<!-- pretend the font is oblique now -->
|
||||||
|
<edit name="slant" mode="assign">
|
||||||
|
<const>oblique</const>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
|
||||||
<config>
|
<config>
|
||||||
<!--
|
<!--
|
||||||
These are the default Unicode chars that are expected to be blank
|
These are the default Unicode chars that are expected to be blank
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* $XFree86: xc/lib/fontconfig/src/fcmatch.c,v 1.11 2002/06/08 17:32:04 keithp Exp $
|
* $XFree86: xc/lib/fontconfig/src/fcmatch.c,v 1.13 2002/06/19 20:08:22 keithp Exp $
|
||||||
*
|
*
|
||||||
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
|
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
|
||||||
*
|
*
|
||||||
|
@ -335,7 +335,7 @@ FcFontRenderPrepare (FcConfig *config,
|
||||||
for (j = 0; j < NUM_MATCHER; j++)
|
for (j = 0; j < NUM_MATCHER; j++)
|
||||||
score[j] = 0;
|
score[j] = 0;
|
||||||
if (!FcCompareValueList (pe->object, pe->values,
|
if (!FcCompareValueList (pe->object, pe->values,
|
||||||
fe->values, &v, 0, &result))
|
fe->values, &v, score, &result))
|
||||||
{
|
{
|
||||||
FcPatternDestroy (new);
|
FcPatternDestroy (new);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue