Home | History | Annotate | Download | only in src

Lines Matching refs:item

254 static HB_Bool myanmar_shape_syllable(HB_Bool openType, HB_ShaperItem *item, HB_Bool invalid)
257 // MMDEBUG("\nsyllable from %d len %d, str='%s'", item->item.pos, item->item.length,
258 // item->string->mid(item->from, item->length).toUtf8().data());
262 const int availableGlyphs = item->num_glyphs;
264 const HB_UChar16 *uc = item->string + item->item.pos;
285 assert(item->item.length < 32);
289 for (i = 0; i < (int)item->item.length; i++) {
293 for (i = 0; i < (int)item->item.length; ++i) {
302 && i + 2 < (int)item->item.length
313 && i + 1 < (int)item->item.length
348 for (i = 0; i < (int)item->item.length; ++i) {
408 if (!item->font->klass->convertStringToGlyphIndices(item->font,
410 item->glyphs, &item->num_glyphs,
411 item->item.bidiLevel % 2))
416 item->attributes[i].mark = FALSE;
417 item->attributes[i].clusterStart = FALSE;
418 item->attributes[i].justification = 0;
419 item->attributes[i].zeroWidth = FALSE;
446 HB_OpenTypeShape(item, where);
447 if (!HB_OpenTypePosition(item, availableGlyphs, /*doLogClusters*/FALSE))
453 HB_HeuristicPosition(item);
456 item->attributes[0].clusterStart = TRUE;
460 HB_Bool HB_MyanmarShape(HB_ShaperItem *item)
463 unsigned short *logClusters = item->log_clusters;
465 HB_ShaperItem syllable = *item;
468 int sstart = item->item.pos;
469 int end = sstart + item->item.length;
472 assert(item->item.script == HB_Script_Myanmar);
474 openType = HB_SelectScript(item, myanmar_features);
477 MMDEBUG("myanmar_shape: from %d length %d", item->item.pos, item->item.length);
480 int send = myanmar_nextSyllableBoundary(item->string, sstart, end, &invalid);
483 syllable.item.pos = sstart;
484 syllable.item.length = send-sstart;
485 syllable.glyphs = item->glyphs + first_glyph;
486 syllable.attributes = item->attributes + first_glyph;
487 syllable.advances = item->advances + first_glyph;
488 syllable.offsets = item->offsets + first_glyph;
489 syllable.num_glyphs = item->num_glyphs - first_glyph;
492 item->num_glyphs += syllable.num_glyphs;
499 MMDEBUG(" %d -> glyph %x", i, item->glyphs[i]);
503 logClusters[i-item->item.pos] = first_glyph;
508 item->num_glyphs = first_glyph;