PassRefPtr<SkTypeface> CreateTypefaceFromHFont(HFONT hfont, int* size, int* paintTextFlags) { LOGFONT info; GetObject(hfont, sizeof(info), &info); if (size) { int height = info.lfHeight; if (height < 0) height = -height; *size = height; } if (paintTextFlags) *paintTextFlags = computePaintTextFlags(info); return adoptRef(SkCreateTypefaceFromLOGFONT(info)); }
FontPlatformData::FontPlatformData(PassRefPtr<SkTypeface> tf, const char* family, float textSize, bool fakeBold, bool fakeItalic, FontOrientation orientation, bool useSubpixelPositioning) : m_textSize(textSize) , m_fakeBold(fakeBold) , m_fakeItalic(fakeItalic) , m_orientation(orientation) , m_typeface(tf) , m_isHashTableDeletedValue(false) , m_useSubpixelPositioning(useSubpixelPositioning) { // FIXME: This can be removed together with m_font once the last few // uses of hfont() has been eliminated. LOGFONT logFont; SkLOGFONTFromTypeface(m_typeface.get(), &logFont); logFont.lfHeight = -textSize; m_paintTextFlags = computePaintTextFlags(logFont); #if !USE(HARFBUZZ) HFONT hFont = CreateFontIndirect(&logFont); m_font = hFont ? RefCountedHFONT::create(hFont) : 0; m_scriptCache = 0; #endif }
void FontPlatformData::querySystemForRenderStyle(bool) { m_paintTextFlags = computePaintTextFlags(fontFamilyName()); }