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 881 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
892 } | 892 } |
893 | 893 |
894 void HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun(HarfBuzzRun* currentRun, hb
_buffer_t* harfBuzzBuffer) | 894 void HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun(HarfBuzzRun* currentRun, hb
_buffer_t* harfBuzzBuffer) |
895 { | 895 { |
896 const SimpleFontData* currentFontData = currentRun->fontData(); | 896 const SimpleFontData* currentFontData = currentRun->fontData(); |
897 hb_glyph_info_t* glyphInfos = hb_buffer_get_glyph_infos(harfBuzzBuffer, 0); | 897 hb_glyph_info_t* glyphInfos = hb_buffer_get_glyph_infos(harfBuzzBuffer, 0); |
898 hb_glyph_position_t* glyphPositions = hb_buffer_get_glyph_positions(harfBuzz
Buffer, 0); | 898 hb_glyph_position_t* glyphPositions = hb_buffer_get_glyph_positions(harfBuzz
Buffer, 0); |
899 | 899 |
900 if (!currentRun->hasGlyphToCharacterIndexes()) { | 900 if (!currentRun->hasGlyphToCharacterIndexes()) { |
901 // FIXME: https://crbug.com/337886 | 901 // FIXME: https://crbug.com/337886 |
902 ASSERT_NOT_REACHED(); | |
903 return; | 902 return; |
904 } | 903 } |
905 | 904 |
906 unsigned numGlyphs = currentRun->numGlyphs(); | 905 unsigned numGlyphs = currentRun->numGlyphs(); |
907 uint16_t* glyphToCharacterIndexes = currentRun->glyphToCharacterIndexes(); | 906 uint16_t* glyphToCharacterIndexes = currentRun->glyphToCharacterIndexes(); |
908 float totalAdvance = 0; | 907 float totalAdvance = 0; |
909 FloatPoint glyphOrigin; | 908 FloatPoint glyphOrigin; |
910 | 909 |
911 // HarfBuzz returns the shaping result in visual order. We need not to flip
for RTL. | 910 // HarfBuzz returns the shaping result in visual order. We need not to flip
for RTL. |
912 for (size_t i = 0; i < numGlyphs; ++i) { | 911 for (size_t i = 0; i < numGlyphs; ++i) { |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1147 point.x() + fromX, point.x() + toX, | 1146 point.x() + fromX, point.x() + toX, |
1148 point.y(), height); | 1147 point.y(), height); |
1149 } | 1148 } |
1150 | 1149 |
1151 return Font::pixelSnappedSelectionRect( | 1150 return Font::pixelSnappedSelectionRect( |
1152 point.x() + toX, point.x() + fromX, | 1151 point.x() + toX, point.x() + fromX, |
1153 point.y(), height); | 1152 point.y(), height); |
1154 } | 1153 } |
1155 | 1154 |
1156 } // namespace blink | 1155 } // namespace blink |
OLD | NEW |