[packages/fontconfig] patch to fix constant (non-ranged) weight in font pattern; rel 2
atler
atler at pld-linux.org
Sat Mar 10 13:06:58 CET 2018
commit 224401c717892f5027aeb6f59e99a52caeb49814
Author: Jan Palus <atler at pld-linux.org>
Date: Sat Mar 10 13:00:55 2018 +0100
patch to fix constant (non-ranged) weight in font pattern; rel 2
see https://bugs.freedesktop.org/show_bug.cgi?id=105415
fontconfig-constant-weight.patch | 46 ++++++++++++++++++++++++++++++++++++++++
fontconfig.spec | 4 +++-
2 files changed, 49 insertions(+), 1 deletion(-)
---
diff --git a/fontconfig.spec b/fontconfig.spec
index b842ce5..8e3b181 100644
--- a/fontconfig.spec
+++ b/fontconfig.spec
@@ -9,7 +9,7 @@ Summary(pl.UTF-8): Narzędzia do konfigurowania fontów
Summary(pt_BR.UTF-8): Ferramentas para configuração e customização do acesso a fontes
Name: fontconfig
Version: 2.13.0
-Release: 1
+Release: 2
Epoch: 1
License: MIT
Group: Libraries
@@ -17,6 +17,7 @@ Source0: https://www.freedesktop.org/software/fontconfig/release/%{name}-%{versi
# Source0-md5: 60d2394a79d3b2e5db2daea55193fa47
Source1: %{name}-lcd-filter.conf
Patch0: %{name}-bitstream-cyberbit.patch
+Patch1: %{name}-constant-weight.patch
URL: http://fontconfig.org/
BuildRequires: autoconf >= 2.61
BuildRequires: automake >= 1:1.11
@@ -129,6 +130,7 @@ Este pacote contém a biblioteca estática do fontconfig
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
%build
%{__gettextize}
diff --git a/fontconfig-constant-weight.patch b/fontconfig-constant-weight.patch
new file mode 100644
index 0000000..1d558c3
--- /dev/null
+++ b/fontconfig-constant-weight.patch
@@ -0,0 +1,46 @@
+diff --git a/src/fcname.c b/src/fcname.c
+index 79e413e..2172d70 100644
+--- a/src/fcname.c
++++ b/src/fcname.c
+@@ -330,13 +330,36 @@ FcNameConvert (FcType type, FcChar8 *string)
+ case FcTypeRange:
+ if (sscanf ((char *) string, "[%lg %lg]", &b, &e) != 2)
+ {
+- v.u.d = strtod ((char *) string, &p);
+- if (p != NULL && p[0] != 0)
++ char *sc, *ec;
++ size_t len = strlen ((const char *) string);
++ int si, ei;
++
++ sc = malloc (len);
++ ec = malloc (len);
++ if (sc && ec && sscanf ((char *) string, "[%s %[^]]]", sc, ec) == 2)
+ {
+- v.type = FcTypeVoid;
+- break;
++ if (FcNameConstant ((const FcChar8 *) sc, &si) && FcNameConstant ((const FcChar8 *) ec, &ei))
++ v.u.r = FcRangeCreateDouble (si, ei);
++ else
++ goto bail1;
++ }
++ else
++ {
++ bail1:
++ v.type = FcTypeDouble;
++ if (FcNameConstant (string, &si))
++ {
++ v.u.d = (double) si;
++ } else {
++ v.u.d = strtod ((char *) string, &p);
++ if (p != NULL && p[0] != 0)
++ v.type = FcTypeVoid;
++ }
+ }
+- v.type = FcTypeDouble;
++ if (sc)
++ free (sc);
++ if (ec)
++ free (ec);
+ }
+ else
+ v.u.r = FcRangeCreateDouble (b, e);
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/fontconfig.git/commitdiff/224401c717892f5027aeb6f59e99a52caeb49814
More information about the pld-cvs-commit
mailing list