Lines Matching refs:shaper_item
560 HB_Bool HB_ConvertStringToGlyphIndices(HB_ShaperItem *shaper_item) in HB_ConvertStringToGlyphIndices() argument
562 if (shaper_item->glyphIndicesPresent) { in HB_ConvertStringToGlyphIndices()
563 shaper_item->num_glyphs = shaper_item->initialGlyphCount; in HB_ConvertStringToGlyphIndices()
564 shaper_item->glyphIndicesPresent = false; in HB_ConvertStringToGlyphIndices()
567 return shaper_item->font->klass in HB_ConvertStringToGlyphIndices()
568 ->convertStringToGlyphIndices(shaper_item->font, in HB_ConvertStringToGlyphIndices()
569 … shaper_item->string + shaper_item->item.pos, shaper_item->item.length, in HB_ConvertStringToGlyphIndices()
570 shaper_item->glyphs, &shaper_item->num_glyphs, in HB_ConvertStringToGlyphIndices()
571 shaper_item->item.bidiLevel % 2); in HB_ConvertStringToGlyphIndices()
574 HB_Bool HB_BasicShape(HB_ShaperItem *shaper_item) in HB_BasicShape() argument
577 const int availableGlyphs = shaper_item->num_glyphs; in HB_BasicShape()
580 if (!HB_ConvertStringToGlyphIndices(shaper_item)) in HB_BasicShape()
583 HB_HeuristicSetGlyphAttributes(shaper_item); in HB_BasicShape()
586 if (HB_SelectScript(shaper_item, basic_features)) { in HB_BasicShape()
587 HB_OpenTypeShape(shaper_item, /*properties*/0); in HB_BasicShape()
588 return HB_OpenTypePosition(shaper_item, availableGlyphs, /*doLogClusters*/true); in HB_BasicShape()
592 HB_HeuristicPosition(shaper_item); in HB_BasicShape()
1052 HB_Bool HB_SelectScript(HB_ShaperItem *shaper_item, const HB_OpenTypeFeature *features) in HB_SelectScript() argument
1054 HB_Script script = shaper_item->item.script; in HB_SelectScript()
1056 if (!shaper_item->face->supported_scripts[script]) in HB_SelectScript()
1059 HB_Face face = shaper_item->face; in HB_SelectScript()
1060 if (face->current_script == script && face->current_flags == shaper_item->shaperFlags) in HB_SelectScript()
1064 face->current_flags = shaper_item->shaperFlags; in HB_SelectScript()
1346 HB_Bool HB_ShapeItem(HB_ShaperItem *shaper_item) in HB_ShapeItem() argument
1349 if (shaper_item->num_glyphs < shaper_item->item.length) { in HB_ShapeItem()
1350 shaper_item->num_glyphs = shaper_item->item.length; in HB_ShapeItem()
1353 assert(shaper_item->item.script < HB_ScriptCount); in HB_ShapeItem()
1354 result = HB_ScriptEngines[shaper_item->item.script].shape(shaper_item); in HB_ShapeItem()
1355 shaper_item->glyphIndicesPresent = false; in HB_ShapeItem()