| 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. |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 130 | 130 |
| 131 paint->setAntiAlias(shouldAntialias); | 131 paint->setAntiAlias(shouldAntialias); |
| 132 paint->setEmbeddedBitmapText(false); | 132 paint->setEmbeddedBitmapText(false); |
| 133 const float ts = m_textSize >= 0 ? m_textSize : 12; | 133 const float ts = m_textSize >= 0 ? m_textSize : 12; |
| 134 paint->setTextSize(SkFloatToScalar(ts)); | 134 paint->setTextSize(SkFloatToScalar(ts)); |
| 135 paint->setTypeface(typeface()); | 135 paint->setTypeface(typeface()); |
| 136 paint->setFakeBoldText(m_syntheticBold); | 136 paint->setFakeBoldText(m_syntheticBold); |
| 137 paint->setTextSkewX(m_syntheticItalic ? -SK_Scalar1 / 4 : 0); | 137 paint->setTextSkewX(m_syntheticItalic ? -SK_Scalar1 / 4 : 0); |
| 138 paint->setLCDRenderText(shouldSmoothFonts); | 138 paint->setLCDRenderText(shouldSmoothFonts); |
| 139 paint->setSubpixelText(true); | 139 paint->setSubpixelText(true); |
| 140 paint->setLinearText(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); |
| 146 } | 147 } |
| 147 | 148 |
| 148 FontPlatformData::FontPlatformData(NSFont *nsFont, float size, bool syntheticBol
d, bool syntheticItalic, FontOrientation orientation) | 149 FontPlatformData::FontPlatformData(NSFont *nsFont, float size, bool syntheticBol
d, bool syntheticItalic, FontOrientation orientation) |
| 149 : m_textSize(size) | 150 : m_textSize(size) |
| 150 , m_syntheticBold(syntheticBold) | 151 , m_syntheticBold(syntheticBold) |
| 151 , m_syntheticItalic(syntheticItalic) | 152 , m_syntheticItalic(syntheticItalic) |
| 152 , m_orientation(orientation) | 153 , m_orientation(orientation) |
| 153 , m_isHashTableDeletedValue(false) | 154 , m_isHashTableDeletedValue(false) |
| 154 { | 155 { |
| 155 DCHECK(nsFont); | 156 DCHECK(nsFont); |
| 156 if (canLoadInProcess(nsFont)) { | 157 if (canLoadInProcess(nsFont)) { |
| 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 |