8056276: Fontmanager feature improvements
Reviewed-by: srl, bae, mschoene
This commit is contained in:
parent
6c5144c6bd
commit
71e08b387a
@ -45,6 +45,9 @@ le_uint32 CursiveAttachmentSubtable::process(const LEReferenceTo<CursiveAttachme
|
||||
le_int32 coverageIndex = getGlyphCoverage(base, glyphID, success);
|
||||
le_uint16 eeCount = SWAPW(entryExitCount);
|
||||
|
||||
LEReferenceToArrayOf<EntryExitRecord>
|
||||
entryExitRecordsArrayRef(base, success, entryExitRecords, coverageIndex);
|
||||
|
||||
if (coverageIndex < 0 || coverageIndex >= eeCount || LE_FAILURE(success)) {
|
||||
glyphIterator->setCursiveGlyph();
|
||||
return 0;
|
||||
|
@ -40,6 +40,9 @@ U_NAMESPACE_BEGIN
|
||||
|
||||
LEReferenceTo<FeatureTable> FeatureListTable::getFeatureTable(const LETableReference &base, le_uint16 featureIndex, LETag *featureTag, LEErrorCode &success) const
|
||||
{
|
||||
LEReferenceToArrayOf<FeatureRecord>
|
||||
featureRecordArrayRef(base, success, featureRecordArray, featureIndex);
|
||||
|
||||
if (featureIndex >= SWAPW(featureCount) || LE_FAILURE(success)) {
|
||||
return LEReferenceTo<FeatureTable>();
|
||||
}
|
||||
|
@ -64,6 +64,9 @@ le_uint32 LigatureSubstitutionSubtable::process(const LETableReference &base, Gl
|
||||
LEReferenceTo<LigatureTable> ligTable(ligSetTable, success, ligTableOffset);
|
||||
if(LE_FAILURE(success)) { return 0; }
|
||||
le_uint16 compCount = SWAPW(ligTable->compCount) - 1;
|
||||
LEReferenceToArrayOf<TTGlyphID>
|
||||
componentArrayRef(base, success, ligTable->componentArray, compCount);
|
||||
if (LE_FAILURE(success)) { return 0; }
|
||||
le_int32 startPosition = glyphIterator->getCurrStreamPosition();
|
||||
TTGlyphID ligGlyph = SWAPW(ligTable->ligGlyph);
|
||||
le_uint16 comp;
|
||||
|
@ -61,6 +61,8 @@ le_uint32 MultipleSubstitutionSubtable::process(const LETableReference &base, Gl
|
||||
|
||||
le_int32 coverageIndex = getGlyphCoverage(base, glyph, success);
|
||||
le_uint16 seqCount = SWAPW(sequenceCount);
|
||||
LEReferenceToArrayOf<Offset>
|
||||
sequenceTableOffsetArrayRef(base, success, sequenceTableOffsetArray, seqCount);
|
||||
|
||||
if (LE_FAILURE(success)) {
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user