diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | ChangeLog.pre-1-0 | 10 | ||||
-rw-r--r-- | ChangeLog.pre-1-10 | 10 | ||||
-rw-r--r-- | ChangeLog.pre-1-2 | 10 | ||||
-rw-r--r-- | ChangeLog.pre-1-4 | 10 | ||||
-rw-r--r-- | ChangeLog.pre-1-6 | 10 | ||||
-rw-r--r-- | ChangeLog.pre-1-8 | 10 | ||||
-rw-r--r-- | docs/pango-sections.txt | 4 | ||||
-rw-r--r-- | pango/opentype/pango-ot-info.c | 76 | ||||
-rw-r--r-- | pango/opentype/pango-ot-ruleset.c | 27 | ||||
-rw-r--r-- | pango/pango-ot.h | 41 |
11 files changed, 173 insertions, 45 deletions
@@ -1,3 +1,13 @@ +2001-10-30 Matthias Clasen <matthiasc@poet.de> + + * docs/pango-sections.txt, pango/pango-ot.h: Remove declarations + of unimplemented functions pango_ot_ruleset_set_glyph_loader and + pango_ot_ruleset_set_alternate_func and the related typedefs + PangoOTGlyphLoader and PangoOTAlternateFunc. + + * pango/opentype/pango-ot-info.c, + pango/opentype/pango-ot-ruleset.c: Documentation updates. + 2001-10-30 Sven Neumann <sven@gimp.org> * tests/Makefile.am: don't link against pangox at all. diff --git a/ChangeLog.pre-1-0 b/ChangeLog.pre-1-0 index baf16490..76c69e03 100644 --- a/ChangeLog.pre-1-0 +++ b/ChangeLog.pre-1-0 @@ -1,3 +1,13 @@ +2001-10-30 Matthias Clasen <matthiasc@poet.de> + + * docs/pango-sections.txt, pango/pango-ot.h: Remove declarations + of unimplemented functions pango_ot_ruleset_set_glyph_loader and + pango_ot_ruleset_set_alternate_func and the related typedefs + PangoOTGlyphLoader and PangoOTAlternateFunc. + + * pango/opentype/pango-ot-info.c, + pango/opentype/pango-ot-ruleset.c: Documentation updates. + 2001-10-30 Sven Neumann <sven@gimp.org> * tests/Makefile.am: don't link against pangox at all. diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10 index baf16490..76c69e03 100644 --- a/ChangeLog.pre-1-10 +++ b/ChangeLog.pre-1-10 @@ -1,3 +1,13 @@ +2001-10-30 Matthias Clasen <matthiasc@poet.de> + + * docs/pango-sections.txt, pango/pango-ot.h: Remove declarations + of unimplemented functions pango_ot_ruleset_set_glyph_loader and + pango_ot_ruleset_set_alternate_func and the related typedefs + PangoOTGlyphLoader and PangoOTAlternateFunc. + + * pango/opentype/pango-ot-info.c, + pango/opentype/pango-ot-ruleset.c: Documentation updates. + 2001-10-30 Sven Neumann <sven@gimp.org> * tests/Makefile.am: don't link against pangox at all. diff --git a/ChangeLog.pre-1-2 b/ChangeLog.pre-1-2 index baf16490..76c69e03 100644 --- a/ChangeLog.pre-1-2 +++ b/ChangeLog.pre-1-2 @@ -1,3 +1,13 @@ +2001-10-30 Matthias Clasen <matthiasc@poet.de> + + * docs/pango-sections.txt, pango/pango-ot.h: Remove declarations + of unimplemented functions pango_ot_ruleset_set_glyph_loader and + pango_ot_ruleset_set_alternate_func and the related typedefs + PangoOTGlyphLoader and PangoOTAlternateFunc. + + * pango/opentype/pango-ot-info.c, + pango/opentype/pango-ot-ruleset.c: Documentation updates. + 2001-10-30 Sven Neumann <sven@gimp.org> * tests/Makefile.am: don't link against pangox at all. diff --git a/ChangeLog.pre-1-4 b/ChangeLog.pre-1-4 index baf16490..76c69e03 100644 --- a/ChangeLog.pre-1-4 +++ b/ChangeLog.pre-1-4 @@ -1,3 +1,13 @@ +2001-10-30 Matthias Clasen <matthiasc@poet.de> + + * docs/pango-sections.txt, pango/pango-ot.h: Remove declarations + of unimplemented functions pango_ot_ruleset_set_glyph_loader and + pango_ot_ruleset_set_alternate_func and the related typedefs + PangoOTGlyphLoader and PangoOTAlternateFunc. + + * pango/opentype/pango-ot-info.c, + pango/opentype/pango-ot-ruleset.c: Documentation updates. + 2001-10-30 Sven Neumann <sven@gimp.org> * tests/Makefile.am: don't link against pangox at all. diff --git a/ChangeLog.pre-1-6 b/ChangeLog.pre-1-6 index baf16490..76c69e03 100644 --- a/ChangeLog.pre-1-6 +++ b/ChangeLog.pre-1-6 @@ -1,3 +1,13 @@ +2001-10-30 Matthias Clasen <matthiasc@poet.de> + + * docs/pango-sections.txt, pango/pango-ot.h: Remove declarations + of unimplemented functions pango_ot_ruleset_set_glyph_loader and + pango_ot_ruleset_set_alternate_func and the related typedefs + PangoOTGlyphLoader and PangoOTAlternateFunc. + + * pango/opentype/pango-ot-info.c, + pango/opentype/pango-ot-ruleset.c: Documentation updates. + 2001-10-30 Sven Neumann <sven@gimp.org> * tests/Makefile.am: don't link against pangox at all. diff --git a/ChangeLog.pre-1-8 b/ChangeLog.pre-1-8 index baf16490..76c69e03 100644 --- a/ChangeLog.pre-1-8 +++ b/ChangeLog.pre-1-8 @@ -1,3 +1,13 @@ +2001-10-30 Matthias Clasen <matthiasc@poet.de> + + * docs/pango-sections.txt, pango/pango-ot.h: Remove declarations + of unimplemented functions pango_ot_ruleset_set_glyph_loader and + pango_ot_ruleset_set_alternate_func and the related typedefs + PangoOTGlyphLoader and PangoOTAlternateFunc. + + * pango/opentype/pango-ot-info.c, + pango/opentype/pango-ot-ruleset.c: Documentation updates. + 2001-10-30 Sven Neumann <sven@gimp.org> * tests/Makefile.am: don't link against pangox at all. diff --git a/docs/pango-sections.txt b/docs/pango-sections.txt index 3a0587f6..ddc21db7 100644 --- a/docs/pango-sections.txt +++ b/docs/pango-sections.txt @@ -590,11 +590,7 @@ pango_ot_info_find_feature pango_ot_info_list_scripts pango_ot_info_list_languages pango_ot_info_list_features -PangoOTGlyphLoader -PangoOTAlternateFunc pango_ot_ruleset_new -pango_ot_ruleset_set_glyph_loader -pango_ot_ruleset_set_alternate_func pango_ot_ruleset_add_feature pango_ot_ruleset_shape </SECTION> diff --git a/pango/opentype/pango-ot-info.c b/pango/opentype/pango-ot-info.c index 5a657c45..95d8dce5 100644 --- a/pango/opentype/pango-ot-info.c +++ b/pango/opentype/pango-ot-info.c @@ -94,6 +94,13 @@ pango_ot_info_finalize (GObject *object) } } +/** + * pango_ot_info_new: + * @face: a #FT_Face. + * @returns: a new #PangoOTInfo for @face. + * + * Creates a new #PangoOTInfo structure for the given FreeType font. + **/ PangoOTInfo * pango_ot_info_new (FT_Face face) { @@ -223,6 +230,16 @@ get_tables (PangoOTInfo *info, } } +/** + * pango_ot_info_find_script: + * @info: a #PangoOTInfo. + * @table_type: the table type to obtain information about. + * @script_tag: the tag of the script to find. + * @script_index: location to store the index of the script, or %NULL. + * @returns: %TRUE if the script was found. + * + * Finds the index of a script. + **/ gboolean pango_ot_info_find_script (PangoOTInfo *info, PangoOTTableType table_type, @@ -251,6 +268,19 @@ pango_ot_info_find_script (PangoOTInfo *info, return FALSE; } +/** + * pango_ot_info_find_language: + * @info: a #PangoOTInfo. + * @table_type: the table type to obtain information about. + * @script_index: the index of the script whose languages are searched. + * @language_tag: the tag of the language to find. + * @language_index: location to store the index of the language, or %NULL. + * @required_feature_index: location to store the required feature index of + * the language, or %NULL. + * @returns: %TRUE if the language was found. + * + * Finds the index of a language and its required feature index. + **/ gboolean pango_ot_info_find_language (PangoOTInfo *info, PangoOTTableType table_type, @@ -287,6 +317,19 @@ pango_ot_info_find_language (PangoOTInfo *info, return FALSE; } +/** + * pango_ot_info_find_feature: + * @info: a #PangoOTInfo. + * @table_type: the table type to obtain information about. + * @feature_tag: the tag of the feature to find. + * @script_index: the index of the script. + * @language_index: the index of the language whose features are searched, + * or 0xffff to use the default language of the script. + * @feature_index: location to store the index of the feature, or %NULL. + * @returns: %TRUE if the feature was found. + * + * Finds the index of a feature. + **/ gboolean pango_ot_info_find_feature (PangoOTInfo *info, PangoOTTableType table_type, @@ -335,6 +378,15 @@ pango_ot_info_find_feature (PangoOTInfo *info, return FALSE; } +/** + * pango_ot_info_list_scripts: + * @info: a #PangoOTInfo. + * @table_type: the table type to obtain information about. + * @returns: a newly-allocated array containing the tags of the + * available scripts. + * + * Obtains the list of available scripts. + **/ PangoOTTag * pango_ot_info_list_scripts (PangoOTInfo *info, PangoOTTableType table_type) @@ -358,6 +410,17 @@ pango_ot_info_list_scripts (PangoOTInfo *info, return result; } +/** + * pango_ot_info_list_languages: + * @info: a #PangoOTInfo. + * @table_type: the table type to obtain information about. + * @script_index: the index of the script to list languages for. + * @language_tag: unused parameter. + * @returns: a newly-allocated array containing the tags of the + * available languages. + * + * Obtains the list of available languages for a given script. + **/ PangoOTTag * pango_ot_info_list_languages (PangoOTInfo *info, PangoOTTableType table_type, @@ -388,6 +451,19 @@ pango_ot_info_list_languages (PangoOTInfo *info, return result; } +/** + * pango_ot_info_list_features: + * @info: a #PangoOTInfo. + * @table_type: the table type to obtain information about. + * @tag: unused parameter. + * @script_index: the index of the script to obtain information about. + * @language_index: the indes of the language to list features for, or + * 0xffff, to list features for the default language of the script. + * @returns: a newly-allocated array containing the tags of the available + * features. + * + * Obtains the list of features for the given language of the given script. + **/ PangoOTTag * pango_ot_info_list_features (PangoOTInfo *info, PangoOTTableType table_type, diff --git a/pango/opentype/pango-ot-ruleset.c b/pango/opentype/pango-ot-ruleset.c index 1a003a97..666e6d0b 100644 --- a/pango/opentype/pango-ot-ruleset.c +++ b/pango/opentype/pango-ot-ruleset.c @@ -90,6 +90,13 @@ pango_ot_ruleset_finalize (GObject *object) g_object_unref (G_OBJECT (ruleset->info)); } +/** + * pango_ot_ruleset_new: + * @info: a #PangoOTInfo. + * @returns: a new #PangoOTRuleset. + * + * Creates a new #PangoOTRuleset for the given OpenType info. + **/ PangoOTRuleset * pango_ot_ruleset_new (PangoOTInfo *info) { @@ -102,6 +109,16 @@ pango_ot_ruleset_new (PangoOTInfo *info) return ruleset; } +/** + * pango_ot_ruleset_add_feature: + * @ruleset: a #PangoOTRuleset. + * @table_type: the table type to add a feature to. + * @feature_index: the index of the feature to add. + * @property_bit: the property bit to use for this feature. + * + * Adds a feature to the ruleset. See pango_ot_ruleset_shape() + * for an explanation of @property_bit. + **/ void pango_ot_ruleset_add_feature (PangoOTRuleset *ruleset, PangoOTTableType table_type, @@ -119,6 +136,16 @@ pango_ot_ruleset_add_feature (PangoOTRuleset *ruleset, g_array_append_val (ruleset->rules, tmp_rule); } +/** + * pango_ot_ruleset_shape: + * @ruleset: a #PangoOTRuleset. + * @glyphs: a pointer to a #PangoGlyphString. + * @properties: an array containing one #gulong bitfield for each glyph, + * which gives the glyph's properties: If a certain bit is set for a glyph, + * the feature which has the same bit set in its property value is applied. + * + * Shapes a string of glyphs with the given properties according to @ruleset. + **/ void pango_ot_ruleset_shape (PangoOTRuleset *ruleset, PangoGlyphString *glyphs, diff --git a/pango/pango-ot.h b/pango/pango-ot.h index ce88eb71..ba1f90b4 100644 --- a/pango/pango-ot.h +++ b/pango/pango-ot.h @@ -71,49 +71,8 @@ PangoOTTag *pango_ot_info_list_features (PangoOTInfo *info, guint script_index, guint language_index); - /* A pointer to a function which loads a glyph. Its parameters are - * the same as in a call to TT_Load_Glyph() -- if no glyph loading - * function will be registered with pango_ot_set_glyph_loader(), - * TT_Load_Glyph() will be called indeed. The purpose of this function - * pointer is to provide a hook for caching glyph outlines and sbits - * (using the instance's generic pointer to hold the data). - * - * If for some reason no outline data is available (e.g. for an - * embedded bitmap glyph), _glyph->outline.n_points should be set to - * zero. _glyph can be computed with - * - * _glyph = HANDLE_Glyph( glyph ) - */ -typedef FT_Error (*PangoOTGlyphLoader) (FT_Face face, - FT_UInt glyphIndex, - FT_Int loadFlags, - gpointer data); - - /* A pointer to a function which selects the alternate glyph. `pos' is - * the position of the glyph with index `glyphID', `num_alternates' - * gives the number of alternates in the `alternates' array. `data' - * points to the user-defined structure specified during a call to - * TT_GSUB_Register_Alternate_Function(). The function must return an - * index into the `alternates' array. - */ -typedef FT_UShort (*PangoOTAlternateFunc) (FT_ULong pos, - FT_UShort glyphID, - FT_UShort num_alternates, - FT_UShort* alternates, - gpointer data); - - PangoOTRuleset *pango_ot_ruleset_new (PangoOTInfo *info); -void pango_ot_ruleset_set_glyph_loader (PangoOTRuleset *ruleset, - PangoOTGlyphLoader func, - gpointer data, - GDestroyNotify notify); -void pango_ot_ruleset_set_alternate_func (PangoOTRuleset *ruleset, - PangoOTAlternateFunc func, - gpointer data, - GDestroyNotify notify); - void pango_ot_ruleset_add_feature (PangoOTRuleset *ruleset, PangoOTTableType table_type, guint feature_index, |