diff options
Diffstat (limited to 'tests/PDFGlyphsToUnicodeTest.cpp')
-rw-r--r-- | tests/PDFGlyphsToUnicodeTest.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/tests/PDFGlyphsToUnicodeTest.cpp b/tests/PDFGlyphsToUnicodeTest.cpp index 332520bfb0..2aeedf0330 100644 --- a/tests/PDFGlyphsToUnicodeTest.cpp +++ b/tests/PDFGlyphsToUnicodeTest.cpp @@ -74,9 +74,12 @@ DEF_TEST(SkPDF_ToUnicode, reporter) { glyphsInSubset.push(0x101); glyphToUnicode.push(0x1013); + SkGlyphID lastGlyphID = SkToU16(glyphToUnicode.count() - 1); + SkDynamicMemoryWStream buffer; subset.setAll(glyphsInSubset.begin(), glyphsInSubset.count()); - SkPDFAppendCmapSections(glyphToUnicode, &subset, &buffer, true, 0, 0xFFFF); + SkPDFAppendCmapSections(&glyphToUnicode[0], &subset, &buffer, true, 0, + SkTMin<SkGlyphID>(0xFFFF, lastGlyphID)); char expectedResult[] = "4 beginbfchar\n\ @@ -98,7 +101,8 @@ endbfrange\n"; // Remove characters and ranges. buffer.reset(); - SkPDFAppendCmapSections(glyphToUnicode, &subset, &buffer, true, 8, 0x00FF); + SkPDFAppendCmapSections(&glyphToUnicode[0], &subset, &buffer, true, 8, + SkTMin<SkGlyphID>(0x00FF, lastGlyphID)); char expectedResultChop1[] = "2 beginbfchar\n\ @@ -116,7 +120,8 @@ endbfrange\n"; // Remove characters from range to downdrade it to one char. buffer.reset(); - SkPDFAppendCmapSections(glyphToUnicode, &subset, &buffer, true, 0x00D, 0x00FE); + SkPDFAppendCmapSections(&glyphToUnicode[0], &subset, &buffer, true, 0x00D, + SkTMin<SkGlyphID>(0x00FE, lastGlyphID)); char expectedResultChop2[] = "2 beginbfchar\n\ @@ -129,7 +134,8 @@ endbfchar\n"; buffer.reset(); - SkPDFAppendCmapSections(glyphToUnicode, nullptr, &buffer, false, 0xFC, 0x110); + SkPDFAppendCmapSections(&glyphToUnicode[0], nullptr, &buffer, false, 0xFC, + SkTMin<SkGlyphID>(0x110, lastGlyphID)); char expectedResultSingleBytes[] = "2 beginbfchar\n\ @@ -155,6 +161,7 @@ endbfrange\n"; for (SkUnichar i = 0; i < 100; ++i) { glyphToUnicode.push(i + 29); } + lastGlyphID = SkToU16(glyphToUnicode.count() - 1); glyphsInSubset.push(0x2C); glyphsInSubset.push(0x44); @@ -165,7 +172,8 @@ endbfrange\n"; SkDynamicMemoryWStream buffer2; subset2.setAll(glyphsInSubset.begin(), glyphsInSubset.count()); - SkPDFAppendCmapSections(glyphToUnicode, &subset2, &buffer2, true, 0, 0xffff); + SkPDFAppendCmapSections(&glyphToUnicode[0], &subset2, &buffer2, true, 0, + SkTMin<SkGlyphID>(0xFFFF, lastGlyphID)); char expectedResult2[] = "4 beginbfchar\n\ |