void SVGHKernElement::buildHorizontalKerningPair(SVGKerningMap& kerningMap) { String u1 = fastGetAttribute(SVGNames::u1Attr); String g1 = fastGetAttribute(SVGNames::g1Attr); String u2 = fastGetAttribute(SVGNames::u2Attr); String g2 = fastGetAttribute(SVGNames::g2Attr); if ((u1.isEmpty() && g1.isEmpty()) || (u2.isEmpty() && g2.isEmpty())) return; SVGKerningPair kerningPair; if (parseGlyphName(g1, kerningPair.glyphName1) && parseGlyphName(g2, kerningPair.glyphName2) && parseKerningUnicodeString(u1, kerningPair.unicodeRange1, kerningPair.unicodeName1) && parseKerningUnicodeString(u2, kerningPair.unicodeRange2, kerningPair.unicodeName2)) { kerningPair.kerning = fastGetAttribute(SVGNames::kAttr).string().toFloat(); kerningMap.insert(kerningPair); } }
void SVGVKernElement::buildVerticalKerningPair(KerningPairVector& kerningPairs) { String u1 = fastGetAttribute(SVGNames::u1Attr); String g1 = fastGetAttribute(SVGNames::g1Attr); String u2 = fastGetAttribute(SVGNames::u2Attr); String g2 = fastGetAttribute(SVGNames::g2Attr); if ((u1.isEmpty() && g1.isEmpty()) || (u2.isEmpty() && g2.isEmpty())) return; SVGKerningPair kerningPair; if (parseGlyphName(g1, kerningPair.glyphName1) && parseGlyphName(g2, kerningPair.glyphName2) && parseKerningUnicodeString(u1, kerningPair.unicodeRange1, kerningPair.unicodeName1) && parseKerningUnicodeString(u2, kerningPair.unicodeRange2, kerningPair.unicodeName2)) { kerningPair.kerning = fastGetAttribute(SVGNames::kAttr).string().toFloat(); kerningPairs.append(kerningPair); } }
bool SVGVKernElement::buildVerticalKerningPair(SVGKerningPair& kerningPair) const { String u1 = fastGetAttribute(SVGNames::u1Attr); String g1 = fastGetAttribute(SVGNames::g1Attr); String u2 = fastGetAttribute(SVGNames::u2Attr); String g2 = fastGetAttribute(SVGNames::g2Attr); if ((u1.isEmpty() && g1.isEmpty()) || (u2.isEmpty() && g2.isEmpty())) return false; if (parseGlyphName(g1, kerningPair.glyphName1) && parseGlyphName(g2, kerningPair.glyphName2) && parseKerningUnicodeString(u1, kerningPair.unicodeRange1, kerningPair.unicodeName1) && parseKerningUnicodeString(u2, kerningPair.unicodeRange2, kerningPair.unicodeName2)) { bool ok = false; kerningPair.kerning = fastGetAttribute(SVGNames::kAttr).string().toFloat(&ok); return ok; } return false; }