summaryrefslogtreecommitdiff
path: root/pango/pango-ot.h
diff options
context:
space:
mode:
Diffstat (limited to 'pango/pango-ot.h')
-rw-r--r--pango/pango-ot.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/pango/pango-ot.h b/pango/pango-ot.h
index 7959c6d6..1be9d2c3 100644
--- a/pango/pango-ot.h
+++ b/pango/pango-ot.h
@@ -39,6 +39,7 @@ typedef struct _PangoOTBuffer PangoOTBuffer;
typedef struct _PangoOTGlyph PangoOTGlyph;
typedef struct _PangoOTRuleset PangoOTRuleset;
typedef struct _PangoOTFeatureMap PangoOTFeatureMap;
+typedef struct _PangoOTRulesetDescription PangoOTRulesetDescription;
typedef enum
{
@@ -72,6 +73,18 @@ struct _PangoOTFeatureMap
gulong property_bit;
};
+struct _PangoOTRulesetDescription {
+ PangoScript script;
+ PangoLanguage *language;
+ const PangoOTFeatureMap *static_gsub_features;
+ guint n_static_gsub_features;
+ const PangoOTFeatureMap *static_gpos_features;
+ guint n_static_gpos_features;
+ const PangoOTFeatureMap *other_features;
+ guint n_other_features;
+};
+
+
PangoOTInfo *pango_ot_info_get (FT_Face face);
gboolean pango_ot_info_find_script (PangoOTInfo *info,
@@ -121,6 +134,8 @@ void pango_ot_buffer_output (const PangoOTBuffer *buffer,
void pango_ot_buffer_set_zero_width_marks (PangoOTBuffer *buffer,
gboolean zero_width_marks);
+const PangoOTRuleset *pango_ot_ruleset_get_for (PangoOTInfo *info,
+ const PangoOTRulesetDescription *desc);
PangoOTRuleset *pango_ot_ruleset_new (PangoOTInfo *info);
PangoOTRuleset *pango_ot_ruleset_new_for (PangoOTInfo *info,
PangoScript script,
@@ -133,10 +148,10 @@ gboolean pango_ot_ruleset_maybe_add_feature (PangoOTRuleset *ruleset,
PangoOTTableType table_type,
PangoOTTag feature_tag,
gulong property_bit);
-int pango_ot_ruleset_maybe_add_features (PangoOTRuleset *ruleset,
+guint pango_ot_ruleset_maybe_add_features (PangoOTRuleset *ruleset,
PangoOTTableType table_type,
const PangoOTFeatureMap *features,
- int n_features);
+ guint n_features);
void pango_ot_ruleset_substitute (const PangoOTRuleset *ruleset,
PangoOTBuffer *buffer);
void pango_ot_ruleset_position (const PangoOTRuleset *ruleset,
@@ -146,6 +161,13 @@ PangoOTTag pango_ot_tag_from_script (PangoScript script);
PangoLanguage* pango_ot_tag_to_language (PangoOTTag language_tag);
PangoOTTag pango_ot_tag_from_language (PangoLanguage *language);
+guint pango_ot_ruleset_description_hash (const PangoOTRulesetDescription *desc);
+gboolean pango_ot_ruleset_description_equal (const PangoOTRulesetDescription *desc1,
+ const PangoOTRulesetDescription *desc2);
+PangoOTRulesetDescription *pango_ot_ruleset_description_copy (const PangoOTRulesetDescription *desc);
+void pango_ot_ruleset_description_free (PangoOTRulesetDescription *desc);
+
+
#endif /* PANGO_ENABLE_ENGINE */
G_END_DECLS