| Index: src/ports/SkFontHost_mac.cpp
|
| diff --git a/src/ports/SkFontHost_mac.cpp b/src/ports/SkFontHost_mac.cpp
|
| index 69f660c8f1554c1626d0780e28a98888248a619c..64864507ac5c18a42a791da79ed04658bf863f4b 100644
|
| --- a/src/ports/SkFontHost_mac.cpp
|
| +++ b/src/ports/SkFontHost_mac.cpp
|
| @@ -276,13 +276,22 @@ static CGFloat ScalarToCG(SkScalar scalar) {
|
|
|
| static SkScalar CGToScalar(CGFloat cgFloat) {
|
| if (sizeof(CGFloat) == sizeof(float)) {
|
| - return cgFloat;
|
| + return SkFloatToScalar(cgFloat);
|
| } else {
|
| SkASSERT(sizeof(CGFloat) == sizeof(double));
|
| return SkDoubleToScalar(cgFloat);
|
| }
|
| }
|
|
|
| +static float CGToFloat(CGFloat cgFloat) {
|
| + if (sizeof(CGFloat) == sizeof(float)) {
|
| + return cgFloat;
|
| + } else {
|
| + SkASSERT(sizeof(CGFloat) == sizeof(double));
|
| + return static_cast<float>(cgFloat);
|
| + }
|
| +}
|
| +
|
| static CGAffineTransform MatrixToCGAffineTransform(const SkMatrix& matrix,
|
| SkScalar sx = SK_Scalar1,
|
| SkScalar sy = SK_Scalar1) {
|
| @@ -1042,8 +1051,8 @@ void SkScalerContext_Mac::generateMetrics(SkGlyph* glyph) {
|
| &cgGlyph, &cgAdvance, 1);
|
| }
|
| cgAdvance = CGSizeApplyAffineTransform(cgAdvance, fTransform);
|
| - glyph->fAdvanceX = SkFloatToFixed_Check(cgAdvance.width);
|
| - glyph->fAdvanceY = -SkFloatToFixed_Check(cgAdvance.height);
|
| + glyph->fAdvanceX = CGToFloat(cgAdvance.width);
|
| + glyph->fAdvanceY = -CGToFloat(cgAdvance.height);
|
|
|
| // The following produces skBounds in SkGlyph units (pixels, y down),
|
| // or returns early if skBounds would be empty.
|
|
|