ICU-3738 remove tabs.

X-SVN-Rev: 15201
This commit is contained in:
Eric Mader 2004-05-07 23:29:16 +00:00
parent 57a7141288
commit 658bda41a0
90 changed files with 471 additions and 537 deletions

View File

@ -1,7 +1,6 @@
/*
* @(#)AlternateSubstSubtables.cpp 1.7 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)AlternateSubstSubtables.h 1.6 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)AnchorTables.cpp 1.6 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/
@ -42,9 +41,9 @@ void AnchorTable::getAnchor(LEGlyphID glyphID, const LEFontInstance *fontInstanc
}
default:
// Unknown format, set the anchor point to (0, 0)
anchor.fX = 0;
anchor.fY = 0;
// Unknown format, set the anchor point to (0, 0)
anchor.fX = 0;
anchor.fY = 0;
break;
}
}

View File

@ -1,7 +1,6 @@
/*
* @(#)AnchorTables.h 1.6 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -66,8 +66,8 @@ le_int32 ArabicOpenTypeLayoutEngine::characterProcessing(const LEUnicode chars[]
return 0;
}
glyphStorage.adoptGlyphCount(count);
glyphStorage.allocateAuxData(success);
glyphStorage.adoptGlyphCount(count);
glyphStorage.allocateAuxData(success);
if (LE_FAILURE(success)) {
success = LE_MEMORY_ALLOCATION_ERROR;
@ -111,7 +111,7 @@ void ArabicOpenTypeLayoutEngine::adjustGlyphPositions(const LEUnicode chars[], l
GlyphDefinitionTableHeader *gdefTable = (GlyphDefinitionTableHeader *) ArabicShaping::glyphDefinitionTable;
GDEFMarkFilter filter(gdefTable);
adjustMarkGlyphs(&chars[offset], count, reverse, glyphStorage, &filter, success);
adjustMarkGlyphs(&chars[offset], count, reverse, glyphStorage, &filter, success);
}
}
@ -149,7 +149,7 @@ le_int32 UnicodeArabicOpenTypeLayoutEngine::glyphPostProcessing(LEGlyphStorage &
// FIXME: we could avoid the memory allocation and copy if we
// made a clone of mapCharsToGlyphs which took the fake glyphs
// directly.
le_int32 tempGlyphCount = tempGlyphStorage.getGlyphCount();
le_int32 tempGlyphCount = tempGlyphStorage.getGlyphCount();
LEUnicode *tempChars = LE_NEW_ARRAY(LEUnicode, tempGlyphCount);
if (tempChars == NULL) {
@ -158,10 +158,10 @@ le_int32 UnicodeArabicOpenTypeLayoutEngine::glyphPostProcessing(LEGlyphStorage &
}
for (le_int32 i = 0; i < tempGlyphCount; i += 1) {
tempChars[i] = (LEUnicode) LE_GET_GLYPH(tempGlyphStorage[i]);
tempChars[i] = (LEUnicode) LE_GET_GLYPH(tempGlyphStorage[i]);
}
glyphStorage.adoptCharIndicesArray(tempGlyphStorage);
glyphStorage.adoptCharIndicesArray(tempGlyphStorage);
ArabicOpenTypeLayoutEngine::mapCharsToGlyphs(tempChars, 0, tempGlyphCount, FALSE, TRUE, glyphStorage, success);
@ -188,10 +188,10 @@ void UnicodeArabicOpenTypeLayoutEngine::mapCharsToGlyphs(const LEUnicode chars[]
dir = -1;
}
glyphStorage.allocateGlyphArray(count, reverse, success);
glyphStorage.allocateGlyphArray(count, reverse, success);
for (i = 0; i < count; i += 1, out += dir) {
glyphStorage[out] = (LEGlyphID) chars[offset + i];
for (i = 0; i < count; i += 1, out += dir) {
glyphStorage[out] = (LEGlyphID) chars[offset + i];
}
}

View File

@ -113,10 +113,10 @@ const LETag *ArabicShaping::getFeatureOrder()
void ArabicShaping::adjustTags(le_int32 outIndex, le_int32 shapeOffset, LEGlyphStorage &glyphStorage)
{
LEErrorCode success = LE_NO_ERROR;
const LETag *glyphTags = (const LETag *) glyphStorage.getAuxData(outIndex, success);
LEErrorCode success = LE_NO_ERROR;
const LETag *glyphTags = (const LETag *) glyphStorage.getAuxData(outIndex, success);
glyphStorage.setAuxData(outIndex, (void *) &glyphTags[TAGS_PER_GLYPH * shapeOffset], success);
glyphStorage.setAuxData(outIndex, (void *) &glyphTags[TAGS_PER_GLYPH * shapeOffset], success);
}
void ArabicShaping::shape(const LEUnicode *chars, le_int32 offset, le_int32 charCount, le_int32 charMax,
@ -138,7 +138,7 @@ void ArabicShaping::shape(const LEUnicode *chars, le_int32 offset, le_int32 char
// shaper.shape(out, 1) (isolate to final)
ShapeType rightType = ST_NOSHAPE_NONE, leftType = ST_NOSHAPE_NONE;
LEErrorCode success = LE_NO_ERROR;
LEErrorCode success = LE_NO_ERROR;
le_int32 i;
for (i = offset - 1; i >= 0; i -= 1) {
@ -173,7 +173,7 @@ void ArabicShaping::shape(const LEUnicode *chars, le_int32 offset, le_int32 char
LEUnicode c = chars[in];
ShapeType t = getShapeType(c);
glyphStorage.setAuxData(out, (void *) tagArray, success);
glyphStorage.setAuxData(out, (void *) tagArray, success);
if ((t & MASK_TRANSPARENT) != 0) {
continue;

View File

@ -1,6 +1,6 @@
/*
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/
@ -59,11 +59,11 @@ private:
static const LETag tagArray[];
static ShapeType getShapeType(LEUnicode c);
static ShapeType getShapeType(LEUnicode c);
static const ShapeType shapeTypes[];
static void adjustTags(le_int32 outIndex, le_int32 shapeOffset, LEGlyphStorage &glyphStorage);
static void adjustTags(le_int32 outIndex, le_int32 shapeOffset, LEGlyphStorage &glyphStorage);
};
U_NAMESPACE_END

View File

@ -1,7 +1,6 @@
/*
* @(#)ClassDefinitionTables.cpp 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)ClassDefinitionTables.h 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)ContextualGlyphInsertion.h 1.4 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -46,7 +46,7 @@ ByteOffset ContextualGlyphSubstitutionProcessor::processStateEntry(LEGlyphStorag
if (markOffset != 0) {
const le_int16 *table = (const le_int16 *) ((char *) &stateTableHeader->stHeader + markOffset * 2);
LEGlyphID mGlyph = glyphStorage[markGlyph];
LEGlyphID mGlyph = glyphStorage[markGlyph];
TTGlyphID newGlyph = SWAPW(table[LE_GET_GLYPH(mGlyph)]);
glyphStorage[markGlyph] = LE_SET_GLYPH(mGlyph, newGlyph);
@ -54,7 +54,7 @@ ByteOffset ContextualGlyphSubstitutionProcessor::processStateEntry(LEGlyphStorag
if (currOffset != 0) {
const le_int16 *table = (const le_int16 *) ((char *) &stateTableHeader->stHeader + currOffset * 2);
LEGlyphID thisGlyph = glyphStorage[currGlyph];
LEGlyphID thisGlyph = glyphStorage[currGlyph];
TTGlyphID newGlyph = SWAPW(table[LE_GET_GLYPH(thisGlyph)]);
glyphStorage[currGlyph] = LE_SET_GLYPH(thisGlyph, newGlyph);

View File

@ -1,7 +1,6 @@
/*
* @(#)ContextualGlyphSubstitution.h 1.4 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)ContextualSubstSubtables.cpp 1.11 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)ContextualSubstSubtables.h 1.7 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)CoverageTables.cpp 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)CoverageTables.h 1.4 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)Features.h 1.4 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/
@ -36,7 +35,7 @@ struct FeatureListTable
le_uint16 featureCount;
FeatureRecord featureRecordArray[ANY_NUMBER];
const FeatureTable *getFeatureTable(le_uint16 featureIndex, LETag *featureTag) const;
const FeatureTable *getFeatureTable(le_uint16 featureIndex, LETag *featureTag) const;
const FeatureTable *getFeatureTable(LETag featureTag) const;
};

View File

@ -1,7 +1,6 @@
/*
* @(#)GDEFMarkFilter.cpp 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998, 1999, 2000, 2001 - All Rights Reserved
* (C) Copyright IBM Corp. 1998 - 2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)GDEFMarkFilter.h 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)GlyphDefinitionTables.cpp 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998, 1999, 2000, 2001 - All Rights Reserved
* (C) Copyright IBM Corp. 1998 - 2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)GlyphDefinitionTables.h 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -24,14 +24,14 @@ GlyphIterator::GlyphIterator(LEGlyphStorage &theGlyphStorage, GlyphPositionAdjus
glyphClassDefinitionTable(NULL), markAttachClassDefinitionTable(NULL)
{
le_int32 glyphCount = glyphStorage.getGlyphCount();
le_int32 glyphCount = glyphStorage.getGlyphCount();
if (theGlyphDefinitionTableHeader != NULL) {
glyphClassDefinitionTable = theGlyphDefinitionTableHeader->getGlyphClassDefinitionTable();
markAttachClassDefinitionTable = theGlyphDefinitionTableHeader->getMarkAttachClassDefinitionTable();
}
nextLimit = glyphCount;
nextLimit = glyphCount;
if (rightToLeft) {
direction = -1;
@ -73,8 +73,8 @@ GlyphIterator::GlyphIterator(GlyphIterator &that, LETag newFeatureTag)
cursiveLastPosition = that.cursiveLastPosition;
glyphPositionAdjustments = that.glyphPositionAdjustments;
srcIndex = that.srcIndex;
destIndex = that.destIndex;
srcIndex = that.srcIndex;
destIndex = that.destIndex;
lookupFlags = that.lookupFlags;
featureTag = newFeatureTag;
glyphClassDefinitionTable = that.glyphClassDefinitionTable;
@ -94,8 +94,8 @@ GlyphIterator::GlyphIterator(GlyphIterator &that, le_uint16 newLookupFlags)
cursiveLastPosition = that.cursiveLastPosition;
glyphPositionAdjustments = that.glyphPositionAdjustments;
srcIndex = that.srcIndex;
destIndex = that.destIndex;
srcIndex = that.srcIndex;
destIndex = that.destIndex;
lookupFlags = newLookupFlags;
featureTag = that.featureTag;
glyphClassDefinitionTable = that.glyphClassDefinitionTable;
@ -111,32 +111,32 @@ GlyphIterator::GlyphIterator()
GlyphIterator::~GlyphIterator()
{
// nothing to do, right?
// nothing to do, right?
}
void GlyphIterator::reset(le_uint16 newLookupFlags, LETag newFeatureTag)
{
position = prevLimit;
featureTag = newFeatureTag;
lookupFlags = newLookupFlags;
position = prevLimit;
featureTag = newFeatureTag;
lookupFlags = newLookupFlags;
}
LEGlyphID *GlyphIterator::insertGlyphs(le_int32 count)
{
return glyphStorage.insertGlyphs(position, count);
return glyphStorage.insertGlyphs(position, count);
}
le_int32 GlyphIterator::applyInsertions()
{
le_int32 newGlyphCount = glyphStorage.applyInsertions();
le_int32 newGlyphCount = glyphStorage.applyInsertions();
if (direction < 0) {
prevLimit = newGlyphCount;
} else {
nextLimit = newGlyphCount;
}
if (direction < 0) {
prevLimit = newGlyphCount;
} else {
nextLimit = newGlyphCount;
}
return newGlyphCount;
return newGlyphCount;
}
le_int32 GlyphIterator::getCurrStreamPosition() const
@ -181,7 +181,7 @@ LEGlyphID GlyphIterator::getCurrGlyphID() const
}
}
return glyphStorage[position];
return glyphStorage[position];
}
LEGlyphID GlyphIterator::getCursiveLastGlyphID() const
@ -196,7 +196,7 @@ LEGlyphID GlyphIterator::getCursiveLastGlyphID() const
}
}
return glyphStorage[cursiveLastPosition];
return glyphStorage[cursiveLastPosition];
}
void GlyphIterator::getCursiveLastExitPoint(LEPoint &exitPoint) const
@ -247,9 +247,9 @@ void GlyphIterator::getCursiveLastPositionAdjustment(GlyphPositionAdjustment &ad
void GlyphIterator::setCurrGlyphID(TTGlyphID glyphID)
{
LEGlyphID glyph = glyphStorage[position];
LEGlyphID glyph = glyphStorage[position];
glyphStorage[position] = LE_SET_GLYPH(glyph, glyphID);
glyphStorage[position] = LE_SET_GLYPH(glyph, glyphID);
}
void GlyphIterator::setCurrStreamPosition(le_int32 newPosition)
@ -466,7 +466,7 @@ le_bool GlyphIterator::hasFeatureTag() const
return TRUE;
}
LEErrorCode success = LE_NO_ERROR;
LEErrorCode success = LE_NO_ERROR;
const LETag *tagList = (const LETag *) glyphStorage.getAuxData(position, success);
if (tagList != NULL) {

View File

@ -34,7 +34,7 @@ public:
virtual ~GlyphIterator();
void reset(le_uint16 newLookupFlags, LETag newFeatureTag);
void reset(le_uint16 newLookupFlags, LETag newFeatureTag);
le_bool next(le_uint32 delta = 1);
le_bool prev(le_uint32 delta = 1);
@ -73,8 +73,8 @@ public:
void adjustCursiveLastGlyphPositionAdjustment(float xPlacmentAdjust, float yPlacementAdjust,
float xAdvanceAdjust, float yAdvanceAdjust);
LEGlyphID *insertGlyphs(le_int32 count);
le_int32 applyInsertions();
LEGlyphID *insertGlyphs(le_int32 count);
le_int32 applyInsertions();
private:
GlyphIterator();
@ -91,10 +91,10 @@ private:
le_int32 cursiveLastPosition;
float cursiveBaselineAdjustment;
LEPoint cursiveLastExitPoint;
LEGlyphStorage &glyphStorage;
LEGlyphStorage &glyphStorage;
GlyphPositionAdjustment *glyphPositionAdjustments;
le_int32 srcIndex;
le_int32 destIndex;
le_int32 srcIndex;
le_int32 destIndex;
le_uint16 lookupFlags;
LETag featureTag;
const GlyphClassDefinitionTable *glyphClassDefinitionTable;

View File

@ -1,7 +1,6 @@
/*
* @(#)GlyphPositionAdjustments.h 1.8 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -27,7 +27,7 @@ class LEGlyphStorage;
struct GlyphPositioningTableHeader : public GlyphLookupTableHeader
{
void process(LEGlyphStorage &glyphStorage, GlyphPositionAdjustment *glyphPositionAdjustments,
le_bool rightToLeft, LETag scriptTag, LETag languageTag,
le_bool rightToLeft, LETag scriptTag, LETag languageTag,
const GlyphDefinitionTableHeader *glyphDefinitionTableHeader,
const LEFontInstance *fontInstance, const LETag *featureOrder) const;
};

View File

@ -1,7 +1,6 @@
/*
* @(#)GlyphPosnLookupProc.cpp 1.6 00/03/15
*
* (C) Copyright IBM Corp. 1998, 1999, 2000, 2001 - All Rights Reserved
* (C) Copyright IBM Corp. 1998 - 2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)GlyphPosnLookupProc.h 1.7 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)GlyphSubstLookupProc.cpp 1.6 00/03/15
*
* (C) Copyright IBM Corp. 1998, 1999, 2000, 2001 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,5 +1,4 @@
/*
* %W% %E%
*
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
@ -25,7 +24,7 @@ void HebrewShaping::shape(const LEUnicode * /*chars*/, le_int32 /*offset*/, le_i
{
le_int32 count, out = 0, dir = 1;
LEErrorCode success = LE_NO_ERROR;
LEErrorCode success = LE_NO_ERROR;
if (rightToLeft) {
out = charCount - 1;
@ -33,8 +32,8 @@ void HebrewShaping::shape(const LEUnicode * /*chars*/, le_int32 /*offset*/, le_i
}
for (count = 0; count < charCount; count += 1, out += dir) {
glyphStorage.setAuxData(out, (void *) hebrewTags, success);
}
glyphStorage.setAuxData(out, (void *) hebrewTags, success);
}
}
U_NAMESPACE_END

