@@ -97,25 +97,25 @@ public:
virtual const GlyphID *GetGlyphs() const { return &this->glyphs[0]; }
virtual const float *GetPositions() const { return &this->positions[0]; }
virtual const int *GetGlyphToCharMap() const;
virtual const Font *GetFont() const { return this->font; }
virtual int GetLeading() const { return this->font->fc->GetHeight(); }
virtual int GetGlyphCount() const { return this->num_glyphs; }
int GetAdvance() const { return this->total_advance; }
};
/** A single line worth of VisualRuns. */
class UniscribeLine : public AutoDeleteSmallVector<UniscribeVisualRun *, 4>, public ParagraphLayouter::Line {
class UniscribeLine : public AutoDeleteSmallVector<UniscribeVisualRun *>, public ParagraphLayouter::Line {
public:
virtual int GetLeading() const;
virtual int GetWidth() const;
virtual int CountRuns() const { return this->size(); }
virtual const VisualRun *GetVisualRun(int run) const { return this->at(run); }
int GetInternalCharLength(WChar c) const
{
/* Uniscribe uses UTF-16 internally which means we need to account for surrogate pairs. */
return c >= 0x010000U ? 2 : 1;
}