Home | History | Annotate | Download | only in fonts

Lines Matching defs:charData

72 GlyphData WidthIterator::glyphDataForCharacter(CharacterData& charData, bool normalizeSpace)
78 return renderingContext->glyphDataForCharacter(*m_font, m_run, *this, charData.character,
79 m_run.rtl(), charData.characterOffset, charData.clusterLength);
83 return m_font->glyphDataForCharacter(charData.character, m_run.rtl(), normalizeSpace);
112 float WidthIterator::adjustSpacing(float width, const CharacterData& charData,
120 bool treatAsSpace = Character::treatAsSpace(charData.character);
121 if (treatAsSpace || (expandAroundIdeographs && Character::isCJKIdeographOrSymbol(charData.character))) {
141 || (m_run.ltr() && charData.characterOffset + charData.clusterLength < static_cast<size_t>(m_run.length()))
142 || (m_run.rtl() && charData.characterOffset)) {
153 if (treatAsSpace && (charData.character != '\t' || !m_run.allowTabs())
154 && (charData.characterOffset || charData.character == noBreakSpace)
187 CharacterData charData;
188 while (textIterator.consume(charData.character, charData.clusterLength)) {
189 charData.characterOffset = textIterator.currentCharacter();
191 GlyphData glyphData = glyphDataForCharacter(charData, normalizeSpace);
196 if (!glyphData.glyph && Character::treatAsZeroWidthSpaceInComplexScript(charData.character)) {
197 charData.character = space;
198 glyphData = glyphDataForCharacter(charData);
201 width = characterWidth(charData.character, glyphData);
214 width = adjustSpacing(width, charData, *fontData, glyphBuffer);
217 updateGlyphBounds(glyphData, width, !charData.characterOffset);
219 if (m_forTextEmphasis && !Character::canReceiveTextEmphasis(charData.character))
223 textIterator.advance(charData.clusterLength);