Lines Matching refs:success
141 LEErrorCode &success)
145 if (LE_FAILURE(success)) {
151 success = LE_MEMORY_ALLOCATION_ERROR;
160 void LayoutEngine::getCharIndices(le_int32 charIndices[], le_int32 indexBase, LEErrorCode &success) const
162 fGlyphStorage->getCharIndices(charIndices, indexBase, success);
165 void LayoutEngine::getCharIndices(le_int32 charIndices[], LEErrorCode &success) const
167 fGlyphStorage->getCharIndices(charIndices, success);
171 void LayoutEngine::getGlyphs(le_uint32 glyphs[], le_uint32 extraBits, LEErrorCode &success) const
173 fGlyphStorage->getGlyphs(glyphs, extraBits, success);
176 void LayoutEngine::getGlyphs(LEGlyphID glyphs[], LEErrorCode &success) const
178 fGlyphStorage->getGlyphs(glyphs, success);
182 void LayoutEngine::getGlyphPositions(float positions[], LEErrorCode &success) const
184 fGlyphStorage->getGlyphPositions(positions, success);
187 void LayoutEngine::getGlyphPosition(le_int32 glyphIndex, float &x, float &y, LEErrorCode &success) const
189 fGlyphStorage->getGlyphPosition(glyphIndex, x, y, success);
193 LEUnicode *&outChars, LEGlyphStorage &glyphStorage, LEErrorCode &success)
195 if (LE_FAILURE(success)) {
200 success = LE_ILLEGAL_ARGUMENT_ERROR;
212 success = LE_MEMORY_ALLOCATION_ERROR;
220 fakeGlyphStorage.allocateGlyphArray(count, rightToLeft, success);
222 if (LE_FAILURE(success)) {
235 success = LE_MEMORY_ALLOCATION_ERROR;
243 fakeGlyphStorage.allocateAuxData(success);
245 if (LE_FAILURE(success)) {
257 fakeGlyphStorage.setAuxData(out, canonFeatures, success);
264 outCharCount = canonGSUBTable->process(fakeGlyphStorage, rightToLeft, scriptTag, langSysTag, NULL, substitutionFilter, canonFeatureMap, canonFeatureMapCount, FALSE, success);
266 if (LE_FAILURE(success)) {
285 success = LE_MEMORY_ALLOCATION_ERROR;
300 LEGlyphStorage &glyphStorage, LEErrorCode &success)
302 if (LE_FAILURE(success)) {
307 success = LE_ILLEGAL_ARGUMENT_ERROR;
312 le_int32 outCharCount = characterProcessing(chars, offset, count, max, rightToLeft, outChars, glyphStorage, success);
315 mapCharsToGlyphs(outChars, 0, outCharCount, rightToLeft, rightToLeft, glyphStorage, success);
318 mapCharsToGlyphs(chars, offset, count, rightToLeft, rightToLeft, glyphStorage, success);
326 void LayoutEngine::positionGlyphs(LEGlyphStorage &glyphStorage, float x, float y, LEErrorCode &success)
328 if (LE_FAILURE(success)) {
332 glyphStorage.allocatePositions(success);
334 if (LE_FAILURE(success)) {
343 glyphStorage.setPosition(i, x, y, success);
350 glyphStorage.setPosition(glyphCount, x, y, success);
354 LEGlyphStorage &glyphStorage, LEErrorCode &success)
356 if (LE_FAILURE(success)) {
361 success = LE_ILLEGAL_ARGUMENT_ERROR;
368 adjustMarkGlyphs(&chars[offset], count, reverse, glyphStorage, &filter, success);
381 void LayoutEngine::adjustMarkGlyphs(LEGlyphStorage &glyphStorage, LEGlyphFilter *markFilter, LEErrorCode &success)
386 if (LE_FAILURE(success)) {
391 success = LE_ILLEGAL_ARGUMENT_ERROR;
397 glyphStorage.getGlyphPosition(0, prev, ignore, success);
402 glyphStorage.getGlyphPosition(p + 1, next, ignore, success);
405 glyphStorage.adjustPosition(p, xAdjust, 0, success);
414 glyphStorage.adjustPosition(glyphCount, xAdjust, 0, success);
417 void LayoutEngine::adjustMarkGlyphs(const LEUnicode chars[], le_int32 charCount, le_bool reverse, LEGlyphStorage &glyphStorage, LEGlyphFilter *markFilter, LEErrorCode &success)
423 if (LE_FAILURE(success)) {
428 success = LE_ILLEGAL_ARGUMENT_ERROR;
439 glyphStorage.getGlyphPosition(0, prev, ignore, success);
444 glyphStorage.getGlyphPosition(p + 1, next, ignore, success);
447 glyphStorage.adjustPosition(p, xAdjust, 0, success);
456 glyphStorage.adjustPosition(glyphCount, xAdjust, 0, success);
465 LEGlyphStorage &glyphStorage, LEErrorCode &success)
467 if (LE_FAILURE(success)) {
471 glyphStorage.allocateGlyphArray(count, reverse, success);
482 float x, float y, LEErrorCode &success)
484 if (LE_FAILURE(success)) {
489 success = LE_ILLEGAL_ARGUMENT_ERROR;
499 glyphCount = computeGlyphs(chars, offset, count, max, rightToLeft, *fGlyphStorage, success);
500 positionGlyphs(*fGlyphStorage, x, y, success);
501 adjustGlyphPositions(chars, offset, count, rightToLeft, *fGlyphStorage, success);
511 LayoutEngine *LayoutEngine::layoutEngineFactory(const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode, LEErrorCode &success)
514 return LayoutEngine::layoutEngineFactory(fontInstance, scriptCode, languageCode, 3, success);
517 LayoutEngine *LayoutEngine::layoutEngineFactory(const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode, le_int32 typoFlags, LEErrorCode &success)
522 if (LE_FAILURE(success)) {
536 result = new IndicOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, TRUE, gsubTable, success);
550 result = new IndicOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, FALSE, gsubTable, success);
554 result = new ArabicOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, gsubTable, success);
559 result = new OpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags & ~kTypoFlagLiga, gsubTable, success);
563 result = new HangulOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, gsubTable, success);
575 result = new HanOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, gsubTable, success);
581 result = new OpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, gsubTable, success);
588 result = new TibetanOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, gsubTable, success);
592 result = new KhmerOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, gsubTable, success);
596 result = new OpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, gsubTable, success);
603 result = new GXLayoutEngine(fontInstance, scriptCode, languageCode, morphTable, success);
617 result = new IndicOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, success);
623 result = new UnicodeArabicOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, success);
630 result = new ThaiLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, success);
634 result = new HangulOpenTypeLayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, success);
638 result = new LayoutEngine(fontInstance, scriptCode, languageCode, typoFlags, success);
644 if (result && LE_FAILURE(success)) {
650 success = LE_MEMORY_ALLOCATION_ERROR;