From 9a7e5dd5e9a7f5f5397273082a7ca356699106d6 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Mon, 8 Dec 2008 03:28:29 +0000 Subject: =?UTF-8?q?Bug=20563557=20=E2=80=93=20set=20g=5Fget=5Fprgname()=20?= =?UTF-8?q?in=20fc=20pattern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2008-12-07 Behdad Esfahbod Bug 563557 – set g_get_prgname() in fc pattern * docs/pango-sections.txt: * pango/pangofc-fontmap.c (pango_fc_make_pattern): * pango/pangofc-fontmap.h: Add PANGO_FC_PRGNAME which is the fontconfig element "pangoprgname". Populate it on all our fontconfig search patterns using g_get_prgname(). See bug for sample use. svn path=/trunk/; revision=2751 --- pango/pangofc-fontmap.c | 5 +++++ pango/pangofc-fontmap.h | 20 ++++++++++++++++++++ pango/pangoft2-fontmap.c | 2 +- pango/pangoxft-fontmap.c | 2 +- 4 files changed, 27 insertions(+), 2 deletions(-) (limited to 'pango') diff --git a/pango/pangofc-fontmap.c b/pango/pangofc-fontmap.c index 4bb51885..5c5dbe58 100644 --- a/pango/pangofc-fontmap.c +++ b/pango/pangofc-fontmap.c @@ -800,6 +800,7 @@ pango_fc_make_pattern (const PangoFontDescription *description, double dpi) { FcPattern *pattern; + const char *prgname; int slant; int weight; PangoGravity gravity; @@ -810,6 +811,7 @@ pango_fc_make_pattern (const PangoFontDescription *description, int width; #endif + prgname = g_get_prgname (); slant = pango_fc_convert_slant_to_fc (pango_font_description_get_style (description)); weight = pango_fc_convert_weight_to_fc (pango_font_description_get_weight (description)); #ifdef FC_WIDTH @@ -857,6 +859,9 @@ pango_fc_make_pattern (const PangoFontDescription *description, FcPatternAddString (pattern, PANGO_FC_GRAVITY, value->value_nick); } + if (prgname) + FcPatternAddString (pattern, PANGO_FC_PRGNAME, prgname); + return pattern; } diff --git a/pango/pangofc-fontmap.h b/pango/pangofc-fontmap.h index d50563ef..fe1e1b5b 100644 --- a/pango/pangofc-fontmap.h +++ b/pango/pangofc-fontmap.h @@ -183,6 +183,8 @@ PangoFontDescription *pango_fc_font_description_from_pattern (FcPattern *pattern * than %PangoGravitySouth is desired. * * The property will have a #PangoGravity value as a string, like "east". + * This can be used to write fontconfig configuration rules to choose + * different fonts for horizontal and vertical writing directions. * * Since: 1.20 */ @@ -196,11 +198,29 @@ PangoFontDescription *pango_fc_font_description_from_pattern (FcPattern *pattern * * The property will have an integer value equal to what * pango_version() returns. + * This can be used to write fontconfig configuration rules that only affect + * certain pango versions (or only pango-using applications, or only + * non-pango-using applications). * * Since: 1.20 */ #define PANGO_FC_VERSION "pangoversion" +/** + * PANGO_FC_PRGNAME: + * + * String representing a fontconfig property name that Pango sets on any + * fontconfig pattern it passes to fontconfig. + * + * The property will have a string equal to what + * g_get_prgname() returns. + * This can be used to write fontconfig configuration rules that only affect + * certain applications. + * + * Since: 1.24 + */ +#define PANGO_FC_PRGNAME "pangoprgname" + G_END_DECLS #endif /* __PANGO_FC_FONT_MAP_H__ */ diff --git a/pango/pangoft2-fontmap.c b/pango/pangoft2-fontmap.c index 44b28266..143be802 100644 --- a/pango/pangoft2-fontmap.c +++ b/pango/pangoft2-fontmap.c @@ -311,7 +311,7 @@ _pango_ft2_font_map_get_library (PangoFontMap *fontmap) * * Gets the singleton PangoFT2Renderer for this fontmap. * - * Return value: + * Return value: the renderer. **/ PangoRenderer * _pango_ft2_font_map_get_renderer (PangoFT2FontMap *ft2fontmap) diff --git a/pango/pangoxft-fontmap.c b/pango/pangoxft-fontmap.c index 526998a9..7047b214 100644 --- a/pango/pangoxft-fontmap.c +++ b/pango/pangoxft-fontmap.c @@ -337,7 +337,7 @@ pango_xft_get_context (Display *display, * * Gets the singleton #PangoXFTRenderer for this fontmap. * - * Return value: + * Return value: the renderer. **/ PangoRenderer * _pango_xft_font_map_get_renderer (PangoXftFontMap *xftfontmap) -- cgit v1.2.1