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

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

Issue 705163003: Use NonBreakingSpace glyph where available (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 1 month 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
« no previous file with comments | « LayoutTests/TestExpectations ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008 Apple 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 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 buffer[i] = start + i; 158 buffer[i] = start + i;
159 159
160 if (start == 0) { 160 if (start == 0) {
161 // Control characters must not render at all. 161 // Control characters must not render at all.
162 for (i = 0; i < 0x20; ++i) 162 for (i = 0; i < 0x20; ++i)
163 buffer[i] = zeroWidthSpace; 163 buffer[i] = zeroWidthSpace;
164 for (i = 0x7F; i < 0xA0; i++) 164 for (i = 0x7F; i < 0xA0; i++)
165 buffer[i] = zeroWidthSpace; 165 buffer[i] = zeroWidthSpace;
166 buffer[softHyphen] = zeroWidthSpace; 166 buffer[softHyphen] = zeroWidthSpace;
167 167
168 // \n, \t, and nonbreaking space must render as a space. 168 // \n and \t must render as a space.
169 buffer[newlineCharacter] = space; 169 buffer[newlineCharacter] = space;
170 buffer[characterTabulation] = space; 170 buffer[characterTabulation] = space;
171 buffer[noBreakSpace] = space;
172 } else if (start == (arabicLetterMark & ~(GlyphPage::size - 1))) { 171 } else if (start == (arabicLetterMark & ~(GlyphPage::size - 1))) {
173 buffer[arabicLetterMark - start] = zeroWidthSpace; 172 buffer[arabicLetterMark - start] = zeroWidthSpace;
174 } else if (start == (leftToRightMark & ~(GlyphPage::size - 1))) { 173 } else if (start == (leftToRightMark & ~(GlyphPage::size - 1))) {
175 // LRM, RLM, LRE, RLE, ZWNJ, ZWJ, and PDF must not render at all. 174 // LRM, RLM, LRE, RLE, ZWNJ, ZWJ, and PDF must not render at all.
176 buffer[leftToRightMark - start] = zeroWidthSpace; 175 buffer[leftToRightMark - start] = zeroWidthSpace;
177 buffer[rightToLeftMark - start] = zeroWidthSpace; 176 buffer[rightToLeftMark - start] = zeroWidthSpace;
178 buffer[leftToRightEmbed - start] = zeroWidthSpace; 177 buffer[leftToRightEmbed - start] = zeroWidthSpace;
179 buffer[rightToLeftEmbed - start] = zeroWidthSpace; 178 buffer[rightToLeftEmbed - start] = zeroWidthSpace;
180 buffer[leftToRightOverride - start] = zeroWidthSpace; 179 buffer[leftToRightOverride - start] = zeroWidthSpace;
181 buffer[rightToLeftOverride - start] = zeroWidthSpace; 180 buffer[rightToLeftOverride - start] = zeroWidthSpace;
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
386 if (level > fontData->maxGlyphPageTreeLevel()) 385 if (level > fontData->maxGlyphPageTreeLevel())
387 return; 386 return;
388 387
389 GlyphPageTreeNodeMap::iterator end = m_children.end(); 388 GlyphPageTreeNodeMap::iterator end = m_children.end();
390 for (GlyphPageTreeNodeMap::iterator it = m_children.begin(); it != end; ++it ) 389 for (GlyphPageTreeNodeMap::iterator it = m_children.begin(); it != end; ++it )
391 it->value->pruneFontData(fontData, level); 390 it->value->pruneFontData(fontData, level);
392 } 391 }
393 392
394 } // namespace blink 393 } // namespace blink
395 394
OLDNEW
« no previous file with comments | « LayoutTests/TestExpectations ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698