| Index: include/core/SkTypeface.h
|
| diff --git a/include/core/SkTypeface.h b/include/core/SkTypeface.h
|
| index eebb1276f7cd535606aa562f55a2606ef6529bde..af76824f47a158d1f806121785e19200c1eeeef9 100644
|
| --- a/include/core/SkTypeface.h
|
| +++ b/include/core/SkTypeface.h
|
| @@ -225,6 +225,29 @@ public:
|
| */
|
| int getUnitsPerEm() const;
|
|
|
| + /**
|
| + * Given a run of glyphs, return the associated horizontal adjustments.
|
| + * Adjustments are in "design units", which are integers relative to the
|
| + * typeface's units per em (see getUnitsPerEm).
|
| + *
|
| + * Some typefaces are known to never support kerning. Calling this method
|
| + * with all zeros (e.g. getKerningPairAdustments(NULL, 0, NULL)) returns
|
| + * a boolean indicating if the typeface might support kerning. If it
|
| + * returns false, then it will always return false (no kerning) for all
|
| + * possible glyph runs. If it returns true, then it *may* return true for
|
| + * somne glyph runs.
|
| + *
|
| + * If count is non-zero, then the glyphs parameter must point to at least
|
| + * [count] valid glyph IDs, and the adjustments parameter must be
|
| + * sized to at least [count - 1] entries. If the method returns true, then
|
| + * [count-1] entries in the adjustments array will be set. If the method
|
| + * returns false, then no kerning should be applied, and the adjustments
|
| + * array will be in an undefined state (possibly some values may have been
|
| + * written, but none of them should be interpreted as valid values).
|
| + */
|
| + bool getKerningPairAdjustments(const uint16_t glyphs[], int count,
|
| + int32_t adjustments[]) const;
|
| +
|
| struct LocalizedString {
|
| SkString fString;
|
| SkString fLanguage;
|
| @@ -303,6 +326,7 @@ protected:
|
| SkAdvancedTypefaceMetrics::PerGlyphInfo perGlyphInfo,
|
| const uint32_t* glyphIDs,
|
| uint32_t glyphIDsCount) const = 0;
|
| +
|
| virtual SkStream* onOpenStream(int* ttcIndex) const = 0;
|
| virtual void onGetFontDescriptor(SkFontDescriptor*, bool* isLocal) const = 0;
|
|
|
| @@ -311,6 +335,8 @@ protected:
|
| virtual int onCountGlyphs() const = 0;
|
|
|
| virtual int onGetUPEM() const = 0;
|
| + virtual bool onGetKerningPairAdjustments(const uint16_t glyphs[], int count,
|
| + int32_t adjustments[]) const;
|
|
|
| virtual LocalizedStrings* onCreateFamilyNameIterator() const = 0;
|
|
|
|
|