View File

@ -1,7 +1,6 @@
/*
* @(#)HindiFeatureTags.h 1.4 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -45,7 +45,7 @@ IndicOpenTypeLayoutEngine::~IndicOpenTypeLayoutEngine()
// Input: characters, tags
// Output: glyphs, char indices
le_int32 IndicOpenTypeLayoutEngine::glyphProcessing(const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft,
LEGlyphStorage &glyphStorage, LEErrorCode &success)
LEGlyphStorage &glyphStorage, LEErrorCode &success)
{
if (LE_FAILURE(success)) {
return 0;
@ -91,19 +91,19 @@ le_int32 IndicOpenTypeLayoutEngine::characterProcessing(const LEUnicode chars[],
return 0;
}
glyphStorage.allocateGlyphArray(worstCase, rightToLeft, success);
glyphStorage.allocateAuxData(success);
glyphStorage.allocateGlyphArray(worstCase, rightToLeft, success);
glyphStorage.allocateAuxData(success);
if (LE_FAILURE(success)) {
LE_DELETE_ARRAY(outChars);
return 0;
}
if (LE_FAILURE(success)) {
LE_DELETE_ARRAY(outChars);
return 0;
}
// NOTE: assumes this allocates featureTags...
// (probably better than doing the worst case stuff here...)
le_int32 outCharCount = IndicReordering::reorder(&chars[offset], count, fScriptCode, outChars, glyphStorage, &fMPreFixups);
le_int32 outCharCount = IndicReordering::reorder(&chars[offset], count, fScriptCode, outChars, glyphStorage, &fMPreFixups);
glyphStorage.adoptGlyphCount(outCharCount);
glyphStorage.adoptGlyphCount(outCharCount);
return outCharCount;
}

View File

@ -1,7 +1,6 @@
/*
* @(#)IndicRearrangement.h 1.4 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -67,7 +67,7 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
{
LEGlyphID a, b, c, d;
le_int32 ia, ib, ic, id, ix, x;
LEErrorCode success = LE_NO_ERROR;
LEErrorCode success = LE_NO_ERROR;
switch(verb)
{
@ -76,129 +76,129 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
case irvxA:
a = glyphStorage[firstGlyph];
ia = glyphStorage.getCharIndex(firstGlyph, success);
ia = glyphStorage.getCharIndex(firstGlyph, success);
x = firstGlyph + 1;
while (x <= lastGlyph) {
glyphStorage[x - 1] = glyphStorage[x];
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x - 1, ix, success);
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x - 1, ix, success);
x += 1;
}
glyphStorage[lastGlyph] = a;
glyphStorage.setCharIndex(lastGlyph, ia, success);
glyphStorage.setCharIndex(lastGlyph, ia, success);
break;
case irvDx:
d = glyphStorage[lastGlyph];
id = glyphStorage.getCharIndex(lastGlyph, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
x = lastGlyph - 1;
while (x >= firstGlyph) {
glyphStorage[x + 1] = glyphStorage[x];
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x + 1, ix, success);
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x + 1, ix, success);
x -= 1;
}
glyphStorage[firstGlyph] = d;
glyphStorage.setCharIndex(firstGlyph, id, success);
glyphStorage.setCharIndex(firstGlyph, id, success);
break;
case irvDxA:
a = glyphStorage[firstGlyph];
ia = glyphStorage.getCharIndex(firstGlyph, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
ia = glyphStorage.getCharIndex(firstGlyph, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
glyphStorage[firstGlyph] = glyphStorage[lastGlyph];
glyphStorage[lastGlyph] = a;
glyphStorage.setCharIndex(firstGlyph, id, success);
glyphStorage.setCharIndex(lastGlyph, ia, success);
glyphStorage.setCharIndex(firstGlyph, id, success);
glyphStorage.setCharIndex(lastGlyph, ia, success);
break;
case irvxAB:
a = glyphStorage[firstGlyph];
b = glyphStorage[firstGlyph + 1];
ia = glyphStorage.getCharIndex(firstGlyph, success);
ib = glyphStorage.getCharIndex(firstGlyph + 1, success);
ia = glyphStorage.getCharIndex(firstGlyph, success);
ib = glyphStorage.getCharIndex(firstGlyph + 1, success);
x = firstGlyph + 2;
while (x <= lastGlyph) {
glyphStorage[x - 2] = glyphStorage[x];
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x - 2, ix, success);
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x - 2, ix, success);
x += 1;
}
glyphStorage[lastGlyph - 1] = a;
glyphStorage[lastGlyph] = b;
glyphStorage.setCharIndex(lastGlyph - 1, ia, success);
glyphStorage.setCharIndex(lastGlyph, ib, success);
glyphStorage.setCharIndex(lastGlyph - 1, ia, success);
glyphStorage.setCharIndex(lastGlyph, ib, success);
break;
case irvxBA:
a = glyphStorage[firstGlyph];
b = glyphStorage[firstGlyph + 1];
ia = glyphStorage.getCharIndex(firstGlyph, success);
ib = glyphStorage.getCharIndex(firstGlyph + 1, success);
ib = glyphStorage.getCharIndex(firstGlyph + 1, success);
x = firstGlyph + 2;
while (x <= lastGlyph) {
glyphStorage[x - 2] = glyphStorage[x];
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x - 2, ix, success);
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x - 2, ix, success);
x += 1;
}
glyphStorage[lastGlyph - 1] = b;
glyphStorage[lastGlyph] = a;
glyphStorage.setCharIndex(lastGlyph - 1, ib, success);
glyphStorage.setCharIndex(lastGlyph, ia, success);
glyphStorage.setCharIndex(lastGlyph - 1, ib, success);
glyphStorage.setCharIndex(lastGlyph, ia, success);
break;
case irvCDx:
c = glyphStorage[lastGlyph - 1];
d = glyphStorage[lastGlyph];
ic = glyphStorage.getCharIndex(lastGlyph - 1, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
ic = glyphStorage.getCharIndex(lastGlyph - 1, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
x = lastGlyph - 2;
while (x >= firstGlyph) {
glyphStorage[x + 2] = glyphStorage[x];
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x + 2, ix, success);
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x + 2, ix, success);
x -= 1;
}
glyphStorage[firstGlyph] = c;
glyphStorage[firstGlyph + 1] = d;
glyphStorage.setCharIndex(firstGlyph, ic, success);
glyphStorage.setCharIndex(firstGlyph + 1, id, success);
glyphStorage.setCharIndex(firstGlyph, ic, success);
glyphStorage.setCharIndex(firstGlyph + 1, id, success);
break;
case irvDCx:
c = glyphStorage[lastGlyph - 1];
d = glyphStorage[lastGlyph];
ic = glyphStorage.getCharIndex(lastGlyph - 1, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
ic = glyphStorage.getCharIndex(lastGlyph - 1, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
x = lastGlyph - 2;
while (x >= firstGlyph) {
glyphStorage[x + 2] = glyphStorage[x];
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x + 2, ix, success);
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x + 2, ix, success);
x -= 1;
}
glyphStorage[firstGlyph] = d;
glyphStorage[firstGlyph + 1] = c;
glyphStorage.setCharIndex(firstGlyph, id, success);
glyphStorage.setCharIndex(firstGlyph, id, success);
glyphStorage.setCharIndex(firstGlyph + 1, ic, success);
break;
@ -206,15 +206,15 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
a = glyphStorage[firstGlyph];
c = glyphStorage[lastGlyph - 1];
d = glyphStorage[lastGlyph];
ia = glyphStorage.getCharIndex(firstGlyph, success);
ia = glyphStorage.getCharIndex(firstGlyph, success);
ic = glyphStorage.getCharIndex(lastGlyph - 1, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
x = lastGlyph - 2;
while (x > firstGlyph) {
glyphStorage[x + 1] = glyphStorage[x];
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x + 1, ix, success);
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x + 1, ix, success);
x -= 1;
}
@ -222,7 +222,7 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
glyphStorage[firstGlyph + 1] = d;
glyphStorage[lastGlyph] = a;
glyphStorage.setCharIndex(firstGlyph, ic, success);
glyphStorage.setCharIndex(firstGlyph, ic, success);
glyphStorage.setCharIndex(firstGlyph + 1, id, success);
glyphStorage.setCharIndex(lastGlyph, ia, success);
break;
@ -231,15 +231,15 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
a = glyphStorage[firstGlyph];
c = glyphStorage[lastGlyph - 1];
d = glyphStorage[lastGlyph];
ia = glyphStorage.getCharIndex(firstGlyph, success);
ia = glyphStorage.getCharIndex(firstGlyph, success);
ic = glyphStorage.getCharIndex(lastGlyph - 1, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
x = lastGlyph - 2;
while (x > firstGlyph) {
glyphStorage[x + 1] = glyphStorage[x];
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x + 1, ix, success);
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x + 1, ix, success);
x -= 1;
}
@ -256,15 +256,15 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
a = glyphStorage[firstGlyph];
b = glyphStorage[firstGlyph + 1];
d = glyphStorage[lastGlyph];
ia = glyphStorage.getCharIndex(firstGlyph, success);
ia = glyphStorage.getCharIndex(firstGlyph, success);
ib = glyphStorage.getCharIndex(firstGlyph + 1, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
x = firstGlyph + 2;
while (x < lastGlyph) {
glyphStorage[x - 2] = glyphStorage[x];
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x - 2, ix, success);
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x - 2, ix, success);
x += 1;
}
@ -281,15 +281,15 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
a = glyphStorage[firstGlyph];
b = glyphStorage[firstGlyph + 1];
d = glyphStorage[lastGlyph];
ia = glyphStorage.getCharIndex(firstGlyph, success);
ia = glyphStorage.getCharIndex(firstGlyph, success);
ib = glyphStorage.getCharIndex(firstGlyph + 1, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
x = firstGlyph + 2;
while (x < lastGlyph) {
glyphStorage[x - 2] = glyphStorage[x];
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x - 2, ix, success);
ix = glyphStorage.getCharIndex(x, success);
glyphStorage.setCharIndex(x - 2, ix, success);
x += 1;
}
@ -312,16 +312,16 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
glyphStorage[lastGlyph - 1] = a;
glyphStorage[lastGlyph] = b;
ia = glyphStorage.getCharIndex(firstGlyph, success);
ia = glyphStorage.getCharIndex(firstGlyph, success);
ib = glyphStorage.getCharIndex(firstGlyph + 1, success);
ic = glyphStorage.getCharIndex(lastGlyph - 1, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
ic = glyphStorage.getCharIndex(lastGlyph - 1, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
glyphStorage.setCharIndex(firstGlyph, ic, success);
glyphStorage.setCharIndex(firstGlyph + 1, id, success);
glyphStorage.setCharIndex(firstGlyph, ic, success);
glyphStorage.setCharIndex(firstGlyph + 1, id, success);
glyphStorage.setCharIndex(lastGlyph - 1, ia, success);
glyphStorage.setCharIndex(lastGlyph, ib, success);
glyphStorage.setCharIndex(lastGlyph - 1, ia, success);
glyphStorage.setCharIndex(lastGlyph, ib, success);
break;
case irvCDxBA:
@ -334,16 +334,16 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
glyphStorage[lastGlyph - 1] = b;
glyphStorage[lastGlyph] = a;
ia = glyphStorage.getCharIndex(firstGlyph, success);
ia = glyphStorage.getCharIndex(firstGlyph, success);
ib = glyphStorage.getCharIndex(firstGlyph + 1, success);
ic = glyphStorage.getCharIndex(lastGlyph - 1, success);
ic = glyphStorage.getCharIndex(lastGlyph - 1, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
glyphStorage.setCharIndex(firstGlyph, ic, success);
glyphStorage.setCharIndex(firstGlyph + 1, id, success);
glyphStorage.setCharIndex(firstGlyph, ic, success);
glyphStorage.setCharIndex(firstGlyph + 1, id, success);
glyphStorage.setCharIndex(lastGlyph - 1, ib, success);
glyphStorage.setCharIndex(lastGlyph, ia, success);
glyphStorage.setCharIndex(lastGlyph - 1, ib, success);
glyphStorage.setCharIndex(lastGlyph, ia, success);
break;
case irvDCxAB:
@ -356,16 +356,16 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
glyphStorage[lastGlyph - 1] = a;
glyphStorage[lastGlyph] = b;
ia = glyphStorage.getCharIndex(firstGlyph, success);
ia = glyphStorage.getCharIndex(firstGlyph, success);
ib = glyphStorage.getCharIndex(firstGlyph + 1, success);
ic = glyphStorage.getCharIndex(lastGlyph - 1, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
ic = glyphStorage.getCharIndex(lastGlyph - 1, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
glyphStorage.setCharIndex(firstGlyph, id, success);
glyphStorage.setCharIndex(firstGlyph + 1, ic, success);
glyphStorage.setCharIndex(firstGlyph, id, success);
glyphStorage.setCharIndex(firstGlyph + 1, ic, success);
glyphStorage.setCharIndex(lastGlyph - 1, ia, success);
glyphStorage.setCharIndex(lastGlyph, ib, success);
glyphStorage.setCharIndex(lastGlyph - 1, ia, success);
glyphStorage.setCharIndex(lastGlyph, ib, success);
break;
case irvDCxBA:
@ -378,16 +378,16 @@ void IndicRearrangementProcessor::doRearrangementAction(LEGlyphStorage &glyphSto
glyphStorage[lastGlyph - 1] = b;
glyphStorage[lastGlyph] = a;
ia = glyphStorage.getCharIndex(firstGlyph, success);
ia = glyphStorage.getCharIndex(firstGlyph, success);
ib = glyphStorage.getCharIndex(firstGlyph + 1, success);
ic = glyphStorage.getCharIndex(lastGlyph - 1, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
ic = glyphStorage.getCharIndex(lastGlyph - 1, success);
id = glyphStorage.getCharIndex(lastGlyph, success);
glyphStorage.setCharIndex(firstGlyph, id, success);
glyphStorage.setCharIndex(firstGlyph + 1, ic, success);
glyphStorage.setCharIndex(firstGlyph, id, success);
glyphStorage.setCharIndex(firstGlyph + 1, ic, success);
glyphStorage.setCharIndex(lastGlyph - 1, ib, success);
glyphStorage.setCharIndex(lastGlyph, ia, success);
glyphStorage.setCharIndex(lastGlyph - 1, ib, success);
glyphStorage.setCharIndex(lastGlyph, ia, success);
break;
default:

View File

@ -16,7 +16,7 @@ U_NAMESPACE_BEGIN
class ReorderingOutput : public UMemory {
private:
le_int32 fOutIndex;
LEUnicode *fOutChars;
LEUnicode *fOutChars;
LEGlyphStorage &fGlyphStorage;
@ -241,12 +241,12 @@ public:
void writeChar(LEUnicode ch, le_uint32 charIndex, const LETag *charTags)
{
LEErrorCode success = LE_NO_ERROR;
LEErrorCode success = LE_NO_ERROR;
fOutChars[fOutIndex] = ch;
fGlyphStorage.setCharIndex(fOutIndex, charIndex, success);
fGlyphStorage.setAuxData(fOutIndex, (void *) charTags, success);
fGlyphStorage.setCharIndex(fOutIndex, charIndex, success);
fGlyphStorage.setAuxData(fOutIndex, (void *) charTags, success);
fOutIndex += 1;
}

View File

@ -58,11 +58,11 @@ void LEFontInstance::mapCharsToGlyphs(const LEUnicode chars[], le_int32 offset,
}
}
glyphStorage[out] = mapCharToGlyph(code, mapper);
glyphStorage[out] = mapCharToGlyph(code, mapper);
if (code >= 0x10000) {
i += 1;
glyphStorage[out += dir] = 0xFFFF;
glyphStorage[out += dir] = 0xFFFF;
}
}
}

View File

@ -1,7 +1,6 @@
/*
* @(#)LEGlyphFilter.h 1.3 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -14,10 +14,10 @@ U_NAMESPACE_BEGIN
struct InsertionRecord
{
InsertionRecord *next;
le_int32 position;
le_int32 count;
LEGlyphID glyphs[ANY_NUMBER];
InsertionRecord *next;
le_int32 position;
le_int32 count;
LEGlyphID glyphs[ANY_NUMBER];
};
const char LEInsertionList::fgClassID = 0;
@ -25,64 +25,64 @@ const char LEInsertionList::fgClassID = 0;
LEInsertionList::LEInsertionList(le_bool rightToLeft)
: head(NULL), tail(NULL), growAmount(0), append(rightToLeft)
{
tail = (InsertionRecord *) &head;
tail = (InsertionRecord *) &head;
}
LEInsertionList::~LEInsertionList()
{
reset();
reset();
}
void LEInsertionList::reset()
{
while (head != NULL) {
InsertionRecord *record = head;
while (head != NULL) {
InsertionRecord *record = head;
head = head->next;
LE_DELETE_ARRAY(record);
}
head = head->next;
LE_DELETE_ARRAY(record);
}
tail = (InsertionRecord *) &head;
growAmount = 0;
tail = (InsertionRecord *) &head;
growAmount = 0;
}
le_int32 LEInsertionList::getGrowAmount()
{
return growAmount;
return growAmount;
}
LEGlyphID *LEInsertionList::insert(le_int32 position, le_int32 count)
{
InsertionRecord *insertion = (InsertionRecord *) LE_NEW_ARRAY(char, sizeof(InsertionRecord) + (count - ANY_NUMBER) * sizeof (LEGlyphID));
InsertionRecord *insertion = (InsertionRecord *) LE_NEW_ARRAY(char, sizeof(InsertionRecord) + (count - ANY_NUMBER) * sizeof (LEGlyphID));
insertion->position = position;
insertion->count = count;
insertion->position = position;
insertion->count = count;
growAmount += count - 1;
growAmount += count - 1;
if (append) {
// insert on end of list...
insertion->next = NULL;
tail->next = insertion;
tail = insertion;
} else {
// insert on front of list...
insertion->next = head;
head = insertion;
}
if (append) {
// insert on end of list...
insertion->next = NULL;
tail->next = insertion;
tail = insertion;
} else {
// insert on front of list...
insertion->next = head;
head = insertion;
}
return insertion->glyphs;
return insertion->glyphs;
}
le_bool LEInsertionList::applyInsertions(LEInsertionCallback *callback)
{
for (InsertionRecord *rec = head; rec != NULL; rec = rec->next) {
if (callback->applyInsertion(rec->position, rec->count, rec->glyphs)) {
return TRUE;
}
}
for (InsertionRecord *rec = head; rec != NULL; rec = rec->next) {
if (callback->applyInsertion(rec->position, rec->count, rec->glyphs)) {
return TRUE;
}
}
return FALSE;
return FALSE;
}
U_NAMESPACE_END

View File

@ -1,8 +1,7 @@
/*
* @(#)LESwaps.h 1.3 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/
@ -20,13 +19,13 @@ U_NAMESPACE_BEGIN
* @stable ICU 2.8
*/
#if defined(U_IS_BIG_ENDIAN)
#if U_IS_BIG_ENDIAN
#define SWAPW(value) (value)
#else
#define SWAPW(value) LESwaps::swapWord(value)
#endif
#if U_IS_BIG_ENDIAN
#define SWAPW(value) (value)
#else
#define SWAPW(value) LESwaps::swapWord(value)
#endif
#else
#define SWAPW(value) (LESwaps::isBigEndian() ? (value) : LESwaps::swapWord(value))
#define SWAPW(value) (LESwaps::isBigEndian() ? (value) : LESwaps::swapWord(value))
#endif
/**
@ -36,13 +35,13 @@ U_NAMESPACE_BEGIN
* @stable ICU 2.8
*/
#if defined(U_IS_BIG_ENDIAN)
#if U_IS_BIG_ENDIAN
#define SWAPL(value) (value)
#else
#define SWAPL(value) LESwaps::swapLong(value)
#endif
#if U_IS_BIG_ENDIAN
#define SWAPL(value) (value)
#else
#define SWAPL(value) LESwaps::swapLong(value)
#endif
#else
#define SWAPL(value) (LESwaps::isBigEndian() ? (value) : LESwaps::swapLong(value))
#define SWAPL(value) (LESwaps::isBigEndian() ? (value) : LESwaps::swapLong(value))
#endif
/**

View File

@ -1,8 +1,7 @@
/*
* @(#)LETypes.h 1.2 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,6 +1,5 @@
/*
* %W% %E%
*
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
@ -91,7 +90,7 @@ LEUnicode32 DefaultCharMapper::mapChar(LEUnicode32 ch) const
// this is a good central location...
LEGlyphFilter::~LEGlyphFilter()
{
// nothing to do
// nothing to do
}
CharSubstitutionFilter::CharSubstitutionFilter(const LEFontInstance *fontInstance)
@ -127,38 +126,38 @@ le_int32 LayoutEngine::getGlyphCount() const
void LayoutEngine::getCharIndices(le_int32 charIndices[], le_int32 indexBase, LEErrorCode &success) const
{
fGlyphStorage->getCharIndices(charIndices, indexBase, success);
fGlyphStorage->getCharIndices(charIndices, indexBase, success);
}
void LayoutEngine::getCharIndices(le_int32 charIndices[], LEErrorCode &success) const
{
fGlyphStorage->getCharIndices(charIndices, success);
fGlyphStorage->getCharIndices(charIndices, success);
}
// Copy the glyphs into caller's (32-bit) glyph array, OR in extraBits
void LayoutEngine::getGlyphs(le_uint32 glyphs[], le_uint32 extraBits, LEErrorCode &success) const
{
fGlyphStorage->getGlyphs(glyphs, extraBits, success);
fGlyphStorage->getGlyphs(glyphs, extraBits, success);
}
void LayoutEngine::getGlyphs(LEGlyphID glyphs[], LEErrorCode &success) const
{
fGlyphStorage->getGlyphs(glyphs, success);
fGlyphStorage->getGlyphs(glyphs, success);
}
void LayoutEngine::getGlyphPositions(float positions[], LEErrorCode &success) const
{
fGlyphStorage->getGlyphPositions(positions, success);
fGlyphStorage->getGlyphPositions(positions, success);
}
void LayoutEngine::getGlyphPosition(le_int32 glyphIndex, float &x, float &y, LEErrorCode &success) const
{
fGlyphStorage->getGlyphPosition(glyphIndex, x, y, success);
fGlyphStorage->getGlyphPosition(glyphIndex, x, y, success);
}
le_int32 LayoutEngine::characterProcessing(const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft,
LEUnicode *&outChars, LEGlyphStorage &glyphStorage, LEErrorCode &success)
LEUnicode *&outChars, LEGlyphStorage &glyphStorage, LEErrorCode &success)
{
if (LE_FAILURE(success)) {
return 0;
@ -229,7 +228,7 @@ le_int32 LayoutEngine::computeGlyphs(const LEUnicode chars[], le_int32 offset, l
mapCharsToGlyphs(chars, offset, count, rightToLeft, rightToLeft, glyphStorage, success);
}
return glyphStorage.getGlyphCount();
return glyphStorage.getGlyphCount();
}
// Input: glyphs
@ -240,25 +239,25 @@ void LayoutEngine::positionGlyphs(LEGlyphStorage &glyphStorage, float x, float y
return;
}
glyphStorage.allocatePositions(success);
glyphStorage.allocatePositions(success);
if (LE_FAILURE(success)) {
return;
}
if (LE_FAILURE(success)) {
return;
}
le_int32 i, glyphCount = glyphStorage.getGlyphCount();
for (i = 0; i < glyphCount; i += 1) {
LEPoint advance;
glyphStorage.setPosition(i, x, y, success);
glyphStorage.setPosition(i, x, y, success);
fFontInstance->getGlyphAdvance(glyphStorage[i], advance);
x += advance.fX;
y += advance.fY;
}
glyphStorage.setPosition(glyphCount, x, y, success);
glyphStorage.setPosition(glyphCount, x, y, success);
}
void LayoutEngine::adjustGlyphPositions(const LEUnicode chars[], le_int32 offset, le_int32 count, le_bool /*reverse*/,
@ -291,33 +290,33 @@ void LayoutEngine::adjustMarkGlyphs(LEGlyphStorage &glyphStorage, LEGlyphFilter
return;
}
float ignore, prev;
float ignore, prev;
glyphStorage.getGlyphPosition(0, prev, ignore, success);
glyphStorage.getGlyphPosition(0, prev, ignore, success);
for (p = 0; p < glyphCount; p += 1) {
float next, xAdvance;
glyphStorage.getGlyphPosition(p + 1, next, ignore, success);
for (p = 0; p < glyphCount; p += 1) {
float next, xAdvance;
glyphStorage.getGlyphPosition(p + 1, next, ignore, success);
xAdvance = next - prev;
glyphStorage.adjustPosition(p, xAdjust, 0, success);
xAdvance = next - prev;
glyphStorage.adjustPosition(p, xAdjust, 0, success);
if (markFilter->accept(glyphStorage[p])) {
xAdjust -= xAdvance;
}
if (markFilter->accept(glyphStorage[p])) {
xAdjust -= xAdvance;
}
prev = next;
}
prev = next;
}
glyphStorage.adjustPosition(glyphCount, xAdjust, 0, success);
glyphStorage.adjustPosition(glyphCount, xAdjust, 0, success);
}
void LayoutEngine::adjustMarkGlyphs(const LEUnicode chars[], le_int32 charCount, le_bool reverse, LEGlyphStorage &glyphStorage, LEGlyphFilter *markFilter, LEErrorCode &success)
{
float xAdjust = 0;
le_int32 c = 0, direction = 1, p;
le_int32 glyphCount = glyphStorage.getGlyphCount();
le_int32 glyphCount = glyphStorage.getGlyphCount();
if (LE_FAILURE(success)) {
return;
@ -333,26 +332,26 @@ void LayoutEngine::adjustMarkGlyphs(const LEUnicode chars[], le_int32 charCount,
direction = -1;
}
float ignore, prev;
float ignore, prev;
glyphStorage.getGlyphPosition(0, prev, ignore, success);
glyphStorage.getGlyphPosition(0, prev, ignore, success);
for (p = 0; p < charCount; p += 1, c += direction) {
float next, xAdvance;
glyphStorage.getGlyphPosition(p + 1, next, ignore, success);
for (p = 0; p < charCount; p += 1, c += direction) {
float next, xAdvance;
glyphStorage.getGlyphPosition(p + 1, next, ignore, success);
xAdvance = next - prev;
glyphStorage.adjustPosition(p, xAdjust, 0, success);
xAdvance = next - prev;
glyphStorage.adjustPosition(p, xAdjust, 0, success);
if (markFilter->accept(chars[c])) {
xAdjust -= xAdvance;
}
if (markFilter->accept(chars[c])) {
xAdjust -= xAdvance;
}
prev = next;
}
prev = next;
}
glyphStorage.adjustPosition(glyphCount, xAdjust, 0, success);
glyphStorage.adjustPosition(glyphCount, xAdjust, 0, success);
}
const void *LayoutEngine::getFontTable(LETag tableTag) const
@ -367,7 +366,7 @@ void LayoutEngine::mapCharsToGlyphs(const LEUnicode chars[], le_int32 offset, le
return;
}
glyphStorage.allocateGlyphArray(count, reverse, success);
glyphStorage.allocateGlyphArray(count, reverse, success);
DefaultCharMapper charMapper(TRUE, mirror);
@ -389,11 +388,11 @@ le_int32 LayoutEngine::layoutChars(const LEUnicode chars[], le_int32 offset, le_
return 0;
}
le_int32 glyphCount;
glyphCount = computeGlyphs(chars, offset, count, max, rightToLeft, *fGlyphStorage, success);
positionGlyphs(*fGlyphStorage, x, y, success);
adjustGlyphPositions(chars, offset, count, rightToLeft, *fGlyphStorage, success);
le_int32 glyphCount;
glyphCount = computeGlyphs(chars, offset, count, max, rightToLeft, *fGlyphStorage, success);
positionGlyphs(*fGlyphStorage, x, y, success);
adjustGlyphPositions(chars, offset, count, rightToLeft, *fGlyphStorage, success);
return glyphCount;
}

