OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 Google Inc. All rights reserved. | 2 * Copyright (c) 2012 Google Inc. All rights reserved. |
3 * Copyright (C) 2013 BlackBerry Limited. All rights reserved. | 3 * Copyright (C) 2013 BlackBerry Limited. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 983 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
994 else | 994 else |
995 clusterEnd = isRunEnd ? currentRun->startIndex() + currentRun->n
umCharacters() : currentRun->startIndex() + glyphToCharacterIndexes[i + 1]; | 995 clusterEnd = isRunEnd ? currentRun->startIndex() + currentRun->n
umCharacters() : currentRun->startIndex() + glyphToCharacterIndexes[i + 1]; |
996 | 996 |
997 graphemesInCluster = countGraphemesInCluster(m_normalizedBuffer.get(
), m_normalizedBufferLength, clusterStart, clusterEnd); | 997 graphemesInCluster = countGraphemesInCluster(m_normalizedBuffer.get(
), m_normalizedBufferLength, clusterStart, clusterEnd); |
998 if (!graphemesInCluster || !clusterAdvance) | 998 if (!graphemesInCluster || !clusterAdvance) |
999 continue; | 999 continue; |
1000 | 1000 |
1001 float glyphAdvanceX = clusterAdvance / graphemesInCluster; | 1001 float glyphAdvanceX = clusterAdvance / graphemesInCluster; |
1002 for (unsigned j = 0; j < graphemesInCluster; ++j) { | 1002 for (unsigned j = 0; j < graphemesInCluster; ++j) { |
1003 // Do not put emphasis marks on space, separator, and control ch
aracters. | 1003 // Do not put emphasis marks on space, separator, and control ch
aracters. |
1004 GlyphBufferGlyph glyphToAdd = Character::canReceiveTextEmphasis(
m_run[currentCharacterIndex]) ? 1 : 0; | 1004 Glyph glyphToAdd = Character::canReceiveTextEmphasis(m_run[curre
ntCharacterIndex]) ? 1 : 0; |
1005 glyphBuffer->add(glyphToAdd, currentRun->fontData(), createGlyph
BufferAdvance(glyphAdvanceX, 0)); | 1005 glyphBuffer->add(glyphToAdd, currentRun->fontData(), createGlyph
BufferAdvance(glyphAdvanceX, 0)); |
1006 } | 1006 } |
1007 clusterStart = clusterEnd; | 1007 clusterStart = clusterEnd; |
1008 clusterAdvance = 0; | 1008 clusterAdvance = 0; |
1009 } | 1009 } |
1010 } | 1010 } |
1011 } | 1011 } |
1012 | 1012 |
1013 bool HarfBuzzShaper::fillGlyphBuffer(GlyphBuffer* glyphBuffer) | 1013 bool HarfBuzzShaper::fillGlyphBuffer(GlyphBuffer* glyphBuffer) |
1014 { | 1014 { |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1122 point.x() + fromX, point.x() + toX, | 1122 point.x() + fromX, point.x() + toX, |
1123 point.y(), height); | 1123 point.y(), height); |
1124 } | 1124 } |
1125 | 1125 |
1126 return Font::pixelSnappedSelectionRect( | 1126 return Font::pixelSnappedSelectionRect( |
1127 point.x() + toX, point.x() + fromX, | 1127 point.x() + toX, point.x() + fromX, |
1128 point.y(), height); | 1128 point.y(), height); |
1129 } | 1129 } |
1130 | 1130 |
1131 } // namespace WebCore | 1131 } // namespace WebCore |
OLD | NEW |