summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Larsson <alexl@redhat.com>2001-11-18 23:23:14 +0000
committerAlexander Larsson <alexl@src.gnome.org>2001-11-18 23:23:14 +0000
commita409a746f1fdec933cd1be897cc6078e6050690f (patch)
treeefc5c88209034a84c3ce8900c7b26f089eb6840e
parentba6b12ca588709d4d408e691fbe9698a5a97339d (diff)
downloadpango-a409a746f1fdec933cd1be897cc6078e6050690f.tar.gz
Add new function pango_context_load_fontset() to wrap
2001-11-18 Alex Larsson <alexl@redhat.com> * pango/pango-context.[ch]: Add new function pango_context_load_fontset() to wrap pango_font_map_load_fontset(). Add PangoContext arguments to load_font and load_fontset. * pango/pango-fontmap.[ch]: * pango/pangoft2-fontmap.c: * pango/pangowin32-fontmap.c: * pango/pangox-fontmap.c: * pango/pangoxft-font.c: * pango/pangoxft-fontmap.c Add PangoContext arguments to load_font and load_fontset.
-rw-r--r--ChangeLog15
-rw-r--r--ChangeLog.pre-1-015
-rw-r--r--ChangeLog.pre-1-1015
-rw-r--r--ChangeLog.pre-1-215
-rw-r--r--ChangeLog.pre-1-415
-rw-r--r--ChangeLog.pre-1-615
-rw-r--r--ChangeLog.pre-1-815
-rw-r--r--pango/pango-context.c26
-rw-r--r--pango/pango-context.h6
-rw-r--r--pango/pango-fontmap.c18
-rw-r--r--pango/pango-fontmap.h5
-rw-r--r--pango/pangoft2-fontmap.c8
-rw-r--r--pango/pangowin32-fontmap.c2
-rw-r--r--pango/pangox-fontmap.c2
-rw-r--r--pango/pangoxft-font.c2
-rw-r--r--pango/pangoxft-fontmap.c4
16 files changed, 168 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index bf19f799..129abe40 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2001-11-18 Alex Larsson <alexl@redhat.com>
+
+ * pango/pango-context.[ch]:
+ Add new function pango_context_load_fontset() to wrap
+ pango_font_map_load_fontset().
+ Add PangoContext arguments to load_font and load_fontset.
+
+ * pango/pango-fontmap.[ch]:
+ * pango/pangoft2-fontmap.c:
+ * pango/pangowin32-fontmap.c:
+ * pango/pangox-fontmap.c:
+ * pango/pangoxft-font.c:
+ * pango/pangoxft-fontmap.c
+ Add PangoContext arguments to load_font and load_fontset.
+
2001-11-19 Tor Lillqvist <tml@iki.fi>
* pango-zip.sh.in: Suffix package names with datestamp. Add
diff --git a/ChangeLog.pre-1-0 b/ChangeLog.pre-1-0
index bf19f799..129abe40 100644
--- a/ChangeLog.pre-1-0
+++ b/ChangeLog.pre-1-0
@@ -1,3 +1,18 @@
+2001-11-18 Alex Larsson <alexl@redhat.com>
+
+ * pango/pango-context.[ch]:
+ Add new function pango_context_load_fontset() to wrap
+ pango_font_map_load_fontset().
+ Add PangoContext arguments to load_font and load_fontset.
+
+ * pango/pango-fontmap.[ch]:
+ * pango/pangoft2-fontmap.c:
+ * pango/pangowin32-fontmap.c:
+ * pango/pangox-fontmap.c:
+ * pango/pangoxft-font.c:
+ * pango/pangoxft-fontmap.c
+ Add PangoContext arguments to load_font and load_fontset.
+
2001-11-19 Tor Lillqvist <tml@iki.fi>
* pango-zip.sh.in: Suffix package names with datestamp. Add
diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10
index bf19f799..129abe40 100644
--- a/ChangeLog.pre-1-10
+++ b/ChangeLog.pre-1-10
@@ -1,3 +1,18 @@
+2001-11-18 Alex Larsson <alexl@redhat.com>
+
+ * pango/pango-context.[ch]:
+ Add new function pango_context_load_fontset() to wrap
+ pango_font_map_load_fontset().
+ Add PangoContext arguments to load_font and load_fontset.
+
+ * pango/pango-fontmap.[ch]:
+ * pango/pangoft2-fontmap.c:
+ * pango/pangowin32-fontmap.c:
+ * pango/pangox-fontmap.c:
+ * pango/pangoxft-font.c:
+ * pango/pangoxft-fontmap.c
+ Add PangoContext arguments to load_font and load_fontset.
+
2001-11-19 Tor Lillqvist <tml@iki.fi>
* pango-zip.sh.in: Suffix package names with datestamp. Add
diff --git a/ChangeLog.pre-1-2 b/ChangeLog.pre-1-2
index bf19f799..129abe40 100644
--- a/ChangeLog.pre-1-2
+++ b/ChangeLog.pre-1-2
@@ -1,3 +1,18 @@
+2001-11-18 Alex Larsson <alexl@redhat.com>
+
+ * pango/pango-context.[ch]:
+ Add new function pango_context_load_fontset() to wrap
+ pango_font_map_load_fontset().
+ Add PangoContext arguments to load_font and load_fontset.
+
+ * pango/pango-fontmap.[ch]:
+ * pango/pangoft2-fontmap.c:
+ * pango/pangowin32-fontmap.c:
+ * pango/pangox-fontmap.c:
+ * pango/pangoxft-font.c:
+ * pango/pangoxft-fontmap.c
+ Add PangoContext arguments to load_font and load_fontset.
+
2001-11-19 Tor Lillqvist <tml@iki.fi>
* pango-zip.sh.in: Suffix package names with datestamp. Add
diff --git a/ChangeLog.pre-1-4 b/ChangeLog.pre-1-4
index bf19f799..129abe40 100644
--- a/ChangeLog.pre-1-4
+++ b/ChangeLog.pre-1-4
@@ -1,3 +1,18 @@
+2001-11-18 Alex Larsson <alexl@redhat.com>
+
+ * pango/pango-context.[ch]:
+ Add new function pango_context_load_fontset() to wrap
+ pango_font_map_load_fontset().
+ Add PangoContext arguments to load_font and load_fontset.
+
+ * pango/pango-fontmap.[ch]:
+ * pango/pangoft2-fontmap.c:
+ * pango/pangowin32-fontmap.c:
+ * pango/pangox-fontmap.c:
+ * pango/pangoxft-font.c:
+ * pango/pangoxft-fontmap.c
+ Add PangoContext arguments to load_font and load_fontset.
+
2001-11-19 Tor Lillqvist <tml@iki.fi>
* pango-zip.sh.in: Suffix package names with datestamp. Add
diff --git a/ChangeLog.pre-1-6 b/ChangeLog.pre-1-6
index bf19f799..129abe40 100644
--- a/ChangeLog.pre-1-6
+++ b/ChangeLog.pre-1-6
@@ -1,3 +1,18 @@
+2001-11-18 Alex Larsson <alexl@redhat.com>
+
+ * pango/pango-context.[ch]:
+ Add new function pango_context_load_fontset() to wrap
+ pango_font_map_load_fontset().
+ Add PangoContext arguments to load_font and load_fontset.
+
+ * pango/pango-fontmap.[ch]:
+ * pango/pangoft2-fontmap.c:
+ * pango/pangowin32-fontmap.c:
+ * pango/pangox-fontmap.c:
+ * pango/pangoxft-font.c:
+ * pango/pangoxft-fontmap.c
+ Add PangoContext arguments to load_font and load_fontset.
+
2001-11-19 Tor Lillqvist <tml@iki.fi>
* pango-zip.sh.in: Suffix package names with datestamp. Add
diff --git a/ChangeLog.pre-1-8 b/ChangeLog.pre-1-8
index bf19f799..129abe40 100644
--- a/ChangeLog.pre-1-8
+++ b/ChangeLog.pre-1-8
@@ -1,3 +1,18 @@
+2001-11-18 Alex Larsson <alexl@redhat.com>
+
+ * pango/pango-context.[ch]:
+ Add new function pango_context_load_fontset() to wrap
+ pango_font_map_load_fontset().
+ Add PangoContext arguments to load_font and load_fontset.
+
+ * pango/pango-fontmap.[ch]:
+ * pango/pangoft2-fontmap.c:
+ * pango/pangowin32-fontmap.c:
+ * pango/pangox-fontmap.c:
+ * pango/pangoxft-font.c:
+ * pango/pangoxft-fontmap.c
+ Add PangoContext arguments to load_font and load_fontset.
+
2001-11-19 Tor Lillqvist <tml@iki.fi>
* pango-zip.sh.in: Suffix package names with datestamp. Add
diff --git a/pango/pango-context.c b/pango/pango-context.c
index 19ca1af4..53099411 100644
--- a/pango/pango-context.c
+++ b/pango/pango-context.c
@@ -215,7 +215,28 @@ pango_context_load_font (PangoContext *context,
{
g_return_val_if_fail (context != NULL, NULL);
- return pango_font_map_load_font (context->font_map, desc);
+ return pango_font_map_load_font (context->font_map, context, desc);
+}
+
+/**
+ * pango_context_load_fontset:
+ * @context: a #PangoContext
+ * @desc: a #PangoFontDescription describing the fonts to load
+ * @language: a #PangoLanguage the fonts will be used for
+ *
+ * Load a set of fonts in the context that can be used to render
+ * a font matching @desc.
+ *
+ * Returns the fontset, or %NULL if no font matched.
+ **/
+PangoFontset *
+pango_context_load_fontset (PangoContext *context,
+ const PangoFontDescription *desc,
+ PangoLanguage *language)
+{
+ g_return_val_if_fail (context != NULL, NULL);
+
+ return pango_font_map_load_fontset (context->font_map, context, desc, language);
}
/**
@@ -633,6 +654,7 @@ add_engines (PangoContext *context,
g_object_unref (current_fonts);
current_fonts = pango_font_map_load_fontset (context->font_map,
+ context,
current_desc,
language);
}
@@ -705,7 +727,7 @@ pango_context_get_metrics (PangoContext *context,
g_return_val_if_fail (PANGO_IS_CONTEXT (context), NULL);
g_return_val_if_fail (desc != NULL, NULL);
- current_fonts = pango_font_map_load_fontset (context->font_map, desc, language);
+ current_fonts = pango_font_map_load_fontset (context->font_map, context, desc, language);
metrics = pango_fontset_get_metrics (current_fonts);
diff --git a/pango/pango-context.h b/pango/pango-context.h
index c72cf992..078e841f 100644
--- a/pango/pango-context.h
+++ b/pango/pango-context.h
@@ -31,7 +31,8 @@ G_BEGIN_DECLS
/* Sort of like a GC - application set information about how
* to handle scripts
*/
-typedef struct _PangoContext PangoContext;
+
+/* PangoContext typedefed in pango-fontmap.h */
typedef struct _PangoContextClass PangoContextClass;
#define PANGO_TYPE_CONTEXT (pango_context_get_type ())
@@ -59,6 +60,9 @@ void pango_context_list_families (PangoContext *context
int *n_families);
PangoFont * pango_context_load_font (PangoContext *context,
const PangoFontDescription *desc);
+PangoFontset *pango_context_load_fontset (PangoContext *context,
+ const PangoFontDescription *desc,
+ PangoLanguage *language);
PangoFontMetrics *pango_context_get_metrics (PangoContext *context,
const PangoFontDescription *desc,
diff --git a/pango/pango-fontmap.c b/pango/pango-fontmap.c
index 5f678979..fd193f5e 100644
--- a/pango/pango-fontmap.c
+++ b/pango/pango-fontmap.c
@@ -25,6 +25,7 @@
static void pango_font_map_class_init (PangoFontMapClass *class);
static PangoFontset *pango_font_map_real_load_fontset (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *desc,
PangoLanguage *language);
@@ -67,6 +68,7 @@ pango_font_map_class_init (PangoFontMapClass *class)
/**
* pango_font_map_load_font:
* @fontmap: a #PangoFontMap
+ * @context: the #PangoContext the font will be used with
* @desc: a #PangoFontDescription describing the font to load
*
* Load the font in the fontmap that is the closest match for @desc.
@@ -75,11 +77,12 @@ pango_font_map_class_init (PangoFontMapClass *class)
**/
PangoFont *
pango_font_map_load_font (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *desc)
{
g_return_val_if_fail (fontmap != NULL, NULL);
- return PANGO_FONT_MAP_GET_CLASS (fontmap)->load_font (fontmap, desc);
+ return PANGO_FONT_MAP_GET_CLASS (fontmap)->load_font (fontmap, context, desc);
}
/**
@@ -104,6 +107,7 @@ pango_font_map_list_families (PangoFontMap *fontmap,
/**
* pango_font_map_load_fontset:
* @fontmap: a #PangoFontMap
+ * @context: the #PangoContext the font will be used with
* @desc: a #PangoFontDescription describing the font to load
* @language: a #PangoLanguage the fonts will be used for
*
@@ -114,16 +118,18 @@ pango_font_map_list_families (PangoFontMap *fontmap,
**/
PangoFontset *
pango_font_map_load_fontset (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *desc,
PangoLanguage *language)
{
g_return_val_if_fail (fontmap != NULL, 0);
- return PANGO_FONT_MAP_GET_CLASS (fontmap)->load_fontset (fontmap, desc, language);
+ return PANGO_FONT_MAP_GET_CLASS (fontmap)->load_fontset (fontmap, context, desc, language);
}
static void
pango_font_map_fontset_add_fonts (PangoFontMap *fontmap,
+ PangoContext *context,
PangoFontsetSimple *fonts,
PangoFontDescription *desc,
char *family)
@@ -142,7 +148,7 @@ pango_font_map_fontset_add_fonts (PangoFontMap *fontmap,
for (j = 0; j < n_aliases; j++)
{
pango_font_description_set_family_static (desc, aliases[j]);
- font = pango_font_map_load_font (fontmap, desc);
+ font = pango_font_map_load_font (fontmap, context, desc);
if (font)
pango_fontset_simple_append (fonts, font);
}
@@ -150,7 +156,7 @@ pango_font_map_fontset_add_fonts (PangoFontMap *fontmap,
else
{
pango_font_description_set_family_static (desc, family);
- font = pango_font_map_load_font (fontmap, desc);
+ font = pango_font_map_load_font (fontmap, context, desc);
if (font)
pango_fontset_simple_append (fonts, font);
}
@@ -158,6 +164,7 @@ pango_font_map_fontset_add_fonts (PangoFontMap *fontmap,
static PangoFontset *
pango_font_map_real_load_fontset (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *desc,
PangoLanguage *language)
{
@@ -172,6 +179,7 @@ pango_font_map_real_load_fontset (PangoFontMap *fontmap,
for (i = 0; families[i]; i++)
pango_font_map_fontset_add_fonts (fontmap,
+ context,
fonts,
tmp_desc,
families[i]);
@@ -197,6 +205,7 @@ pango_font_map_real_load_fontset (PangoFontMap *fontmap,
g_free (ctmp2);
pango_font_map_fontset_add_fonts (fontmap,
+ context,
fonts,
tmp_desc,
"Sans");
@@ -221,6 +230,7 @@ pango_font_map_real_load_fontset (PangoFontMap *fontmap,
g_free (ctmp2);
pango_font_map_fontset_add_fonts (fontmap,
+ context,
fonts,
tmp_desc,
"Sans");
diff --git a/pango/pango-fontmap.h b/pango/pango-fontmap.h
index adc4920a..17f20a5d 100644
--- a/pango/pango-fontmap.h
+++ b/pango/pango-fontmap.h
@@ -31,12 +31,15 @@ G_BEGIN_DECLS
#define PANGO_FONT_MAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_MAP, PangoFontMap))
#define PANGO_IS_FONT_MAP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_MAP))
+typedef struct _PangoContext PangoContext;
typedef struct _PangoFontMap PangoFontMap;
GType pango_font_map_get_type (void) G_GNUC_CONST;
PangoFont * pango_font_map_load_font (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *desc);
PangoFontset *pango_font_map_load_fontset (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *desc,
PangoLanguage *language);
void pango_font_map_list_families (PangoFontMap *fontmap,
@@ -62,11 +65,13 @@ struct _PangoFontMapClass
GObjectClass parent_class;
PangoFont * (*load_font) (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *desc);
void (*list_families) (PangoFontMap *fontmap,
PangoFontFamily ***families,
int *n_families);
PangoFontset *(*load_fontset) (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *desc,
PangoLanguage *language);
};
diff --git a/pango/pangoft2-fontmap.c b/pango/pangoft2-fontmap.c
index 51039df5..bb4f076a 100644
--- a/pango/pangoft2-fontmap.c
+++ b/pango/pangoft2-fontmap.c
@@ -105,8 +105,10 @@ static void pango_ft2_font_map_init (PangoFT2FontMap
static void pango_ft2_font_map_class_init (PangoFontMapClass *class);
static void pango_ft2_font_map_finalize (GObject *object);
static PangoFont * pango_ft2_font_map_load_font (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *description);
static PangoFontset *pango_ft2_font_map_load_fontset (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *desc,
PangoLanguage *language);
static void pango_ft2_font_set_free (PangoFT2PatternSet *font_set);
@@ -500,6 +502,7 @@ pango_ft2_font_map_new_font (PangoFontMap *fontmap,
static PangoFont *
pango_ft2_font_map_load_font (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *description)
{
MiniXftPattern *pattern, *match;
@@ -519,6 +522,7 @@ pango_ft2_font_map_load_font (PangoFontMap *fontmap,
static PangoFontset *
pango_ft2_font_map_load_fontset (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *desc,
PangoLanguage *language)
{
@@ -563,7 +567,7 @@ pango_ft2_font_map_load_fontset (PangoFontMap *fontmap,
MiniXftPatternGetString (match, XFT_FAMILY, 0, &family_res) == MiniXftResultMatch &&
g_ascii_strcasecmp (family, family_res) == 0)
{
- patterns->patterns[patterns->n_patterns++] = match;
+ g_ptr_array_add (array, match);
match = NULL;
}
if (match)
@@ -573,7 +577,7 @@ pango_ft2_font_map_load_fontset (PangoFontMap *fontmap,
if (array->len == 0)
{
match = MiniXftFontSetMatch (&_MiniXftFontSet, 1, pattern, &res);
- patterns->patterns[patterns->n_patterns++] = match;
+ g_ptr_array_add (array, match);
}
MiniXftPatternDestroy (pattern);
diff --git a/pango/pangowin32-fontmap.c b/pango/pangowin32-fontmap.c
index a84160a8..d112b3b3 100644
--- a/pango/pangowin32-fontmap.c
+++ b/pango/pangowin32-fontmap.c
@@ -101,6 +101,7 @@ static void pango_win32_font_map_class_init (PangoFontMapClass *c
static void pango_win32_font_map_finalize (GObject *object);
static PangoFont *pango_win32_font_map_load_font (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *description);
static void pango_win32_font_map_list_families (PangoFontMap *fontmap,
PangoFontFamily ***families,
@@ -428,6 +429,7 @@ pango_win32_get_font_family (PangoWin32FontMap *win32fontmap,
static PangoFont *
pango_win32_font_map_load_font (PangoFontMap *fontmap,
+ angoContext *context,
const PangoFontDescription *description)
{
PangoWin32FontMap *win32fontmap = (PangoWin32FontMap *)fontmap;
diff --git a/pango/pangox-fontmap.c b/pango/pangox-fontmap.c
index c2c4a116..5e28a000 100644
--- a/pango/pangox-fontmap.c
+++ b/pango/pangox-fontmap.c
@@ -130,6 +130,7 @@ static void pango_x_font_map_class_init (PangoFontMapClass *class);
static void pango_x_font_map_finalize (GObject *object);
static PangoFont *pango_x_font_map_load_font (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *description);
static void pango_x_font_map_list_families (PangoFontMap *fontmap,
PangoFontFamily ***families,
@@ -397,6 +398,7 @@ pango_x_get_font_family (PangoXFontMap *xfontmap,
static PangoFont *
pango_x_font_map_load_font (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *description)
{
PangoXFontMap *xfontmap = (PangoXFontMap *)fontmap;
diff --git a/pango/pangoxft-font.c b/pango/pangoxft-font.c
index c398f86d..43f229a5 100644
--- a/pango/pangoxft-font.c
+++ b/pango/pangoxft-font.c
@@ -154,7 +154,7 @@ get_mini_font (PangoFont *font)
pango_font_description_set_size (desc,
0.5 * pango_font_description_get_size (xfont->description));
- xfont->mini_font = pango_font_map_load_font (xfont->fontmap, desc);
+ xfont->mini_font = pango_font_map_load_font (xfont->fontmap, NULL, desc);
pango_font_description_free (desc);
mini_xft = pango_xft_font_get_font (xfont->mini_font);
diff --git a/pango/pangoxft-fontmap.c b/pango/pangoxft-fontmap.c
index b159a56a..0c1d3d64 100644
--- a/pango/pangoxft-fontmap.c
+++ b/pango/pangoxft-fontmap.c
@@ -111,8 +111,10 @@ static void pango_xft_font_map_init (PangoXftFontMap
static void pango_xft_font_map_class_init (PangoFontMapClass *class);
static void pango_xft_font_map_finalize (GObject *object);
static PangoFont * pango_xft_font_map_load_font (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *description);
static PangoFontset *pango_xft_font_map_load_fontset (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *desc,
PangoLanguage *language);
static void pango_xft_font_map_list_families (PangoFontMap *fontmap,
@@ -508,6 +510,7 @@ pango_xft_font_map_new_font (PangoFontMap *fontmap,
static PangoFont *
pango_xft_font_map_load_font (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *description)
{
PangoXftFontMap *xfontmap = (PangoXftFontMap *)fontmap;
@@ -539,6 +542,7 @@ pango_xft_font_set_free (PangoXftPatternSet *font_set)
static PangoFontset *
pango_xft_font_map_load_fontset (PangoFontMap *fontmap,
+ PangoContext *context,
const PangoFontDescription *desc,
PangoLanguage *language)
{