summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2008-12-08 03:53:12 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2008-12-08 03:53:12 +0000
commit52fc190261c536c86e5e4e7d50bf990d02eba18e (patch)
treeed2b073147ddb2208629af050620fa5fd8a3602e
parentb91e7a051c745021e53ec30ab114a54dafc52fb1 (diff)
downloadpango-52fc190261c536c86e5e4e7d50bf990d02eba18e.tar.gz
Bug 499624 – Spaces around commas in PangoFontDescription family name
2008-12-07 Behdad Esfahbod <behdad@gnome.org> Bug 499624 – Spaces around commas in PangoFontDescription family name should be trimmed * pango/fonts.c (pango_font_description_from_string): * pango/pangofc-fontmap.c (pango_fc_make_pattern): Do it in pango_font_description_from_string() instead of pangofc backend. svn path=/trunk/; revision=2753
-rw-r--r--ChangeLog10
-rw-r--r--pango/fonts.c16
-rw-r--r--pango/pangofc-fontmap.c7
3 files changed, 28 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index bc124bee..cb16244e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,16 @@
Bug 499624 – Spaces around commas in PangoFontDescription family name
should be trimmed
+ * pango/fonts.c (pango_font_description_from_string):
+ * pango/pangofc-fontmap.c (pango_fc_make_pattern):
+ Do it in pango_font_description_from_string() instead of pangofc
+ backend.
+
+2008-12-07 Behdad Esfahbod <behdad@gnome.org>
+
+ Bug 499624 – Spaces around commas in PangoFontDescription family name
+ should be trimmed
+
* pango/pangofc-fontmap.c (pango_fc_make_pattern): Trim family strings
before adding to pattern.
diff --git a/pango/fonts.c b/pango/fonts.c
index af71a5e6..f5570b20 100644
--- a/pango/fonts.c
+++ b/pango/fonts.c
@@ -1084,7 +1084,23 @@ pango_font_description_from_string (const char *str)
if (str != last)
{
+ int i;
+ char **families;
+
desc->family_name = g_strndup (str, last - str);
+
+ /* Now sanitize it to trim space from around individual family names.
+ * bug #499624 */
+
+ families = g_strsplit (desc->family_name, ",", -1);
+
+ for (i = 0; families[i]; i++)
+ g_strstrip (families[i]);
+
+ g_free (desc->family_name);
+ desc->family_name = g_strjoinv (",", families);
+ g_strfreev (families);
+
desc->mask |= PANGO_FONT_MASK_FAMILY;
}
diff --git a/pango/pangofc-fontmap.c b/pango/pangofc-fontmap.c
index edda2a3f..5c5dbe58 100644
--- a/pango/pangofc-fontmap.c
+++ b/pango/pangofc-fontmap.c
@@ -845,11 +845,8 @@ pango_fc_make_pattern (const PangoFontDescription *description,
families = g_strsplit (pango_font_description_get_family (description), ",", -1);
- for (i = 0; families[i]; i++) {
- char *family = pango_trim_string (families[i]);
- FcPatternAddString (pattern, FC_FAMILY, family);
- g_free (family);
- }
+ for (i = 0; families[i]; i++)
+ FcPatternAddString (pattern, FC_FAMILY, families[i]);
g_strfreev (families);