]> git.pld-linux.org Git - packages/fontconfig.git/blame - fontconfig-constant-weight.patch
add another patch to fix weight without explicit attribute; rel 3
[packages/fontconfig.git] / fontconfig-constant-weight.patch
CommitLineData
a0282ae9
JP
1From 198358dd8ff858c9e36531a7406ccb2246ae77b7 Mon Sep 17 00:00:00 2001
2From: Akira TAGOH <akira@tagoh.org>
3Date: Mon, 12 Mar 2018 11:49:58 +0900
4Subject: Allow the constant names in the range
5
6https://bugs.freedesktop.org/show_bug.cgi?id=105415
7---
8 src/fcname.c | 34 +++++++++++++++++++++++++++++-----
9 1 file changed, 29 insertions(+), 5 deletions(-)
10
224401c7 11diff --git a/src/fcname.c b/src/fcname.c
a0282ae9 12index 79e413e..15fb659 100644
224401c7
JP
13--- a/src/fcname.c
14+++ b/src/fcname.c
a0282ae9 15@@ -330,13 +330,37 @@ FcNameConvert (FcType type, FcChar8 *string)
224401c7
JP
16 case FcTypeRange:
17 if (sscanf ((char *) string, "[%lg %lg]", &b, &e) != 2)
18 {
19- v.u.d = strtod ((char *) string, &p);
20- if (p != NULL && p[0] != 0)
21+ char *sc, *ec;
22+ size_t len = strlen ((const char *) string);
23+ int si, ei;
24+
25+ sc = malloc (len);
26+ ec = malloc (len);
27+ if (sc && ec && sscanf ((char *) string, "[%s %[^]]]", sc, ec) == 2)
28 {
29- v.type = FcTypeVoid;
30- break;
a0282ae9
JP
31+ if (FcNameConstant ((const FcChar8 *) sc, &si) &&
32+ FcNameConstant ((const FcChar8 *) ec, &ei))
224401c7
JP
33+ v.u.r = FcRangeCreateDouble (si, ei);
34+ else
35+ goto bail1;
36+ }
37+ else
38+ {
39+ bail1:
40+ v.type = FcTypeDouble;
41+ if (FcNameConstant (string, &si))
42+ {
43+ v.u.d = (double) si;
44+ } else {
45+ v.u.d = strtod ((char *) string, &p);
46+ if (p != NULL && p[0] != 0)
47+ v.type = FcTypeVoid;
48+ }
49 }
50- v.type = FcTypeDouble;
51+ if (sc)
52+ free (sc);
53+ if (ec)
54+ free (ec);
55 }
56 else
57 v.u.r = FcRangeCreateDouble (b, e);
a0282ae9
JP
58--
59cgit v1.1
60
61From 4699406a68321179b14fae7412f828e2f37a7033 Mon Sep 17 00:00:00 2001
62From: Akira TAGOH <akira@tagoh.org>
63Date: Wed, 14 Mar 2018 18:31:30 +0900
64Subject: Add the value of the constant name to the implicit object in the
65 pattern
66
67For objects which has been changed the object type to FcTypeRange.
68
69https://bugs.freedesktop.org/show_bug.cgi?id=105415
70---
71 src/fcname.c | 4 ++++
72 1 file changed, 4 insertions(+)
73
74diff --git a/src/fcname.c b/src/fcname.c
75index 15fb659..c9320ae 100644
76--- a/src/fcname.c
77+++ b/src/fcname.c
78@@ -490,6 +490,10 @@ FcNameParse (const FcChar8 *name)
79 if (!FcPatternAddBool (pat, c->object, c->value))
80 goto bail2;
81 break;
82+ case FcTypeRange:
83+ if (!FcPatternAddInteger (pat, c->object, c->value))
84+ goto bail2;
85+ break;
86 default:
87 break;
88 }
89--
90cgit v1.1
91
This page took 0.038165 seconds and 4 git commands to generate.