summaryrefslogtreecommitdiff
path: root/modules/arabic
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2005-12-04 08:50:07 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2005-12-04 08:50:07 +0000
commit8d74e8313c49bfcad0c957274048daba94f067df (patch)
tree1d8d50c672b48679749eefd90f0fbd3528564479 /modules/arabic
parent9622b9a6be0eb218b880c269a70bb26ccf27e7ef (diff)
downloadpango-8d74e8313c49bfcad0c957274048daba94f067df.tar.gz
Return NULL, not FALSE!
2005-12-04 Behdad Esfahbod <behdad@gnome.org> * modules/basic/basic-fc.c: Return NULL, not FALSE! * modules/arabic-arabic-fc.c: Add 'cswh' (swash) OpenType feature, as per the Arabic OpenType spec.
Diffstat (limited to 'modules/arabic')
-rw-r--r--modules/arabic/arabic-fc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/modules/arabic/arabic-fc.c b/modules/arabic/arabic-fc.c
index 3afb9d55..e5d67ea1 100644
--- a/modules/arabic/arabic-fc.c
+++ b/modules/arabic/arabic-fc.c
@@ -103,9 +103,13 @@ get_ruleset (FT_Face face)
ruleset = pango_ot_ruleset_new (info);
+ /* according to the Arabic OpenType spec, available here:
+ * http://www.microsoft.com/typography/otfntdev/arabicot/features.htm
+ */
if (pango_ot_info_find_script (info, PANGO_OT_TABLE_GSUB,
arab_tag, &script_index))
{
+ /* Language based forms: */
maybe_add_gsub_feature (ruleset, info, script_index, FT_MAKE_TAG ('c','c','m','p'), 0xFFFF);
maybe_add_gsub_feature (ruleset, info, script_index, FT_MAKE_TAG ('i','s','o','l'), isolated);
maybe_add_gsub_feature (ruleset, info, script_index, FT_MAKE_TAG ('f','i','n','a'), final);
@@ -113,13 +117,19 @@ get_ruleset (FT_Face face)
maybe_add_gsub_feature (ruleset, info, script_index, FT_MAKE_TAG ('i','n','i','t'), initial);
maybe_add_gsub_feature (ruleset, info, script_index, FT_MAKE_TAG ('r','l','i','g'), 0xFFFF);
maybe_add_gsub_feature (ruleset, info, script_index, FT_MAKE_TAG ('c','a','l','t'), 0xFFFF);
+
+ /* Typographical forms: */
maybe_add_gsub_feature (ruleset, info, script_index, FT_MAKE_TAG ('l','i','g','a'), 0xFFFF);
+ /* this one should be turned-on/off-able. lets turn off for now. */
+ /* maybe_add_gsub_feature (ruleset, info, script_index, FT_MAKE_TAG ('d','l','i','g'), 0xFFFF); */
+ maybe_add_gsub_feature (ruleset, info, script_index, FT_MAKE_TAG ('c','s','w','h'), 0xFFFF);
maybe_add_gsub_feature (ruleset, info, script_index, FT_MAKE_TAG ('m','s','e','t'), 0xFFFF);
}
if (pango_ot_info_find_script (info, PANGO_OT_TABLE_GPOS,
arab_tag, &script_index))
{
+ /* Positioning features: */
maybe_add_gpos_feature (ruleset, info, script_index, FT_MAKE_TAG ('c','u','r','s'), 0xFFFF);
maybe_add_gpos_feature (ruleset, info, script_index, FT_MAKE_TAG ('k','e','r','n'), 0xFFFF);
maybe_add_gpos_feature (ruleset, info, script_index, FT_MAKE_TAG ('m','a','r','k'), 0xFFFF);