Lines Matching full:shaper_item
45 HB_Bool HB_HebrewShape(HB_ShaperItem *shaper_item)
57 assert(shaper_item->item.script == HB_Script_Hebrew);
60 if (HB_SelectScript(shaper_item, hebrew_features)) {
62 const int availableGlyphs = shaper_item->num_glyphs;
63 if (!HB_ConvertStringToGlyphIndices(shaper_item))
66 HB_HeuristicSetGlyphAttributes(shaper_item);
67 HB_OpenTypeShape(shaper_item, /*properties*/0);
68 return HB_OpenTypePosition(shaper_item, availableGlyphs, /*doLogClusters*/TRUE);
73 const HB_UChar16 *uc = shaper_item->string + shaper_item->item.pos;
74 unsigned short *logClusters = shaper_item->log_clusters;
75 HB_GlyphAttributes *attributes = shaper_item->attributes;
82 HB_STACKARRAY(HB_UChar16, shapedChars, 2 * shaper_item->item.length);
86 for (i = 1; i < shaper_item->item.length; ++i) {
145 if (shaper_item->font->klass->canRender(shaper_item->font, (HB_UChar16 *)&shaped, 1)) {
171 haveGlyphs = shaper_item->font->klass
172 ->convertStringToGlyphIndices(shaper_item->font,
174 shaper_item->glyphs, &shaper_item->num_glyphs,
175 shaper_item->item.bidiLevel % 2);
182 HB_HeuristicPosition(shaper_item);