// FIXME: style param should come first void FontBuilder::createFont(PassRefPtrWillBeRawPtr<FontSelector> fontSelector, const RenderStyle* parentStyle, RenderStyle* style) { if (!m_fontDirty) return; updateComputedSize(style, parentStyle); checkForGenericFamilyChange(style, parentStyle); checkForOrientationChange(style); style->font().update(fontSelector); m_fontDirty = false; }
void FontBuilder::createFont(PassRefPtrWillBeRawPtr<FontSelector> fontSelector, ComputedStyle& style) { if (!m_flags) return; FontDescription description = style.fontDescription(); if (isSet(PropertySetFlag::Family)) { description.setGenericFamily(m_fontDescription.genericFamily()); description.setFamily(m_fontDescription.family()); } if (isSet(PropertySetFlag::Size)) { description.setKeywordSize(m_fontDescription.keywordSize()); description.setSpecifiedSize(m_fontDescription.specifiedSize()); description.setIsAbsoluteSize(m_fontDescription.isAbsoluteSize()); } if (isSet(PropertySetFlag::SizeAdjust)) description.setSizeAdjust(m_fontDescription.sizeAdjust()); if (isSet(PropertySetFlag::Weight)) description.setWeight(m_fontDescription.weight()); if (isSet(PropertySetFlag::Stretch)) description.setStretch(m_fontDescription.stretch()); if (isSet(PropertySetFlag::FeatureSettings)) description.setFeatureSettings(m_fontDescription.featureSettings()); if (isSet(PropertySetFlag::Script)) { description.setLocale(m_fontDescription.locale()); description.setScript(m_fontDescription.script()); } if (isSet(PropertySetFlag::Style)) description.setStyle(m_fontDescription.style()); if (isSet(PropertySetFlag::Variant)) description.setVariant(m_fontDescription.variant()); if (isSet(PropertySetFlag::VariantLigatures)) description.setVariantLigatures(m_fontDescription.variantLigatures()); if (isSet(PropertySetFlag::TextRendering)) description.setTextRendering(m_fontDescription.textRendering()); if (isSet(PropertySetFlag::Kerning)) description.setKerning(m_fontDescription.kerning()); if (isSet(PropertySetFlag::FontSmoothing)) description.setFontSmoothing(m_fontDescription.fontSmoothing()); if (isSet(PropertySetFlag::TextOrientation) || isSet(PropertySetFlag::WritingMode)) updateOrientation(description, style); updateSpecifiedSize(description, style); updateComputedSize(description, style); updateAdjustedSize(description, style, fontSelector.get()); style.setFontDescription(description); style.font().update(fontSelector); m_flags = 0; }
void FontBuilder::createFontForDocument(FontSelector* fontSelector, ComputedStyle& documentStyle) { FontDescription fontDescription = FontDescription(); fontDescription.setLocale(documentStyle.locale()); setFamilyDescription(fontDescription, FontBuilder::initialFamilyDescription()); setSize(fontDescription, FontDescription::Size(FontSize::initialKeywordSize(), 0.0f, false)); updateSpecifiedSize(fontDescription, documentStyle); updateComputedSize(fontDescription, documentStyle); updateOrientation(fontDescription, documentStyle); documentStyle.setFontDescription(fontDescription); documentStyle.font().update(fontSelector); }