OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |