summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2006-09-14 22:02:46 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2006-09-14 22:02:46 +0000
commite5c0c36d01a76df05ea62d34ed973115dd372a08 (patch)
treeb65ff9241e45e9a19f0475379468a4fe52f7a664
parent681941ee9ffa783303a1f34025a956db96865a1d (diff)
downloadpango-e5c0c36d01a76df05ea62d34ed973115dd372a08.tar.gz
Change some enums to macros, to get in synch with ICU shaper. No
2006-09-14 Behdad Esfahbod <behdad@gnome.org> * modules/indic/indic-ot.h: Change some enums to macros, to get in synch with ICU shaper. No functional changes.
-rw-r--r--ChangeLog5
-rw-r--r--modules/indic/indic-ot.h101
2 files changed, 43 insertions, 63 deletions
diff --git a/ChangeLog b/ChangeLog
index 59b7c07c..27b07e2c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-09-14 Behdad Esfahbod <behdad@gnome.org>
+
+ * modules/indic/indic-ot.h: Change some enums to macros, to get in
+ synch with ICU shaper. No functional changes.
+
2006-09-13 Behdad Esfahbod <behdad@gnome.org>
Bug 351223 – the conjuction of Con + 0x0d4d +0x0d31 of Malayalam is
diff --git a/modules/indic/indic-ot.h b/modules/indic/indic-ot.h
index dd34144f..b502c679 100644
--- a/modules/indic/indic-ot.h
+++ b/modules/indic/indic-ot.h
@@ -44,12 +44,9 @@ G_BEGIN_DECLS
#ifdef PANGO_ENABLE_ENGINE
/* Characters that get refered to by name... */
-enum
-{
- C_SIGN_ZWNJ = 0x200C,
- C_SIGN_ZWJ = 0x200D,
- C_DOTTED_CIRCLE = 0x25CC
-};
+#define C_SIGN_ZWNJ 0x200C
+#define C_SIGN_ZWJ 0x200D
+#define C_DOTTED_CIRCLE 0x25CC
/*
* The characters that a split matra splits into.
@@ -60,46 +57,42 @@ typedef gunichar IndicOTSplitMatra[3];
/*
* Character class values
*/
-/* FIXME: does this need to be a typedef? */
typedef enum
{
- CC_RESERVED = 0,
- CC_MODIFYING_MARK_ABOVE = 1,
- CC_MODIFYING_MARK_POST = 2,
- CC_INDEPENDENT_VOWEL = 3,
- CC_CONSONANT = 4,
- CC_CONSONANT_WITH_NUKTA = 5,
- CC_NUKTA = 6,
- CC_DEPENDENT_VOWEL = 7,
- CC_VIRAMA = 8,
- CC_ZERO_WIDTH_MARK = 9,
- CC_AL_LAKUNA = 10,
- CC_COUNT = 11
+ CC_RESERVED,
+ CC_MODIFYING_MARK_ABOVE,
+ CC_MODIFYING_MARK_POST,
+ CC_INDEPENDENT_VOWEL,
+ CC_CONSONANT,
+ CC_CONSONANT_WITH_NUKTA,
+ CC_NUKTA,
+ CC_DEPENDENT_VOWEL,
+ CC_VIRAMA,
+ CC_ZERO_WIDTH_MARK,
+ CC_AL_LAKUNA,
+ CC_COUNT
} IndicOTCharClassValues;
/*
* Character class flags
*/
-/* FIXME: does this need to be a typedef? */
-typedef enum
-{
- CF_CLASS_MASK = 0x0000FFFF,
+#define CF_CLASS_MASK 0x0000FFFFU
- CF_CONSONANT = (int)0x80000000,
+#define CF_CONSONANT 0x80000000U
- CF_REPH = 0x40000000,
- CF_VATTU = 0x20000000,
- CF_BELOW_BASE = 0x10000000,
- CF_POST_BASE = 0x08000000,
+#define CF_REPH 0x40000000U
+#define CF_VATTU 0x20000000U
+#define CF_BELOW_BASE 0x10000000U
+#define CF_POST_BASE 0x08000000U
- CF_MATRA_PRE = 0x04000000,
- CF_MATRA_BELOW = 0x02000000,
- CF_MATRA_ABOVE = 0x01000000,
- CF_MATRA_POST = 0x00800000,
- CF_LENGTH_MARK = 0x00400000,
- CF_INDEX_MASK = 0x000F0000,
- CF_INDEX_SHIFT = 16
-} IndicOTCharClassFlags;
+#define CF_MATRA_PRE 0x04000000U
+#define CF_MATRA_BELOW 0x02000000U
+#define CF_MATRA_ABOVE 0x01000000U
+#define CF_MATRA_POST 0x00800000U
+#define CF_LENGTH_MARK 0x00400000U
+
+#define CF_INDEX_MASK 0x000F0000U
+#define CF_INDEX_SHIFT 16
/*
* Character class: a character class value
@@ -110,17 +103,16 @@ typedef glong IndicOTCharClass;
/*
* Script flags
*/
-typedef enum
-{
- SF_MATRAS_AFTER_BASE = (int)0x80000000,
- SF_REPH_AFTER_BELOW = 0x40000000,
- SF_EYELASH_RA = 0x20000000,
- SF_MPRE_FIXUP = 0x10000000,
- SF_PROCESS_ZWJ = 0x08000000,
+#define SF_MATRAS_AFTER_BASE 0x80000000U
+#define SF_REPH_AFTER_BELOW 0x40000000U
+#define SF_EYELASH_RA 0x20000000U
+#define SF_MPRE_FIXUP 0x10000000U
+#define SF_PROCESS_ZWJ 0x08000000U
- SF_POST_BASE_LIMIT_MASK = 0x0000FFFF,
- SF_NO_POST_BASE_LIMIT = 0x00007FFF
-} IndicOTScriptFlags;
+#define SF_POST_BASE_LIMIT_MASK 0x0000FFFFU
+#define SF_NO_POST_BASE_LIMIT 0x00007FFFU
+
+typedef guint32 IndicOTScriptFlags;
/*
* Bit flags for the indic feature tags
@@ -170,39 +162,22 @@ enum indic_glyph_property_
* Macros to test the charClass flags for various things.
*/
#define IS_VM_ABOVE(charClass) ((charClass & CF_CLASS_MASK) == CC_MODIFYING_MARK_ABOVE)
-
#define IS_VM_POST(charClass) ((charClass & CF_CLASS_MASK) == CC_MODIFYING_MARK_POST)
-
#define IS_CONSONANT(charClass) ((charClass & CF_CONSONANT) != 0)
-
#define IS_REPH(charClass) ((charClass & CF_REPH) != 0)
-
#define IS_NUKTA(charClass) ((charClass & CF_CLASS_MASK) == CC_NUKTA)
-
#define IS_VIRAMA(charClass) ((charClass & CF_CLASS_MASK) == CC_VIRAMA)
-
#define IS_AL_LAKUNA(charClass) ((charClass & CF_CLASS_MASK) == CC_AL_LAKUNA)
-
#define IS_VATTU(charClass) ((charClass & CF_VATTU) != 0)
-
#define IS_MATRA(charClass) ((charClass & CF_CLASS_MASK) == CC_DEPENDENT_VOWEL)
-
#define IS_SPLIT_MATRA(charClass) ((charClass & CF_INDEX_MASK) != 0)
-
#define IS_M_PRE(charClass) ((charClass & CF_MATRA_PRE) != 0)
-
#define IS_M_BELOW(charClass) ((charClass & CF_MATRA_BELOW) != 0)
-
#define IS_M_ABOVE(charClass) ((charClass & CF_MATRA_ABOVE) != 0)
-
#define IS_M_POST(charClass) ((charClass & CF_MATRA_POST) != 0)
-
#define IS_LENGTH_MARK(charClass) ((charClass & CF_LENGTH_MARK) != 0)
-
#define HAS_POST_OR_BELOW_BASE_FORM(charClass) ((charClass & (CF_POST_BASE | CF_BELOW_BASE)) != 0)
-
#define HAS_POST_BASE_FORM(charClass) ((charClass & CF_POST_BASE) != 0)
-
#define HAS_BELOW_BASE_FORM(charClass) ((charClass & CF_BELOW_BASE) != 0)
struct _IndicOTClassTable