mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 910754 - Update SkFontHost_cairo for the new Skia APIs r=snorp
This commit is contained in:
parent
6c7411c090
commit
9c6322b1f3
@ -167,6 +167,7 @@ SkTypeface* SkCreateTypefaceFromCairoFont(cairo_font_face_t* fontFace, SkTypefac
|
|||||||
return typeface;
|
return typeface;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef SK_FONTHOST_DOES_NOT_USE_FONTMGR
|
||||||
SkTypeface* SkFontHost::CreateTypeface(const SkTypeface* familyFace,
|
SkTypeface* SkFontHost::CreateTypeface(const SkTypeface* familyFace,
|
||||||
const char famillyName[],
|
const char famillyName[],
|
||||||
SkTypeface::Style style)
|
SkTypeface::Style style)
|
||||||
@ -186,6 +187,7 @@ SkTypeface* SkFontHost::CreateTypefaceFromFile(char const*)
|
|||||||
SkDEBUGFAIL("SkFontHost::CreateTypefaceFromFile unimplemented");
|
SkDEBUGFAIL("SkFontHost::CreateTypefaceFromFile unimplemented");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
@ -237,13 +239,13 @@ SkScalerContext_CairoFT::SkScalerContext_CairoFT(SkTypeface* typeface, const SkD
|
|||||||
break;
|
break;
|
||||||
case SkPaint::kNormal_Hinting:
|
case SkPaint::kNormal_Hinting:
|
||||||
cairo_font_options_set_hint_style(fontOptions, CAIRO_HINT_STYLE_MEDIUM);
|
cairo_font_options_set_hint_style(fontOptions, CAIRO_HINT_STYLE_MEDIUM);
|
||||||
if (fRec.fFlags & SkScalerContext::kAutohinting_Flag) {
|
if (fRec.fFlags & SkScalerContext::kForceAutohinting_Flag) {
|
||||||
loadFlags = FT_LOAD_FORCE_AUTOHINT;
|
loadFlags = FT_LOAD_FORCE_AUTOHINT;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SkPaint::kFull_Hinting:
|
case SkPaint::kFull_Hinting:
|
||||||
cairo_font_options_set_hint_style(fontOptions, CAIRO_HINT_STYLE_FULL);
|
cairo_font_options_set_hint_style(fontOptions, CAIRO_HINT_STYLE_FULL);
|
||||||
if (fRec.fFlags & SkScalerContext::kAutohinting_Flag) {
|
if (fRec.fFlags & SkScalerContext::kForceAutohinting_Flag) {
|
||||||
loadFlags = FT_LOAD_FORCE_AUTOHINT;
|
loadFlags = FT_LOAD_FORCE_AUTOHINT;
|
||||||
}
|
}
|
||||||
if (isLCD(fRec)) {
|
if (isLCD(fRec)) {
|
||||||
@ -305,10 +307,10 @@ void SkScalerContext_CairoFT::generateMetrics(SkGlyph* glyph)
|
|||||||
|
|
||||||
glyph->fAdvanceX = SkDoubleToFixed(extents.x_advance);
|
glyph->fAdvanceX = SkDoubleToFixed(extents.x_advance);
|
||||||
glyph->fAdvanceY = SkDoubleToFixed(extents.y_advance);
|
glyph->fAdvanceY = SkDoubleToFixed(extents.y_advance);
|
||||||
glyph->fWidth = SkToU16(SkScalarCeil(extents.width));
|
glyph->fWidth = SkToU16(SkScalarCeilToInt(extents.width));
|
||||||
glyph->fHeight = SkToU16(SkScalarCeil(extents.height));
|
glyph->fHeight = SkToU16(SkScalarCeilToInt(extents.height));
|
||||||
glyph->fLeft = SkToS16(SkScalarCeil(extents.x_bearing));
|
glyph->fLeft = SkToS16(SkScalarCeilToInt(extents.x_bearing));
|
||||||
glyph->fTop = SkToS16(SkScalarCeil(extents.y_bearing));
|
glyph->fTop = SkToS16(SkScalarCeilToInt(extents.y_bearing));
|
||||||
glyph->fLsbDelta = 0;
|
glyph->fLsbDelta = 0;
|
||||||
glyph->fRsbDelta = 0;
|
glyph->fRsbDelta = 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user