| Index: src/pdf/SkPDFFont.cpp
|
| diff --git a/src/pdf/SkPDFFont.cpp b/src/pdf/SkPDFFont.cpp
|
| index 769771ab236032e20cacbce780f2a842e0529a10..05dbdc7e55deabd8ba59c5b388018a1cf97355c2 100644
|
| --- a/src/pdf/SkPDFFont.cpp
|
| +++ b/src/pdf/SkPDFFont.cpp
|
| @@ -498,7 +498,7 @@ bool SkPDFFont::hasGlyph(uint16_t id) {
|
| return (id >= fFirstGlyphID && id <= fLastGlyphID) || id == 0;
|
| }
|
|
|
| -int SkPDFFont::glyphsToPDFFontEncoding(uint16_t* glyphIDs, int numGlyphs) {
|
| +int SkPDFFont::glyphsToPDFFontEncoding(SkGlyphID* glyphIDs, int numGlyphs) const {
|
| // A font with multibyte glyphs will support all glyph IDs in a single font.
|
| if (this->multiByteGlyphs()) {
|
| return numGlyphs;
|
| @@ -517,6 +517,20 @@ int SkPDFFont::glyphsToPDFFontEncoding(uint16_t* glyphIDs, int numGlyphs) {
|
| return numGlyphs;
|
| }
|
|
|
| +int SkPDFFont::glyphsToPDFFontEncodingCount(const SkGlyphID* glyphIDs,
|
| + int numGlyphs) const {
|
| + if (this->multiByteGlyphs()) { // A font with multibyte glyphs will
|
| + return numGlyphs; // support all glyph IDs in a single font.
|
| + }
|
| + for (int i = 0; i < numGlyphs; i++) {
|
| + if (glyphIDs[i] != 0 &&
|
| + (glyphIDs[i] < fFirstGlyphID || glyphIDs[i] > fLastGlyphID)) {
|
| + return i;
|
| + }
|
| + }
|
| + return numGlyphs;
|
| +}
|
| +
|
| // static
|
| SkPDFFont* SkPDFFont::GetFontResource(SkPDFCanon* canon,
|
| SkTypeface* typeface,
|
|
|