| Index: Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzShaper.h
|
| ===================================================================
|
| --- Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzShaper.h (revision 134171)
|
| +++ Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzShaper.h (working copy)
|
| @@ -61,9 +61,9 @@
|
| private:
|
| class HarfBuzzRun {
|
| public:
|
| - static PassOwnPtr<HarfBuzzRun> create(const SimpleFontData* fontData, unsigned startIndex, unsigned numCharacters, TextDirection direction)
|
| + static PassOwnPtr<HarfBuzzRun> create(const SimpleFontData* fontData, unsigned startIndex, unsigned numCharacters, TextDirection direction, hb_script_t script)
|
| {
|
| - return adoptPtr(new HarfBuzzRun(fontData, startIndex, numCharacters, direction));
|
| + return adoptPtr(new HarfBuzzRun(fontData, startIndex, numCharacters, direction, script));
|
| }
|
|
|
| void applyShapeResult(hb_buffer_t*);
|
| @@ -82,16 +82,18 @@
|
| FloatPoint* offsets() { return &m_offsets[0]; }
|
| uint16_t* glyphToCharacterIndexes() { return &m_glyphToCharacterIndexes[0]; }
|
| float width() { return m_width; }
|
| + bool rtl() { return m_direction == RTL; }
|
| + hb_script_t script() { return m_script; }
|
|
|
| private:
|
| - HarfBuzzRun(const SimpleFontData*, unsigned startIndex, unsigned numCharacters, TextDirection);
|
| - bool rtl() { return m_direction == RTL; }
|
| + HarfBuzzRun(const SimpleFontData*, unsigned startIndex, unsigned numCharacters, TextDirection, hb_script_t);
|
|
|
| const SimpleFontData* m_fontData;
|
| unsigned m_startIndex;
|
| size_t m_numCharacters;
|
| unsigned m_numGlyphs;
|
| TextDirection m_direction;
|
| + hb_script_t m_script;
|
| Vector<uint16_t, 256> m_glyphs;
|
| Vector<float, 256> m_advances;
|
| Vector<uint16_t, 256> m_glyphToCharacterIndexes;
|
| @@ -102,7 +104,7 @@
|
| void setFontFeatures();
|
|
|
| bool collectHarfBuzzRuns();
|
| - bool shapeHarfBuzzRuns();
|
| + bool shapeHarfBuzzRuns(bool shouldSetDirection);
|
| bool fillGlyphBuffer(GlyphBuffer*);
|
| void fillGlyphBufferFromHarfBuzzRun(GlyphBuffer*, HarfBuzzRun*, FloatPoint& firstOffsetOfNextRun);
|
| void setGlyphPositionsForHarfBuzzRun(HarfBuzzRun*, hb_buffer_t*);
|
|
|