summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu-xetex/layout/ContextualSubstSubtables.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu-xetex/layout/ContextualSubstSubtables.cpp')
-rw-r--r--Build/source/libs/icu-xetex/layout/ContextualSubstSubtables.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/Build/source/libs/icu-xetex/layout/ContextualSubstSubtables.cpp b/Build/source/libs/icu-xetex/layout/ContextualSubstSubtables.cpp
index a1541b9fdd3..1d8f28c8c17 100644
--- a/Build/source/libs/icu-xetex/layout/ContextualSubstSubtables.cpp
+++ b/Build/source/libs/icu-xetex/layout/ContextualSubstSubtables.cpp
@@ -1,6 +1,5 @@
/*
- *
- * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
+ * (C) Copyright IBM Corp. 1998-2005 - All Rights Reserved
*
*/
@@ -325,7 +324,11 @@ le_uint32 ChainingContextualSubstitutionSubtable::process(const LookupProcessor
}
}
-static const LETag emptyTag = 0;
+// NOTE: This could be a #define, but that seems to confuse
+// the Visual Studio .NET 2003 compiler on the calls to the
+// GlyphIterator constructor. It somehow can't decide if
+// emptyFeatureList matches an le_uint32 or an le_uint16...
+static const FeatureMask emptyFeatureList = 0x00000000UL;
le_uint32 ChainingContextualSubstitutionFormat1Subtable::process(const LookupProcessor *lookupProcessor, GlyphIterator *glyphIterator,
const LEFontInstance *fontInstance) const
@@ -342,7 +345,7 @@ le_uint32 ChainingContextualSubstitutionFormat1Subtable::process(const LookupPro
(const ChainSubRuleSetTable *) ((char *) this + chainSubRuleSetTableOffset);
le_uint16 chainSubRuleCount = SWAPW(chainSubRuleSetTable->chainSubRuleCount);
le_int32 position = glyphIterator->getCurrStreamPosition();
- GlyphIterator tempIterator(*glyphIterator, emptyTag);
+ GlyphIterator tempIterator(*glyphIterator, emptyFeatureList);
for (le_uint16 subRule = 0; subRule < chainSubRuleCount; subRule += 1) {
Offset chainSubRuleTableOffset =
@@ -414,7 +417,7 @@ le_uint32 ChainingContextualSubstitutionFormat2Subtable::process(const LookupPro
(const ChainSubClassSetTable *) ((char *) this + chainSubClassSetTableOffset);
le_uint16 chainSubClassRuleCount = SWAPW(chainSubClassSetTable->chainSubClassRuleCount);
le_int32 position = glyphIterator->getCurrStreamPosition();
- GlyphIterator tempIterator(*glyphIterator, emptyTag);
+ GlyphIterator tempIterator(*glyphIterator, emptyFeatureList);
for (le_uint16 scRule = 0; scRule < chainSubClassRuleCount; scRule += 1) {
Offset chainSubClassRuleTableOffset =
@@ -476,7 +479,7 @@ le_uint32 ChainingContextualSubstitutionFormat3Subtable::process(const LookupPro
const Offset *lookaheadCoverageTableOffsetArray = &inputCoverageTableOffsetArray[inputGlyphCount + 1];
le_uint16 substCount = (le_uint16) SWAPW(lookaheadCoverageTableOffsetArray[lookaheadGlyphCount]);
le_int32 position = glyphIterator->getCurrStreamPosition();
- GlyphIterator tempIterator(*glyphIterator, emptyTag);
+ GlyphIterator tempIterator(*glyphIterator, emptyFeatureList);
if (! tempIterator.prev(backtrkGlyphCount)) {
return 0;