Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(645)

Side by Side Diff: Source/platform/fonts/SimpleFontData.h

Issue 656913006: Remove SVG fonts (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Update tests for landing Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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, 2008, 2010 Apple Inc. All rights reserved. 4 * Copyright (C) 2006, 2008, 2010 Apple Inc. All rights reserved.
5 * Copyright (C) 2007-2008 Torch Mobile, Inc. 5 * Copyright (C) 2007-2008 Torch Mobile, Inc.
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 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 Glyph zeroGlyph() const { return m_zeroGlyph; } 124 Glyph zeroGlyph() const { return m_zeroGlyph; }
125 void setZeroGlyph(Glyph zeroGlyph) { m_zeroGlyph = zeroGlyph; } 125 void setZeroGlyph(Glyph zeroGlyph) { m_zeroGlyph = zeroGlyph; }
126 126
127 virtual const SimpleFontData* fontDataForCharacter(UChar32) const override; 127 virtual const SimpleFontData* fontDataForCharacter(UChar32) const override;
128 128
129 Glyph glyphForCharacter(UChar32) const; 129 Glyph glyphForCharacter(UChar32) const;
130 130
131 void determinePitch(); 131 void determinePitch();
132 Pitch pitch() const { return m_treatAsFixedPitch ? FixedPitch : VariablePitc h; } 132 Pitch pitch() const { return m_treatAsFixedPitch ? FixedPitch : VariablePitc h; }
133 133
134 bool isSVGFont() const { return m_customFontData && m_customFontData->isSVGF ont(); }
135 virtual bool isCustomFont() const override { return m_customFontData; } 134 virtual bool isCustomFont() const override { return m_customFontData; }
136 virtual bool isLoading() const override { return m_customFontData ? m_custom FontData->isLoading() : false; } 135 virtual bool isLoading() const override { return m_customFontData ? m_custom FontData->isLoading() : false; }
137 virtual bool isLoadingFallback() const override { return m_customFontData ? m_customFontData->isLoadingFallback() : false; } 136 virtual bool isLoadingFallback() const override { return m_customFontData ? m_customFontData->isLoadingFallback() : false; }
138 virtual bool isSegmented() const override; 137 virtual bool isSegmented() const override;
139 virtual bool shouldSkipDrawing() const override { return m_customFontData && m_customFontData->shouldSkipDrawing(); } 138 virtual bool shouldSkipDrawing() const override { return m_customFontData && m_customFontData->shouldSkipDrawing(); }
140 139
141 const GlyphData& missingGlyphData() const { return m_missingGlyphData; } 140 const GlyphData& missingGlyphData() const { return m_missingGlyphData; }
142 void setMissingGlyphData(const GlyphData& glyphData) { m_missingGlyphData = glyphData; } 141 void setMissingGlyphData(const GlyphData& glyphData) { m_missingGlyphData = glyphData; }
143 142
144 #if OS(MACOSX) 143 #if OS(MACOSX)
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 234
236 ALWAYS_INLINE float SimpleFontData::widthForGlyph(Glyph glyph) const 235 ALWAYS_INLINE float SimpleFontData::widthForGlyph(Glyph glyph) const
237 { 236 {
238 if (isZeroWidthSpaceGlyph(glyph)) 237 if (isZeroWidthSpaceGlyph(glyph))
239 return 0; 238 return 0;
240 239
241 float width = m_glyphToWidthMap.metricsForGlyph(glyph); 240 float width = m_glyphToWidthMap.metricsForGlyph(glyph);
242 if (width != cGlyphSizeUnknown) 241 if (width != cGlyphSizeUnknown)
243 return width; 242 return width;
244 243
245 if (isSVGFont())
246 width = m_customFontData->widthForSVGGlyph(glyph, m_platformData.size()) ;
247 #if ENABLE(OPENTYPE_VERTICAL) 244 #if ENABLE(OPENTYPE_VERTICAL)
248 else if (m_verticalData) 245 if (m_verticalData)
249 width = m_verticalData->advanceHeight(this, glyph); 246 width = m_verticalData->advanceHeight(this, glyph);
247 else
250 #endif 248 #endif
251 else
252 width = platformWidthForGlyph(glyph); 249 width = platformWidthForGlyph(glyph);
253 250
254 m_glyphToWidthMap.setMetricsForGlyph(glyph, width); 251 m_glyphToWidthMap.setMetricsForGlyph(glyph, width);
255 return width; 252 return width;
256 } 253 }
257 254
258 DEFINE_FONT_DATA_TYPE_CASTS(SimpleFontData, false); 255 DEFINE_FONT_DATA_TYPE_CASTS(SimpleFontData, false);
259 256
260 } // namespace blink 257 } // namespace blink
261 #endif // SimpleFontData_h 258 #endif // SimpleFontData_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698