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

Side by Side Diff: Source/platform/fonts/FontFallbackList.cpp

Issue 1119663002: Making Unicode character names consistent (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Comment fixes Created 5 years, 7 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. 2 * Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 19 matching lines...) Expand all
30 #include "platform/fonts/FontFallbackList.h" 30 #include "platform/fonts/FontFallbackList.h"
31 31
32 #include "platform/FontFamilyNames.h" 32 #include "platform/FontFamilyNames.h"
33 #include "platform/fonts/FontCache.h" 33 #include "platform/fonts/FontCache.h"
34 #include "platform/fonts/FontDescription.h" 34 #include "platform/fonts/FontDescription.h"
35 #include "platform/fonts/FontFamily.h" 35 #include "platform/fonts/FontFamily.h"
36 #include "platform/fonts/SegmentedFontData.h" 36 #include "platform/fonts/SegmentedFontData.h"
37 #include "wtf/unicode/CharacterNames.h" 37 #include "wtf/unicode/CharacterNames.h"
38 38
39 namespace blink { 39 namespace blink {
40 using namespace WTF;
jsbell 2015/05/11 16:28:02 Are these using declarations necessary?
h.joshi 2015/05/12 04:20:14 Sorry for this, removed now. Was checking somethin
41 using namespace Unicode;
40 42
41 FontFallbackList::FontFallbackList() 43 FontFallbackList::FontFallbackList()
42 : m_pageZero(0) 44 : m_pageZero(0)
43 , m_cachedPrimarySimpleFontData(0) 45 , m_cachedPrimarySimpleFontData(0)
44 , m_fontSelector(nullptr) 46 , m_fontSelector(nullptr)
45 , m_fontSelectorVersion(0) 47 , m_fontSelectorVersion(0)
46 , m_familyIndex(0) 48 , m_familyIndex(0)
47 , m_generation(FontCache::fontCache()->generation()) 49 , m_generation(FontCache::fontCache()->generation())
48 , m_hasLoadingFallback(false) 50 , m_hasLoadingFallback(false)
49 { 51 {
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 const SimpleFontData* FontFallbackList::determinePrimarySimpleFontData(const Fon tDescription& fontDescription) const 106 const SimpleFontData* FontFallbackList::determinePrimarySimpleFontData(const Fon tDescription& fontDescription) const
105 { 107 {
106 bool shouldLoadCustomFont = true; 108 bool shouldLoadCustomFont = true;
107 109
108 for (unsigned fontIndex = 0; ; ++fontIndex) { 110 for (unsigned fontIndex = 0; ; ++fontIndex) {
109 const FontData* fontData = fontDataAt(fontDescription, fontIndex); 111 const FontData* fontData = fontDataAt(fontDescription, fontIndex);
110 if (!fontData) { 112 if (!fontData) {
111 // All fonts are custom fonts and are loading. Return the first Font Data. 113 // All fonts are custom fonts and are loading. Return the first Font Data.
112 fontData = fontDataAt(fontDescription, 0); 114 fontData = fontDataAt(fontDescription, 0);
113 if (fontData) 115 if (fontData)
114 return fontData->fontDataForCharacter(space); 116 return fontData->fontDataForCharacter(spaceCharacter);
115 117
116 SimpleFontData* lastResortFallback = FontCache::fontCache()->getLast ResortFallbackFont(fontDescription).get(); 118 SimpleFontData* lastResortFallback = FontCache::fontCache()->getLast ResortFallbackFont(fontDescription).get();
117 ASSERT(lastResortFallback); 119 ASSERT(lastResortFallback);
118 return lastResortFallback; 120 return lastResortFallback;
119 } 121 }
120 122
121 if (fontData->isSegmented() && !toSegmentedFontData(fontData)->containsC haracter(space)) 123 if (fontData->isSegmented() && !toSegmentedFontData(fontData)->containsC haracter(spaceCharacter))
122 continue; 124 continue;
123 125
124 const SimpleFontData* fontDataForSpace = fontData->fontDataForCharacter( space); 126 const SimpleFontData* fontDataForSpace = fontData->fontDataForCharacter( spaceCharacter);
125 ASSERT(fontDataForSpace); 127 ASSERT(fontDataForSpace);
126 128
127 // When a custom font is loading, we should use the correct fallback fon t to layout the text. 129 // When a custom font is loading, we should use the correct fallback fon t to layout the text.
128 // Here skip the temporary font for the loading custom font which may no t act as the correct fallback font. 130 // Here skip the temporary font for the loading custom font which may no t act as the correct fallback font.
129 if (!fontDataForSpace->isLoadingFallback()) 131 if (!fontDataForSpace->isLoadingFallback())
130 return fontDataForSpace; 132 return fontDataForSpace;
131 133
132 if (fontData->isSegmented()) { 134 if (fontData->isSegmented()) {
133 const SegmentedFontData* segmented = toSegmentedFontData(fontData); 135 const SegmentedFontData* segmented = toSegmentedFontData(fontData);
134 for (unsigned i = 0; i < segmented->numRanges(); i++) { 136 for (unsigned i = 0; i < segmented->numRanges(); i++) {
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 218
217 bool FontFallbackList::isValid() const 219 bool FontFallbackList::isValid() const
218 { 220 {
219 if (!m_fontSelector) 221 if (!m_fontSelector)
220 return m_fontSelectorVersion == 0; 222 return m_fontSelectorVersion == 0;
221 223
222 return m_fontSelector->version() == m_fontSelectorVersion; 224 return m_fontSelector->version() == m_fontSelectorVersion;
223 } 225 }
224 226
225 } // namespace blink 227 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698