From: Behdad Esfahbod Date: Mon, 8 Dec 2008 03:28:29 +0000 (+0000) Subject: Bug 563557 – set g_get_prgname() in fc pattern X-Git-Tag: PANGO_1_22_4~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9a7e5dd5e9a7f5f5397273082a7ca356699106d6;p=platform%2Fupstream%2Fpango.git Bug 563557 – set g_get_prgname() in fc pattern 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 --- diff --git a/ChangeLog b/ChangeLog index ca235f0..1a8340e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,16 @@ 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. + +2008-12-07 Behdad Esfahbod + * pango/pango-engine.h: Add G_MODULE_EXPORT annotation for modules. 2008-12-07 Behdad Esfahbod diff --git a/docs/pango-sections.txt b/docs/pango-sections.txt index c5b47c6..ec33700 100644 --- a/docs/pango-sections.txt +++ b/docs/pango-sections.txt @@ -922,6 +922,7 @@ pango_fc_font_map_shutdown pango_fc_font_description_from_pattern PANGO_FC_GRAVITY PANGO_FC_VERSION +PANGO_FC_PRGNAME PANGO_FC_FONT_MAP PANGO_IS_FC_FONT_MAP diff --git a/docs/tmpl/pangofc-fontmap.sgml b/docs/tmpl/pangofc-fontmap.sgml index 02891c7..5d85676 100644 --- a/docs/tmpl/pangofc-fontmap.sgml +++ b/docs/tmpl/pangofc-fontmap.sgml @@ -126,3 +126,10 @@ Fontconfig-based backend involves deriving from both + + + + + + + diff --git a/pango/pangofc-fontmap.c b/pango/pangofc-fontmap.c index 4bb5188..5c5dbe5 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 d50563e..fe1e1b5 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 44b2826..143be80 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 526998a..7047b21 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)