Bug 563557 – set g_get_prgname() in fc pattern
authorBehdad Esfahbod <behdad@gnome.org>
Mon, 8 Dec 2008 03:28:29 +0000 (03:28 +0000)
committerBehdad Esfahbod <behdad@src.gnome.org>
Mon, 8 Dec 2008 03:28:29 +0000 (03:28 +0000)
2008-12-07  Behdad Esfahbod  <behdad@gnome.org>

        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

ChangeLog
docs/pango-sections.txt
docs/tmpl/pangofc-fontmap.sgml
pango/pangofc-fontmap.c
pango/pangofc-fontmap.h
pango/pangoft2-fontmap.c
pango/pangoxft-fontmap.c

index ca235f0..1a8340e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2008-12-07  Behdad Esfahbod  <behdad@gnome.org>
 
+       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  <behdad@gnome.org>
+
        * pango/pango-engine.h: Add G_MODULE_EXPORT annotation for modules.
 
 2008-12-07  Behdad Esfahbod  <behdad@gnome.org>
index c5b47c6..ec33700 100644 (file)
@@ -922,6 +922,7 @@ pango_fc_font_map_shutdown
 pango_fc_font_description_from_pattern
 PANGO_FC_GRAVITY
 PANGO_FC_VERSION
+PANGO_FC_PRGNAME
 <SUBSECTION Standard>
 PANGO_FC_FONT_MAP
 PANGO_IS_FC_FONT_MAP
index 02891c7..5d85676 100644 (file)
@@ -126,3 +126,10 @@ Fontconfig-based backend involves deriving from both
 
 
 
+<!-- ##### MACRO PANGO_FC_PRGNAME ##### -->
+<para>
+
+</para>
+
+
+
index 4bb5188..5c5dbe5 100644 (file)
@@ -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;
 }
 
index d50563e..fe1e1b5 100644 (file)
@@ -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__ */
index 44b2826..143be80 100644 (file)
@@ -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)
index 526998a..7047b21 100644 (file)
@@ -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)