View File

@ -1,6 +1,5 @@
/*
* %W% %W%
*
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
@ -287,7 +286,7 @@ protected:
*
* @internal
*/
static void adjustMarkGlyphs(const LEUnicode chars[], le_int32 charCount, le_bool reverse, LEGlyphStorage &glyphStorage, LEGlyphFilter *markFilter, LEErrorCode &success);
static void adjustMarkGlyphs(const LEUnicode chars[], le_int32 charCount, le_bool reverse, LEGlyphStorage &glyphStorage, LEGlyphFilter *markFilter, LEErrorCode &success);
public:

View File

@ -1,7 +1,6 @@
/*
* @(#)LayoutTables.h 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)LigatureSubstSubtables.h 1.6 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)LigatureSubstitution.h 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)LookupTables.cpp 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)LookupTables.h 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)Lookups.cpp 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998, 1999, 2000, 2001 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)Lookups.h 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -59,7 +59,7 @@ void MPreFixups::apply(LEGlyphStorage &glyphStorage)
continue;
}
LEErrorCode success = LE_NO_ERROR;
LEErrorCode success = LE_NO_ERROR;
le_int32 mpreCount = mpreLimit - mpreIndex;
le_int32 moveCount = baseIndex - mpreLimit;
le_int32 mpreDest = baseIndex - mpreCount;
@ -69,20 +69,20 @@ void MPreFixups::apply(LEGlyphStorage &glyphStorage)
for (i = 0; i < mpreCount; i += 1) {
mpreSave[i] = glyphStorage[mpreIndex + i];
indexSave[i] = glyphStorage.getCharIndex(mpreIndex + i, success); //charIndices[mpreIndex + i];
indexSave[i] = glyphStorage.getCharIndex(mpreIndex + i, success); //charIndices[mpreIndex + i];
}
for (i = 0; i < moveCount; i += 1) {
LEGlyphID glyph = glyphStorage[mpreLimit + i];
le_int32 charIndex = glyphStorage.getCharIndex(mpreLimit + i, success);
LEGlyphID glyph = glyphStorage[mpreLimit + i];
le_int32 charIndex = glyphStorage.getCharIndex(mpreLimit + i, success);
glyphStorage[mpreIndex + i] = glyph;
glyphStorage.setCharIndex(mpreIndex + i, charIndex, success);
glyphStorage[mpreIndex + i] = glyph;
glyphStorage.setCharIndex(mpreIndex + i, charIndex, success);
}
for (i = 0; i < mpreCount; i += 1) {
glyphStorage[mpreDest + i] = mpreSave[i];
glyphStorage.setCharIndex(mpreDest, indexSave[i], success);
glyphStorage[mpreDest + i] = mpreSave[i];
glyphStorage.setCharIndex(mpreDest, indexSave[i], success);
}
LE_DELETE_ARRAY(indexSave);

View File

@ -1,7 +1,6 @@
/*
* @(#)MarkArrays.cpp 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998, 1999, 2000, 2001 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)MarkArrays.h 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)MarkToBasePosnSubtables.cpp 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/
@ -67,11 +66,11 @@ le_int32 MarkToBasePositioningSubtable::process(GlyphIterator *glyphIterator, co
const AnchorTable *anchorTable = (const AnchorTable *) ((char *) baseArray + anchorTableOffset);
LEPoint baseAnchor, markAdvance, pixels;
if (anchorTableOffset == 0) {
// this means the table is mal-formed...
glyphIterator->setCurrGlyphBaseOffset(baseIterator.getCurrStreamPosition());
return 0;
}
if (anchorTableOffset == 0) {
// this means the table is mal-formed...
glyphIterator->setCurrGlyphBaseOffset(baseIterator.getCurrStreamPosition());
return 0;
}
anchorTable->getAnchor(baseGlyph, fontInstance, baseAnchor);

View File

@ -1,7 +1,6 @@
/*
* @(#)MarkToBasePosnSubtables.h 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)MarkToLigaturePosnSubtables.h 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)MarkToMarkPosnSubtables.cpp 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)MarkToMarkPosnSubtables.h 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)MorphStateTables.h 1.4 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* %W% %E%
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/
@ -63,20 +62,20 @@ le_uint32 MultipleSubstitutionSubtable::process(GlyphIterator *glyphIterator, co
}
}
LEGlyphID *newGlyphs = glyphIterator->insertGlyphs(glyphCount);
le_int32 insert = 0, direction = 1;
LEGlyphID *newGlyphs = glyphIterator->insertGlyphs(glyphCount);
le_int32 insert = 0, direction = 1;
if (glyphIterator->isRightToLeft()) {
insert = glyphCount - 1;
direction = -1;
}
if (glyphIterator->isRightToLeft()) {
insert = glyphCount - 1;
direction = -1;
}
for (le_int32 i = 0; i < glyphCount; i += 1) {
TTGlyphID substitute = SWAPW(sequenceTable->substituteArray[i]);
for (le_int32 i = 0; i < glyphCount; i += 1) {
TTGlyphID substitute = SWAPW(sequenceTable->substituteArray[i]);
newGlyphs[insert] = LE_SET_GLYPH(glyph, substitute);
insert += direction;
}
newGlyphs[insert] = LE_SET_GLYPH(glyph, substitute);
insert += direction;
}
return 1;
}

View File

@ -1,7 +1,6 @@
/*
* @(#)MultipleSubstSubtables.h 1.6 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)NonContextualGlyphSubstProc.cpp 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998, 1999, 2000, 2001 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/
@ -24,7 +23,7 @@ NonContextualGlyphSubstitutionProcessor::NonContextualGlyphSubstitutionProcessor
}
NonContextualGlyphSubstitutionProcessor::NonContextualGlyphSubstitutionProcessor(const MorphSubtableHeader *morphSubtableHeader)
: SubtableProcessor(morphSubtableHeader)
: SubtableProcessor(morphSubtableHeader)
{
}

View File

@ -1,6 +1,5 @@
/*
* %W% %W%
*
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
@ -102,7 +101,7 @@ void OpenTypeLayoutEngine::setScriptAndLanguageTags()
}
le_int32 OpenTypeLayoutEngine::characterProcessing(const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft,
LEUnicode *&outChars, LEGlyphStorage &glyphStorage, LEErrorCode &success)
LEUnicode *&outChars, LEGlyphStorage &glyphStorage, LEErrorCode &success)
{
if (LE_FAILURE(success)) {
return 0;
@ -132,7 +131,7 @@ le_int32 OpenTypeLayoutEngine::characterProcessing(const LEUnicode chars[], le_i
// Input: characters, tags
// Output: glyphs, char indices
le_int32 OpenTypeLayoutEngine::glyphProcessing(const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft,
LEGlyphStorage &glyphStorage, LEErrorCode &success)
LEGlyphStorage &glyphStorage, LEErrorCode &success)
{
if (LE_FAILURE(success)) {
return 0;
@ -162,18 +161,18 @@ le_int32 OpenTypeLayoutEngine::glyphPostProcessing(LEGlyphStorage &tempGlyphStor
return 0;
}
glyphStorage.adoptGlyphArray(tempGlyphStorage);
glyphStorage.adoptCharIndicesArray(tempGlyphStorage);
glyphStorage.adoptAuxDataArray(tempGlyphStorage);
glyphStorage.adoptGlyphCount(tempGlyphStorage);
glyphStorage.adoptGlyphArray(tempGlyphStorage);
glyphStorage.adoptCharIndicesArray(tempGlyphStorage);
glyphStorage.adoptAuxDataArray(tempGlyphStorage);
glyphStorage.adoptGlyphCount(tempGlyphStorage);
return glyphStorage.getGlyphCount();
return glyphStorage.getGlyphCount();
}
le_int32 OpenTypeLayoutEngine::computeGlyphs(const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft, LEGlyphStorage &glyphStorage, LEErrorCode &success)
{
LEUnicode *outChars = NULL;
LEGlyphStorage fakeGlyphStorage;
LEGlyphStorage fakeGlyphStorage;
le_int32 outCharCount, outGlyphCount, fakeGlyphCount;
if (LE_FAILURE(success)) {
@ -214,7 +213,7 @@ void OpenTypeLayoutEngine::adjustGlyphPositions(const LEUnicode chars[], le_int3
return;
}
le_int32 glyphCount = glyphStorage.getGlyphCount();
le_int32 glyphCount = glyphStorage.getGlyphCount();
if (glyphCount > 0 && fGPOSTable != NULL) {
GlyphPositionAdjustment *adjustments = new GlyphPositionAdjustment[glyphCount];
@ -226,8 +225,8 @@ void OpenTypeLayoutEngine::adjustGlyphPositions(const LEUnicode chars[], le_int3
}
#if 0
// Don't need to do this if we allocate
// the adjustments array w/ new...
// Don't need to do this if we allocate
// the adjustments array w/ new...
for (i = 0; i < glyphCount; i += 1) {
adjustments[i].setXPlacement(0);
adjustments[i].setYPlacement(0);
@ -262,21 +261,21 @@ void OpenTypeLayoutEngine::adjustGlyphPositions(const LEUnicode chars[], le_int3
yPlacement += adjustments[base].getYPlacement();
}
xPlacement = fFontInstance->xUnitsToPoints(xPlacement);
yPlacement = fFontInstance->yUnitsToPoints(yPlacement);
glyphStorage.adjustPosition(i, xAdjust + xPlacement, -(yAdjust + yPlacement), success);
xPlacement = fFontInstance->xUnitsToPoints(xPlacement);
yPlacement = fFontInstance->yUnitsToPoints(yPlacement);
glyphStorage.adjustPosition(i, xAdjust + xPlacement, -(yAdjust + yPlacement), success);
xAdjust += fFontInstance->xUnitsToPoints(xAdvance);
yAdjust += fFontInstance->yUnitsToPoints(yAdvance);
}
glyphStorage.adjustPosition(glyphCount, xAdjust, -yAdjust, success);
glyphStorage.adjustPosition(glyphCount, xAdjust, -yAdjust, success);
delete[] adjustments;
}
#if 0
// Don't know why this is here...
// Don't know why this is here...
LE_DELETE_ARRAY(fFeatureTags);
fFeatureTags = NULL;
#endif

View File

@ -1,7 +1,6 @@
/*
* @(#)OpenTypeTables.h 1.7 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)OpenTypeUtilities.cpp 1.6 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)OpenTypeUtilities.h 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)PairPositioningSubtables.cpp 1.7 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)PairPositioningSubtables.h 1.7 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)ScriptAndLanguage.h 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -36,11 +36,11 @@ SegmentArrayProcessor::~SegmentArrayProcessor()
void SegmentArrayProcessor::process(LEGlyphStorage &glyphStorage)
{
const LookupSegment *segments = segmentArrayLookupTable->segments;
le_int32 glyphCount = glyphStorage.getGlyphCount();
le_int32 glyphCount = glyphStorage.getGlyphCount();
le_int32 glyph;
for (glyph = 0; glyph < glyphCount; glyph += 1) {
LEGlyphID thisGlyph = glyphStorage[glyph];
LEGlyphID thisGlyph = glyphStorage[glyph];
const LookupSegment *lookupSegment = segmentArrayLookupTable->lookupSegment(segments, thisGlyph);
if (lookupSegment != NULL) {

View File

@ -36,17 +36,17 @@ SegmentSingleProcessor::~SegmentSingleProcessor()
void SegmentSingleProcessor::process(LEGlyphStorage &glyphStorage)
{
const LookupSegment *segments = segmentSingleLookupTable->segments;
le_int32 glyphCount = glyphStorage.getGlyphCount();
le_int32 glyphCount = glyphStorage.getGlyphCount();
le_int32 glyph;
for (glyph = 0; glyph < glyphCount; glyph += 1) {
LEGlyphID thisGlyph = glyphStorage[glyph];
LEGlyphID thisGlyph = glyphStorage[glyph];
const LookupSegment *lookupSegment = segmentSingleLookupTable->lookupSegment(segments, thisGlyph);
if (lookupSegment != NULL) {
TTGlyphID newGlyph = (TTGlyphID) LE_GET_GLYPH(thisGlyph) + SWAPW(lookupSegment->value);
glyphStorage[glyph] = LE_SET_GLYPH(thisGlyph, newGlyph);
glyphStorage[glyph] = LE_SET_GLYPH(thisGlyph, newGlyph);
}
}
}

View File

@ -35,15 +35,15 @@ SimpleArrayProcessor::~SimpleArrayProcessor()
void SimpleArrayProcessor::process(LEGlyphStorage &glyphStorage)
{
le_int32 glyphCount = glyphStorage.getGlyphCount();
le_int32 glyphCount = glyphStorage.getGlyphCount();
le_int32 glyph;
for (glyph = 0; glyph < glyphCount; glyph += 1) {
LEGlyphID thisGlyph = glyphStorage[glyph];
LEGlyphID thisGlyph = glyphStorage[glyph];
if (LE_GET_GLYPH(thisGlyph) < 0xFFFF) {
TTGlyphID newGlyph = SWAPW(simpleArrayLookupTable->valueArray[LE_GET_GLYPH(thisGlyph)]);
glyphStorage[glyph] = LE_SET_GLYPH(thisGlyph, newGlyph);
glyphStorage[glyph] = LE_SET_GLYPH(thisGlyph, newGlyph);
}
}
}

View File

@ -1,7 +1,6 @@
/*
* @(#)SinglePositioningSubtables.cpp 1.8 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)SinglePositioningSubtables.h 1.6 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)SingleSubstitutionSubtables.cpp 1.6 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)SingleSubstitutionSubtables.h 1.6 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -37,7 +37,7 @@ void SingleTableProcessor::process(LEGlyphStorage &glyphStorage)
{
const LookupSingle *entries = singleTableLookupTable->entries;
le_int32 glyph;
le_int32 glyphCount = glyphStorage.getGlyphCount();
le_int32 glyphCount = glyphStorage.getGlyphCount();
for (glyph = 0; glyph < glyphCount; glyph += 1) {
const LookupSingle *lookupSingle = singleTableLookupTable->lookupSingle(entries, glyphStorage[glyph]);

View File

@ -46,7 +46,7 @@ void StateTableProcessor::process(LEGlyphStorage &glyphStorage)
// XXX: reverse?
le_int32 currGlyph = 0;
le_int32 glyphCount = glyphStorage.getGlyphCount();
le_int32 glyphCount = glyphStorage.getGlyphCount();
beginStateTable();

View File

@ -1,7 +1,6 @@
/*
* @(#)StateTables.h 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)SubstitutionLookups.cpp 1.6 00/03/15
*
* (C) Copyright IBM Corp. 1998, 1999, 2000 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)SubstitutionLookups.h 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)SubtableProcessor.cpp 1.5 00/03/15
*
* (C) Copyright IBM Corp. 1998, 1999, 2000, 2001 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -74,7 +74,7 @@ le_int32 ThaiLayoutEngine::computeGlyphs(const LEUnicode chars[], le_int32 offse
return 0;
}
glyphStorage.allocateGlyphArray(count * 2, FALSE, success);
glyphStorage.allocateGlyphArray(count * 2, FALSE, success);
if (LE_FAILURE(success)) {
LE_DELETE_ARRAY(outChars);
@ -87,7 +87,7 @@ le_int32 ThaiLayoutEngine::computeGlyphs(const LEUnicode chars[], le_int32 offse
LE_DELETE_ARRAY(outChars);
glyphStorage.adoptGlyphCount(glyphCount);
glyphStorage.adoptGlyphCount(glyphCount);
return glyphCount;
}

View File

@ -145,7 +145,7 @@ LEUnicode ThaiShaping::noDescenderCOD(LEUnicode cod, le_uint8 glyphSet)
le_uint8 ThaiShaping::doTransition (StateTransition transition, LEUnicode currChar, le_int32 inputIndex, le_uint8 glyphSet,
LEUnicode errorChar, LEUnicode *outputBuffer, LEGlyphStorage &glyphStorage, le_int32 &outputIndex)
{
LEErrorCode success = LE_NO_ERROR;
LEErrorCode success = LE_NO_ERROR;
switch (transition.action) {
case tA:

View File

@ -37,17 +37,17 @@ TrimmedArrayProcessor::~TrimmedArrayProcessor()
void TrimmedArrayProcessor::process(LEGlyphStorage &glyphStorage)
{
le_int32 glyphCount = glyphStorage.getGlyphCount();
le_int32 glyphCount = glyphStorage.getGlyphCount();
le_int32 glyph;
for (glyph = 0; glyph < glyphCount; glyph += 1) {
LEGlyphID thisGlyph = glyphStorage[glyph];
LEGlyphID thisGlyph = glyphStorage[glyph];
TTGlyphID ttGlyph = (TTGlyphID) LE_GET_GLYPH(thisGlyph);
if ((ttGlyph > firstGlyph) && (ttGlyph < lastGlyph)) {
TTGlyphID newGlyph = SWAPW(trimmedArrayLookupTable->valueArray[ttGlyph - firstGlyph]);
glyphStorage[glyph] = LE_SET_GLYPH(thisGlyph, newGlyph);
glyphStorage[glyph] = LE_SET_GLYPH(thisGlyph, newGlyph);
}
}
}

View File

@ -1,7 +1,6 @@
/*
* @(#)ValueRecords.cpp 1.6 00/03/15
*
* (C) Copyright IBM Corp. 1998, 1999, 2000, 2001 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)ValueRecords.h 1.6 00/03/15
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)loengine.cpp 1.0 00/12/07
*
* (C) Copyright IBM Corp. 1998, 1999, 2000 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,7 +1,6 @@
/*
* @(#)loengine.h 1.0 00/12/11
*
* (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
*
*/

