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 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 it->value->pruneFontData(fontData); | 118 it->value->pruneFontData(fontData); |
119 } | 119 } |
120 | 120 |
121 if (pageZeroRoot) | 121 if (pageZeroRoot) |
122 pageZeroRoot->pruneFontData(fontData); | 122 pageZeroRoot->pruneFontData(fontData); |
123 } | 123 } |
124 | 124 |
125 static bool fill(GlyphPage* pageToFill, unsigned offset, unsigned length, UChar*
buffer, unsigned bufferLength, const SimpleFontData* fontData) | 125 static bool fill(GlyphPage* pageToFill, unsigned offset, unsigned length, UChar*
buffer, unsigned bufferLength, const SimpleFontData* fontData) |
126 { | 126 { |
127 bool hasGlyphs = fontData->fillGlyphPage(pageToFill, offset, length, buffer,
bufferLength); | 127 bool hasGlyphs = fontData->fillGlyphPage(pageToFill, offset, length, buffer,
bufferLength); |
| 128 if (hasGlyphs && fontData->verticalData()) |
| 129 fontData->verticalData()->substituteWithVerticalGlyphs(fontData, pageToF
ill, offset, length); |
128 return hasGlyphs; | 130 return hasGlyphs; |
129 } | 131 } |
130 | 132 |
131 void GlyphPageTreeNode::initializePage(const FontData* fontData, unsigned pageNu
mber) | 133 void GlyphPageTreeNode::initializePage(const FontData* fontData, unsigned pageNu
mber) |
132 { | 134 { |
133 ASSERT(!m_page); | 135 ASSERT(!m_page); |
134 ASSERT(fontData); | 136 ASSERT(fontData); |
135 | 137 |
136 // This function must not be called for the root of the tree, because that | 138 // This function must not be called for the root of the tree, because that |
137 // level does not contain any glyphs. | 139 // level does not contain any glyphs. |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
438 // entries may use different fonts depending on character. If the Font | 440 // entries may use different fonts depending on character. If the Font |
439 // ever finds it needs a glyph out of the system fallback page, it will | 441 // ever finds it needs a glyph out of the system fallback page, it will |
440 // ask the system for the best font to use and fill that glyph in for us. | 442 // ask the system for the best font to use and fill that glyph in for us. |
441 if (GlyphPage* parentPage = m_parent->page()) | 443 if (GlyphPage* parentPage = m_parent->page()) |
442 return parentPage->createCopiedSystemFallbackPage(this); | 444 return parentPage->createCopiedSystemFallbackPage(this); |
443 return GlyphPage::createForMixedFontData(this); | 445 return GlyphPage::createForMixedFontData(this); |
444 } | 446 } |
445 | 447 |
446 } // namespace blink | 448 } // namespace blink |
447 | 449 |
OLD | NEW |