| OLD | NEW |
| 1 /* | 1 /* |
| 2 * This file is part of the internal font implementation. | 2 * This file is part of the internal font implementation. |
| 3 * | 3 * |
| 4 * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. | 4 * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. |
| 5 * Copyright (c) 2010 Google Inc. All rights reserved. | 5 * Copyright (c) 2010 Google Inc. All rights reserved. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| 11 * | 11 * |
| 12 * This library is distributed in the hope that it will be useful, | 12 * This library is distributed in the hope that it will be useful, |
| 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 15 * Library General Public License for more details. | 15 * Library General Public License for more details. |
| 16 * | 16 * |
| 17 * You should have received a copy of the GNU Library General Public License | 17 * You should have received a copy of the GNU Library General Public License |
| 18 * along with this library; see the file COPYING.LIB. If not, write to | 18 * along with this library; see the file COPYING.LIB. If not, write to |
| 19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| 20 * Boston, MA 02110-1301, USA. | 20 * Boston, MA 02110-1301, USA. |
| 21 * | 21 * |
| 22 */ | 22 */ |
| 23 | 23 |
| 24 #import "platform/fonts/FontPlatformData.h" | 24 #import "platform/fonts/FontPlatformData.h" |
| 25 | 25 |
| 26 #import "platform/LayoutTestSupport.h" | 26 #import "platform/LayoutTestSupport.h" |
| 27 #import "platform/fonts/Font.h" | 27 #import "platform/fonts/Font.h" |
| 28 #import "platform/fonts/shaping/HarfBuzzFace.h" | 28 #import "platform/fonts/shaping/HarfBuzzFace.h" |
| 29 #import "platform/graphics/skia/SkiaUtils.h" |
| 29 #import "public/platform/Platform.h" | 30 #import "public/platform/Platform.h" |
| 30 #import "public/platform/mac/WebSandboxSupport.h" | 31 #import "public/platform/mac/WebSandboxSupport.h" |
| 31 #import "third_party/skia/include/ports/SkTypeface_mac.h" | 32 #import "third_party/skia/include/ports/SkTypeface_mac.h" |
| 32 #import "wtf/RetainPtr.h" | 33 #import "wtf/RetainPtr.h" |
| 33 #import "wtf/text/WTFString.h" | 34 #import "wtf/text/WTFString.h" |
| 34 #import <AppKit/NSFont.h> | 35 #import <AppKit/NSFont.h> |
| 35 #import <AvailabilityMacros.h> | 36 #import <AvailabilityMacros.h> |
| 36 | 37 |
| 37 namespace blink { | 38 namespace blink { |
| 38 | 39 |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 | 126 |
| 126 if (LayoutTestSupport::isRunningLayoutTest()) { | 127 if (LayoutTestSupport::isRunningLayoutTest()) { |
| 127 shouldSmoothFonts = false; | 128 shouldSmoothFonts = false; |
| 128 shouldAntialias = shouldAntialias && LayoutTestSupport::isFontAntialiasi
ngEnabledForTest(); | 129 shouldAntialias = shouldAntialias && LayoutTestSupport::isFontAntialiasi
ngEnabledForTest(); |
| 129 } | 130 } |
| 130 | 131 |
| 131 paint->setAntiAlias(shouldAntialias); | 132 paint->setAntiAlias(shouldAntialias); |
| 132 paint->setEmbeddedBitmapText(false); | 133 paint->setEmbeddedBitmapText(false); |
| 133 const float ts = m_textSize >= 0 ? m_textSize : 12; | 134 const float ts = m_textSize >= 0 ? m_textSize : 12; |
| 134 paint->setTextSize(SkFloatToScalar(ts)); | 135 paint->setTextSize(SkFloatToScalar(ts)); |
| 135 paint->setTypeface(typeface()); | 136 paint->setTypeface(toSkSp(m_typeface)); |
| 136 paint->setFakeBoldText(m_syntheticBold); | 137 paint->setFakeBoldText(m_syntheticBold); |
| 137 paint->setTextSkewX(m_syntheticItalic ? -SK_Scalar1 / 4 : 0); | 138 paint->setTextSkewX(m_syntheticItalic ? -SK_Scalar1 / 4 : 0); |
| 138 paint->setLCDRenderText(shouldSmoothFonts); | 139 paint->setLCDRenderText(shouldSmoothFonts); |
| 139 paint->setSubpixelText(true); | 140 paint->setSubpixelText(true); |
| 140 | 141 |
| 141 // When rendering using CoreGraphics, disable hinting when webkit-font-smoot
hing:antialiased or | 142 // When rendering using CoreGraphics, disable hinting when webkit-font-smoot
hing:antialiased or |
| 142 // text-rendering:geometricPrecision is used. | 143 // text-rendering:geometricPrecision is used. |
| 143 // See crbug.com/152304 | 144 // See crbug.com/152304 |
| 144 if (font && (font->getFontDescription().fontSmoothing() == Antialiased || fo
nt->getFontDescription().textRendering() == GeometricPrecision)) | 145 if (font && (font->getFontDescription().fontSmoothing() == Antialiased || fo
nt->getFontDescription().textRendering() == GeometricPrecision)) |
| 145 paint->setHinting(SkPaint::kNo_Hinting); | 146 paint->setHinting(SkPaint::kNo_Hinting); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 157 m_typeface = adoptRef(SkCreateTypefaceFromCTFont(toCTFontRef(nsFont))); | 158 m_typeface = adoptRef(SkCreateTypefaceFromCTFont(toCTFontRef(nsFont))); |
| 158 } else { | 159 } else { |
| 159 // In process loading fails for cases where third party font manager sof
tware | 160 // In process loading fails for cases where third party font manager sof
tware |
| 160 // registers fonts in non system locations such as /Library/Fonts | 161 // registers fonts in non system locations such as /Library/Fonts |
| 161 // and ~/Library Fonts, see crbug.com/72727 or crbug.com/108645. | 162 // and ~/Library Fonts, see crbug.com/72727 or crbug.com/108645. |
| 162 m_typeface = loadFromBrowserProcess(nsFont, size); | 163 m_typeface = loadFromBrowserProcess(nsFont, size); |
| 163 } | 164 } |
| 164 } | 165 } |
| 165 | 166 |
| 166 } // namespace blink | 167 } // namespace blink |
| OLD | NEW |