View File

@ -1,6 +1,6 @@
/*
**********************************************************************
* Copyright (C) 2002-2003, International Business Machines
* Copyright (C) 2002-2004, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
*/
@ -217,7 +217,7 @@ ParagraphLayout::ParagraphLayout(const LEUnicode chars[], le_int32 count,
const ValueRuns *scriptRuns,
const LocaleRuns *localeRuns,
UBiDiLevel paragraphLevel, le_bool vertical,
LEErrorCode &status)
LEErrorCode &status)
: fChars(chars), fCharCount(count),
fFontRuns(NULL), fLevelRuns(levelRuns), fScriptRuns(scriptRuns), fLocaleRuns(localeRuns),
fVertical(vertical), fClientLevels(TRUE), fClientScripts(TRUE), fClientLocales(TRUE), fEmbeddingLevels(NULL),
@ -230,10 +230,10 @@ ParagraphLayout::ParagraphLayout(const LEUnicode chars[], le_int32 count,
fFirstVisualRun(-1), fLastVisualRun(-1),*/ fVisualRunLastX(0), fVisualRunLastY(0)
{
if (LE_FAILURE(status)) {
fCharCount = -1;
return;
}
if (LE_FAILURE(status)) {
fCharCount = -1;
return;
}
// FIXME: should check the limit arrays for consistency...
@ -249,11 +249,11 @@ ParagraphLayout::ParagraphLayout(const LEUnicode chars[], le_int32 count,
computeSubFonts(fontRuns, status);
if (LE_FAILURE(status)) {
//other stuff?
fCharCount = -1;
return;
}
if (LE_FAILURE(status)) {
//other stuff?
fCharCount = -1;
return;
}
// now intersect the font, direction and script runs...
const RunArray *styleRunArrays[] = {fFontRuns, fLevelRuns, fScriptRuns, fLocaleRuns};
@ -301,13 +301,13 @@ ParagraphLayout::ParagraphLayout(const LEUnicode chars[], le_int32 count,
// For each layout get the positions and convert them into glyph widths, in
// logical order. Get the glyph-to-char mapping, offset by starting index in the
// character array. Swap the glyph width and glyph-to-char arrays into logical order.
// Finally, fill in the char-to-glyph mappings.
// Finally, fill in the char-to-glyph mappings.
fGlyphWidths = LE_NEW_ARRAY(float, fGlyphCount);
fGlyphToCharMap = LE_NEW_ARRAY(le_int32, fGlyphCount + 1);
fCharToMinGlyphMap = LE_NEW_ARRAY(le_int32, fCharCount + 1);
fCharToMaxGlyphMap = LE_NEW_ARRAY(le_int32, fCharCount + 1);
fCharToMaxGlyphMap = LE_NEW_ARRAY(le_int32, fCharCount + 1);
le_int32 glyph;
le_int32 glyph;
for (runStart = 0, run = 0; run < fStyleRunCount; run += 1) {
LayoutEngine *engine = fStyleRunInfo[run].engine;
@ -338,21 +338,21 @@ ParagraphLayout::ParagraphLayout(const LEUnicode chars[], le_int32 count,
fGlyphToCharMap[fGlyphCount] = fCharCount;
for (glyph = fGlyphCount - 1; glyph >= 0; glyph -= 1) {
le_int32 ch = fGlyphToCharMap[glyph];
for (glyph = fGlyphCount - 1; glyph >= 0; glyph -= 1) {
le_int32 ch = fGlyphToCharMap[glyph];
fCharToMinGlyphMap[ch] = glyph;
}
fCharToMinGlyphMap[ch] = glyph;
}
fCharToMinGlyphMap[fCharCount] = fGlyphCount;
for (glyph = 0; glyph < fGlyphCount; glyph += 1) {
le_int32 ch = fGlyphToCharMap[glyph];
for (glyph = 0; glyph < fGlyphCount; glyph += 1) {
le_int32 ch = fGlyphToCharMap[glyph];
fCharToMaxGlyphMap[ch] = glyph;
}
fCharToMaxGlyphMap[ch] = glyph;
}
fCharToMaxGlyphMap[fCharCount] = fGlyphCount;
fCharToMaxGlyphMap[fCharCount] = fGlyphCount;
}
ParagraphLayout::~ParagraphLayout()
@ -395,10 +395,10 @@ ParagraphLayout::~ParagraphLayout()
fCharToMinGlyphMap = NULL;
}
if (fCharToMaxGlyphMap != NULL) {
LE_DELETE_ARRAY(fCharToMaxGlyphMap);
fCharToMaxGlyphMap = NULL;
}
if (fCharToMaxGlyphMap != NULL) {
LE_DELETE_ARRAY(fCharToMaxGlyphMap);
fCharToMaxGlyphMap = NULL;
}
if (fGlyphWidths != NULL) {
LE_DELETE_ARRAY(fGlyphWidths);
@ -516,11 +516,11 @@ ParagraphLayout::Line *ParagraphLayout::nextLine(float width)
fLineEnd = previousBreak(fGlyphToCharMap[glyph]);
// If this break is at or before the last one,
// find a glyph, starting at the one which didn't
// fit, that produces a break after the last one.
while (fLineEnd <= fLineStart) {
fLineEnd = fGlyphToCharMap[glyph++];
}
// find a glyph, starting at the one which didn't
// fit, that produces a break after the last one.
while (fLineEnd <= fLineStart) {
fLineEnd = fGlyphToCharMap[glyph++];
}
} else {
fLineEnd = fCharCount;
}
@ -602,9 +602,9 @@ void ParagraphLayout::computeLocales()
void ParagraphLayout::computeSubFonts(const FontRuns *fontRuns, LEErrorCode &status)
{
if (LE_FAILURE(status)) {
return;
}
if (LE_FAILURE(status)) {
return;
}
const RunArray *styleRunArrays[] = {fontRuns, fScriptRuns};
le_int32 styleCount = sizeof styleRunArrays / sizeof styleRunArrays[0];
@ -627,10 +627,10 @@ void ParagraphLayout::computeSubFonts(const FontRuns *fontRuns, LEErrorCode &sta
while (offset < styleRunLimits[run]) {
const LEFontInstance *subFont = runFont->getSubFont(fChars, &offset, styleRunLimits[run], script, status);
if (LE_FAILURE(status)) {
delete subFontRuns;
goto cleanUp;
}
if (LE_FAILURE(status)) {
delete subFontRuns;
goto cleanUp;
}
subFontRuns->add(subFont, offset);
}
@ -844,7 +844,7 @@ void ParagraphLayout::appendRun(ParagraphLayout::Line *line, le_int32 run, le_in
for (ch = firstChar; ch <= lastChar; ch += 1) {
le_int32 minGlyph = fCharToMinGlyphMap[ch];
le_int32 maxGlyph = fCharToMaxGlyphMap[ch];
le_int32 maxGlyph = fCharToMaxGlyphMap[ch];
if (minGlyph < leftGlyph) {
leftGlyph = minGlyph;
@ -873,7 +873,7 @@ void ParagraphLayout::appendRun(ParagraphLayout::Line *line, le_int32 run, le_in
// want the left-most glyph to start at the final x position of the
// previous run, even though this glyph may be in the middle of the
// run.
fVisualRunLastX -= fStyleRunInfo[run].positions[leftGlyph * 2];
fVisualRunLastX -= fStyleRunInfo[run].positions[leftGlyph * 2];
// Make rightGlyph be the glyph just to the right of
// the run's glyphs
@ -975,11 +975,11 @@ le_int32 ParagraphLayout::Line::getLeading() const
le_int32 ParagraphLayout::Line::getWidth() const
{
const VisualRun *lastRun = getVisualRun(fRunCount - 1);
le_int32 glyphCount = lastRun->getGlyphCount();
const float *positions = lastRun->getPositions();
return (le_int32) positions[glyphCount * 2];
const VisualRun *lastRun = getVisualRun(fRunCount - 1);
le_int32 glyphCount = lastRun->getGlyphCount();
const float *positions = lastRun->getPositions();
return (le_int32) positions[glyphCount * 2];
}
const ParagraphLayout::VisualRun *ParagraphLayout::Line::getVisualRun(le_int32 runIndex) const

View File

@ -1,6 +1,6 @@
/*
**********************************************************************
* Copyright (C) 2002-2003, International Business Machines
* Copyright (C) 2002-2004, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
*/
@ -104,16 +104,16 @@ public:
*/
le_int32 getLeading() const;
/**
* Get the width of the line. This is a convenience method
* which returns the last X position of the last visual run
* in the line.
*
* @return the width of the line.
*
* @draft ICU 2.8
*/
le_int32 getWidth() const;
/**
* Get the width of the line. This is a convenience method
* which returns the last X position of the last visual run
* in the line.
*
* @return the width of the line.
*
* @draft ICU 2.8
*/
le_int32 getWidth() const;
/**
* Get a <code>ParagraphLayout::VisualRun</code> object for a given
@ -166,8 +166,8 @@ public:
VisualRun **fRuns;
Line();
Line(const Line &other);
Line &operator=(const Line & /*other*/) { return *this; };
Line(const Line &other);
Line &operator=(const Line & /*other*/) { return *this; };
void computeMetrics();
@ -329,8 +329,8 @@ public:
friend class Line;
VisualRun();
VisualRun(const VisualRun &other);
VisualRun &operator=(const VisualRun &other) { return *this; };
VisualRun(const VisualRun &other);
VisualRun &operator=(const VisualRun &other) { return *this; };
VisualRun(const LEFontInstance *font, UBiDiDirection direction, le_int32 glyphCount,
const LEGlyphID glyphs[], const float positions[], const le_int32 glyphToCharMap[]);
@ -346,9 +346,9 @@ public:
*
* Clients can optionally specify directional runs and / or script runs. If these aren't specified
* they will be computed.
*
* If any errors are encountered during construction, <code>status</code> will be set, and the object
* will be set to be empty.
*
* If any errors are encountered during construction, <code>status</code> will be set, and the object
* will be set to be empty.
*
* @param chars is an array of the characters in the paragraph
*
@ -372,7 +372,7 @@ public:
*
* @param vertical is <code>TRUE</code> if the paragraph should be set vertically.
*
* @param status will be set to any error code encountered during construction.
* @param status will be set to any error code encountered during construction.
*
* @see ubidi.h
* @see LEFontInstance.h
@ -387,7 +387,7 @@ public:
const ValueRuns *scriptRuns,
const LocaleRuns *localeRuns,
UBiDiLevel paragraphLevel, le_bool vertical,
LEErrorCode &status);
LEErrorCode &status);
/**
* The destructor. Virtual so that it works correctly with
@ -505,7 +505,7 @@ public:
*
* @return a <code>ParagraphLayout::Line</code> object which represents the line. The caller
* is responsible for deleting the object. Returns <code>NULL</code> if there are no
* more lines in the paragraph.
* more lines in the paragraph.
*
* @see ParagraphLayout::Line
*
@ -598,7 +598,7 @@ private:
le_int32 *fGlyphToCharMap;
le_int32 *fCharToMinGlyphMap;
le_int32 *fCharToMaxGlyphMap;
le_int32 *fCharToMaxGlyphMap;
float *fGlyphWidths;
le_int32 fGlyphCount;

View File

@ -1,6 +1,6 @@
/*
**********************************************************************
* Copyright (C) 2003, International Business Machines
* Copyright (C) 2003-2004, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
*/
@ -48,7 +48,7 @@ public:
* array of limit indices.
*
* @param limits is an array of limit indices. This array must remain
* valid until the <code>RunArray</code> object is destroyed.
* valid until the <code>RunArray</code> object is destroyed.
*
* @param count is the number of entries in the limit array.
*
@ -195,9 +195,9 @@ private:
le_int32 ensureCapacity();
RunArray();
RunArray(const RunArray & /*other*/);
RunArray &operator=(const RunArray & /*other*/) { return *this; };
RunArray();
RunArray(const RunArray & /*other*/);
RunArray &operator=(const RunArray & /*other*/) { return *this; };
const le_int32 *fLimits;
le_int32 fCount;
@ -205,15 +205,15 @@ private:
};
inline RunArray::RunArray()
: UObject(), fClientArrays(FALSE), fLimits(NULL), fCount(0), fCapacity(0)
: UObject(), fClientArrays(FALSE), fLimits(NULL), fCount(0), fCapacity(0)
{
// nothing else to do...
// nothing else to do...
}
inline RunArray::RunArray(const RunArray & /*other*/)
: UObject(), fClientArrays(FALSE), fLimits(NULL), fCount(0), fCapacity(0)
: UObject(), fClientArrays(FALSE), fLimits(NULL), fCount(0), fCapacity(0)
{
// nothing else to do...
// nothing else to do...
}
inline RunArray::RunArray(const le_int32 *limits, le_int32 count)
@ -255,11 +255,11 @@ public:
* and limit indices.
*
* @param fonts is the address of an array of pointers to <code>LEFontInstance</code> objects. This
* array, and the <code>LEFontInstance</code> objects to which it points must remain
* valid until the <code>FontRuns</code> object is destroyed.
* array, and the <code>LEFontInstance</code> objects to which it points must remain
* valid until the <code>FontRuns</code> object is destroyed.
*
* @param limits is the address of an array of limit indices. This array must remain valid until
* the <code>FontRuns</code> object is destroyed.
* the <code>FontRuns</code> object is destroyed.
*
* @param count is the number of entries in the two arrays.
*
@ -317,7 +317,7 @@ public:
* arrays, and use the returned run index to store data their own arrays.
*
* @param font is the address of the <code>LEFontInstance</code> to add. This object must
* remain valid until the <code>FontRuns</code> object is destroyed.
* remain valid until the <code>FontRuns</code> object is destroyed.
*
* @param limit is the limit index to add
*
@ -347,9 +347,9 @@ protected:
private:
FontRuns();
FontRuns(const FontRuns &other);
FontRuns &operator=(const FontRuns & /*other*/) { return *this; };
FontRuns();
FontRuns(const FontRuns &other);
FontRuns &operator=(const FontRuns & /*other*/) { return *this; };
/**
* The address of this static class variable serves as this class's ID
@ -361,15 +361,15 @@ private:
};
inline FontRuns::FontRuns()
: RunArray(0), fFonts(NULL)
: RunArray(0), fFonts(NULL)
{
// nothing else to do...
// nothing else to do...
}
inline FontRuns::FontRuns(const FontRuns & /*other*/)
: RunArray(0), fFonts(NULL)
: RunArray(0), fFonts(NULL)
{
// nothing else to do...
// nothing else to do...
}
inline FontRuns::FontRuns(const LEFontInstance **fonts, const le_int32 *limits, le_int32 count)
@ -392,11 +392,11 @@ public:
* and limit indices.
*
* @param locales is the address of an array of pointers to <code>Locale</code> objects. This array,
* and the <code>Locale</code> objects to which it points, must remain valid until
* the <code>LocaleRuns</code> object is destroyed.
* and the <code>Locale</code> objects to which it points, must remain valid until
* the <code>LocaleRuns</code> object is destroyed.
*
* @param limits is the address of an array of limit indices. This array must remain valid until the
* <code>LocaleRuns</code> object is destroyed.
* <code>LocaleRuns</code> object is destroyed.
*
* @param count is the number of entries in the two arrays.
*
@ -454,7 +454,7 @@ public:
* arrays, and use the returned run index to store data their own arrays.
*
* @param locale is the address of the <code>Locale</code> to add. This object must remain valid
* until the <code>LocaleRuns</code> object is destroyed.
* until the <code>LocaleRuns</code> object is destroyed.
*
* @param limit is the limit index to add
*
@ -484,9 +484,9 @@ protected:
private:
LocaleRuns();
LocaleRuns(const LocaleRuns &other);
LocaleRuns &operator=(const LocaleRuns & /*other*/) { return *this; };
LocaleRuns();
LocaleRuns(const LocaleRuns &other);
LocaleRuns &operator=(const LocaleRuns & /*other*/) { return *this; };
/**
* The address of this static class variable serves as this class's ID
@ -498,15 +498,15 @@ private:
};
inline LocaleRuns::LocaleRuns()
: RunArray(0), fLocales(NULL)
: RunArray(0), fLocales(NULL)
{
// nothing else to do...
// nothing else to do...
}
inline LocaleRuns::LocaleRuns(const LocaleRuns & /*other*/)
: RunArray(0), fLocales(NULL)
: RunArray(0), fLocales(NULL)
{
// nothing else to do...
// nothing else to do...
}
inline LocaleRuns::LocaleRuns(const Locale **locales, const le_int32 *limits, le_int32 count)
@ -528,10 +528,10 @@ public:
* and limit indices.
*
* @param values is the address of an array of integer. This array must remain valid until
* the <code>ValueRuns</code> object is destroyed.
* the <code>ValueRuns</code> object is destroyed.
*
* @param limits is the address of an array of limit indices. This array must remain valid until
* the <code>ValueRuns</code> object is destroyed.
* the <code>ValueRuns</code> object is destroyed.
*
* @param count is the number of entries in the two arrays.
*
@ -618,9 +618,9 @@ protected:
private:
ValueRuns();
ValueRuns(const ValueRuns &other);
ValueRuns &operator=(const ValueRuns & /*other*/) { return *this; };
ValueRuns();
ValueRuns(const ValueRuns &other);
ValueRuns &operator=(const ValueRuns & /*other*/) { return *this; };
/**
* The address of this static class variable serves as this class's ID
@ -632,15 +632,15 @@ private:
};
inline ValueRuns::ValueRuns()
: RunArray(0), fValues(NULL)
: RunArray(0), fValues(NULL)
{
// nothing else to do...
// nothing else to do...
}
inline ValueRuns::ValueRuns(const ValueRuns & /*other*/)
: RunArray(0), fValues(NULL)
: RunArray(0), fValues(NULL)
{
// nothing else to do...
// nothing else to do...
}
inline ValueRuns::ValueRuns(const le_int32 *values, const le_int32 *limits, le_int32 count)