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

Side by Side Diff: third_party/WebKit/Source/platform/fonts/SymbolsIterator.cpp

Issue 2321043002: Disable Math and Symbols segmentation, fix dotted circle sequence (Closed)
Patch Set: Fix comment wording Created 4 years, 3 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "SymbolsIterator.h" 5 #include "SymbolsIterator.h"
6 6
7 #include "wtf/PtrUtil.h" 7 #include "wtf/PtrUtil.h"
8 #include <unicode/uchar.h> 8 #include <unicode/uchar.h>
9 #include <unicode/uniset.h> 9 #include <unicode/uniset.h>
10 10
(...skipping 23 matching lines...) Expand all
34 return FontFallbackPriority::EmojiEmoji; 34 return FontFallbackPriority::EmojiEmoji;
35 35
36 if (Character::isEmojiEmojiDefault(codepoint) 36 if (Character::isEmojiEmojiDefault(codepoint)
37 || Character::isEmojiModifierBase(codepoint) 37 || Character::isEmojiModifierBase(codepoint)
38 || Character::isModifier(codepoint)) 38 || Character::isModifier(codepoint))
39 return FontFallbackPriority::EmojiEmoji; 39 return FontFallbackPriority::EmojiEmoji;
40 40
41 if (Character::isEmojiTextDefault(codepoint)) 41 if (Character::isEmojiTextDefault(codepoint))
42 return FontFallbackPriority::EmojiText; 42 return FontFallbackPriority::EmojiText;
43 43
44 UBlockCode block = ublock_getCode(codepoint); 44 // Here we could segment into Symbols and Math categories as well, similar
45 45 // to what the Windows font fallback does. Map the math Unicode and Symbols
46 switch (block) { 46 // blocks to Text for now since we don't have a good cross-platform way to
47 case UBLOCK_PLAYING_CARDS: 47 // select suitable math fonts.
48 case UBLOCK_MISCELLANEOUS_SYMBOLS: 48 return FontFallbackPriority::Text;
49 case UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS:
50 case UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS:
51 case UBLOCK_TRANSPORT_AND_MAP_SYMBOLS:
52 case UBLOCK_ALCHEMICAL_SYMBOLS:
53 case UBLOCK_RUNIC:
54 case UBLOCK_DINGBATS:
55 case UBLOCK_GOTHIC:
56 return FontFallbackPriority::Symbols;
57 case UBLOCK_ARROWS:
58 case UBLOCK_MATHEMATICAL_OPERATORS:
59 case UBLOCK_MISCELLANEOUS_TECHNICAL:
60 case UBLOCK_GEOMETRIC_SHAPES:
61 case UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A:
62 case UBLOCK_SUPPLEMENTAL_ARROWS_A:
63 case UBLOCK_SUPPLEMENTAL_ARROWS_B:
64 case UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B:
65 case UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS:
66 case UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS:
67 case UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS:
68 case UBLOCK_GEOMETRIC_SHAPES_EXTENDED:
69 return FontFallbackPriority::Math;
70 default:
71 return FontFallbackPriority::Text;
72 }
73 } 49 }
74 50
75 bool SymbolsIterator::consume(unsigned *symbolsLimit, FontFallbackPriority* font FallbackPriority) 51 bool SymbolsIterator::consume(unsigned *symbolsLimit, FontFallbackPriority* font FallbackPriority)
76 { 52 {
77 if (m_atEnd) 53 if (m_atEnd)
78 return false; 54 return false;
79 55
80 while (m_utf16Iterator->consume(m_nextChar)) { 56 while (m_utf16Iterator->consume(m_nextChar)) {
81 m_previousFontFallbackPriority = m_currentFontFallbackPriority; 57 m_previousFontFallbackPriority = m_currentFontFallbackPriority;
82 unsigned iteratorOffset = m_utf16Iterator->offset(); 58 unsigned iteratorOffset = m_utf16Iterator->offset();
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 return true; 127 return true;
152 } 128 }
153 } 129 }
154 *symbolsLimit = m_bufferSize; 130 *symbolsLimit = m_bufferSize;
155 *fontFallbackPriority = m_currentFontFallbackPriority; 131 *fontFallbackPriority = m_currentFontFallbackPriority;
156 m_atEnd = true; 132 m_atEnd = true;
157 return true; 133 return true;
158 } 134 }
159 135
160 } // namespace blink 136 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698