bool HarfBuzzShaper::shape(GlyphBuffer* glyphBuffer) { if (!collectHarfBuzzRuns()) return false; m_totalWidth = 0; if (!shapeHarfBuzzRuns()) return false; m_totalWidth = roundf(m_totalWidth); if (glyphBuffer) fillGlyphBuffer(glyphBuffer); return true; }
bool HarfBuzzShaper::shape(GlyphBuffer* glyphBuffer) { if (!collectHarfBuzzRuns()) return false; m_totalWidth = 0; // WebKit doesn't set direction when calulating widths. Leave the direction setting to // HarfBuzz when we are calculating widths (except when directionalOverride() is set). if (!shapeHarfBuzzRuns(glyphBuffer || m_run.directionalOverride())) return false; m_totalWidth = roundf(m_totalWidth); if (glyphBuffer && !fillGlyphBuffer(glyphBuffer)) return false; return true; }