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