You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2018/08/30 16:53:33 UTC
svn commit: r1839691 -
/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/TestFontEmbedding.java
Author: tilman
Date: Thu Aug 30 16:53:32 2018
New Revision: 1839691
URL: http://svn.apache.org/viewvc?rev=1839691&view=rev
Log:
PDFBOX-4302: add test for corner case inspired by code from Atsushi Doita
Modified:
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/TestFontEmbedding.java
Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/TestFontEmbedding.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/TestFontEmbedding.java?rev=1839691&r1=1839690&r2=1839691&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/TestFontEmbedding.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/TestFontEmbedding.java Thu Aug 30 16:53:32 2018
@@ -218,6 +218,42 @@ public class TestFontEmbedding extends T
//assertEquals(expectedExtractedtext, extracted.replaceAll("\r", "").trim());
}
+ /**
+ * Test corner case of PDFBOX-4302.
+ *
+ * @throws java.io.IOException
+ */
+ public void testMaxEntries() throws IOException
+ {
+ File file;
+ String text;
+ text = "ããããããããããããããããã¡ã¤ã¦ã¨ãªã«ã¬ãã®ã¯ã²ãµã¸ã»ã¾ã¿ãããããããããããããã" +
+ "ã¢ã¤ã¦ã¨ãªã«ãã¯ã±ã³ãµã·ã¹ã»ã½ã¿ããããããããããããããããã ã¡ã¢ã¤ã¦ã¨ã©ãªã«ã¬ãã¯ã²ã³" +
+ "ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼";
+ assertEquals(ToUnicodeWriter.MAX_ENTRIES_PER_OPERATOR, text.length());
+ try (PDDocument document = new PDDocument())
+ {
+ PDPage page = new PDPage(PDRectangle.A0);
+ document.addPage(page);
+ File ipafont = new File("target/fonts/ipag00303", "ipag.ttf");
+ PDType0Font font = PDType0Font.load(document, ipafont);
+ try (PDPageContentStream contentStream = new PDPageContentStream(document, page))
+ {
+ contentStream.beginText();
+ contentStream.setFont(font, 20);
+ contentStream.newLineAtOffset(50, 3000);
+ contentStream.showText(text);
+ contentStream.endText();
+ }
+ file = new File(OUT_DIR, "PDFBOX-4302-test.pdf");
+ document.save(file);
+ }
+
+ // check that the extracted text matches what we wrote
+ String extracted = getUnicodeText(file);
+ assertEquals(text, extracted.trim());
+ }
+
private void validateCIDFontType2(boolean useSubset) throws IOException
{
String text;