svn commit: r1787759 - in /xmlgraphics/fop-pdf-images/trunk: KEYS README build.properties build.xml
Author: ssteiner Date: Mon Mar 20 13:04:17 2017 New Revision: 1787759 URL: http://svn.apache.org/viewvc?rev=1787759=rev Log: Use version from fop Modified: xmlgraphics/fop-pdf-images/trunk/KEYS xmlgraphics/fop-pdf-images/trunk/README xmlgraphics/fop-pdf-images/trunk/build.properties xmlgraphics/fop-pdf-images/trunk/build.xml Modified: xmlgraphics/fop-pdf-images/trunk/KEYS URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/KEYS?rev=1787759=1787758=1787759=diff == --- xmlgraphics/fop-pdf-images/trunk/KEYS (original) +++ xmlgraphics/fop-pdf-images/trunk/KEYS Mon Mar 20 13:04:17 2017 @@ -11,7 +11,7 @@ Developers: (gpg --list-sigs && gpg --armor --export ) >> this file. -pub 1024D/7C611584 2005-07-19 Jeremias Märki <jerem...@apache.org> +pub 1024D/7C611584 2005-07-19 Jeremias M�rki <jerem...@apache.org> sub 2048g/C0F1AD34 2005-07-19 -BEGIN PGP PUBLIC KEY BLOCK- @@ -65,3 +65,59 @@ BgUCQt1CvgAKCRD3MJVwfGEVhD0+AJwLiZ/2jUDC UKHCLjnj2UtX8OfockTGIic= =1nMU -END PGP PUBLIC KEY BLOCK- +pub 4096R/7CDB6DEA 2015-05-20 +uid Simon Steiner (CODE SIGNING KEY) <sstei...@apache.org> +sub 4096R/73382B77 2015-05-20 + +-BEGIN PGP PUBLIC KEY BLOCK- +Version: GnuPG v1 + +mQINBFVcZesBEAC5Poew53ijRTE5kV2o2Tj+plJmoQMRtfiurMUpPQ4s/vTz8Bte +WoHdNfJrzordHBZdy1S7V8p2kTtKWyaNFMyVoavBqo/BurmJ/3qUKH5otXkXuaAi +zFaJPeEnR6y7pxTYkwFKyrn7TE4I84JKZEMLEbJIw1YF3t76nj055/OnzRtwc2Df +cPyGqDALyoFXk6R04qIotVmlX3NwwF6A0M79+W+kWvPg4sD4R6SqwJb1UhcqHrqb +kQOllg74cBjyAikRbqrCfoydHM10gc8f5w9+8v/fbDkSBtoh8Y31WSK6ocoWIg85 +I3odqHFxThwFTAYQC2tdw1M5kYcOiYVqw91JvBivpKH02vryH2BJu9zQDNFeyXud +wyengMLlzUUmf9jBk3M8IUE4JTerw1AzWj0b3jdvG7FrgHrlszb6eCzE3BdY7zGS +Qh6e+ROsF2LEKkbjxeAg58nl/h5iLythheY0S6sspeOTuDtgLgm8TZiGHA+j/qKH +DY+aRReI0X2bzqNZROhTIXHSKsoX9+9g5a+1NYQeZmiICNo4vj+r4+i037QvIoy6 +3K4NSVQgKnR9bbgyQCUprifrkywKF5a8eP3wtUGtH2FNqFQg1rUKBgLjLbRJ8PF2 +Ag8O0jmJBPxdOIdVP4vz37m+jyKE6L4JWjnaFldtD3NDJI1QQYX4MmXEaQARAQAB +tDZTaW1vbiBTdGVpbmVyIChDT0RFIFNJR05JTkcgS0VZKSA8c3N0ZWluZXJAYXBh +Y2hlLm9yZz6JAjgEEwECACIFAlVcZesCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4B +AheAAAoJEFuT8d98223qTtoP/j5AH1w90HOiYioGGgxrxOciQdGNht0yOVPXHDyj +8oKNBKYhNYQ9tAxNxEZFVS2KxB3R5dy/Q/9XvOP/NYTP8p0VyXmxNMkicUhJQOJ/ +6mnxkTY/jk7y2XkYtdCby28SfMdExbM501arnG+vmXRtr3TpRRAxXCfS3FBI2n1H +Y7aX8pVX3NNRQqGxjnSv4q/2NKrR1ZFt7aDuAO9VfLXd5NkJkaGJ7E7T4AQMJE6K +KYUFkYKGeOc5dm1mHZMTVanyYRS0qWSpcnsamdU76HQgtC7koJmaeeI0MtntMkpB +jObTY80iam97P81hfhEi9UsAPy0WPBmossNqQFYQ5kQzxq030C1ERJl1nXJCkIpl +CpVv/aIV+kM+WQeA41IHgfLZsxHTkYRxtCZXh8HbFhpyKGwNRZhyvPn0oSbjQcke +oAbfnxCj1YH6TQGJQH1R1rGPv3ph3omq9pRuJ/th4uFmq06xpO6VLjUICV9F1N1J +kmiVpivC5iRDKw30YeRFe/J0BpflPizQh2gnTFCg0Q0ICUdehGovWKPDkJsG2+hb +AJaxfYQg5cJQI1P0UOc3w6rLh2ye3qkSRxF1O9oyRHuAZtKtsabEg3v7bx6RnX1F +BYGCB8ckud+qYlBjiGKLP7fJotuZv3hFWlFBoXb9F0WDpx+gUoEUH8H+9ygodEUq +gjCRuQINBFVcZesBEADFcTVSAZoaax9xpw1zxwjVgfQrNfobqnJM33r2EBSB4b80 +NbPOtoHJ2OUvHq4w84PB+H4+JNAIA2KbPOvzB+u1Bn5IgJr9asH5lhrnrUSR+YCw +UlnCw+2YJumdv/l6RKcFKbSRZHWSwTD3ZLBMuPUqX9uZkOuG1ftTkcVtfFHN3WAu +ckHjVxTSkaHhZ7ALz8LIUH+8AL3/3eThM1KEgx+bcod8YttctzjTy9cAaT93DwKO +qzqHXpk6Fpv9bvdiNye8Ye7f8487N0/3alMPpJqt2tHAqjxJRDb590/09cbt2N6l +6B+WlpM5hgkV//7ViL357Hids64sqbYSnmpQjZWUdafDvVvMKYbITmx26BEoWtIq +wwpj7+DdQlxd/7bAtyk8XiHe6Ej9FF1PUEvBQw5NXOUiCSBo0hzcMMNy1uRb/Wpd +oZX3TFKXTWulv95uzKGAo3zrUuKcfOGfDgqZ/H2dy8Yw9DaWJRnXyYwweUi1Ptnc +Nk9ktycypCcVbsOQhGdQJNyGVUVgVV1CWz5GJ3eqtjHY09r7HEm6bGviJRu/sosk +XmmjRUFpqwtDCRACYShDpnFjpmWTZegPcwpN+492qLP6cjh1XSN4Cg1YZ/0BMY4N +V/yeadQf/hbM5hzPOhN6mr+VHOLulyXuV49EWisIRferqaXG67zIXbVQ4qfqfwAR +AQABiQIfBBgBAgAJBQJVXGXrAhsMAAoJEFuT8d98223qGKoP/RtyjtE5zEkrd7oa +vRK5FmNtdh8r63v8lwjxayCfmpQw14AQaPY7//ulfJQExpxqcCLFIEBqZ8o22RYA +XnsV6RF3JAIjSktAh57GMqUljeNxBtlix2zv5MVi/XiYcmQrID812KNfp3/guJfK +3Us5BOxLyDwHylwyb88dLM3rP4W8VvaRAEXfd0/6rhEugdCdcHD1c+E1XliqBw/T +UP3JjnnABfKR4NMZ67ENxc5jPDg2Jh3wychGGhvLddqk32KEIDTbV2SZYxtw3ylP +cRUtEoVGvkCDj8KpcLvvTbE7QCOycQMj1aHt5tc0w+Ibqbj3X+DdJEAxuZhMDyR6 +hDkIr7YGkRjFacYeaunoY4tX4+x4tkf33eNsBa3DV6r6R18DWh8o6bWzHpPuEMZT +ewbUuSHF9xm0Ti3uehDHNHIFsnEpGDanb2UMO1kd2Xr6kjabce4DIHn+PhOqwC1o +bO9KBKaWO4uR7K1eWjOkqn70F7ykGz01AveouwRyOjh59VdpVe/Zpgtp/IvD6bP2 +FbW6pZZeHWWoj+zaDmyRDn5wRfGkNuLUIMblgCXQXttAm/nYdRwPQyAI+T5CP8f+ +nmZfX1E6PwDD9rT+fU+0R1eAIkEZE+0UfWoBwbnei19Xqpwx6VH5x8mtfvUH9J5H +PYDEgpBqDxD3E1CYq/cVFhKQRxpK +=n+z/ +-END PGP PUBLIC KEY BLOCK- Modified: xmlgraphics/fop-pdf-images/trunk/README URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/README?rev=1787759=1787758=1787759=diff == --- xmlgraphics/fop-pdf-images/trunk/README (original) +++ xmlgraphics/fop-pdf-images/trunk/README Mon Mar 20 13:04:17 2017 @@ -185,7 +185,7 @@ http://www.jeremias-maerki.ch/developmen RELEASE NOTES =
svn commit: r1787763 - /xmlgraphics/fop-pdf-images/trunk/README
Author: ssteiner Date: Mon Mar 20 13:13:08 2017 New Revision: 1787763 URL: http://svn.apache.org/viewvc?rev=1787763=rev Log: Update readme Modified: xmlgraphics/fop-pdf-images/trunk/README Modified: xmlgraphics/fop-pdf-images/trunk/README URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/README?rev=1787763=1787762=1787763=diff == --- xmlgraphics/fop-pdf-images/trunk/README (original) +++ xmlgraphics/fop-pdf-images/trunk/README Mon Mar 20 13:13:08 2017 @@ -37,7 +37,7 @@ Implementation notes: the various PDF objects 1:1 to the target PDF. For the other output formats, Apache PDFBox is used to render the PDF to a Graphics2D object (Java2D). PDFBox still has some problems with rendering certain - PDFs, so if you run into a problem with that, don't come to me. + PDFs. Rather, consider helping out in the PDFBox project to improve the code. This plug-in only plays the adapter between FOP and PDFBox. It is not responsible for correct rendering of the PDF. @@ -48,33 +48,6 @@ Implementation notes: Note: this only works on URIs, not plain file names in which case you'll get an error. Plain file names are illegal in XSL-FO anyway, strictly speaking. - -* The PDF file must not be encrypted. Or else, you'll have to install an - OnLoadInterceptor. Example: - - Interceptors.getInstance().setOnLoad(new Decrypter()); - - [..] - - private static class Decrypter implements OnLoadInterceptor { - - public PDDocument intercept(PDDocument doc, URI uri) throws IOException { - if (doc.isEncrypted()) { - DecryptionMaterial dec = new StandardDecryptionMaterial("password"); - try { - doc.openProtection(dec); - System.out.println("Decrypting: " + uri); - } catch (Exception e) { - throw new RuntimeException("Error decrypting PDF", e); - } - } - return doc; - } - - } - - For more information on how to set decryption material, please see the PDFBox - documentation. * If you enable PDF/A or PDF/X functionality, the resulting PDF may not be a compliant file since the code isn't sophisticated enough to ensure that @@ -85,8 +58,6 @@ Implementation notes: * If the PDF you want to embed has annotations, be prepared that they may not be transferred correctly. -* Document structure (Tagged PDF/Accessibility) will not be preserved! - * Apache FOP currently generates PDF 1.4. If you include a PDF with a higher PDF version, the results may be unpredictable. @@ -185,7 +156,7 @@ http://www.jeremias-maerki.ch/developmen RELEASE NOTES == -Version 2.2 (TBD) +Version 2.2 = Changes: - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1787765 - /xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_2/
Author: ssteiner Date: Mon Mar 20 13:16:00 2017 New Revision: 1787765 URL: http://svn.apache.org/viewvc?rev=1787765=rev Log: Add branch Added: xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_2/ (props changed) - copied from r1787764, xmlgraphics/fop-pdf-images/trunk/ Propchange: xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_2/ -- --- svn:ignore (added) +++ svn:ignore Mon Mar 20 13:16:00 2017 @@ -0,0 +1,5 @@ +.* +build +build-local.properties +dist-bin +dist-src Propchange: xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_2/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Mon Mar 20 13:16:00 2017 @@ -0,0 +1 @@ +/xmlgraphics/fop-pdf-images/branches/Temp_FontMerging:1600597-1610934 - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1787695 - in /xmlgraphics/fop/branches/fop-2_2: fop/lib/batik-all-1.8.jar fop/lib/batik-all-1.9.jar pom.xml
Author: ssteiner Date: Mon Mar 20 09:26:18 2017 New Revision: 1787695 URL: http://svn.apache.org/viewvc?rev=1787695=rev Log: Use newer batik Added: xmlgraphics/fop/branches/fop-2_2/fop/lib/batik-all-1.9.jar (with props) Removed: xmlgraphics/fop/branches/fop-2_2/fop/lib/batik-all-1.8.jar Modified: xmlgraphics/fop/branches/fop-2_2/pom.xml Added: xmlgraphics/fop/branches/fop-2_2/fop/lib/batik-all-1.9.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/fop-2_2/fop/lib/batik-all-1.9.jar?rev=1787695=auto == Binary file - no diff available. Propchange: xmlgraphics/fop/branches/fop-2_2/fop/lib/batik-all-1.9.jar -- svn:mime-type = application/octet-stream Modified: xmlgraphics/fop/branches/fop-2_2/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/fop-2_2/pom.xml?rev=1787695=1787694=1787695=diff == --- xmlgraphics/fop/branches/fop-2_2/pom.xml (original) +++ xmlgraphics/fop/branches/fop-2_2/pom.xml Mon Mar 20 09:26:18 2017 @@ -12,7 +12,7 @@ 1.8 4.3.1 -1.8 +1.9 1.9.1 2.14 1.3.1 - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1787069 - in /xmlgraphics/fop/trunk: NOTICE fop/build.xml
Author: ssteiner Date: Wed Mar 15 15:58:14 2017 New Revision: 1787069 URL: http://svn.apache.org/viewvc?rev=1787069=rev Log: Update year Modified: xmlgraphics/fop/trunk/NOTICE xmlgraphics/fop/trunk/fop/build.xml Modified: xmlgraphics/fop/trunk/NOTICE URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/NOTICE?rev=1787069=1787068=1787069=diff == --- xmlgraphics/fop/trunk/NOTICE (original) +++ xmlgraphics/fop/trunk/NOTICE Wed Mar 15 15:58:14 2017 @@ -1,5 +1,5 @@ Apache FOP -Copyright 1999-2016 The Apache Software Foundation +Copyright 1999-2017 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (http://www.apache.org/). Modified: xmlgraphics/fop/trunk/fop/build.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/build.xml?rev=1787069=1787068=1787069=diff == --- xmlgraphics/fop/trunk/fop/build.xml (original) +++ xmlgraphics/fop/trunk/fop/build.xml Wed Mar 15 15:58:14 2017 @@ -156,7 +156,7 @@ list of possible build targets. - + - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1789955 - /xmlgraphics/fop/branches/fop-2_2/fop/lib/batik-all-1.9.jar
Author: ssteiner Date: Mon Apr 3 11:23:45 2017 New Revision: 1789955 URL: http://svn.apache.org/viewvc?rev=1789955=rev Log: Update to batik RC Modified: xmlgraphics/fop/branches/fop-2_2/fop/lib/batik-all-1.9.jar Modified: xmlgraphics/fop/branches/fop-2_2/fop/lib/batik-all-1.9.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/fop-2_2/fop/lib/batik-all-1.9.jar?rev=1789955=1789954=1789955=diff == Binary files - no diff available. - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1790787 - /xmlgraphics/fop/tags/fop-2_2/
Author: ssteiner Date: Mon Apr 10 08:00:28 2017 New Revision: 1790787 URL: http://svn.apache.org/viewvc?rev=1790787=rev Log: Tag fop Added: xmlgraphics/fop/tags/fop-2_2/ (props changed) - copied from r1790786, xmlgraphics/fop/branches/fop-2_2/ Propchange: xmlgraphics/fop/tags/fop-2_2/ -- --- svn:externals (added) +++ svn:externals Mon Apr 10 08:00:28 2017 @@ -0,0 +1 @@ +docs http://svn.apache.org/repos/asf/xmlgraphics/site/trunk/content/fop Propchange: xmlgraphics/fop/tags/fop-2_2/ -- --- svn:ignore (added) +++ svn:ignore Mon Apr 10 08:00:28 2017 @@ -0,0 +1 @@ +target Propchange: xmlgraphics/fop/tags/fop-2_2/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Mon Apr 10 08:00:28 2017 @@ -0,0 +1,18 @@ +/xmlgraphics/fop/branches/FOP-2393_gradient-rendering:1609496-1611778 +/xmlgraphics/fop/branches/Temp_AreaTreeNewDesign:603620-746655 +/xmlgraphics/fop/branches/Temp_Color:956535-1069429 +/xmlgraphics/fop/branches/Temp_FontMerging:1600596-1610938 +/xmlgraphics/fop/branches/Temp_FopFontsForSVG:1508203-1564000 +/xmlgraphics/fop/branches/Temp_ImproveAccessibility:1187234-1242827 +/xmlgraphics/fop/branches/Temp_InlineContainer:1534142-1562399 +/xmlgraphics/fop/branches/Temp_PCLSoftFonts:1685105-1695067 +/xmlgraphics/fop/branches/Temp_PDF_ObjectStreams:1303414-1305418 +/xmlgraphics/fop/branches/Temp_RoundedCorners:1003017-1401566 +/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript:949179-1352964 +/xmlgraphics/fop/branches/Temp_URI_Unification:1243479-1356612 +/xmlgraphics/fop/branches/Temp_WhitespaceManagement:1518682-1591437 +/xmlgraphics/fop/branches/Temp_XGC_URI_Resolution:1365471-1391007 +/xmlgraphics/fop/branches/fop-0_95:684572,688085,688696 +/xmlgraphics/fop/branches/fop-1_0:959975-964707 +/xmlgraphics/fop/branches/fop-1_1:1357766-1400689,1400697 +/xmlgraphics/fop/branches/maven:1721689-1735159 Propchange: xmlgraphics/fop/tags/fop-2_2/ -- svnmerge-integrated = /xmlgraphics/fop/trunk:1-720845 - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1785982 - in /xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop: complexscripts/bidi/ complexscripts/fonts/ complexscripts/util/ layoutmgr/inline/ pdf/ render/rtf/ util/bitmap/
Author: ssteiner Date: Wed Mar 8 15:15:06 2017 New Revision: 1785982 URL: http://svn.apache.org/viewvc?rev=1785982=rev Log: Fix findbugs 3 warnings Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/bidi/UnicodeBidiAlgorithm.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/GlyphProcessingState.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/util/NumberConverter.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/FloatLayoutManager.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/pdf/PDFFunction.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/RTFHandler.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/util/bitmap/DitherUtil.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/bidi/UnicodeBidiAlgorithm.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/bidi/UnicodeBidiAlgorithm.java?rev=1785982=1785981=1785982=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/bidi/UnicodeBidiAlgorithm.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/bidi/UnicodeBidiAlgorithm.java Wed Mar 8 15:15:06 2017 @@ -382,7 +382,7 @@ public final class UnicodeBidiAlgorithm if ((bcPrev == EN) || (bcNext == EN)) { wca [ i ] = EN; } -} else if ((bc != BN) && (bc != ET)) { +} else if (bc != BN) { bcPrev = bc; } } Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/GlyphProcessingState.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/GlyphProcessingState.java?rev=1785982=1785981=1785982=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/GlyphProcessingState.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/GlyphProcessingState.java Wed Mar 8 15:15:06 2017 @@ -927,6 +927,7 @@ public class GlyphProcessingState { al.add(igs.getAssociation(i)); } gb.flip(); +assert igs != null; if (igs.compareGlyphs(gb) != 0) { this.igs = new GlyphSequence(igs.getCharacters(), gb, al); this.indexLast = gb.limit(); Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java?rev=1785982=1785981=1785982=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java Wed Mar 8 15:15:06 2017 @@ -150,14 +150,12 @@ public final class OTFAdvancedTypographi log.debug(tableTag + " lang sys table non-required feature count: " + nf); } // read (non-required) feature indices -int[] fia = new int[nf]; List fl = new java.util.ArrayList(); for (int i = 0; i < nf; i++) { int fi = in.readTTFUShort(); if (log.isDebugEnabled()) { log.debug(tableTag + " lang sys table non-required feature index: " + fi); } -fia[i] = fi; fl.add("f" + fi); } if (seLanguages == null) { @@ -265,14 +263,12 @@ public final class OTFAdvancedTypographi log.debug(tableTag + " feature table lookup list index count: " + nl); } // read lookup table indices -int[] lia = new int[nl]; List lul = new java.util.ArrayList(); for (int i = 0; i < nl; i++) { int li = in.readTTFUShort(); if (log.isDebugEnabled()) { log.debug(tableTag + " feature table lookup index: " + li); } -lia[i] = li; lul.add("lu" + li); } seFeatures.put("f" + featu
svn commit: r1786004 - /xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/MultiByteFont.java
Author: ssteiner Date: Wed Mar 8 16:19:42 2017 New Revision: 1786004 URL: http://svn.apache.org/viewvc?rev=1786004=rev Log: Fix findbugs 3 warnings Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/MultiByteFont.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/MultiByteFont.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/MultiByteFont.java?rev=1786004=1786003=1786004=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/MultiByteFont.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/MultiByteFont.java Wed Mar 8 16:19:42 2017 @@ -769,7 +769,7 @@ public class MultiByteFont extends CIDFo return true; } else if ((ch >= 0x2028) && (ch <= 0x202E)) { return true; -} else if ((ch >= 0x2066) && (ch <= 0x206F)) { +} else if (ch >= 0x2066) { return true; } else { return ch == 0x2060; - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1786148 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java
Author: ssteiner Date: Thu Mar 9 11:58:08 2017 New Revision: 1786148 URL: http://svn.apache.org/viewvc?rev=1786148=rev Log: FOP-2697: Adobe Reader error with Adobe Kozuka Mincho font Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java?rev=1786148=1786147=1786148=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java Thu Mar 9 11:58:08 2017 @@ -1055,12 +1055,21 @@ public class OTFSubSetFile extends OTFFi } private void writeCharsetTable(boolean cidFont) throws IOException { -writeByte(0); -for (Entry<Integer, Integer> entry : gidToSID.entrySet()) { -if (cidFont && entry.getKey() == 0) { -continue; +if (cidFont) { +writeByte(2); +for (int entry : gidToSID.keySet()) { +if (entry == 0) { +continue; +} +writeCard16(entry); +writeCard16(gidToSID.size() - 1); +break; +} +} else { +writeByte(0); +for (int entry : gidToSID.values()) { +writeCard16(entry); } -writeCard16((cidFont) ? entry.getKey() : entry.getValue()); } } Modified: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java?rev=1786148=1786147=1786148=diff == --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java Thu Mar 9 11:58:08 2017 @@ -19,6 +19,7 @@ package org.apache.fop.fonts.truetype; +import java.io.ByteArrayInputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; @@ -48,6 +49,7 @@ public class OTFSubSetFileTestCase exten private CFFDataReader cffReaderSourceSans; private OTFSubSetFile sourceSansSubset; +private Map<Integer, Integer> glyphs = new HashMap<Integer, Integer>(); /** * Initialises the test by creating the font subset. A CFFDataReader is @@ -57,8 +59,6 @@ public class OTFSubSetFileTestCase exten @Before public void setUp() throws Exception { super.setUp(); - -Map<Integer, Integer> glyphs = new HashMap<Integer, Integer>(); for (int i = 0; i < 256; i++) { glyphs.put(i, i); } @@ -444,27 +444,7 @@ public class OTFSubSetFileTestCase exten FontFileReader reader = sourceSansReader; String header = OFFontLoader.readHeader(reader); -OTFSubSetFile otfSubSetFile = new OTFSubSetFile() { -protected void createCFF() throws IOException { -cffReader = mock(CFFDataReader.class); -when(cffReader.getHeader()).thenReturn(new byte[0]); -when(cffReader.getTopDictIndex()).thenReturn(new CFFDataReader().new CFFIndexData() { -public byte[] getByteData() throws IOException { -return new byte[3]; -} -}); - -LinkedHashMap<String, DICTEntry> map = new LinkedHashMap<String, DICTEntry>(); -DICTEntry dict = new DICTEntry(); -dict.setOperands(Collections.singletonList(1)); -map.put("charset", dict); -map.put("CharStrings", dict); -when((cffReader.getTopDictEntries())).thenReturn(map); -when(cffReader.getFDSelect()).thenReturn(new CFFDataReader().new Format3FDSelect()); - cffReader.getTopDictEntries().get("CharStrings").setOperandLength(opLen); -super.createCFF(); -} -}; +OTFSubSetFile otfSubSetFile = new MyOTFSubSetFile(opLen); otfSubSetFile.readFont(reader, "StandardOpenType", header, new HashMap<Integer, Integer>()); return otfSubSetFile.getFontSubset(); @@ -472,10 +452,6 @@ public class OTFSubSetFileTestCase exten @Test
svn commit: r1786161 - /xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java
Author: ssteiner Date: Thu Mar 9 13:07:05 2017 New Revision: 1786161 URL: http://svn.apache.org/viewvc?rev=1786161=rev Log: OTF code cleanup Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java?rev=1786161=1786160=1786161=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java Thu Mar 9 13:07:05 2017 @@ -952,16 +952,7 @@ public class OTFSubSetFile extends OTFFi for (byte[] aDataArray1 : dataArray) { totLength += aDataArray1.length; } -int offSize = 1; -if (totLength < (1 << 8)) { -offSize = 1; -} else if (totLength < (1 << 16)) { -offSize = 2; -} else if (totLength < (1 << 24)) { -offSize = 3; -} else { -offSize = 4; -} +int offSize = getOffSize(totLength); this.writeByte(offSize); //Count the first offset 1 hdrTotal += offSize; @@ -1008,6 +999,19 @@ public class OTFSubSetFile extends OTFFi return hdrTotal + total; } +private int getOffSize(int totLength) { +int offSize = 1; +if (totLength < (1 << 8)) { +offSize = 1; +} else if (totLength < (1 << 16)) { +offSize = 2; +} else if (totLength < (1 << 24)) { +offSize = 3; +} else { +offSize = 4; +} +return offSize; +} /** * A class used to store the last number operand and also it's size in bytes */ - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1786659 - in /xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype: OTFSubSetFile.java OTFSubSetWriter.java
Author: ssteiner Date: Mon Mar 13 11:03:42 2017 New Revision: 1786659 URL: http://svn.apache.org/viewvc?rev=1786659=rev Log: OTF code cleanup Added: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetWriter.java (with props) Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java?rev=1786659=1786658=1786659=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java Mon Mar 13 11:03:42 2017 @@ -50,18 +50,14 @@ import org.apache.fop.fonts.cff.CFFDataR * The OpenType specification can be found at the Microsoft * Typography site: http://www.microsoft.com/typography/otspec/ */ -public class OTFSubSetFile extends OTFFile { - -protected byte[] output; -protected int currentPos; -private int realSize; +public class OTFSubSetFile extends OTFSubSetWriter { /** A map containing each glyph to be included in the subset * with their existing and new GID's **/ -protected LinkedHashMap<Integer, Integer> subsetGlyphs = new LinkedHashMap<Integer, Integer>(); +protected Map<Integer, Integer> subsetGlyphs = new LinkedHashMap<Integer, Integer>(); /** A map of the new GID to SID used to construct the charset table **/ -protected LinkedHashMap<Integer, Integer> gidToSID; +protected Map<Integer, Integer> gidToSID; protected CFFIndexData localIndexSubr; protected CFFIndexData globalIndexSubr; @@ -76,7 +72,7 @@ public class OTFSubSetFile extends OTFFi /** The subset FD Select table used to store the mappings between glyphs and their * associated FDFont object which point to a private dict and local subroutines. */ -private LinkedHashMap<Integer, FDIndexReference> subsetFDSelect; +private Map<Integer, FDIndexReference> subsetFDSelect; /** A list of unique subroutines from the global / local subroutine indexes */ protected List localUniques; @@ -152,7 +148,7 @@ public class OTFSubSetFile extends OTFFi createCFF(); } -private LinkedHashMap<Integer, Integer> sortByValue(Map<Integer, Integer> map) { +private Map<Integer, Integer> sortByValue(Map<Integer, Integer> map) { List<Entry<Integer, Integer>> list = new ArrayList<Entry<Integer, Integer>>(map.entrySet()); Collections.sort(list, new Comparator<Entry<Integer, Integer>>() { public int compare(Entry<Integer, Integer> o1, Entry<Integer, Integer> o2) { @@ -160,7 +156,7 @@ public class OTFSubSetFile extends OTFFi } }); - LinkedHashMap<Integer, Integer> result = new LinkedHashMap<Integer, Integer>(); + Map<Integer, Integer> result = new LinkedHashMap<Integer, Integer>(); for (Entry<Integer, Integer> entry : list) { result.put(entry.getKey(), entry.getValue()); } @@ -256,19 +252,6 @@ public class OTFSubSetFile extends OTFFi return fontNameSIDs; } -protected void writeBytes(byte[] out) { -for (byte anOut : out) { -writeByte(anOut); -} -} - -protected void writeBytes(byte[] out, int offset, int length) { -for (int i = offset; i < offset + length; i++) { -output[currentPos++] = out[i]; -realSize++; -} -} - protected void writeTopDICT() throws IOException { LinkedHashMap<String, DICTEntry> topDICT = cffReader.getTopDictEntries(); List topDictStringEntries = Arrays.asList("version", "Notice", "Copyright", @@ -301,18 +284,18 @@ public class OTFSubSetFile extends OTFFi } int sidBStringIndex = stringIndexData.size() + 390; byte[] cidEntryByteData = dictEntry.getByteData(); -cidEntryByteData = updateOffset(cidEntryByteData, 0, dictEntry.getOperandLengths().get(0), +updateOffset(cidEntryByteData, 0, dictEntry.getOperandLengths().get(0), sidAStringIndex); -cidEntryByteData = updateOffset(cidEntryByteData, dictEntry.getOperandLengths().get(0), +updateOffset(cidEntryByteData, dictEntry.getOperandLengths().get(0), dictEntry.getOperandLengths().get(1), sidBStringIndex); -cidEntryByteData = updateOffset(cidEntryByteData, dictEntry.getOperandLengths().get(0) +updateOffset(cidEntryByteData, dictEntry.getOp
svn commit: r1786698 - in /xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts: cff/CFFDataReader.java truetype/OTFSubSetFile.java
Author: ssteiner Date: Mon Mar 13 14:18:09 2017 New Revision: 1786698 URL: http://svn.apache.org/viewvc?rev=1786698=rev Log: Cleanup OTFSubsetFile Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/cff/CFFDataReader.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/cff/CFFDataReader.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/cff/CFFDataReader.java?rev=1786698=1786697=1786698=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/cff/CFFDataReader.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/cff/CFFDataReader.java Mon Mar 13 14:18:09 2017 @@ -508,7 +508,7 @@ public class CFFDataReader { Format1Encoding newEncoding = new Format1Encoding(); newEncoding.setFormat(format); newEncoding.setNumEntries(numEntries); -LinkedHashMap<Integer, Integer> ranges = new LinkedHashMap<Integer, Integer>(); +Map<Integer, Integer> ranges = new LinkedHashMap<Integer, Integer>(); for (int i = 0; i < numEntries; i++) { int first = cffData.readCard8(); int left = cffData.readCard8(); @@ -555,7 +555,7 @@ public class CFFDataReader { newFDs.setFormat(3); int rangeCount = cffData.readCard16(); newFDs.setRangeCount(rangeCount); -LinkedHashMap<Integer, Integer> ranges = new LinkedHashMap<Integer, Integer>(); +Map<Integer, Integer> ranges = new LinkedHashMap<Integer, Integer>(); for (int i = 0; i < rangeCount; i++) { int first = cffData.readCard16(); int fd = cffData.readCard8(); @@ -567,7 +567,7 @@ public class CFFDataReader { } private List parseCIDData() throws IOException { -ArrayList fdFonts = new ArrayList(); +List fdFonts = new ArrayList(); if (topDict.get("ROS") != null) { DICTEntry fdArray = topDict.get("FDArray"); if (fdArray != null) { @@ -577,7 +577,7 @@ public class CFFDataReader { FontDict newFontDict = new FontDict(); byte[] fdData = fontDicts.getValue(i); -LinkedHashMap<String, DICTEntry> fdEntries = parseDictData(fdData); +Map<String, DICTEntry> fdEntries = parseDictData(fdData); newFontDict.setByteData(fontDicts.getValuePosition(i), fontDicts.getValueLength(i)); DICTEntry fontFDEntry = fdEntries.get("FontName"); if (fontFDEntry != null) { @@ -601,7 +601,7 @@ public class CFFDataReader { cffData.setPosition(privateFDOffset); byte[] privateDict = cffData.readBytes(privateFDLength); newFontDict.setPrivateDictData(privateFDOffset, privateFDLength); -LinkedHashMap<String, DICTEntry> privateEntries = parseDictData(privateDict); +Map<String, DICTEntry> privateEntries = parseDictData(privateDict); DICTEntry subroutines = privateEntries.get("Subrs"); if (subroutines != null) { CFFIndexData localSubrs = readIndex(privateFDOffset @@ -625,7 +625,7 @@ public class CFFDataReader { int offset = privateEntry.getOperands().get(1).intValue(); cffData.setPosition(offset); byte[] privateData = cffData.readBytes(length); -LinkedHashMap<String, DICTEntry> privateDict = parseDictData(privateData); +Map<String, DICTEntry> privateDict = parseDictData(privateData); DICTEntry localSubrsEntry = privateDict.get("Subrs"); if (localSubrsEntry != null) { int localOffset = offset + localSubrsEntry.getOperands().get(0).intValue(); @@ -803,13 +803,13 @@ public class CFFDataReader { } public class Format1Encoding extends CustomEncoding { -private LinkedHashMap<Integer, Integer> ranges; +private Map<Integer, Integer> ranges; -public void setRanges(LinkedHashMap<Integer, Integer> ranges) { +public void setRanges(Map<Integer, Integer> ranges) { this.ranges = ranges; } -public LinkedHashMap<Integer, Integer> getRanges() { +public Map<Integer, Integer> getRanges() { return ranges; } } @@ -840,7 +840,7 @@ public class CFFDataReader { public class Format3FDSelect extends FDSelect { private int rangeCount; -private LinkedHashMap<Integer, Integer> ranges; +private Map<Integer, Integer> ranges; private int sentin
svn commit: r1785969 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java
Author: ssteiner Date: Wed Mar 8 13:58:08 2017 New Revision: 1785969 URL: http://svn.apache.org/viewvc?rev=1785969=rev Log: FOP-2697: Adobe Reader error with Adobe Kozuka Mincho font Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java?rev=1785969=1785968=1785969=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java Wed Mar 8 13:58:08 2017 @@ -172,7 +172,7 @@ public class OTFSubSetFile extends OTFFi writeBytes(cffReader.getHeader()); //Name Index -writeIndex(Arrays.asList(embeddedName.getBytes())); +writeIndex(Arrays.asList(embedFontName.getBytes())); //Keep offset of the topDICT so it can be updated once all data has been written int topDictOffset = currentPos; Modified: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java?rev=1785969=1785968=1785969=diff == --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java Wed Mar 8 13:58:08 2017 @@ -37,6 +37,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import org.apache.fontbox.cff.CFFFont; +import org.apache.fontbox.cff.CFFParser; import org.apache.fop.fonts.cff.CFFDataReader; import org.apache.fop.fonts.cff.CFFDataReader.CFFIndexData; @@ -435,8 +436,8 @@ public class OTFSubSetFileTestCase exten @Test public void testFDSelect() throws IOException { -Assert.assertEquals(getSubset(1).length, 39); -Assert.assertEquals(getSubset(2).length, 46); +Assert.assertEquals(getSubset(1).length, 41); +Assert.assertEquals(getSubset(2).length, 48); } private byte[] getSubset(final int opLen) throws IOException { @@ -468,4 +469,19 @@ public class OTFSubSetFileTestCase exten otfSubSetFile.readFont(reader, "StandardOpenType", header, new HashMap<Integer, Integer>()); return otfSubSetFile.getFontSubset(); } + +@Test +public void testOffsets() throws IOException { +Map<Integer, Integer> glyphs = new HashMap<Integer, Integer>(); +for (int i = 0; i < 256; i++) { +glyphs.put(i, i); +} +StringBuilder sb = new StringBuilder(); +for (int i = 0; i < 2048; i++) { +sb.append("SourceSansProBold"); +} +OTFSubSetFile otfSubSetFile = new OTFSubSetFile(); +otfSubSetFile.readFont(sourceSansReader, sb.toString(), null, glyphs); +new CFFParser().parse(otfSubSetFile.getFontSubset()); +} } - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1786697 - in /xmlgraphics/fop-pdf-images/trunk: lib/fop.jar src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java src/java/org/apache/fop/render/pdf/pdfbox/OTFSubSetFile.java
Author: ssteiner Date: Mon Mar 13 14:17:51 2017 New Revision: 1786697 URL: http://svn.apache.org/viewvc?rev=1786697=rev Log: Cleanup OTFSubsetFile Modified: xmlgraphics/fop-pdf-images/trunk/lib/fop.jar xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/OTFSubSetFile.java Modified: xmlgraphics/fop-pdf-images/trunk/lib/fop.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/lib/fop.jar?rev=1786697=1786696=1786697=diff == Binary files - no diff available. Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java?rev=1786697=1786696=1786697=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java Mon Mar 13 14:17:51 2017 @@ -45,7 +45,7 @@ import org.apache.fop.fonts.cff.CFFDataR import org.apache.fop.fonts.truetype.FontFileReader; public class MergeCFFFonts extends OTFSubSetFile implements MergeFonts { -protected List<LinkedHashMap<Integer, Integer>> subsetGlyphsList = new ArrayList<LinkedHashMap<Integer, Integer>>(); +protected List<Map<Integer, Integer>> subsetGlyphsList = new ArrayList<Map<Integer, Integer>>(); private boolean fallbackIndex; private int charsetOffset; private int fontFileSize; @@ -78,7 +78,7 @@ public class MergeCFFFonts extends OTFSu if (fileFont == null) { fileFont = ff; } -LinkedHashMap<Integer, Integer> sg = new LinkedHashMap<Integer, Integer>(); +Map<Integer, Integer> sg = new LinkedHashMap<Integer, Integer>(); for (int i = 0; i < ff.getNumCharStrings() + 1; i++) { sg.put(i, i); } @@ -127,7 +127,7 @@ public class MergeCFFFonts extends OTFSu noOfFonts++; } -private void setupMapping(CFFCharset charset, LinkedHashMap<Integer, Integer> sg) { +private void setupMapping(CFFCharset charset, Map<Integer, Integer> sg) { int subsetGlyphIndex = 0; for (int sid : getSids(charset)) { if (sg.containsKey(subsetGlyphIndex)) { @@ -317,7 +317,7 @@ public class MergeCFFFonts extends OTFSu Map<String, CFFDataReader.DICTEntry> fdFontDict = cffReader.parseDictData(fdFontByteData); //Update the Private dict reference CFFDataReader.DICTEntry fdPrivate = fdFontDict.get("Private"); -fdFontByteData = updateOffset(fdFontByteData, +updateOffset(fdFontByteData, fdPrivate.getOffset() + fdPrivate.getOperandLengths().get(0), fdPrivate.getOperandLengths().get(1), privateDictOffsets.get(i)); @@ -479,7 +479,7 @@ public class MergeCFFFonts extends OTFSu if (oldCharset >= 32 && oldCharset <= 246) { charsetOffset += 139; } -output = updateOffset(output, oldCharsetOffset, charset.getOperandLength(), charsetOffset); +updateOffset(output, oldCharsetOffset, charset.getOperandLength(), charsetOffset); } //Char string index offset in the private dict @@ -490,7 +490,7 @@ public class MergeCFFFonts extends OTFSu charStringOffset += 139; } if (!(fileFont.getCharset() instanceof CFFISOAdobeCharset)) { -output = updateOffset(output, oldCharStringOffset, charString.getOperandLength(), charStringOffset); +updateOffset(output, oldCharStringOffset, charString.getOperandLength(), charStringOffset); } final CFFDataReader.DICTEntry encodingEntry = topDICT.get("Encoding"); @@ -503,7 +503,7 @@ public class MergeCFFFonts extends OTFSu } else { encodingOffset--; } -output = updateOffset(output, oldEncodingOffset, encodingEntry.getOperandLength(), encodingOffset); +updateOffset(output, oldEncodingOffset, encodingEntry.getOperandLength(), encodingOffset); } } Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/OTFSubSetFile.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/OTFSubSetFile.java?rev=1786697=1786696=1786697=diff == --- xmlgraphics/fop-
svn commit: r1786917 - /xmlgraphics/fop/trunk/README
Author: ssteiner Date: Tue Mar 14 15:54:40 2017 New Revision: 1786917 URL: http://svn.apache.org/viewvc?rev=1786917=rev Log: Release notes Modified: xmlgraphics/fop/trunk/README Modified: xmlgraphics/fop/trunk/README URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/README?rev=1786917=1786916=1786917=diff == --- xmlgraphics/fop/trunk/README (original) +++ xmlgraphics/fop/trunk/README Tue Mar 14 15:54:40 2017 @@ -116,6 +116,11 @@ Version 2.2 (Forthcoming) Major Changes in Version 2.2 +* PCL Color support +* Allow generation of bold/italic versions of fonts for PDF +* Allow to convert OTF fonts to Type 1 for Postscript +* Deduplicate PDF content streams +* Update to PDFBox 2 * Transition from Ant to Maven Build Process This release also contains a number of bug fixes. - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1785288 - in /xmlgraphics/fop-pdf-images/trunk: src/java/org/apache/fop/render/pdf/pdfbox/ test/java/org/apache/fop/render/pdf/
Author: ssteiner Date: Fri Mar 3 13:00:22 2017 New Revision: 1785288 URL: http://svn.apache.org/viewvc?rev=1785288=rev Log: Clean up API calls and fix for findbugs 3 Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/AbstractPDFBoxHandler.java xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFSingleByteFont.java xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/FOPPDFSingleMultiByteFontTestCase.java xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFRotateTestCase.java Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/AbstractPDFBoxHandler.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/AbstractPDFBoxHandler.java?rev=1785288=1785287=1785288=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/AbstractPDFBoxHandler.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/AbstractPDFBoxHandler.java Fri Mar 3 13:00:22 2017 @@ -93,7 +93,7 @@ public abstract class AbstractPDFBoxHand Map<Object, Object> objectCachePerFile = getObjectCache(getImagePath(originalImageUri), userAgent); -PDPage page = pddoc.getDocumentCatalog().getPages().get(selectedPage); +PDPage page = pddoc.getPage(selectedPage); if (targetPage.getPDFResources().getParentResources() == null) { PDFResources res = pdfDoc.getFactory().makeResources(); Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFSingleByteFont.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFSingleByteFont.java?rev=1785288=1785287=1785288=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFSingleByteFont.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFSingleByteFont.java Fri Mar 3 13:00:22 2017 @@ -357,7 +357,7 @@ public class FOPPDFSingleByteFont extend for (int i = fontForEnc.getFirstChar(); i <= fontForEnc.getLastChar(); i++) { if (codeToName.keySet().contains(i)) { String s = codeToName.get(i); -if (!added.contains(s) || (added.contains(s) && !encodingMap.containsKey(i))) { +if (!added.contains(s) || !encodingMap.containsKey(i)) { if (!encodingMap.containsKey(i)) { encodingMap.put(i, s); } else { Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java?rev=1785288=1785287=1785288=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java Fri Mar 3 13:00:22 2017 @@ -105,7 +105,7 @@ public class PreloaderPDF extends Abstra + ") does not exist in the PDF file. The document has " + pddoc.getNumberOfPages() + " pages."); } -PDPage page = pddoc.getDocumentCatalog().getPages().get(selectedPage); +PDPage page = pddoc.getPage(selectedPage); PDRectangle mediaBox = page.getMediaBox(); PDRectangle cropBox = page.getCropBox(); PDRectangle viewBox = cropBox != null ? cropBox : mediaBox; Modified: xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/FOPPDFSingleMultiByteFontTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/FOPPDFSingleMultiByteFontTestCase.java?rev=1785288=1785287=1785288=diff == --- xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/FOPPDFSingleMultiByteFontTestCase.java (original) +++ xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/FOPPDFSingleMultiByteFontTestCase.java Fri Mar 3 13:00:22 2017 @@ -45,7 +45,7 @@ import org.apache.fop.render.pdf.pdfbox. public class FOPPDFSingleMultiByteFontTestCase { private COSDictionary getFont(PDDocument doc, String internalname) throw
svn commit: r1785316 - in /xmlgraphics/fop-pdf-images/trunk: src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java src/java/org/apache/fop/render/pdf/pdfbox/UniqueName.java test/java/org/apache
Author: ssteiner Date: Fri Mar 3 14:59:17 2017 New Revision: 1785316 URL: http://svn.apache.org/viewvc?rev=1785316=rev Log: FOP-2698: NPE when page resource missing Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/UniqueName.java xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java?rev=1785316=1785315=1785316=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java Fri Mar 3 14:59:17 2017 @@ -348,10 +348,10 @@ public class PDFBoxAdapter { if (pageNumbers.containsKey(targetPage.getPageIndex())) { pageNumbers.get(targetPage.getPageIndex()).set(0, targetPage.makeReference()); } -PDResources sourcePageResources = page.getResources(); +COSDictionary sourcePageResources = getResources(page); PDStream pdStream = getContents(page); -COSDictionary fonts = (COSDictionary)sourcePageResources.getCOSObject().getDictionaryObject(COSName.FONT); +COSDictionary fonts = (COSDictionary)sourcePageResources.getDictionaryObject(COSName.FONT); COSDictionary fontsBackup = null; UniqueName uniqueName = new UniqueName(key, sourcePageResources); String newStream = null; @@ -375,8 +375,8 @@ public class PDFBoxAdapter { } pdStream = new PDStream(sourceDoc, new ByteArrayInputStream(newStream.getBytes("ISO-8859-1"))); -mergeXObj(sourcePageResources.getCOSObject(), fontinfo, uniqueName); -PDFDictionary pageResources = (PDFDictionary)cloneForNewDocument(sourcePageResources.getCOSObject()); +mergeXObj(sourcePageResources, fontinfo, uniqueName); +PDFDictionary pageResources = (PDFDictionary)cloneForNewDocument(sourcePageResources); PDFDictionary fontDict = (PDFDictionary)pageResources.get("Font"); if (fontDict != null && pdfDoc.isMergeFontsEnabled()) { @@ -392,9 +392,9 @@ public class PDFBoxAdapter { } } } -updateXObj(sourcePageResources.getCOSObject(), pageResources); +updateXObj(sourcePageResources, pageResources); if (fontsBackup != null) { -sourcePageResources.getCOSObject().setItem(COSName.FONT, fontsBackup); +sourcePageResources.setItem(COSName.FONT, fontsBackup); } COSStream originalPageContents = pdStream.getCOSObject(); @@ -462,6 +462,14 @@ public class PDFBoxAdapter { return pdStream; } +private COSDictionary getResources(PDPage page) { +PDResources res = page.getResources(); +if (res == null) { +return new COSDictionary(); +} +return res.getCOSObject(); +} + private void mergeXObj(COSDictionary sourcePageResources, FontInfo fontinfo, UniqueName uniqueName) throws IOException { COSDictionary xobj = (COSDictionary) sourcePageResources.getDictionaryObject(COSName.XOBJECT); @@ -515,7 +523,7 @@ public class PDFBoxAdapter { } } -private void transferPageDict(COSDictionary fonts, UniqueName uniqueName, PDResources sourcePageResources) +private void transferPageDict(COSDictionary fonts, UniqueName uniqueName, COSDictionary sourcePageResources) throws IOException { if (fonts != null) { for (Map.Entry<COSName, COSBase> f : fonts.entrySet()) { @@ -523,7 +531,7 @@ public class PDFBoxAdapter { targetPage.getPDFResources().addFont(name, (PDFDictionary)cloneForNewDocument(f.getValue())); } } -for (Map.Entry<COSName, COSBase> e : sourcePageResources.getCOSObject().entrySet()) { +for (Map.Entry<COSName, COSBase> e : sourcePageResources.entrySet()) { transferDict(e, uniqueName); } } Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/UniqueName.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/UniqueName.java?rev=1785316=1785315=1785316=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/UniqueName.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/UniqueName.java Fri M
svn commit: r1805177 - in /xmlgraphics/fop/trunk: fop-core/src/main/java/org/apache/fop/afp/ fop-core/src/main/java/org/apache/fop/afp/fonts/ fop-core/src/main/java/org/apache/fop/layoutmgr/ fop-util/
Author: ssteiner Date: Wed Aug 16 11:02:44 2017 New Revision: 1805177 URL: http://svn.apache.org/viewvc?rev=1805177=rev Log: Fix javadocs under java 8 Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/afp/AFPResourceManager.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/afp/fonts/CharacterSetOrientation.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/FloatContentLayoutManager.java xmlgraphics/fop/trunk/fop-util/src/main/java/org/apache/fop/util/text/AdvancedMessageFormat.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/afp/AFPResourceManager.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/afp/AFPResourceManager.java?rev=1805177=1805176=1805177=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/afp/AFPResourceManager.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/afp/AFPResourceManager.java Wed Aug 16 11:02:44 2017 @@ -281,7 +281,6 @@ public class AFPResourceManager { } /** - * {@asf.todo} * * @param resourceInfo the resource info to check * @param areaInfo the area info to check Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/afp/fonts/CharacterSetOrientation.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/afp/fonts/CharacterSetOrientation.java?rev=1805177=1805176=1805177=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/afp/fonts/CharacterSetOrientation.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/afp/fonts/CharacterSetOrientation.java Wed Aug 16 11:02:44 2017 @@ -134,7 +134,6 @@ public class CharacterSetOrientation { } /** - * {@asf.todo} * * @return the underscore width */ @@ -143,7 +142,6 @@ public class CharacterSetOrientation { } /** - * {@asf.todo} * * @return the underscore position */ Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/FloatContentLayoutManager.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/FloatContentLayoutManager.java?rev=1805177=1805176=1805177=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/FloatContentLayoutManager.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/FloatContentLayoutManager.java Wed Aug 16 11:02:44 2017 @@ -39,7 +39,7 @@ public class FloatContentLayoutManager e private int yOffset; /** - * {@asf.todo - Add info} + * {Add info} * * @param node the {@link Float} associated with this instance */ @@ -100,7 +100,7 @@ public class FloatContentLayoutManager e } /** - * {@asf.todo - Add info} + * {Add info} * * @param elemenList * @param startIndex @@ -132,7 +132,7 @@ public class FloatContentLayoutManager e } /** - * {@asf.todo - Add info} + * {Add info} * * @param layoutContext */ Modified: xmlgraphics/fop/trunk/fop-util/src/main/java/org/apache/fop/util/text/AdvancedMessageFormat.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-util/src/main/java/org/apache/fop/util/text/AdvancedMessageFormat.java?rev=1805177=1805176=1805177=diff == --- xmlgraphics/fop/trunk/fop-util/src/main/java/org/apache/fop/util/text/AdvancedMessageFormat.java (original) +++ xmlgraphics/fop/trunk/fop-util/src/main/java/org/apache/fop/util/text/AdvancedMessageFormat.java Wed Aug 16 11:02:44 2017 @@ -192,7 +192,7 @@ public class AdvancedMessageFormat { /** * Formats a message with the given parameters. - * @param params a Map of named parameters (Contents: <String, Object>) + * @param params a Map of named parameters (Contents: String, Object) * @return the formatted message */ public String format(Map<String, Object> params) { @@ -203,7 +203,7 @@ public class AdvancedMessageFormat { /** * Formats a message with the given parameters. - * @param params a Map of named parameters (Contents: <String, Object>) + * @param params a Map of named parameters (Contents: String, Object) * @param target the target StringBuffer to write the formatted message to */ public void format(Map<String, Object> params, StringBuffer target) { - To unsubscribe, e-ma
svn commit: r1805173 [3/3] - in /xmlgraphics/fop/trunk: fop-core/src/main/java/org/apache/fop/apps/ fop-core/src/main/java/org/apache/fop/area/ fop-core/src/main/java/org/apache/fop/area/inline/ fop-c
Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTemplate.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTemplate.java?rev=1805173=1805172=1805173=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTemplate.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTemplate.java Wed Aug 16 10:50:04 2017 @@ -21,7 +21,7 @@ package org.apache.fop.render.rtf.rtflib /* * This file is part of the RTF library of the FOP project, which was originally - * created by Bertrand Delacretazand by other + * created by Bertrand Delacretaz bdelacre...@codeconsult.ch and by other * contributors to the jfor project (www.jfor.org), who agreed to donate jfor to * the FOP project. */ @@ -30,7 +30,7 @@ import java.io.IOException; /** * Singelton of the RTF style template - * This class belongs to the tag processing. + * This class belongs to the jfor:style-template tag processing. */ public final class RtfTemplate { Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfText.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfText.java?rev=1805173=1805172=1805173=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfText.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfText.java Wed Aug 16 10:50:04 2017 @@ -21,7 +21,7 @@ package org.apache.fop.render.rtf.rtflib /* * This file is part of the RTF library of the FOP project, which was originally - * created by Bertrand Delacretaz and by other + * created by Bertrand Delacretaz bdelacre...@codeconsult.ch and by other * contributors to the jfor project (www.jfor.org), who agreed to donate jfor to * the FOP project. */ Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/rtfdoc/WhitespaceCollapser.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/rtfdoc/WhitespaceCollapser.java?rev=1805173=1805172=1805173=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/rtfdoc/WhitespaceCollapser.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/rtfdoc/WhitespaceCollapser.java Wed Aug 16 10:50:04 2017 @@ -21,7 +21,7 @@ package org.apache.fop.render.rtf.rtflib /* * This file is part of the RTF library of the FOP project, which was originally - * created by Bertrand Delacretaz and by other + * created by Bertrand Delacretaz bdelacre...@codeconsult.ch and by other * contributors to the jfor project (www.jfor.org), who agreed to donate jfor to * the FOP project. */ Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/tools/ImageConstants.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/tools/ImageConstants.java?rev=1805173=1805172=1805173=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/tools/ImageConstants.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/tools/ImageConstants.java Wed Aug 16 10:50:04 2017 @@ -17,20 +17,20 @@ /* $Id$ */ -package org.apache.fop.render.rtf.rtflib.tools; /* * This file is part of the RTF library of the FOP project, which was originally - * created by Bertrand Delacretaz and by other + * created by Bertrand Delacretaz bdelacre...@codeconsult.ch and by other * contributors to the jfor project (www.jfor.org), who agreed to donate jfor to * the FOP project. */ -/** - * Here will be defined all supported image formats. - * This class belongs to the tag processing. - * - * This work was authored by Andreas Putz (a.p...@skynamics.com). +package org.apache.fop.render.rtf.rtflib.tools; + + +/** Here will be defined all supported image formats. + * This class belongs to the fo:external-graphic tag processing. + * This work was originally authored by a.p...@skynamics.com (Andreas Putz) */ public final class ImageConstants { Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/rtf/rtflib/tools/ImageUtil.java URL:
svn commit: r1805173 [2/3] - in /xmlgraphics/fop/trunk: fop-core/src/main/java/org/apache/fop/apps/ fop-core/src/main/java/org/apache/fop/area/ fop-core/src/main/java/org/apache/fop/area/inline/ fop-c
Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/afp/extensions/AFPPageOverlayElement.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/afp/extensions/AFPPageOverlayElement.java?rev=1805173=1805172=1805173=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/afp/extensions/AFPPageOverlayElement.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/afp/extensions/AFPPageOverlayElement.java Wed Aug 16 10:50:04 2017 @@ -35,7 +35,7 @@ import org.apache.fop.fo.extensions.Exte /** * This class extends the org.apache.fop.render.afp.extensions.AbstractAFPExtensionObject class. * This object will be used to map the page overlay object in AFPElementMapping. - * + * */ public class AFPPageOverlayElement extends AbstractAFPExtensionObject { Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/afp/extensions/AFPPageSegmentElement.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/afp/extensions/AFPPageSegmentElement.java?rev=1805173=1805172=1805173=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/afp/extensions/AFPPageSegmentElement.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/afp/extensions/AFPPageSegmentElement.java Wed Aug 16 10:50:04 2017 @@ -34,7 +34,7 @@ import org.apache.fop.fo.extensions.Exte * This class extends the org.apache.fop.extensions.ExtensionObj class. The * object faciliates extraction of elements from formatted objects based on * the static list as defined in the AFPElementMapping implementation. - * + * */ public class AFPPageSegmentElement extends AFPPageSetupElement { Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/bitmap/TIFFRenderer.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/bitmap/TIFFRenderer.java?rev=1805173=1805172=1805173=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/bitmap/TIFFRenderer.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/bitmap/TIFFRenderer.java Wed Aug 16 10:50:04 2017 @@ -65,8 +65,7 @@ import static org.apache.fop.render.bitm * JPEG-in-TIFF compression * DEFLATE lossless compression (also known as "Zip-in-TIFF") * LZW compression - * TODO - * + * * This class actually does not render itself, instead it extends * org.apache.fop.render.java2D.Java2DRenderer and just encode * rendering results into TIFF format using Batik's image codec Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/BorderPainter.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/BorderPainter.java?rev=1805173=1805172=1805173=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/BorderPainter.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/BorderPainter.java Wed Aug 16 10:50:04 2017 @@ -58,7 +58,7 @@ public class BorderPainter { /** The ratio between a solid dash and the white-space in a dashed-border */ public static final float DASHED_BORDER_SPACE_RATIO = 0.5f; -/** The length of the dash as a factor of the border width i.e. 2 -> dashWidth = 2*borderWidth */ +/** The length of the dash as a factor of the border width i.e. 2 - dashWidth = 2*borderWidth */ protected static final float DASHED_BORDER_LENGTH_FACTOR = 2.0f; private final GraphicsPainter graphicsPainter; @@ -284,7 +284,6 @@ public class BorderPainter { * condition that corners start on a dash and end with a dash (rather than ending with a white space). * @param borderLength The length of the border. * @param borderWidth The width/thickness of the border. - * @param dashSpaceRatio The ratio between dashes and white-space. * @return returns the length of the dash such that it fits the criteria above. */ public static float dashWidthCalculator(float borderLength, float borderWidth) { @@ -299,10 +298,6 @@ public class BorderPainter { /** TODO merge with drawRectangularBorders? * @param borderRect the border rectangle - * @param bpsBefore the border specification on the before side - * @param bpsAfter the border specification on the after side - * @param bpsStart the border specification on the start side - * @param bpsEnd the border
svn commit: r1805173 [1/3] - in /xmlgraphics/fop/trunk: fop-core/src/main/java/org/apache/fop/apps/ fop-core/src/main/java/org/apache/fop/area/ fop-core/src/main/java/org/apache/fop/area/inline/ fop-c
Author: ssteiner Date: Wed Aug 16 10:50:04 2017 New Revision: 1805173 URL: http://svn.apache.org/viewvc?rev=1805173=rev Log: Fix javadocs under java 8 Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/apps/FopFactory.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/apps/FopFactoryBuilder.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/area/Block.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/area/BookmarkData.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/area/Resolvable.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/area/inline/InlineArea.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/area/inline/InlineParent.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/cli/AreaTreeInputHandler.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/cli/IFInputHandler.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/cli/InputHandler.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/GlyphPositioningTable.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/GlyphSubstitutionTable.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/GlyphTable.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/util/CharAssociation.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/util/GlyphSequence.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/datatypes/Numeric.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/datatypes/URISpecification.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/FONode.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/FOText.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/PropertyList.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/StringCharIterator.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/expr/NumericProperty.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/flow/BlockContainer.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/flow/ListBlock.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/flow/ListItem.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/flow/ListItemBody.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/flow/ListItemLabel.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/flow/Marker.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/flow/Markers.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/flow/Wrapper.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/flow/table/TableEventProducer.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/pagination/RegionBody.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/properties/LengthRangeProperty.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/properties/URIProperty.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/CustomFont.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/EmbedFontInfo.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/FontCache.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/MultiByteFont.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/SingleByteFont.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/XMLFontMetricsReader.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/apps/PFMReader.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/apps/TTFReader.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/cff/CFFDataReader.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OpenFont.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/type1/AdobeStandardEncoding.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/type1/Type1FontLoader.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/hyphenation/Hyphenation.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/hyphenation/HyphenationTree.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/Adjustment.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java xmlgraphics/fop/trunk/fop-core/src/main/java/org
svn commit: r1801716 - in /xmlgraphics/fop-pdf-images/trunk: src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapterUtil.java test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java
Author: ssteiner Date: Wed Jul 12 10:21:56 2017 New Revision: 1801716 URL: http://svn.apache.org/viewvc?rev=1801716=rev Log: FOP-2723: PDF to PDF deduplicate more types of streams Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapterUtil.java xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapterUtil.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapterUtil.java?rev=1801716=1801715=1801716=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapterUtil.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapterUtil.java Wed Jul 12 10:21:56 2017 @@ -44,14 +44,7 @@ public final class PDFBoxAdapterUtil { } private static Integer getStreamHash(COSStream o) throws IOException { -for (COSBase x : o.getValues()) { -if (x instanceof COSObject || x instanceof COSDictionary) { -return null; -} -} -InputStream stream = o.getFilteredStream(); -byte[] b = IOUtils.toByteArray(stream); -return Arrays.deepHashCode(new Object[]{b, o.toString()}); +return getDictionaryHash(o).hashCode(); } private static String getDictionaryHash(COSBase base) throws IOException { Modified: xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java?rev=1801716=1801715=1801716=diff == --- xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java (original) +++ xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java Wed Jul 12 10:21:56 2017 @@ -29,6 +29,7 @@ import java.io.OutputStream; import java.net.URI; import java.util.Collections; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Map; import org.junit.Test; @@ -196,10 +197,7 @@ public class PDFBoxAdapterTestCase { @Test public void testTaggedPDFWriter() throws IOException { -PDFDocument pdfdoc = new PDFDocument(""); -PDFPage pdfpage = getPDFPage(pdfdoc); -pdfpage.setDocument(pdfdoc); -PDFBoxAdapter adapter = new PDFBoxAdapter(pdfpage, new HashMap(), new HashMap<Integer, PDFArray>()); +PDFBoxAdapter adapter = getPDFBoxAdapter(false); adapter.setCurrentMCID(5); PDDocument doc = PDDocument.load(new File(HELLOTagged)); PDPage page = doc.getPage(0); @@ -440,23 +438,14 @@ public class PDFBoxAdapterTestCase { @Test public void testPDFCache() throws IOException { PDFDocument pdfdoc = new PDFDocument(""); -PDFPage pdfpage = getPDFPage(pdfdoc); -pdfdoc.assignObjectNumber(pdfpage); -pdfpage.setDocument(pdfdoc); -Map<Object, Object> pdfCache = new HashMap<Object, Object>(); -Map<Object, Object> objectCachePerFile = new HashMap<Object, Object>(); -PDFBoxAdapter adapter = new PDFBoxAdapter( -pdfpage, objectCachePerFile, new HashMap<Integer, PDFArray>(), pdfCache); -PDDocument doc = PDDocument.load(new File(LOOP)); -PDPage page = doc.getPage(0); -adapter.createStreamFromPDFBoxPage(doc, page, "key", new AffineTransform(), null, new Rectangle()); -doc.close(); +Map<Object, Object> pdfCache = new LinkedHashMap<Object, Object>(); +Map<Object, Object> objectCachePerFile = loadPDFWithCache(pdfdoc, pdfCache, LOOP); Object item = pdfCache.values().iterator().next(); Assert.assertEquals(item.getClass(), PDFStream.class); item = pdfCache.keySet().iterator().next(); Assert.assertEquals(item.getClass(), Integer.class); -Assert.assertEquals(pdfCache.size(), 11); +Assert.assertEquals(pdfCache.size(), 12); int pdfDictionary = 0; int strings = 0; @@ -469,10 +458,37 @@ public class PDFBoxAdapterTestCase { } } Assert.assertEquals(pdfDictionary, 26); -Assert.assertEquals(strings, 34); +Assert.assertEquals(strings, 33); Assert.assertEquals(objectCachePerFile.size(), 45); } +private Map<Object, Object> loadPDFWithCache(PDFDocument pdfdoc, Map<Object, Object> pdfCache, String pdf) +throws IOException { +Map<Object, Object> o
svn commit: r1802257 - /xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java
Author: ssteiner Date: Tue Jul 18 09:17:38 2017 New Revision: 1802257 URL: http://svn.apache.org/viewvc?rev=1802257=rev Log: Cleanup test Modified: xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java Modified: xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java?rev=1802257=1802256=1802257=diff == --- xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java (original) +++ xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java Tue Jul 18 09:17:38 2017 @@ -23,6 +23,7 @@ import java.io.IOException; import java.util.HashMap; import java.util.List; +import org.junit.Before; import org.junit.Test; import org.apache.pdfbox.cos.COSArray; @@ -60,7 +61,6 @@ public class StructureTreeMergerTestCase @Test public void testCopyStructure() throws IOException { -setUp(); PDDocument doc = PDDocument.load(new File(LINK)); PDPage srcPage = doc.getPage(0); PageParentTreeFinder finder = new PageParentTreeFinder(srcPage); @@ -80,7 +80,6 @@ public class StructureTreeMergerTestCase @Test public void testNullEntriesInParentTree() throws IOException { -setUp(); PDDocument doc = PDDocument.load(new File(LINK)); PDPage srcPage = doc.getPage(0); PageParentTreeFinder finder = new PageParentTreeFinder(srcPage); @@ -98,7 +97,6 @@ public class StructureTreeMergerTestCase @Test public void testOBJRCorrectPosition() throws IOException { -setUp(); PDDocument doc = PDDocument.load(new File(MissingOBJR)); PDPage srcPage = doc.getPage(0); PageParentTreeFinder finder = new PageParentTreeFinder(srcPage); @@ -156,7 +154,8 @@ public class StructureTreeMergerTestCase } } -private void setUp() { +@Before +public void setUp() { Rectangle2D r = new Rectangle2D.Double(); pdfDoc = new PDFDocument(" "); pdfPage = new PDFPage(new PDFResources(pdfDoc), 0, r, r, r, r); @@ -174,7 +173,6 @@ public class StructureTreeMergerTestCase @Test public void testCheckNullCOSObject() throws IOException { -setUp(); PDDocument doc = PDDocument.load(new File(BrokenLink)); PDPage srcPage = doc.getPage(0); PageParentTreeFinder finder = new PageParentTreeFinder(srcPage); @@ -202,7 +200,6 @@ public class StructureTreeMergerTestCase public void testDirectDescedants() throws IOException { PDFStructElem elem = new PDFStructElem(); elem.setObjectNumber(100); -setUp(); adapter = new PDFBoxAdapter(pdfPage, new HashMap(), new HashMap<Integer, PDFArray>()); PDFLogicalStructureHandler handler = setUpPDFLogicalStructureHandler(); PDPage srcPage = new PDPage(); - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1801164 - in /xmlgraphics/fop-pdf-images/trunk: src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java
Author: ssteiner Date: Fri Jul 7 13:52:21 2017 New Revision: 1801164 URL: http://svn.apache.org/viewvc?rev=1801164=rev Log: FOP-2720: PDF to PCL exception on clipping Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java?rev=1801164=1801163=1801164=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java Fri Jul 7 13:52:21 2017 @@ -147,6 +147,8 @@ public class ImageConverterPDF2G2D exten area.getHeight() / mediaBox.getHeight()); g2d.transform(at); new PDFRenderer(pdDocument).renderPageToGraphics(selectedPage, g2d); +} catch (UnsupportedOperationException e) { +throw e; } catch (Throwable t) { throw new RuntimeException("Error while painting PDF page: " + uri + " " + t.getMessage(), t); } Modified: xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java?rev=1801164=1801163=1801164=diff == --- xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java (original) +++ xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java Fri Jul 7 13:52:21 2017 @@ -72,6 +72,8 @@ import org.apache.fop.pdf.PDFGState; import org.apache.fop.pdf.PDFPage; import org.apache.fop.pdf.PDFResources; import org.apache.fop.pdf.PDFStream; +import org.apache.fop.render.pcl.PCLGenerator; +import org.apache.fop.render.pcl.PCLGraphics2D; import org.apache.fop.render.pdf.pdfbox.ImageConverterPDF2G2D; import org.apache.fop.render.pdf.pdfbox.ImagePDF; import org.apache.fop.render.pdf.pdfbox.PDFBoxAdapter; @@ -359,6 +361,32 @@ public class PDFBoxAdapterTestCase { return stream; } +@Test +public void testPCL() throws IOException, ImageException { +String ex = ""; +try { +pdfToPCL(SHADING); +} catch (UnsupportedOperationException e) { +ex = e.getMessage(); +} +Assert.assertTrue(ex.contains("Clipping is not supported.")); +} + +private void pdfToPCL(String pdf) throws IOException, ImageException { +ImageConverterPDF2G2D i = new ImageConverterPDF2G2D(); +ImageInfo imgi = new ImageInfo(pdf, "b"); +PDDocument doc = PDDocument.load(new File(pdf)); +org.apache.xmlgraphics.image.loader.Image img = new ImagePDF(imgi, doc); +ImageGraphics2D ig = (ImageGraphics2D)i.convert(img, null); +ByteArrayOutputStream stream = new ByteArrayOutputStream(); +PCLGraphics2D g2d = new PCLGraphics2D(new PCLGenerator(stream)); +Rectangle2D rect = new Rectangle2D.Float(0, 0, 100, 100); +GraphicContext gc = new GraphicContext(); +g2d.setGraphicContext(gc); +ig.getGraphics2DImagePainter().paint(g2d, rect); +doc.close(); +} + static class FOPPSGeneratorImpl extends PSGenerator implements PSDocumentHandler.FOPPSGenerator { public FOPPSGeneratorImpl(OutputStream out) { super(out); - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1802366 - /xmlgraphics/fop/trunk/fop-core/src/tools/resources/findbugs/exclusions.xml
Author: ssteiner Date: Wed Jul 19 08:56:45 2017 New Revision: 1802366 URL: http://svn.apache.org/viewvc?rev=1802366=rev Log: Allow findbugs 3 to pass Modified: xmlgraphics/fop/trunk/fop-core/src/tools/resources/findbugs/exclusions.xml Modified: xmlgraphics/fop/trunk/fop-core/src/tools/resources/findbugs/exclusions.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/tools/resources/findbugs/exclusions.xml?rev=1802366=1802365=1802366=diff == --- xmlgraphics/fop/trunk/fop-core/src/tools/resources/findbugs/exclusions.xml (original) +++ xmlgraphics/fop/trunk/fop-core/src/tools/resources/findbugs/exclusions.xml Wed Jul 19 08:56:45 2017 @@ -407,6 +407,12 @@ + + + + + + - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1802364 - /xmlgraphics/fop/trunk/pom.xml
Author: ssteiner Date: Wed Jul 19 08:10:04 2017 New Revision: 1802364 URL: http://svn.apache.org/viewvc?rev=1802364=rev Log: Jenkins requires Java 8 so use compatible findbugs Modified: xmlgraphics/fop/trunk/pom.xml Modified: xmlgraphics/fop/trunk/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/pom.xml?rev=1802364=1802363=1802364=diff == --- xmlgraphics/fop/trunk/pom.xml (original) +++ xmlgraphics/fop/trunk/pom.xml Wed Jul 19 08:10:04 2017 @@ -19,7 +19,7 @@ 1.0.4 3.1 1.4.0 -2.5.5 +3.0.4 2.6 1.6 4.11 - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1802793 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/afp/ main/java/org/apache/fop/render/pdf/ main/java/org/apache/fop/render/ps/ test/java/org/apache/fop/render/af
Author: ssteiner Date: Mon Jul 24 11:49:40 2017 New Revision: 1802793 URL: http://svn.apache.org/viewvc?rev=1802793=rev Log: FOP-2730: Invalid output for empty block and border-left-style=dashed Added: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/render/ps/PSGraphicsPainterTestCase.java (with props) Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/afp/AFPBorderPainter.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/pdf/PDFGraphicsPainter.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSGraphicsPainter.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/render/afp/AFPBorderPainterTestCase.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/render/pdf/PDFGraphicsPainterTestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/afp/AFPBorderPainter.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/afp/AFPBorderPainter.java?rev=1802793=1802792=1802793=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/afp/AFPBorderPainter.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/afp/AFPBorderPainter.java Mon Jul 24 11:49:40 2017 @@ -138,7 +138,7 @@ public class AFPBorderPainter extends Ab lineDataInfo.setY2(lineDataInfo.getY1()); int ex2 = Math.round(x2); int spaceWidth = (int) (BorderPainter.DASHED_BORDER_SPACE_RATIO * dashWidth); -while (lineDataInfo.getX2() <= ex2) { +while (lineDataInfo.getX2() <= ex2 && dashWidth > 0) { dataStream.createLine(lineDataInfo); lineDataInfo.setX1(lineDataInfo.getX2() + spaceWidth); lineDataInfo.setX2(lineDataInfo.getX1() + dashWidth); @@ -149,7 +149,7 @@ public class AFPBorderPainter extends Ab lineDataInfo.setY2(lineDataInfo.getY1() + dashWidth); int ey2 = Math.round(y2); int spaceWidth = (int) (BorderPainter.DASHED_BORDER_SPACE_RATIO * dashWidth); -while (lineDataInfo.getY2() <= ey2) { +while (lineDataInfo.getY2() <= ey2 && dashWidth > 0) { dataStream.createLine(lineDataInfo); lineDataInfo.setY1(lineDataInfo.getY2() + spaceWidth); lineDataInfo.setY2(lineDataInfo.getY1() + dashWidth); Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/pdf/PDFGraphicsPainter.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/pdf/PDFGraphicsPainter.java?rev=1802793=1802792=1802793=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/pdf/PDFGraphicsPainter.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/pdf/PDFGraphicsPainter.java Mon Jul 24 11:49:40 2017 @@ -66,16 +66,20 @@ public class PDFGraphicsPainter implemen generator.setColor(col); if (horz) { float dashedWidth = BorderPainter.dashWidthCalculator(w, h); -float ym = y1 + (h / 2); -generator.setDashLine(dashedWidth, dashedWidth * BorderPainter.DASHED_BORDER_SPACE_RATIO) -.setLineWidth(h) -.strokeLine(x1, ym, x2, ym); +if (dashedWidth != 0) { +float ym = y1 + (h / 2); +generator.setDashLine(dashedWidth, dashedWidth * BorderPainter.DASHED_BORDER_SPACE_RATIO) +.setLineWidth(h) +.strokeLine(x1, ym, x2, ym); +} } else { float dashedWidth = BorderPainter.dashWidthCalculator(h, w); -float xm = x1 + (w / 2); -generator.setDashLine(dashedWidth, dashedWidth * BorderPainter.DASHED_BORDER_SPACE_RATIO) -.setLineWidth(w) -.strokeLine(xm, y1, xm, y2); +if (dashedWidth != 0) { +float xm = x1 + (w / 2); +generator.setDashLine(dashedWidth, dashedWidth * BorderPainter.DASHED_BORDER_SPACE_RATIO) +.setLineWidth(w) +.strokeLine(xm, y1, xm, y2); +} } break; case Constants.EN_DOTTED: Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSGraphicsPainter.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSGraphicsPainter.jav
svn commit: r1801064 - in /xmlgraphics/fop-pdf-images/trunk: src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java test/java/org/apache/fop/render/pdf/PSPDFGraphics2DTestCase.java
Author: ssteiner Date: Thu Jul 6 14:39:11 2017 New Revision: 1801064 URL: http://svn.apache.org/viewvc?rev=1801064=rev Log: FOP-2719: PDF to PS NPE when encode param not set Added: xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PSPDFGraphics2DTestCase.java (with props) Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java?rev=1801064=1801063=1801064=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java Thu Jul 6 14:39:11 2017 @@ -173,7 +173,7 @@ public class PSPDFGraphics2D extends PSG } } -private static Function getFunction(PDFunction f) throws IOException { +protected static Function getFunction(PDFunction f) throws IOException { if (f instanceof PDFunctionType3) { PDFunctionType3 sourceFT3 = (PDFunctionType3) f; float[] bounds = sourceFT3.getBounds().toFloatArray(); @@ -193,11 +193,11 @@ public class PSPDFGraphics2D extends PSG COSDictionary s = f.getCOSObject(); assert s instanceof COSStream; COSStream stream = (COSStream) s; -COSArray encode = (COSArray) s.getDictionaryObject(COSName.ENCODE); COSArray domain = (COSArray) s.getDictionaryObject(COSName.DOMAIN); COSArray range = (COSArray) s.getDictionaryObject(COSName.RANGE); int bits = ((COSInteger)s.getDictionaryObject(COSName.BITS_PER_SAMPLE)).intValue(); COSArray size = (COSArray) s.getDictionaryObject(COSName.SIZE); +COSArray encode = getEncode(s); byte[] x = IOUtils.toByteArray(stream.getUnfilteredStream()); for (byte y : x) { if (y != 0) { @@ -215,6 +215,20 @@ public class PSPDFGraphics2D extends PSG throw new IOException("Unsupported " + f.toString()); } +private static COSArray getEncode(COSDictionary s) { +COSArray encode = (COSArray) s.getDictionaryObject(COSName.ENCODE); +if (encode == null) { +encode = new COSArray(); +COSArray size = (COSArray) s.getDictionaryObject(COSName.SIZE); +int sizeValuesSize = size.size(); +for (int i = 0; i < sizeValuesSize; i++) { +encode.add(COSInteger.ZERO); +encode.add(COSInteger.get(size.getInt(i) - 1)); +} +} +return encode; +} + private static List toList(float[] array) { List list = new ArrayList(array.length); for (float f : array) { Added: xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PSPDFGraphics2DTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PSPDFGraphics2DTestCase.java?rev=1801064=auto == --- xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PSPDFGraphics2DTestCase.java (added) +++ xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PSPDFGraphics2DTestCase.java Thu Jul 6 14:39:11 2017 @@ -0,0 +1,73 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ +package org.apache.fop.render.pdf; + +import java.io.IOException; +import java.io.OutputStream; + +import org.junit.Assert; +import org.junit.Test; + +import org.apache.pdfbox.cos.COSArray; +import org.apache.pdfbox.cos.COSInteger; +import org.apache.pdfbox.cos.COSName; +import org.apache.pdfbox.cos.COSStream; +import org.apache.pdfbox.pdmodel.common.function.PDFunction; +import org.apache.pdfbox.pdmodel.common.function.PDFunctionType0; + +import org.apache.fop.
svn commit: r1801124 - /xmlgraphics/fop/trunk/fop/build.xml
Author: ssteiner Date: Fri Jul 7 08:17:23 2017 New Revision: 1801124 URL: http://svn.apache.org/viewvc?rev=1801124=rev Log: FOP-2718: sRGB.icc is missing from ant jar Modified: xmlgraphics/fop/trunk/fop/build.xml Modified: xmlgraphics/fop/trunk/fop/build.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/build.xml?rev=1801124=1801123=1801124=diff == --- xmlgraphics/fop/trunk/fop/build.xml (original) +++ xmlgraphics/fop/trunk/fop/build.xml Fri Jul 7 08:17:23 2017 @@ -404,6 +404,7 @@ list of possible build targets. + - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1792873 - in /xmlgraphics/fop-pdf-images/trunk: lib/ src/java/org/apache/fop/render/pdf/pdfbox/ test/java/org/apache/fop/render/pdf/ test/resources/
Author: ssteiner Date: Thu Apr 27 12:30:22 2017 New Revision: 1792873 URL: http://svn.apache.org/viewvc?rev=1792873=rev Log: FOP-2251: PDF to Postscript not showing transparency Added: xmlgraphics/fop-pdf-images/trunk/test/resources/libreoffice.pdf (with props) Modified: xmlgraphics/fop-pdf-images/trunk/lib/xmlgraphics-commons-svn-trunk.jar xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java Modified: xmlgraphics/fop-pdf-images/trunk/lib/xmlgraphics-commons-svn-trunk.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/lib/xmlgraphics-commons-svn-trunk.jar?rev=1792873=1792872=1792873=diff == Binary files - no diff available. Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java?rev=1792873=1792872=1792873=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java Thu Apr 27 12:30:22 2017 @@ -23,12 +23,24 @@ import java.awt.Dimension; import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D; +import java.awt.image.BufferedImage; import java.io.IOException; +import java.util.ArrayList; +import java.util.List; import java.util.Map; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.cos.COSDictionary; +import org.apache.pdfbox.cos.COSName; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; +import org.apache.pdfbox.pdmodel.PDResources; import org.apache.pdfbox.pdmodel.common.PDRectangle; +import org.apache.pdfbox.pdmodel.graphics.PDXObject; +import org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject; +import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; +import org.apache.pdfbox.pdmodel.graphics.shading.PDShading; import org.apache.pdfbox.rendering.PDFRenderer; import org.apache.xmlgraphics.image.loader.Image; @@ -39,16 +51,28 @@ import org.apache.xmlgraphics.image.load import org.apache.xmlgraphics.image.loader.util.ImageUtil; import org.apache.xmlgraphics.java2d.GeneralGraphics2DImagePainter; import org.apache.xmlgraphics.java2d.Graphics2DImagePainter; +import org.apache.xmlgraphics.java2d.ps.PSGraphics2D; import org.apache.xmlgraphics.ps.PSGenerator; /** * Image converter implementation to convert PDF pages into Java2D images. */ public class ImageConverterPDF2G2D extends AbstractImageConverter { +private static final Log LOG = LogFactory.getLog(ImageConverterPDF2G2D.class); /** {@inheritDoc} */ public Image convert(Image src, Map hints) throws ImageException, IOException { +float dpi = 72; +if (hints != null) { +dpi = (Float)hints.get("SOURCE_RESOLUTION"); +if (dpi == 72) { +//note we are doing twice as many pixels because +//the default size is not really good resolution, +//so create an image that is twice the size +dpi *= 2; +} +} checkSourceFlavor(src); assert src instanceof ImagePDF; ImagePDF imgPDF = (ImagePDF)src; @@ -59,7 +83,7 @@ public class ImageConverterPDF2G2D exten PDDocument pddoc = imgPDF.getPDDocument(); Graphics2DImagePainter painter = -new Graphics2DImagePainterPDF(pddoc, selectedPage, imgPDF.getInfo().getOriginalURI()); +new Graphics2DImagePainterPDF(pddoc, dpi, selectedPage, imgPDF.getInfo().getOriginalURI()); ImageGraphics2D g2dImage = new ImageGraphics2D(src.getInfo(), painter); return g2dImage; @@ -85,10 +109,12 @@ public class ImageConverterPDF2G2D exten private final PDPage page; private final PDDocument pdDocument; +private float dpi; private int selectedPage; private String uri; -public Graphics2DImagePainterPDF(PDDocument pddoc, int selectedPage, String uri) { +public Graphics2DImagePainterPDF(PDDocument pddoc, float dpi, int selectedPage, String uri) { +this.dpi = dpi; pdDocument = pddoc; this.selectedPage = selectedPage; page = pdDocument.getPage(selectedPage); @@ -112,6 +138,10 @@ public class ImageConverterPDF
svn commit: r1792597 - in /xmlgraphics/fop/trunk: fop-core/src/main/java/org/apache/fop/fonts/ fop-core/src/main/java/org/apache/fop/fonts/truetype/ fop-core/src/main/java/org/apache/fop/pdf/ fop-core
Author: ssteiner Date: Tue Apr 25 10:18:07 2017 New Revision: 1792597 URL: http://svn.apache.org/viewvc?rev=1792597=rev Log: FOP-2702: OTF fonts not working on Mac Preview Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/CIDFont.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/CustomFont.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/MultiByteFont.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/SingleByteFont.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/Typeface.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OFFontLoader.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFFile.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/pdf/PDFCFFStreamType0C.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/pdf/PDFFactory.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/pdf/PDFTextUtil.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/pdf/PDFPainter.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSFontUtils.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSPainter.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/svg/PDFTextPainter.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/svg/PDFTextUtil.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/pdf/PDFFactoryTestCase.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/render/ps/PSPainterTestCase.java xmlgraphics/fop/trunk/fop/build.xml Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/CIDFont.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/CIDFont.java?rev=1792597=1792596=1792597=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/CIDFont.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/CIDFont.java Tue Apr 25 10:18:07 2017 @@ -82,7 +82,7 @@ public abstract class CIDFont extends Cu /** {@inheritDoc} */ public boolean isMultiByte() { -return true; +return getFontType() != FontType.TYPE1C; } } Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/CustomFont.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/CustomFont.java?rev=1792597=1792596=1792597=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/CustomFont.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/CustomFont.java Tue Apr 25 10:18:07 2017 @@ -19,6 +19,7 @@ package org.apache.fop.fonts; +import java.awt.Rectangle; import java.io.IOException; import java.io.InputStream; import java.net.URI; @@ -81,6 +82,8 @@ public abstract class CustomFont extends protected List cmap = new ArrayList(); private boolean useAdvanced = true; private boolean simulateStyle; +protected List additionalEncodings; +protected Map<Character, SingleByteFont.UnencodedCharacter> unencodedCharacters; /** * @param resourceResolver the URI resource resolver for controlling file access @@ -590,4 +593,93 @@ public abstract class CustomFont extends * @return The character */ public abstract char getUnicodeFromGID(int glyphIndex); + +/** + * Indicates whether the encoding has additional encodings besides the primary encoding. + * @return true if there are additional encodings. + */ +public boolean hasAdditionalEncodings() { +return (this.additionalEncodings != null) && (this.additionalEncodings.size() > 0); +} + +/** + * Returns the number of additional encodings this single-byte font maintains. + * @return the number of additional encodings + */ +public int getAdditionalEncodingCount() { +if (hasAdditionalEncodings()) { +return this.additionalEncodings.size(); +} else { +return 0; +} +} + +/** + * Returns an additional encoding. + * @param index the index of the additional encoding + * @return the additional encoding + * @throws IndexOutOfBoundsException if the index is out of bounds + */ +public SimpleSingleByteEncoding getAdditionalEncoding(int index) +throws IndexOut
svn commit: r1804125 - in /xmlgraphics/fop/trunk: fop-core/src/main/java/org/apache/fop/complexscripts/fonts/ fop-core/src/main/java/org/apache/fop/fo/properties/ fop-core/src/main/java/org/apache/fop
Author: ssteiner Date: Fri Aug 4 14:15:05 2017 New Revision: 1804125 URL: http://svn.apache.org/viewvc?rev=1804125=rev Log: Use foreach and cleanup Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/properties/NumberProperty.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/SingleByteFont.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/pdf/PDFPattern.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/util/text/GlyphNameFieldPart.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/util/text/HexFieldPart.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/afp/modca/AbstractAFPObjectTest.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/render/afp/AFPRendererConfigParserTestCase.java xmlgraphics/fop/trunk/fop/examples/embedding/java/embedding/ExampleFO2PDF.java xmlgraphics/fop/trunk/fop/examples/embedding/java/embedding/MultipleFO2PDF.java xmlgraphics/fop/trunk/fop/examples/embedding/java/embedding/atxml/ExampleConcat.java xmlgraphics/fop/trunk/fop/examples/embedding/java/embedding/intermediate/ExampleConcat.java xmlgraphics/fop/trunk/fop/examples/embedding/java/embedding/model/ProjectTeamXMLReader.java xmlgraphics/fop/trunk/fop/examples/embedding/java/embedding/tools/AbstractObjectReader.java xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java?rev=1804125=1804124=1804125=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java Fri Aug 4 14:15:05 2017 @@ -3644,7 +3644,7 @@ public final class OTFAdvancedTypographi GlyphMappingTable mapping = (GlyphMappingTable) stp[6]; List entries = (List) stp[7]; if (tt == GlyphTable.GLYPH_TABLE_TYPE_DEFINITION) { -int type = GDEFLookupType.getSubtableType(lt.intValue()); +int type = GDEFLookupType.getSubtableType(lt); String lid = "lu" + ln; int sequence = sn; int flags = lf; @@ -3680,7 +3680,7 @@ public final class OTFAdvancedTypographi GlyphCoverageTable coverage = (GlyphCoverageTable) stp[6]; List entries = (List) stp[7]; if (tt == GlyphTable.GLYPH_TABLE_TYPE_SUBSTITUTION) { -int type = GSUBLookupType.getSubtableType(lt.intValue()); +int type = GSUBLookupType.getSubtableType(lt); String lid = "lu" + ln; int sequence = sn; int flags = lf; @@ -3716,7 +3716,7 @@ public final class OTFAdvancedTypographi GlyphCoverageTable coverage = (GlyphCoverageTable) stp[6]; List entries = (List) stp[7]; if (tt == GlyphTable.GLYPH_TABLE_TYPE_POSITIONING) { -int type = GSUBLookupType.getSubtableType(lt.intValue()); +int type = GSUBLookupType.getSubtableType(lt); String lid = "lu" + ln; int sequence = sn; int flags = lf; Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/properties/NumberProperty.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/properties/NumberProperty.java?rev=1804125=1804124=1804125=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/properties/NumberProperty.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/properties/NumberProperty.java Fri Aug 4 14:15:05 2017 @@ -145,7 +145,7 @@ public final class NumberProperty extend * @return the canonical NumberProperty */ public static NumberProperty getInstance(Double num) { -return CACHE.fetch(new NumberProperty(num.doubleValue())); +return CACHE.fetch(new NumberProperty(num)); } /** @@ -155,7 +155,7 @@ public final class NumberProperty extend * @return the canonical NumberProperty */ public static NumberProperty getInstance(Integer num) { -return CACHE.fetch(new NumberProperty(num.intValue())); +return CACHE.fetch(new NumberProperty(num)); } /** Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/SingleByteFont.java URL:
svn commit: r1799314 - in /xmlgraphics/fop-pdf-images/trunk: src/java/org/apache/fop/render/pdf/pdfbox/PDFWriter.java test/java/org/apache/fop/render/pdf/PDFWriterTestCase.java
Author: ssteiner Date: Tue Jun 20 08:06:24 2017 New Revision: 1799314 URL: http://svn.apache.org/viewvc?rev=1799314=rev Log: FOP-2715: Optimise PDFWriter writing out floats Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFWriter.java xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFWriterTestCase.java Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFWriter.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFWriter.java?rev=1799314=1799313=1799314=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFWriter.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFWriter.java Tue Jun 20 08:06:24 2017 @@ -21,6 +21,7 @@ import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.util.ArrayList; import java.util.Collection; +import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; @@ -39,6 +40,8 @@ import org.apache.pdfbox.pdmodel.common. public class PDFWriter { +private DecimalFormat df = new DecimalFormat("#.", new DecimalFormatSymbols(Locale.US)); +private Map<Float, String> floatCache = new HashMap<Float, String>(); protected StringBuilder s = new StringBuilder(); protected UniqueName key; private int currentMCID; @@ -88,8 +91,14 @@ public class PDFWriter { s.append(" "); } else if (c instanceof COSFloat) { float f = ((COSFloat) c).floatValue(); -s.append(new DecimalFormat("#.", new DecimalFormatSymbols(Locale.US)).format(f)); +if (!floatCache.containsKey(f)) { +addCache(f); +} +s.append(floatCache.get(f)); s.append(" "); +if (floatCache.size() > 1024) { +floatCache.clear(); +} } else if (c instanceof COSName) { COSName cn = (COSName)c; s.append("/" + key.getName(cn)); @@ -127,6 +136,11 @@ public class PDFWriter { } } +protected void addCache(float f) { +String formatted = df.format(f); +floatCache.put(f, formatted); +} + private void updateMCID(Map.Entry<COSName, COSBase> cn, Collection dictArgs) { COSBase cosMCID = cn.getValue(); assert cosMCID instanceof COSInteger; Modified: xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFWriterTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFWriterTestCase.java?rev=1799314=1799313=1799314=diff == --- xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFWriterTestCase.java (original) +++ xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFWriterTestCase.java Tue Jun 20 08:06:24 2017 @@ -39,4 +39,26 @@ public class PDFWriterTestCase { Assert.assertEquals(pdfWriter.writeText(pdStream), text + "\n"); Locale.setDefault(l); } + +@Test +public void testFloatCache() throws IOException { +String text = "[1.1 1.1] a"; +PDStream pdStream = new PDStream(new PDDocument(), new ByteArrayInputStream(text.getBytes("UTF-8"))); +MyPDFWriter pdfWriter = new MyPDFWriter(); +pdfWriter.writeText(pdStream); +Assert.assertEquals(pdfWriter.i, 1); +} + +private static class MyPDFWriter extends PDFWriter { +int i; + +public MyPDFWriter() { +super(null, 0); +} + +protected void addCache(float f) { +super.addCache(f); +i++; +} +}; } - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1799312 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/fo/pagination/ main/java/org/apache/fop/layoutmgr/ test/java/org/apache/fop/layoutmgr/
Author: ssteiner Date: Tue Jun 20 07:45:25 2017 New Revision: 1799312 URL: http://svn.apache.org/viewvc?rev=1799312=rev Log: FOP-2714: Infinite loop when region name not found Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/pagination/RegionBody.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/layoutmgr/PageSequenceLayoutManagerTestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/pagination/RegionBody.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/pagination/RegionBody.java?rev=1799312=1799311=1799312=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/pagination/RegionBody.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fo/pagination/RegionBody.java Tue Jun 20 07:45:25 2017 @@ -141,7 +141,7 @@ public class RegionBody extends Region { } /** {@inheritDoc} */ -protected String getDefaultRegionName() { +public String getDefaultRegionName() { return "xsl-region-body"; } Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java?rev=1799312=1799311=1799312=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java Tue Jun 20 07:45:25 2017 @@ -34,6 +34,8 @@ import org.apache.fop.complexscripts.bid import org.apache.fop.fo.Constants; import org.apache.fop.fo.pagination.PageSequence; import org.apache.fop.fo.pagination.PageSequenceMaster; +import org.apache.fop.fo.pagination.Region; +import org.apache.fop.fo.pagination.RegionBody; import org.apache.fop.fo.pagination.SideRegion; import org.apache.fop.fo.pagination.StaticContent; import org.apache.fop.layoutmgr.inline.ContentLayoutManager; @@ -189,16 +191,27 @@ public class PageSequenceLayoutManager e // cannot layout areas from the main flow. Blank pages can be created from empty pages. if (!isBlank) { -while (!getPageSequence().getMainFlow().getFlowName() -.equals(newPage.getSimplePageMaster() -.getRegion(FO_REGION_BODY).getRegionName())) { +int i = 0; +while (!flowNameEquals(newPage, i > 0)) { newPage = super.makeNewPage(isBlank); +i++; } } return newPage; } +private boolean flowNameEquals(Page newPage, boolean strict) { +String psName = getPageSequence().getMainFlow().getFlowName(); +Region body = newPage.getSimplePageMaster().getRegion(FO_REGION_BODY); +String name = body.getRegionName(); +if (strict && !name.equals(psName) && !name.equals(((RegionBody)body).getDefaultRegionName())) { +throw new RuntimeException( +"The flow-name \"" + name + "\" could not be mapped to a region-name in the layout-master-set"); +} +return psName.equals(name); +} + private void layoutSideRegion(int regionID) { SideRegion reg = (SideRegion)curPage.getSimplePageMaster().getRegion(regionID); if (reg == null) { Modified: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/layoutmgr/PageSequenceLayoutManagerTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/layoutmgr/PageSequenceLayoutManagerTestCase.java?rev=1799312=1799311=1799312=diff == --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/layoutmgr/PageSequenceLayoutManagerTestCase.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/layoutmgr/PageSequenceLayoutManagerTestCase.java Tue Jun 20 07:45:25 2017 @@ -31,6 +31,7 @@ import org.apache.fop.area.PageViewport; import org.apache.fop.fo.pagination.Flow; import org.apache.fop.fo.pagination.PageSequence; import org.apache.fop.fo.pagination.Region; +import org.apache.fop.fo.pagination.RegionBody; import org.apache.fop.fo.pagination.Root; import org.apache.fop.fo.pagination.SimplePageMaster; @@ -106,7 +107,7 @@ public class PageSequenceLayoutManagerTe final Page page = mock(Page.class); final SimplePageMaster spm = mock(SimplePageMaster.class); final PageViewport pag
svn commit: r1799220 - in /xmlgraphics/fop/trunk: fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java fop/test/layoutengine/standard-testcases/flow_changing-ipd_last-page_14.xml
Author: ssteiner Date: Mon Jun 19 15:22:38 2017 New Revision: 1799220 URL: http://svn.apache.org/viewvc?rev=1799220=rev Log: FOP-2713: Text missing on last page with changing ipd Added: xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/flow_changing-ipd_last-page_14.xml (with props) Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java?rev=1799220=1799219=1799220=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java Mon Jun 19 15:22:38 2017 @@ -467,16 +467,19 @@ public class PageBreaker extends Abstrac */ } } else { -if (fitsOnePage) { +boolean ipdChange = algRestart.getIPDdifference() != 0; +if (fitsOnePage && !ipdChange) { //Replace last page pslm.setCurrentPage(pageProvider.getPage(false, currentPageNum)); } else { //Last page-master cannot hold the content. //Add areas now... addAreas(alg, restartPoint, partCount - restartPoint, originalList, effectiveList); -//...and add a blank last page -setLastPageIndex(currentPageNum + 1); -pslm.setCurrentPage(pslm.makeNewPage(true)); +if (!ipdChange) { +//...and add a blank last page +setLastPageIndex(currentPageNum + 1); +pslm.setCurrentPage(pslm.makeNewPage(true)); +} return; } } Added: xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/flow_changing-ipd_last-page_14.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/flow_changing-ipd_last-page_14.xml?rev=1799220=auto == --- xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/flow_changing-ipd_last-page_14.xml (added) +++ xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/flow_changing-ipd_last-page_14.xml Mon Jun 19 15:22:38 2017 @@ -0,0 +1,64 @@ + + + + + + + This test checks that the definition of a special page-master for the last page with a + different width that the previous "rest" page causes FOP to redo the line breaking layout. + + + +http://www.w3.org/1999/XSL/Format; xmlns:fox="http://xmlgraphics.apache.org/fop/extensions;> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + hello hello hello hello hello hello hello hello hello hello end + + + + + + + + Propchange: xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/flow_changing-ipd_last-page_14.xml -- svn:eol-style = native - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1796009 - /xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar
Author: ssteiner Date: Wed May 24 08:17:27 2017 New Revision: 1796009 URL: http://svn.apache.org/viewvc?rev=1796009=rev Log: XGC-98: UndeclaredThrowableException while loading images Modified: xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar Modified: xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar?rev=1796009=1796008=1796009=diff == Binary files - no diff available. - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1797015 - /xmlgraphics/fop/trunk/fop/build.xml
Author: ssteiner Date: Wed May 31 11:36:42 2017 New Revision: 1797015 URL: http://svn.apache.org/viewvc?rev=1797015=rev Log: FOP-2708: Set fop script as executable Modified: xmlgraphics/fop/trunk/fop/build.xml Modified: xmlgraphics/fop/trunk/fop/build.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/build.xml?rev=1797015=1797014=1797015=diff == --- xmlgraphics/fop/trunk/fop/build.xml (original) +++ xmlgraphics/fop/trunk/fop/build.xml Wed May 31 11:36:42 2017 @@ -1276,12 +1276,12 @@ NOTE: - - + + - + @@ -1293,15 +1293,15 @@ NOTE: - + - - + + - + - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1798040 - in /xmlgraphics/fop/trunk: fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBreaker.java fop/test/layoutengine/standard-testcases/flow_changing-ipd_last-page_13.xml
Author: ssteiner Date: Thu Jun 8 10:11:33 2017 New Revision: 1798040 URL: http://svn.apache.org/viewvc?rev=1798040=rev Log: FOP-2712: NoSuchElementException on changing IPD Added: xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/flow_changing-ipd_last-page_13.xml (with props) Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBreaker.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBreaker.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBreaker.java?rev=1798040=1798039=1798040=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBreaker.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBreaker.java Thu Jun 8 10:11:33 2017 @@ -778,10 +778,12 @@ public abstract class AbstractBreaker { * Remove the last 3 penalty-filler-forced break elements that were added by * the Knuth algorithm. They will be re-added later on. */ -ListIterator iter = returnedList.listIterator(returnedList.size()); -for (int i = 0; i < 3; i++) { -iter.previous(); -iter.remove(); +if (returnedList.size() > 2) { +ListIterator iter = returnedList.listIterator(returnedList.size()); +for (int i = 0; i < 3; i++) { +iter.previous(); +iter.remove(); +} } } else { returnedList = getNextKnuthElements(childLC, alignment, positionAtIPDChange, Added: xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/flow_changing-ipd_last-page_13.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/flow_changing-ipd_last-page_13.xml?rev=1798040=auto == --- xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/flow_changing-ipd_last-page_13.xml (added) +++ xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/flow_changing-ipd_last-page_13.xml Thu Jun 8 10:11:33 2017 @@ -0,0 +1,321 @@ + + + + + + + This test checks that the definition of a special page-master for the last page with a + different width that the previous "rest" page causes FOP to redo the line breaking layout. + + + +http://www.w3.org/1999/XSL/Format; xmlns:fox="http://xmlgraphics.apache.org/fop/extensions; xmlns:svg="http://www.w3.org/2000/svg;> + + + + + + + + + + + + + + + + + + + + + + + + + + The + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This + + + + test test test test test test test test test test test test test test test test test test test test test test test test test test test test. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + For + + + + + + +1. + + + + + + + + + + + + + +a. + + +
svn commit: r1808679 - in /xmlgraphics/fop-pdf-images/trunk/lib: fontbox-2.0.4.jar fontbox-2.0.7.jar pdfbox-2.0.4.jar pdfbox-2.0.7.jar
Author: ssteiner Date: Mon Sep 18 12:00:29 2017 New Revision: 1808679 URL: http://svn.apache.org/viewvc?rev=1808679=rev Log: FOP-2739: Upgrade to PDFBox 2.0.7 Added: xmlgraphics/fop-pdf-images/trunk/lib/fontbox-2.0.7.jar (with props) xmlgraphics/fop-pdf-images/trunk/lib/pdfbox-2.0.7.jar (with props) Removed: xmlgraphics/fop-pdf-images/trunk/lib/fontbox-2.0.4.jar xmlgraphics/fop-pdf-images/trunk/lib/pdfbox-2.0.4.jar Added: xmlgraphics/fop-pdf-images/trunk/lib/fontbox-2.0.7.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/lib/fontbox-2.0.7.jar?rev=1808679=auto == Binary file - no diff available. Propchange: xmlgraphics/fop-pdf-images/trunk/lib/fontbox-2.0.7.jar -- svn:mime-type = application/octet-stream Added: xmlgraphics/fop-pdf-images/trunk/lib/pdfbox-2.0.7.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/lib/pdfbox-2.0.7.jar?rev=1808679=auto == Binary file - no diff available. Propchange: xmlgraphics/fop-pdf-images/trunk/lib/pdfbox-2.0.7.jar -- svn:mime-type = application/octet-stream - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1808680 - in /xmlgraphics/fop/trunk: fop-core/pom.xml fop/lib/fontbox-2.0.4.jar fop/lib/fontbox-2.0.7.jar
Author: ssteiner Date: Mon Sep 18 12:02:46 2017 New Revision: 1808680 URL: http://svn.apache.org/viewvc?rev=1808680=rev Log: FOP-2739: Upgrade to PDFBox 2.0.7 Added: xmlgraphics/fop/trunk/fop/lib/fontbox-2.0.7.jar (with props) Removed: xmlgraphics/fop/trunk/fop/lib/fontbox-2.0.4.jar Modified: xmlgraphics/fop/trunk/fop-core/pom.xml Modified: xmlgraphics/fop/trunk/fop-core/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/pom.xml?rev=1808680=1808679=1808680=diff == --- xmlgraphics/fop/trunk/fop-core/pom.xml (original) +++ xmlgraphics/fop/trunk/fop-core/pom.xml Mon Sep 18 12:02:46 2017 @@ -100,7 +100,7 @@ org.apache.pdfbox fontbox - 2.0.4 + 2.0.7 javax.media Added: xmlgraphics/fop/trunk/fop/lib/fontbox-2.0.7.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/lib/fontbox-2.0.7.jar?rev=1808680=auto == Binary file - no diff available. Propchange: xmlgraphics/fop/trunk/fop/lib/fontbox-2.0.7.jar -- svn:mime-type = application/octet-stream - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1808735 - /xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java
Author: ssteiner Date: Mon Sep 18 15:43:30 2017 New Revision: 1808735 URL: http://svn.apache.org/viewvc?rev=1808735=rev Log: FOP-2739: Avoid rastering PDF with Smask to image Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java?rev=1808735=1808734=1808735=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java Mon Sep 18 15:43:30 2017 @@ -41,6 +41,8 @@ import java.io.DataOutputStream; import java.io.IOException; import java.lang.reflect.Field; import java.net.URI; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -152,24 +154,30 @@ public class PSPDFGraphics2D extends PSG } } } else if (paint.getClass().getSimpleName().equals("TilingPaint")) { -try { -Field f = paint.getClass().getDeclaredField("paint"); -f.setAccessible(true); -TexturePaint texturePaint = (TexturePaint) f.get(paint); -f = paint.getClass().getDeclaredField("patternMatrix"); -f.setAccessible(true); -Matrix matrix = (Matrix) f.get(paint); -Rectangle2D rect = getTransformedRect(matrix, texturePaint.getAnchorRect()); -texturePaint = new TexturePaint(texturePaint.getImage(), rect); -super.applyPaint(texturePaint, fill); -} catch (NoSuchFieldException e) { -throw new RuntimeException(e); -} catch (IllegalAccessException e) { -throw new RuntimeException(e); -} +TexturePaint texturePaint = (TexturePaint) getField(paint, "paint"); +Matrix matrix = (Matrix) getField(paint, "patternMatrix"); +Rectangle2D rect = getTransformedRect(matrix, texturePaint.getAnchorRect()); +texturePaint = new TexturePaint(texturePaint.getImage(), rect); +super.applyPaint(texturePaint, fill); } } +private static Object getField(final Paint paint, final String field) { +return AccessController.doPrivileged(new PrivilegedAction() { +public Object run() { +try { +Field f = paint.getClass().getDeclaredField(field); +f.setAccessible(true); +return f.get(paint); +} catch (NoSuchFieldException e) { +throw new RuntimeException(e); +} catch (IllegalAccessException e) { +throw new RuntimeException(e); +} +} +}); +} + private static Rectangle2D getTransformedRect(Matrix matrix, Rectangle2D anchorRect) { double x = anchorRect.getX(); double y = anchorRect.getY(); - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1808727 - in /xmlgraphics/fop-pdf-images/trunk: lib/ src/java/org/apache/fop/render/pdf/pdfbox/ test/java/org/apache/fop/render/pdf/ test/resources/
Author: ssteiner Date: Mon Sep 18 15:02:56 2017 New Revision: 1808727 URL: http://svn.apache.org/viewvc?rev=1808727=rev Log: FOP-2739: Avoid rastering PDF with Smask to image Added: xmlgraphics/fop-pdf-images/trunk/test/resources/smask.pdf (with props) Modified: xmlgraphics/fop-pdf-images/trunk/lib/xmlgraphics-commons-svn-trunk.jar xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java Modified: xmlgraphics/fop-pdf-images/trunk/lib/xmlgraphics-commons-svn-trunk.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/lib/xmlgraphics-commons-svn-trunk.jar?rev=1808727=1808726=1808727=diff == Binary files - no diff available. Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java?rev=1808727=1808726=1808727=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java Mon Sep 18 15:02:56 2017 @@ -39,7 +39,6 @@ import org.apache.pdfbox.pdmodel.PDResou import org.apache.pdfbox.pdmodel.common.PDRectangle; import org.apache.pdfbox.pdmodel.graphics.PDXObject; import org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject; -import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; import org.apache.pdfbox.pdmodel.graphics.shading.PDShading; import org.apache.pdfbox.rendering.PDFRenderer; @@ -202,11 +201,6 @@ public class ImageConverterPDF2G2D exten && pageHasTransparency(formRes)) { return true; } -} else if (pdxObject instanceof PDImageXObject) { -if (pdxObject.getCOSStream().containsKey(COSName.SMASK) -|| ((PDImageXObject) pdxObject).isStencil()) { -return true; -} } } } Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java?rev=1808727=1808726=1808727=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java Mon Sep 18 15:02:56 2017 @@ -27,7 +27,10 @@ import java.awt.Image; import java.awt.Paint; import java.awt.PaintContext; import java.awt.Rectangle; +import java.awt.TexturePaint; import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; +import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; import java.awt.image.DataBufferInt; @@ -148,9 +151,43 @@ public class PSPDFGraphics2D extends PSG handleIOException(ioe); } } +} else if (paint.getClass().getSimpleName().equals("TilingPaint")) { +try { +Field f = paint.getClass().getDeclaredField("paint"); +f.setAccessible(true); +TexturePaint texturePaint = (TexturePaint) f.get(paint); +f = paint.getClass().getDeclaredField("patternMatrix"); +f.setAccessible(true); +Matrix matrix = (Matrix) f.get(paint); +Rectangle2D rect = getTransformedRect(matrix, texturePaint.getAnchorRect()); +texturePaint = new TexturePaint(texturePaint.getImage(), rect); +super.applyPaint(texturePaint, fill); +} catch (NoSuchFieldException e) { +throw new RuntimeException(e); +} catch (IllegalAccessException e) { +throw new RuntimeException(e); +} } } +private static Rectangle2D getTransformedRect(Matrix matrix, Rectangle2D anchorRect) { +double x = anchorRect.getX(); +double y = anchorRect.getY(); +double width = anchorRect.getWidth(); +double height = anchorRect.getHeight(); +AffineTransform at = matrix.createAffine
svn commit: r1808729 - /xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar
Author: ssteiner Date: Mon Sep 18 15:03:07 2017 New Revision: 1808729 URL: http://svn.apache.org/viewvc?rev=1808729=rev Log: FOP-2739: Avoid rastering PDF with Smask to image Modified: xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar Modified: xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar?rev=1808729=1808728=1808729=diff == Binary files - no diff available. - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1808862 - /xmlgraphics/fop-pdf-images/trunk/xmlgraphics-pdfimages-pom-template.pom
Author: ssteiner Date: Tue Sep 19 11:21:07 2017 New Revision: 1808862 URL: http://svn.apache.org/viewvc?rev=1808862=rev Log: FOP-2739: Upgrade to PDFBox 2.0.7 Modified: xmlgraphics/fop-pdf-images/trunk/xmlgraphics-pdfimages-pom-template.pom Modified: xmlgraphics/fop-pdf-images/trunk/xmlgraphics-pdfimages-pom-template.pom URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/xmlgraphics-pdfimages-pom-template.pom?rev=1808862=1808861=1808862=diff == --- xmlgraphics/fop-pdf-images/trunk/xmlgraphics-pdfimages-pom-template.pom (original) +++ xmlgraphics/fop-pdf-images/trunk/xmlgraphics-pdfimages-pom-template.pom Tue Sep 19 11:21:07 2017 @@ -80,12 +80,12 @@ http://maven.apache.org/xsd/maven-4.0.0. org.apache.pdfbox pdfbox - 2.0.4 + 2.0.7 org.apache.pdfbox fontbox - 2.0.4 + 2.0.7 - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1811185 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java
Author: ssteiner Date: Thu Oct 5 10:50:48 2017 New Revision: 1811185 URL: http://svn.apache.org/viewvc?rev=1811185=rev Log: FOP-2747: OTF subsetting: Resize entry to fit value Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java?rev=1811185=1811184=1811185=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java Thu Oct 5 10:50:48 2017 @@ -296,6 +296,10 @@ public class OTFSubSetFile extends OTFSu } else if (dictKey.equals("CIDCount")) { dict.write(writeCIDCount(entry)); } else if (topDictStringEntries.contains(dictKey)) { +if (entry.getOperandLength() < 2) { +entry.setOperandLength(2); +offsetExtra++; +} dict.write(writeTopDictStringEntry(entry)); } else { dict.write(entry.getByteData()); @@ -339,7 +343,6 @@ public class OTFSubSetFile extends OTFSu if (sid > 391) { stringIndexData.add(cffReader.getStringIndex().getValue(sid - 391)); } - byte[] newDictEntry = createNewRef(stringIndexData.size() + 390, dictEntry.getOperator(), dictEntry.getOperandLength(), true); return newDictEntry; @@ -896,9 +899,6 @@ public class OTFSubSetFile extends OTFSu if ((forceLength == -1 && newRef >= -107 && newRef <= 107) || forceLength == 1) { //The index values are 0 indexed newRefBytes.write(newRef + 139); -for (int i : operatorCode) { -newRefBytes.write(i); -} } else if ((forceLength == -1 && newRef >= -1131 && newRef <= 1131) || forceLength == 2) { if (newRef <= -876) { newRefBytes.write(254); @@ -922,16 +922,10 @@ public class OTFSubSetFile extends OTFSu } else { newRefBytes.write(-newRef - 108); } -for (int i : operatorCode) { -newRefBytes.write(i); -} } else if ((forceLength == -1 && newRef >= -32768 && newRef <= 32767) || forceLength == 3) { newRefBytes.write(28); newRefBytes.write(newRef >> 8); newRefBytes.write(newRef); -for (int i : operatorCode) { -newRefBytes.write(i); -} } else { if (isDict) { newRefBytes.write(29); @@ -942,9 +936,9 @@ public class OTFSubSetFile extends OTFSu newRefBytes.write(newRef >> 16); newRefBytes.write(newRef >> 8); newRefBytes.write(newRef); -for (int i : operatorCode) { -newRefBytes.write(i); -} +} +for (int i : operatorCode) { +newRefBytes.write(i); } return newRefBytes.toByteArray(); } Modified: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java?rev=1811185=1811184=1811185=diff == --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java Thu Oct 5 10:50:48 2017 @@ -312,7 +312,7 @@ public class OTFSubSetFileTestCase exten private class Operator extends BytesNumber { private String opName = ""; -public Operator(int number, int numBytes, String opName) { +Operator(int number, int numBytes, String opName) { super(number, numBytes); this.opName = opName; } @@ -544,7 +544,7 @@ public class OTFSubSetFileTestCase exten int offset; int fdFontCount = 128; -public OTFSubSetFileFDArraySize() throws IOException { +OTFSubSetFileFDArraySize() throws IOException { super(); } @@ -600,7 +600,7 @@ public class OTFSubSetFileTestCase exten int csLen; int fdLen; -public OTFSubSetFileEntryOrder(int
svn commit: r1811062 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java
Author: ssteiner Date: Wed Oct 4 11:25:37 2017 New Revision: 1811062 URL: http://svn.apache.org/viewvc?rev=1811062=rev Log: FOP-2737: OTF subsetting: Resize privateDict to fit op size Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java?rev=1811062=1811061=1811062=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java Wed Oct 4 11:25:37 2017 @@ -30,7 +30,6 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.Set; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -69,7 +68,7 @@ public class OTFSubSetFile extends OTFSu /** For fonts which have an FDSelect or ROS flag in Top Dict, this is used to store the * local subroutine indexes for each group as opposed to the above subsetLocalIndexSubr */ -private List<List<byte[]>> fdSubrs; +protected List<List<byte[]>> fdSubrs; /** The subset FD Select table used to store the mappings between glyphs and their * associated FDFont object which point to a private dict and local subroutines. */ @@ -264,7 +263,7 @@ public class OTFSubSetFile extends OTFSu protected List storeFDStrings(List uniqueNewRefs) throws IOException { List fontNameSIDs = new ArrayList(); List fdFonts = cffReader.getFDFonts(); -for (Integer uniqueNewRef : uniqueNewRefs) { +for (int uniqueNewRef : uniqueNewRefs) { FontDict fdFont = fdFonts.get(uniqueNewRef); byte[] fdFontByteData = fdFont.getByteData(); Map<String, DICTEntry> fdFontDict = cffReader.parseDictData(fdFontByteData); @@ -354,29 +353,29 @@ public class OTFSubSetFile extends OTFSu for (Entry<Integer, Integer> subsetGlyph : subsetGlyphs.entrySet()) { int gid = subsetGlyph.getKey(); +int v = subsetGlyph.getValue(); int sid = cffReader.getSIDFromGID(charsetOffset, gid); //Check whether the SID falls into the standard string set if (sid < NUM_STANDARD_STRINGS) { -gidToSID.put(subsetGlyph.getValue(), sid); +gidToSID.put(v, sid); if (mbFont != null) { -mbFont.mapUsedGlyphName(subsetGlyph.getValue(), -CFFStandardString.getName(sid)); +mbFont.mapUsedGlyphName(v, CFFStandardString.getName(sid)); } } else { int index = sid - NUM_STANDARD_STRINGS; //index is 0 based, should use < not <= if (index < cffReader.getStringIndex().getNumObjects()) { +byte[] value = cffReader.getStringIndex().getValue(index); if (mbFont != null) { -mbFont.mapUsedGlyphName(subsetGlyph.getValue(), -new String(cffReader.getStringIndex().getValue(index), "UTF-8")); +mbFont.mapUsedGlyphName(v, new String(value, "UTF-8")); } -gidToSID.put(subsetGlyph.getValue(), stringIndexData.size() + 391); - stringIndexData.add(cffReader.getStringIndex().getValue(index)); +gidToSID.put(v, stringIndexData.size() + 391); +stringIndexData.add(value); } else { if (mbFont != null) { -mbFont.mapUsedGlyphName(subsetGlyph.getValue(), ".notdef"); +mbFont.mapUsedGlyphName(v, ".notdef"); } -gidToSID.put(subsetGlyph.getValue(), index); +gidToSID.put(v, index); } } } @@ -395,22 +394,25 @@ public class OTFSubSetFile extends OTFSu Map<Integer, Integer> subsetGroups = new HashMap<Integer, Integer>(); List uniqueGroups = new ArrayList(); +Map<Integer, Integer> rangeMap = fdSelect.getRanges(); +Integer[] ranges = rangeMap.keySet().toArray(new Integer[rangeMap.size()]); for (int gid : subsetGlyphs.keySet()) { -Set rangeKeys = fdSelect.getRanges().keySet(); -Integer[] ranges
svn commit: r1812122 - in /xmlgraphics/fop/trunk: fop-core/src/main/java/org/apache/fop/render/ps/ fop-core/src/test/java/org/apache/fop/render/ps/ fop/lib/
Author: ssteiner Date: Fri Oct 13 12:12:52 2017 New Revision: 1812122 URL: http://svn.apache.org/viewvc?rev=1812122=rev Log: FOP-2753: PDF to PS allow fop fonts as fallback Added: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/render/ps/PSGraphics2DAdapterTestCase.java (with props) Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSFontUtils.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSGraphics2DAdapter.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSImageHandlerGraphics2D.java xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSFontUtils.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSFontUtils.java?rev=1812122=1812121=1812122=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSFontUtils.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSFontUtils.java Fri Oct 13 12:12:52 2017 @@ -36,6 +36,7 @@ import org.apache.commons.logging.LogFac import org.apache.fontbox.cff.CFFStandardString; import org.apache.xmlgraphics.fonts.Glyphs; +import org.apache.xmlgraphics.java2d.GeneralGraphics2DImagePainter; import org.apache.xmlgraphics.ps.DSCConstants; import org.apache.xmlgraphics.ps.PSGenerator; import org.apache.xmlgraphics.ps.PSResource; @@ -50,6 +51,7 @@ import org.apache.fop.fonts.CustomFont; import org.apache.fop.fonts.EmbeddingMode; import org.apache.fop.fonts.Font; import org.apache.fop.fonts.FontInfo; +import org.apache.fop.fonts.FontTriplet; import org.apache.fop.fonts.FontType; import org.apache.fop.fonts.LazyFont; import org.apache.fop.fonts.MultiByteFont; @@ -907,4 +909,12 @@ public class PSFontUtils extends org.apa gen.getResourceTracker().registerSuppliedResource(res); return res; } + +public static void addFallbackFonts(FontInfo fontInfo, GeneralGraphics2DImagePainter painter) throws IOException { +for (Map.Entry<FontTriplet, String> x : fontInfo.getFontTriplets().entrySet()) { +String name = x.getKey().getName(); +Typeface typeface = fontInfo.getFonts().get(x.getValue()); +painter.addFallbackFont(name, typeface); +} +} } Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSGraphics2DAdapter.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSGraphics2DAdapter.java?rev=1812122=1812121=1812122=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSGraphics2DAdapter.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSGraphics2DAdapter.java Fri Oct 13 12:12:52 2017 @@ -31,6 +31,7 @@ import org.apache.xmlgraphics.java2d.Gra import org.apache.xmlgraphics.java2d.ps.PSGraphics2D; import org.apache.xmlgraphics.ps.PSGenerator; +import org.apache.fop.fonts.FontInfo; import org.apache.fop.pdf.PDFFactory; import org.apache.fop.render.AbstractGraphics2DAdapter; import org.apache.fop.render.ImageHandlerUtil; @@ -45,15 +46,17 @@ public class PSGraphics2DAdapter extends private PSGenerator gen; private boolean clip = true; +private FontInfo fontInfo; /** * Creates a new instance. * @param gen the PostScript generator * @param clip true if the image should be clipped */ -public PSGraphics2DAdapter(PSGenerator gen, boolean clip) { +public PSGraphics2DAdapter(PSGenerator gen, boolean clip, FontInfo fontInfo) { this.gen = gen; this.clip = clip; +this.fontInfo = fontInfo; } /** {@inheritDoc} */ @@ -113,6 +116,9 @@ public class PSGraphics2DAdapter extends / context.getUserAgent().getTargetResolution(); graphics.drawImage(bi, new AffineTransform(scale, 0, 0, scale, 0, 0), null); } else { +if (painter instanceof GeneralGraphics2DImagePainter) { +PSFontUtils.addFallbackFonts(fontInfo, (GeneralGraphics2DImagePainter) painter); +} Rectangle2D area = new Rectangle2D.Double(0.0, 0.0, imw, imh); painter.paint(graphics, area); } Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSImageHandlerGraphics2D.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSImageHandlerGraphics2D.java?rev=1812122=1812121=1812122=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/ja
svn commit: r1812123 - in /xmlgraphics/fop-pdf-images/trunk: lib/ src/java/org/apache/fop/render/pdf/pdfbox/ test/java/org/apache/fop/render/pdf/ test/resources/
Author: ssteiner Date: Fri Oct 13 12:13:02 2017 New Revision: 1812123 URL: http://svn.apache.org/viewvc?rev=1812123=rev Log: FOP-2753: PDF to PS allow fop fonts as fallback Added: xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java (with props) xmlgraphics/fop-pdf-images/trunk/test/resources/fontsnotembedded.pdf (with props) Modified: xmlgraphics/fop-pdf-images/trunk/lib/xmlgraphics-commons-svn-trunk.jar xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java Modified: xmlgraphics/fop-pdf-images/trunk/lib/xmlgraphics-commons-svn-trunk.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/lib/xmlgraphics-commons-svn-trunk.jar?rev=1812123=1812122=1812123=diff == Binary files - no diff available. Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java?rev=1812123=1812122=1812123=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java Fri Oct 13 12:13:02 2017 @@ -26,17 +26,27 @@ import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.fontbox.FontBoxFont; +import org.apache.fontbox.ttf.TTFParser; +import org.apache.fontbox.ttf.TrueTypeFont; import org.apache.pdfbox.cos.COSDictionary; import org.apache.pdfbox.cos.COSName; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDResources; import org.apache.pdfbox.pdmodel.common.PDRectangle; +import org.apache.pdfbox.pdmodel.font.CIDFontMapping; +import org.apache.pdfbox.pdmodel.font.FontMapper; +import org.apache.pdfbox.pdmodel.font.FontMappers; +import org.apache.pdfbox.pdmodel.font.FontMapping; +import org.apache.pdfbox.pdmodel.font.PDCIDSystemInfo; +import org.apache.pdfbox.pdmodel.font.PDFontDescriptor; import org.apache.pdfbox.pdmodel.graphics.PDXObject; import org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject; import org.apache.pdfbox.pdmodel.graphics.shading.PDShading; @@ -53,6 +63,12 @@ import org.apache.xmlgraphics.java2d.Gra import org.apache.xmlgraphics.java2d.ps.PSGraphics2D; import org.apache.xmlgraphics.ps.PSGenerator; +import org.apache.fop.fonts.CustomFont; +import org.apache.fop.fonts.LazyFont; +import org.apache.fop.fonts.MultiByteFont; +import org.apache.fop.fonts.Typeface; +import org.apache.fop.render.java2d.CustomFontMetricsMapper; + /** * Image converter implementation to convert PDF pages into Java2D images. */ @@ -110,6 +126,7 @@ public class ImageConverterPDF2G2D exten private final PDDocument pdDocument; private float dpi; private int selectedPage; +private FopFontProvider fopFontProvider = new FopFontProvider(); private String uri; public Graphics2DImagePainterPDF(PDDocument pddoc, float dpi, int selectedPage, String uri) { @@ -212,6 +229,84 @@ public class ImageConverterPDF2G2D exten PSPDFGraphics2D graphics = new PSPDFGraphics2D(textAsShapes, gen); return graphics; } + +public void addFallbackFont(String s, Object font) { +fopFontProvider.fonts.put(s, font); +} +} + +static class FopFontProvider { +private static FopFontMapper fopFontMapper = new FopFontMapper(); +static { +FontMappers.set(fopFontMapper); +} +private Map<String, Object> fonts = new HashMap<String, Object>(); +private Map<String, TrueTypeFont> ttFonts = new HashMap<String, TrueTypeFont>(); + +FopFontProvider() { +fopFontMapper.fopFontProvider.set(this); +} + +private CustomFont getFont(String name) throws IOException { +Object typeface = fonts.get(name); +if (typeface instanceof LazyFont) { +Typeface rf = ((LazyFont) typeface).getRealFont(); +return (CustomFont) rf; +} else if (typeface instanceof CustomFontMetricsMapper) { +Typeface rf = ((CustomFontMetricsMapper) typeface).getRealFont(); +return (CustomFont) rf; +} +return null; +} + +public TrueTypeFont getTrueTypeFo
svn commit: r1812128 - /xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java
Author: ssteiner Date: Fri Oct 13 13:23:42 2017 New Revision: 1812128 URL: http://svn.apache.org/viewvc?rev=1812128=rev Log: FOP-2753: PDF to PS allow fop fonts as fallback, add close Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java?rev=1812128=1812127=1812128=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java Fri Oct 13 13:23:42 2017 @@ -147,6 +147,7 @@ public class ImageConverterPDF2G2D exten /** {@inheritDoc} */ public void paint(Graphics2D g2d, Rectangle2D area) { +fopFontProvider.start(); try { PDRectangle mediaBox = page.getCropBox(); AffineTransform at = new AffineTransform(); @@ -156,17 +157,19 @@ public class ImageConverterPDF2G2D exten } if (g2d instanceof PSGraphics2D && new PageUtil().pageHasTransparency(page.getResources())) { drawPageAsImage(at, g2d); -return; +} else { +at.translate(area.getX(), area.getY()); +at.scale(area.getWidth() / mediaBox.getWidth(), +area.getHeight() / mediaBox.getHeight()); +g2d.transform(at); +new PDFRenderer(pdDocument).renderPageToGraphics(selectedPage, g2d); } -at.translate(area.getX(), area.getY()); -at.scale(area.getWidth() / mediaBox.getWidth(), -area.getHeight() / mediaBox.getHeight()); -g2d.transform(at); -new PDFRenderer(pdDocument).renderPageToGraphics(selectedPage, g2d); } catch (UnsupportedOperationException e) { throw e; } catch (Throwable t) { throw new RuntimeException("Error while painting PDF page: " + uri + " " + t.getMessage(), t); +} finally { +fopFontProvider.close(); } } @@ -243,10 +246,14 @@ public class ImageConverterPDF2G2D exten private Map<String, Object> fonts = new HashMap<String, Object>(); private Map<String, TrueTypeFont> ttFonts = new HashMap<String, TrueTypeFont>(); -FopFontProvider() { +void start() { fopFontMapper.fopFontProvider.set(this); } +void close() { +fopFontMapper.fopFontProvider.remove(); +} + private CustomFont getFont(String name) throws IOException { Object typeface = fonts.get(name); if (typeface instanceof LazyFont) { @@ -285,8 +292,16 @@ public class ImageConverterPDF2G2D exten defaultFontMapper = FontMappers.instance(); } +private TrueTypeFont getTrueTypeFont(String baseFont) { +FopFontProvider fontProvider = fopFontProvider.get(); +if (fontProvider == null) { +return null; +} +return fontProvider.getTrueTypeFont(baseFont); +} + public FontMapping getTrueTypeFont(String baseFont, PDFontDescriptor fontDescriptor) { -TrueTypeFont fopFont = fopFontProvider.get().getTrueTypeFont(baseFont); +TrueTypeFont fopFont = getTrueTypeFont(baseFont); if (fopFont != null) { return new FontMapping(fopFont, true); } @@ -295,7 +310,7 @@ public class ImageConverterPDF2G2D exten public FontMapping getFontBoxFont(String baseFont, PDFontDescriptor fontDescriptor) { -TrueTypeFont fopFont = fopFontProvider.get().getTrueTypeFont(baseFont); +TrueTypeFont fopFont = getTrueTypeFont(baseFont); if (fopFont != null) { return new FontMapping(fopFont, true); } - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1811798 - in /xmlgraphics/fop-pdf-images/trunk: lib/fop.jar src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java src/java/org/apache/fop/render/pdf/pdfbox/OTFSubSetFile.java
Author: ssteiner Date: Wed Oct 11 07:49:30 2017 New Revision: 1811798 URL: http://svn.apache.org/viewvc?rev=1811798=rev Log: FOP-2750: Use streams for OTF subsetting Modified: xmlgraphics/fop-pdf-images/trunk/lib/fop.jar xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/OTFSubSetFile.java Modified: xmlgraphics/fop-pdf-images/trunk/lib/fop.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/lib/fop.jar?rev=1811798=1811797=1811798=diff == Binary files - no diff available. Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java?rev=1811798=1811797=1811798=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java Wed Oct 11 07:49:30 2017 @@ -16,6 +16,7 @@ */ package org.apache.fop.render.pdf.pdfbox; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.InvocationTargetException; @@ -218,7 +219,6 @@ public class MergeCFFFonts extends OTFSu } public byte[] getMergedFontSubset() throws IOException { -output = new byte[fontFileSize * 2]; if (noOfFonts == 1) { writeBytes(fontFile.getAllBytes()); return super.getFontSubset(); @@ -287,33 +287,25 @@ public class MergeCFFFonts extends OTFSu if (hasFDSelect) { offsets.fdArray = currentPos; -int fdByteData = currentPos + cffReader.getFDFonts().size() + 4; List<byte[]> index = new ArrayList<byte[]>(); -List privateDictOffsets = new ArrayList(); -for (CFFDataReader.FontDict fdFont : cffReader.getFDFonts()) { -index.add(fdFont.getByteData()); -} -writeIndex(index, 1); -for (CFFDataReader.FontDict fdFont : cffReader.getFDFonts()) { -privateDictOffsets.add(currentPos); -writeBytes(fdFont.getPrivateDictData()); -writeIndex(new ArrayList<byte[]>()); -} -currentPos = fdByteData; -int i = 0; +int offset = currentPos + 5; for (CFFDataReader.FontDict fdFont : cffReader.getFDFonts()) { byte[] fdFontByteData = fdFont.getByteData(); +offset += fdFontByteData.length; Map<String, CFFDataReader.DICTEntry> fdFontDict = cffReader.parseDictData(fdFontByteData); //Update the Private dict reference CFFDataReader.DICTEntry fdPrivate = fdFontDict.get("Private"); updateOffset(fdFontByteData, fdPrivate.getOffset() + fdPrivate.getOperandLengths().get(0), fdPrivate.getOperandLengths().get(1), -privateDictOffsets.get(i)); -writeBytes(fdFontByteData); -i++; +offset); +ByteArrayOutputStream bos = new ByteArrayOutputStream(); +bos.write(fdFontByteData); +bos.write(fdFont.getPrivateDictData()); +bos.write(new byte[3]); +index.add(bos.toByteArray()); } - +writeIndex(index, 1); updateCIDOffsets(offsets); } else { //Update the offsets @@ -456,40 +448,41 @@ public class MergeCFFFonts extends OTFSu } @Override -protected void updateFixedOffsets(Map<String, CFFDataReader.DICTEntry> topDICT, Offsets offsets) { +protected void updateFixedOffsets(Map<String, CFFDataReader.DICTEntry> topDICT, Offsets offsets) +throws IOException { //Charset offset in the top dict final CFFDataReader.DICTEntry charset = topDICT.get("charset"); if (charset != null) { int oldCharsetOffset = offsets.topDictData + charset.getOffset(); -int oldCharset = Integer.parseInt(String.format("%02x", output[oldCharsetOffset] & 0xff), 16); +int oldCharset = Integer.parseInt(String.format("%02x", getFontSubset()[oldCharsetOffset] & 0xff), 16); if (oldCharset >= 32 && oldCharset <= 246) { charsetOffset += 139; } -updateOffset(output, oldCharsetOffset, charset.getOperandLength(), charsetOffset); +updateOffset(oldCharsetOff
svn commit: r1811797 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java main/java/org/apache/fop/fonts/truetype/OTFSubSetWriter.java test/java/org/apa
Author: ssteiner Date: Wed Oct 11 07:49:03 2017 New Revision: 1811797 URL: http://svn.apache.org/viewvc?rev=1811797=rev Log: FOP-2750: Use streams for OTF subsetting Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetWriter.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java?rev=1811797=1811796=1811797=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java Wed Oct 11 07:49:03 2017 @@ -19,8 +19,10 @@ package org.apache.fop.fonts.truetype; +import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -128,16 +130,11 @@ public class OTFSubSetFile extends OTFSu this.mbFont = mbFont; fontFile = in; -currentPos = 0; -realSize = 0; - this.embeddedName = embeddedName; //Sort by the new GID and store in a LinkedHashMap subsetGlyphs = sortByValue(usedGlyphs); -output = new byte[in.getFileSize()]; - initializeFont(in); cffReader = new CFFDataReader(fontFile); @@ -710,7 +707,13 @@ public class OTFSubSetFile extends OTFSu return 1 + (hstemCount + vstemCount - 1) / 8; } -public int exec(int b0, byte[] data, int dataPos) { +private int exec(int b0, byte[] input, int curPos) throws IOException { +ByteArrayInputStream bis = new ByteArrayInputStream(input); +bis.skip(curPos + 1); +return exec(b0, bis); +} + +public int exec(int b0, InputStream data) throws IOException { int posDelta = 0; if ((b0 >= 0 && b0 <= 27) || (b0 >= 29 && b0 <= 31)) { if (b0 == 12) { @@ -739,7 +742,7 @@ public class OTFSubSetFile extends OTFSu lastOp = b0; } } else if (b0 == 28 || (b0 >= 32 && b0 <= 255)) { -BytesNumber operand = readNumber(b0, data, dataPos); +BytesNumber operand = readNumber(b0, data); pushOperand(operand); posDelta = operand.getNumBytes() - 1; } else { @@ -748,24 +751,24 @@ public class OTFSubSetFile extends OTFSu return posDelta; } -private BytesNumber readNumber(int b0, byte[] input, int curPos) { +private BytesNumber readNumber(int b0, InputStream input) throws IOException { if (b0 == 28) { -int b1 = input[curPos + 1] & 0xff; -int b2 = input[curPos + 2] & 0xff; +int b1 = input.read(); +int b2 = input.read(); return new BytesNumber((int) (short) (b1 << 8 | b2), 3); } else if (b0 >= 32 && b0 <= 246) { return new BytesNumber(b0 - 139, 1); } else if (b0 >= 247 && b0 <= 250) { -int b1 = input[curPos + 1] & 0xff; +int b1 = input.read(); return new BytesNumber((b0 - 247) * 256 + b1 + 108, 2); } else if (b0 >= 251 && b0 <= 254) { -int b1 = input[curPos + 1] & 0xff; +int b1 = input.read(); return new BytesNumber(-(b0 - 251) * 256 - b1 - 108, 2); } else if (b0 == 255) { -int b1 = input[curPos + 1] & 0xff; -int b2 = input[curPos + 2] & 0xff; -int b3 = input[curPos + 3] & 0xff; -int b4 = input[curPos + 4] & 0xff; +int b1 = input.read(); +int b2 = input.read(); +int b3 = input.read(); +int b4 = input.read(); return new BytesNumber((b1 << 24 | b2 << 16 | b3 << 8 | b4), 5); } else { throw new IllegalArgumentException(); @@ -778,33 +781,28 @@ public class OTFSubSetFile extends OTFSu for (int dataPos = 0; dataPos < data.length; dataPos++) { int b0 = data[dataPos] & 0xff; if (b0 == LOCAL_SUBROUTINE && hasLocalSubroutines) { -int subrNumber = getSubrNumber(localIndexSubr.get
svn commit: r1811944 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/fonts/LazyFont.java test/java/org/apache/fop/fonts/LazyFontTestCase.java
Author: ssteiner Date: Thu Oct 12 11:44:13 2017 New Revision: 1811944 URL: http://svn.apache.org/viewvc?rev=1811944=rev Log: FOP-2752: Show name of font file on error Added: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/LazyFontTestCase.java (with props) Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/LazyFont.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/LazyFont.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/LazyFont.java?rev=1811944=1811943=1811944=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/LazyFont.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/LazyFont.java Thu Oct 12 11:44:13 2017 @@ -19,7 +19,6 @@ package org.apache.fop.fonts; import java.awt.Rectangle; -import java.io.IOException; import java.io.InputStream; import java.net.URI; import java.util.List; @@ -31,7 +30,6 @@ import org.xml.sax.InputSource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.apache.fop.apps.FOPException; import org.apache.fop.apps.io.InternalResourceResolver; import org.apache.fop.complexscripts.fonts.Positionable; import org.apache.fop.complexscripts.fonts.Substitutable; @@ -124,15 +122,14 @@ public class LazyFont extends Typeface i if (realFont instanceof FontDescriptor) { realFontDescriptor = (FontDescriptor) realFont; } -} catch (FOPException fopex) { -log.error("Failed to read font metrics file " + fontUris.getMetrics(), fopex); +} catch (RuntimeException e) { +String error = "Failed to read font file " + fontUris.getEmbed(); +throw new RuntimeException(error, e); +} catch (Exception e) { +String error = "Failed to read font file " + fontUris.getEmbed(); +log.error(error, e); if (fail) { -throw new RuntimeException(fopex); -} -} catch (IOException ioex) { -log.error("Failed to read font metrics file " + fontUris.getMetrics(), ioex); -if (fail) { -throw new RuntimeException(ioex); +throw new RuntimeException(error, e); } } realFont.setEventListener(this.eventListener); Added: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/LazyFontTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/LazyFontTestCase.java?rev=1811944=auto == --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/LazyFontTestCase.java (added) +++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/LazyFontTestCase.java Thu Oct 12 11:44:13 2017 @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ +package org.apache.fop.fonts; + +import java.net.URI; +import java.net.URISyntaxException; + +import org.junit.Assert; +import org.junit.Test; + +public class LazyFontTestCase { +@Test +public void testFontError() throws URISyntaxException { +FontUris fontUris = new FontUris(new URI("test"), null); +LazyFont lazyFont = new LazyFont(new EmbedFontInfo(fontUris, true, true, null, null), null, true); +String ex = null; +try { +lazyFont.getAscender(); +} catch (RuntimeException e) { +ex = e.getMessage(); +} +Assert.assertEquals(ex, "Failed to read font file test"); +} +} Propchange: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/LazyFontTestCase.java -- svn:eol-style = native --
svn commit: r1808210 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java
Author: ssteiner Date: Wed Sep 13 08:32:17 2017 New Revision: 1808210 URL: http://svn.apache.org/viewvc?rev=1808210=rev Log: FOP-2736: Change font table order depending on offset size Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java?rev=1808210=1808209=1808210=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java Wed Sep 13 08:32:17 2017 @@ -174,17 +174,19 @@ public class OTFSubSetFile extends OTFSu //Top DICT Index and Data int topDictDataOffset = topDictOffset + writeTopDICT(); +boolean hasFDSelect = cffReader.getFDSelect() != null; + //Create the char string index data and related local / global subroutines -if (cffReader.getFDSelect() == null) { -createCharStringData(); -} else { +if (hasFDSelect) { createCharStringDataCID(); +} else { +createCharStringData(); } //If it is a CID-Keyed font, store each FD font and add each SID List fontNameSIDs = null; List subsetFDFonts = null; -if (cffReader.getFDSelect() != null) { +if (hasFDSelect) { subsetFDFonts = getUsedFDFonts(); fontNameSIDs = storeFDStrings(subsetFDFonts); } @@ -200,19 +202,29 @@ public class OTFSubSetFile extends OTFSu //Charset table int charsetOffset = currentPos; -writeCharsetTable(cffReader.getFDSelect() != null); +writeCharsetTable(hasFDSelect); //FDSelect table int fdSelectOffset = currentPos; -if (cffReader.getFDSelect() != null) { +if (hasFDSelect) { writeFDSelect(); } +int fdArrayOffset = -1; +if (hasFDSelect && !isCharStringBeforeFD()) { +fdArrayOffset = writeFDArray(subsetFDFonts, fontNameSIDs); +} //Char Strings Index int charStringOffset = currentPos; writeIndex(subsetCharStringsIndex); +if (hasFDSelect && isCharStringBeforeFD()) { +fdArrayOffset = writeFDArray(subsetFDFonts, fontNameSIDs); +} -if (cffReader.getFDSelect() == null) { +if (hasFDSelect) { +updateCIDOffsets(topDictDataOffset, fdArrayOffset, fdSelectOffset, charsetOffset, +charStringOffset, encodingOffset); +} else { //Keep offset to modify later with the local subroutine index offset int privateDictOffset = currentPos; writePrivateDict(); @@ -224,13 +236,22 @@ public class OTFSubSetFile extends OTFSu //Update the offsets updateOffsets(topDictOffset, charsetOffset, charStringOffset, privateDictOffset, localIndexOffset, encodingOffset); -} else { -List privateDictOffsets = writeCIDDictsAndSubrs(subsetFDFonts); -int fdArrayOffset = writeFDArray(subsetFDFonts, privateDictOffsets, fontNameSIDs); +} +} -updateCIDOffsets(topDictDataOffset, fdArrayOffset, fdSelectOffset, charsetOffset, -charStringOffset, encodingOffset); +private int writeFDArray(List subsetFDFonts, List fontNameSIDs) throws IOException { +List privateDictOffsets = writeCIDDictsAndSubrs(subsetFDFonts); +return writeFDArray(subsetFDFonts, privateDictOffsets, fontNameSIDs); +} + +private boolean isCharStringBeforeFD() { +LinkedHashMap<String, DICTEntry> entries = cffReader.getTopDictEntries(); +int len = entries.get("CharStrings").getOperandLength(); +if (entries.containsKey("FDArray")) { +int len2 = entries.get("FDArray").getOperandLength(); +return len < len2; } +return true; } protected List storeFDStrings(List uniqueNewRefs) throws IOException { Modified: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java?rev=1808210=1808209=1808210=diff == --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java (orig
svn commit: r1808238 - in /xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox: MergeCFFFonts.java OTFSubSetFile.java
Author: ssteiner Date: Wed Sep 13 14:06:05 2017 New Revision: 1808238 URL: http://svn.apache.org/viewvc?rev=1808238=rev Log: Cleanup offset code Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/OTFSubSetFile.java Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java?rev=1808238=1808237=1808238=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeCFFFonts.java Wed Sep 13 14:06:05 2017 @@ -234,14 +234,10 @@ public class MergeCFFFonts extends OTFSu //Name Index writeIndex(Arrays.asList(fileFont.getName().getBytes("UTF-8"))); -//Keep offset of the topDICT so it can be updated once all data has been written -int topDictOffset = currentPos; +Offsets offsets = new Offsets(); + //Top DICT Index and Data -byte[] topDictIndex = cffReader.getTopDictIndex().getByteData(); -int offSize = topDictIndex[2]; -writeBytes(topDictIndex, 0, 3 + (offSize * 2)); -int topDictDataOffset = currentPos; -writeTopDICT(); +offsets.topDictData = currentPos + writeTopDICT(); createCharStringData(); //String index @@ -250,26 +246,25 @@ public class MergeCFFFonts extends OTFSu Map<String, CFFDataReader.DICTEntry> topDICT = cffReader.getTopDictEntries(); final CFFDataReader.DICTEntry charString = topDICT.get("CharStrings"); final CFFDataReader.DICTEntry encodingEntry = topDICT.get("Encoding"); - -int encodingOffset; +boolean hasFDSelect = cffReader.getFDSelect() != null; if (encodingEntry != null && charString.getOffset() > encodingEntry.getOffset()) { charsetOffset = currentPos; if (!fallbackIndex) { charsetOffset += 2; } -writeCharsetTable(cffReader.getFDSelect() != null, !fallbackIndex); -encodingOffset = currentPos; +writeCharsetTable(hasFDSelect, !fallbackIndex); +offsets.encoding = currentPos; writeEncoding(); } else { writeCard16(0); -encodingOffset = currentPos; +offsets.encoding = currentPos; writeEncoding(); charsetOffset = currentPos; -writeCharsetTable(cffReader.getFDSelect() != null, false); +writeCharsetTable(hasFDSelect, false); } -int fdSelectOffset = currentPos; -if (cffReader.getFDSelect() != null) { +offsets.fdSelect = currentPos; +if (hasFDSelect) { writeByte(0); for (int i = 0; i < subsetCharStringsIndex.size(); i++) { writeByte(0); @@ -277,37 +272,31 @@ public class MergeCFFFonts extends OTFSu } //Keep offset to modify later with the local subroutine index offset -int privateDictOffset = currentPos; +offsets.privateDict = currentPos; writePrivateDict(); //Char Strings Index -int charStringOffset = currentPos; +offsets.charString = currentPos; writeIndex(subsetCharStringsIndex); //Local subroutine index -int localIndexOffset = currentPos; +offsets.localIndex = currentPos; if (!subsetLocalIndexSubr.isEmpty()) { writeIndex(subsetLocalIndexSubr); } -if (cffReader.getFDSelect() != null) { -int fdArrayOffset = currentPos; -writeCard16(1); -writeByte(1); //Offset size -writeByte(1); //First offset -int count = 1; +if (hasFDSelect) { +offsets.fdArray = currentPos; +int fdByteData = currentPos + cffReader.getFDFonts().size() + 4; +List<byte[]> index = new ArrayList<byte[]>(); +List privateDictOffsets = new ArrayList(); for (CFFDataReader.FontDict fdFont : cffReader.getFDFonts()) { -count += fdFont.getByteData().length; -writeByte(count); +index.add(fdFont.getByteData()); } -int fdByteData = currentPos; +writeIndex(index, 1); for (CFFDataReader.FontDict fdFont : cffReader.getFDFonts()) { -writeBytes(fdFont.getByteData()); -} -List privateDictOffsets = new ArrayList(); -for (CFFDataReader.FontDict curFDFont : cffReader.getF
svn commit: r1808231 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java
Author: ssteiner Date: Wed Sep 13 11:39:29 2017 New Revision: 1808231 URL: http://svn.apache.org/viewvc?rev=1808231=rev Log: Cleanup offset code Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java?rev=1808231=1808230=1808231=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java Wed Sep 13 11:39:29 2017 @@ -167,12 +167,12 @@ public class OTFSubSetFile extends OTFSu writeBytes(cffReader.getHeader()); //Name Index -writeIndex(Arrays.asList(embedFontName.getBytes())); +writeIndex(Arrays.asList(embedFontName.getBytes("UTF-8"))); + +Offsets offsets = new Offsets(); -//Keep offset of the topDICT so it can be updated once all data has been written -int topDictOffset = currentPos; //Top DICT Index and Data -int topDictDataOffset = topDictOffset + writeTopDICT(); +offsets.topDictData = currentPos + writeTopDICT(); boolean hasFDSelect = cffReader.getFDSelect() != null; @@ -198,47 +198,54 @@ public class OTFSubSetFile extends OTFSu writeIndex(subsetGlobalIndexSubr); //Encoding -int encodingOffset = currentPos; +offsets.encoding = currentPos; //Charset table -int charsetOffset = currentPos; +offsets.charset = currentPos; writeCharsetTable(hasFDSelect); //FDSelect table -int fdSelectOffset = currentPos; +offsets.fdSelect = currentPos; if (hasFDSelect) { writeFDSelect(); +if (!isCharStringBeforeFD()) { +offsets.fdArray = writeFDArray(subsetFDFonts, fontNameSIDs); +} } -int fdArrayOffset = -1; -if (hasFDSelect && !isCharStringBeforeFD()) { -fdArrayOffset = writeFDArray(subsetFDFonts, fontNameSIDs); -} //Char Strings Index -int charStringOffset = currentPos; +offsets.charString = currentPos; writeIndex(subsetCharStringsIndex); -if (hasFDSelect && isCharStringBeforeFD()) { -fdArrayOffset = writeFDArray(subsetFDFonts, fontNameSIDs); -} - if (hasFDSelect) { -updateCIDOffsets(topDictDataOffset, fdArrayOffset, fdSelectOffset, charsetOffset, -charStringOffset, encodingOffset); +if (isCharStringBeforeFD()) { +offsets.fdArray = writeFDArray(subsetFDFonts, fontNameSIDs); +} +updateCIDOffsets(offsets); } else { //Keep offset to modify later with the local subroutine index offset -int privateDictOffset = currentPos; +offsets.privateDict = currentPos; writePrivateDict(); //Local subroutine index -int localIndexOffset = currentPos; +offsets.localIndex = currentPos; writeIndex(subsetLocalIndexSubr); //Update the offsets -updateOffsets(topDictOffset, charsetOffset, charStringOffset, privateDictOffset, -localIndexOffset, encodingOffset); +updateOffsets(offsets); } } +static class Offsets { +Integer topDictData; +Integer encoding; +Integer charset; +Integer fdSelect; +Integer charString; +Integer fdArray; +Integer privateDict; +Integer localIndex; +} + private int writeFDArray(List subsetFDFonts, List fontNameSIDs) throws IOException { List privateDictOffsets = writeCIDDictsAndSubrs(subsetFDFonts); return writeFDArray(subsetFDFonts, privateDictOffsets, fontNameSIDs); @@ -308,7 +315,7 @@ public class OTFSubSetFile extends OTFSu int sidAStringIndex = stringIndexData.size() + 390; int sidB = dictEntry.getOperands().get(1).intValue(); if (sidB > 390) { -stringIndexData.add("Identity".getBytes()); +stringIndexData.add("Identity".getBytes("UTF-8")); } int sidBStringIndex = stringIndexData.size() + 390; byte[] cidEntryByteData = dictEntry.getByteData(); @@ -361,7 +368,7 @@ public class OTFSubSetFile extends OTFSu if (index < cffReader.getStringIndex().getNumObjects()) { if (mbFont != null) {
svn commit: r1808111 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java
Author: ssteiner Date: Tue Sep 12 12:14:48 2017 New Revision: 1808111 URL: http://svn.apache.org/viewvc?rev=1808111=rev Log: FOP-2735: Use correct offset size for FDArray Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java?rev=1808111=1808110=1808111=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java Tue Sep 12 12:14:48 2017 @@ -523,17 +523,7 @@ public class OTFSubSetFile extends OTFSu throws IOException { int offset = currentPos; List fdFonts = cffReader.getFDFonts(); - -writeCard16(uniqueNewRefs.size()); -writeByte(1); //Offset size -writeByte(1); //First offset - -int count = 1; -for (Integer uniqueNewRef : uniqueNewRefs) { -FontDict fdFont = fdFonts.get(uniqueNewRef); -count += fdFont.getByteData().length; -writeByte(count); -} +List<byte[]> index = new ArrayList<byte[]>(); for (int i = 0; i < uniqueNewRefs.size(); i++) { FontDict fdFont = fdFonts.get(uniqueNewRefs.get(i)); @@ -548,8 +538,9 @@ public class OTFSubSetFile extends OTFSu + fdFontDict.get("Private").getOperandLengths().get(0), fdFontDict.get("Private").getOperandLengths().get(1), privateDictOffsets.get(i)); -writeBytes(fdFontByteData); +index.add(fdFontByteData); } +writeIndex(index); return offset; } Modified: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java?rev=1808111=1808110=1808111=diff == --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java Tue Sep 12 12:14:48 2017 @@ -20,8 +20,10 @@ package org.apache.fop.fonts.truetype; import java.io.ByteArrayInputStream; +import java.io.DataInputStream; import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.LinkedHashMap; @@ -34,6 +36,7 @@ import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import static org.mockito.Matchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -46,9 +49,6 @@ import org.apache.fop.fonts.cff.CFFDataR import org.apache.fop.fonts.truetype.OTFSubSetFile.BytesNumber; public class OTFSubSetFileTestCase extends OTFFileTestCase { - -private CFFDataReader cffReaderSourceSans; -private OTFSubSetFile sourceSansSubset; private Map<Integer, Integer> glyphs = new HashMap<Integer, Integer>(); /** @@ -62,11 +62,17 @@ public class OTFSubSetFileTestCase exten for (int i = 0; i < 256; i++) { glyphs.put(i, i); } +} + +private CFFDataReader getCFFReaderSourceSans() throws IOException { +byte[] sourceSansData = getSourceSansSubset().getFontSubset(); +return new CFFDataReader(sourceSansData); +} -sourceSansSubset = new OTFSubSetFile(); +private OTFSubSetFile getSourceSansSubset() throws IOException { +OTFSubSetFile sourceSansSubset = new OTFSubSetFile(); sourceSansSubset.readFont(sourceSansReader, "SourceSansProBold", null, glyphs); -byte[] sourceSansData = sourceSansSubset.getFontSubset(); -cffReaderSourceSans = new CFFDataReader(sourceSansData); +return sourceSansSubset; } /** @@ -75,9 +81,10 @@ public class OTFSubSetFileTestCase exten */ @Test public void testCharStringIndex() throws IOException { +CFFDataReader cffReaderSourceSans = getCFFReaderSourceSans(); assertEquals(256, cffReaderSourceSans.getCharStringIndex().getNumObjects()); assertTrue(checkCorrectOffsets(cffReaderSourceSans.getCharStringIndex())); -validateCharStrings(cffReaderSourceSans, sourceSansSubset.getCF
svn commit: r1809628 - in /xmlgraphics/fop/trunk: fop-core/src/main/java/org/apache/fop/render/ps/ fop/lib/
Author: ssteiner Date: Mon Sep 25 13:42:23 2017 New Revision: 1809628 URL: http://svn.apache.org/viewvc?rev=1809628=rev Log: FOP-2740: PDF to PostScript tiling pattern error in Acrobat Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSDocumentHandler.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfig.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfigurator.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererOption.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRenderingUtil.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/ResourceHandler.java xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSDocumentHandler.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSDocumentHandler.java?rev=1809628=1809627=1809628=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSDocumentHandler.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSDocumentHandler.java Mon Sep 25 13:42:23 2017 @@ -163,6 +163,7 @@ public class PSDocumentHandler extends A //Setup for PostScript generation this.gen = new FOPPSGeneratorImpl(out); this.gen.setPSLevel(psUtil.getLanguageLevel()); +this.gen.setAcrobatDownsample(psUtil.isAcrobatDownsample()); this.currentPageNumber = 0; this.documentBoundingBox = new Rectangle2D.Double(); @@ -294,7 +295,7 @@ public class PSDocumentHandler extends A ResourceHandler handler = new ResourceHandler(getUserAgent(), eventProducer, this.fontInfo, resTracker, this.formResources); handler.process(in, this.outputStream, -this.currentPageNumber, this.documentBoundingBox); +this.currentPageNumber, this.documentBoundingBox, psUtil); this.outputStream.flush(); } catch (DSCException e) { throw new RuntimeException(e.getMessage()); Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfig.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfig.java?rev=1809628=1809627=1809628=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfig.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfig.java Mon Sep 25 13:42:23 2017 @@ -36,6 +36,7 @@ import org.apache.fop.fonts.FontEventAda import org.apache.fop.render.RendererConfig; import org.apache.fop.util.LogUtil; +import static org.apache.fop.render.ps.PSRendererOption.ACROBAT_DOWNSAMPLE; import static org.apache.fop.render.ps.PSRendererOption.AUTO_ROTATE_LANDSCAPE; import static org.apache.fop.render.ps.PSRendererOption.DSC_COMPLIANT; import static org.apache.fop.render.ps.PSRendererOption.LANGUAGE_LEVEL; @@ -85,6 +86,10 @@ public final class PSRendererConfig impl return (PSRenderingMode) params.get(RENDERING_MODE); } +public Boolean isAcrobatDownsample() { +return (Boolean) params.get(ACROBAT_DOWNSAMPLE); +} + /** * The PostScript renderer configuration data parser. */ @@ -124,6 +129,7 @@ public final class PSRendererConfig impl setBoolConfigParam(cfg, OPTIMIZE_RESOURCES); setBoolConfigParam(cfg, SAFE_SET_PAGE_DEVICE); setBoolConfigParam(cfg, DSC_COMPLIANT); +setBoolConfigParam(cfg, ACROBAT_DOWNSAMPLE); Configuration child = cfg.getChild("rendering"); if (child != null) { config.params.put(RENDERING_MODE, Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfigurator.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfigurator.java?rev=1809628=1809627=1809628=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfigurator.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfigurator.java Mon Sep 25 13:42:23 2017 @@ -58,6 +58,9 @@ public class PSRendererConfigurator exte if (psConfig.getRenderingMode() != null) { psUtil.setRen
svn commit: r1810008 - in /xmlgraphics/fop/trunk: fop-core/src/main/java/org/apache/fop/layoutmgr/ fop-core/src/test/java/org/apache/fop/layoutmgr/ fop/test/layoutengine/standard-testcases/
Author: ssteiner Date: Thu Sep 28 14:45:41 2017 New Revision: 1810008 URL: http://svn.apache.org/viewvc?rev=1810008=rev Log: FOP-2744: Allow unmapped flow for repeatable-page-master Added: xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/simple-page-master_unmapped_flow-name_2.xml (with props) Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/layoutmgr/PageSequenceLayoutManagerTestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java?rev=1810008=1810007=1810008=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java Thu Sep 28 14:45:41 2017 @@ -205,7 +205,8 @@ public class PageSequenceLayoutManager e String psName = getPageSequence().getMainFlow().getFlowName(); Region body = newPage.getSimplePageMaster().getRegion(FO_REGION_BODY); String name = body.getRegionName(); -if (strict && !name.equals(psName) && !name.equals(((RegionBody)body).getDefaultRegionName())) { +if (strict && !name.equals(psName) && !name.equals(((RegionBody)body).getDefaultRegionName()) +&& getPageSequence().hasPagePositionLast()) { throw new RuntimeException( "The flow-name \"" + name + "\" could not be mapped to a region-name in the layout-master-set"); } Modified: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/layoutmgr/PageSequenceLayoutManagerTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/layoutmgr/PageSequenceLayoutManagerTestCase.java?rev=1810008=1810007=1810008=diff == --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/layoutmgr/PageSequenceLayoutManagerTestCase.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/layoutmgr/PageSequenceLayoutManagerTestCase.java Thu Sep 28 14:45:41 2017 @@ -127,6 +127,7 @@ public class PageSequenceLayoutManagerTe when(flow.getFlowName()).thenReturn(MAIN_FLOW_NAME); when(pseq.getRoot()).thenReturn(root); +when(pseq.hasPagePositionLast()).thenReturn(true); when(pseq.getMainFlow()).thenReturn(flow); PageSequenceLayoutManager pageSequenceLayoutManager = new PageSequenceLayoutManager(ath, pseq) { Added: xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/simple-page-master_unmapped_flow-name_2.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/simple-page-master_unmapped_flow-name_2.xml?rev=1810008=auto == --- xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/simple-page-master_unmapped_flow-name_2.xml (added) +++ xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/simple-page-master_unmapped_flow-name_2.xml Thu Sep 28 14:45:41 2017 @@ -0,0 +1,56 @@ + + + + + + + This test checks that when the region-body@region-name of simple-page-master does not map to + the main flow, the PageSequenceLayoutManager treats the generated Page as an empty/blank page. + + + +http://www.w3.org/1999/XSL/Format; xmlns:fox="http://xmlgraphics.apache.org/fop/extensions;> + + + + + + + + + + + + + + + + + + + test + + + + + + + + + + Propchange: xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/simple-page-master_unmapped_flow-name_2.xml -- svn:eol-style = native - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1809748 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/fonts/type1/Type1FontLoader.java test/java/org/apache/fop/fonts/type1/Type1FontLoaderTestCase.java
Author: ssteiner Date: Tue Sep 26 14:22:51 2017 New Revision: 1809748 URL: http://svn.apache.org/viewvc?rev=1809748=rev Log: FOP-2742: SVG to PS NPE/text missing when using PFM file Added: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/type1/Type1FontLoaderTestCase.java (with props) Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/type1/Type1FontLoader.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/type1/Type1FontLoader.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/type1/Type1FontLoader.java?rev=1809748=1809747=1809748=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/type1/Type1FontLoader.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/type1/Type1FontLoader.java Tue Sep 26 14:22:51 2017 @@ -19,6 +19,7 @@ package org.apache.fop.fonts.type1; +import java.awt.Rectangle; import java.awt.geom.RectangularShape; import java.io.IOException; import java.io.InputStream; @@ -415,7 +416,10 @@ public class Type1FontLoader extends Fon returnFont.setFirstChar(pfm.getFirstChar()); returnFont.setLastChar(pfm.getLastChar()); for (short i = pfm.getFirstChar(); i <= pfm.getLastChar(); i++) { -singleFont.setWidth(i, pfm.getCharWidth(i)); +int cw = pfm.getCharWidth(i); +singleFont.setWidth(i, cw); +int[] bbox = pfm.getFontBBox(); +singleFont.setBoundingBox(i, new Rectangle(bbox[0], bbox[1], cw, bbox[3])); } if (useKerning) { returnFont.replaceKerningMap(pfm.getKerning()); Added: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/type1/Type1FontLoaderTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/type1/Type1FontLoaderTestCase.java?rev=1809748=auto == --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/type1/Type1FontLoaderTestCase.java (added) +++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/type1/Type1FontLoaderTestCase.java Tue Sep 26 14:22:51 2017 @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ +package org.apache.fop.fonts.type1; + +import java.awt.Rectangle; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; + +import org.junit.Assert; +import org.junit.Test; + +import org.apache.commons.io.IOUtils; + +import org.apache.fop.apps.io.ResourceResolverFactory; +import org.apache.fop.fonts.CustomFont; +import org.apache.fop.fonts.EmbeddingMode; +import org.apache.fop.fonts.EncodingMode; +import org.apache.fop.fonts.FontLoader; +import org.apache.fop.fonts.FontUris; + +public class Type1FontLoaderTestCase { +@Test +public void testBoundingBox() throws IOException { +File pfb = new File("test/resources/fonts/type1/c0419bt_.pfb"); +File pfbNoAFM = File.createTempFile("fop", "pfb"); +File pfm = File.createTempFile("fop", "pfm"); +try { +IOUtils.copy(new FileInputStream(pfb), new FileOutputStream(pfbNoAFM)); + +FileOutputStream fos = new FileOutputStream(pfm); +fos.write(new byte[512]); +fos.close(); + +FontUris fontUris = new FontUris(pfbNoAFM.toURI(), null, null, pfm.toURI()); +CustomFont x = FontLoader.loadFont(fontUris, null, true, EmbeddingMode.AUTO, EncodingMode.AUTO, true, true, + ResourceResolverFactory.createDefaultInternalResourceResolver(new File(".").toURI()), false, false); +Assert.assertEquals(x.getBoundingBox(0, 12).getBounds(), new Rectangle(-240, -60, 0, 60)); +} finally { +pfbNoAFM.delete(); +pfm.delete(); +} +} +} P
svn commit: r1810355 - in /xmlgraphics/fop-pdf-images/trunk: src/java/org/apache/fop/render/pdf/pdfbox/StructureTreeMerger.java test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java
Author: ssteiner Date: Mon Oct 2 13:41:22 2017 New Revision: 1810355 URL: http://svn.apache.org/viewvc?rev=1810355=rev Log: FOP-2746: PDF to PDF NPE during structuretree merge Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/StructureTreeMerger.java xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/StructureTreeMerger.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/StructureTreeMerger.java?rev=1810355=1810354=1810355=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/StructureTreeMerger.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/StructureTreeMerger.java Mon Oct 2 13:41:22 2017 @@ -132,8 +132,10 @@ public class StructureTreeMerger { for (COSBase entry : markedContentParents) { COSObject elemCos = (COSObject)entry; COSObject elemParent = (COSObject)elemCos.getItem(COSName.P); -PDFStructElem elem = structElemCache.get((int)elemCos.getObjectNumber()); -createParents(elemCos, elemParent, elem); +if (elemParent != null) { +PDFStructElem elem = structElemCache.get((int)elemCos.getObjectNumber()); +createParents(elemCos, elemParent, elem); +} } } Modified: xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java?rev=1810355=1810354=1810355=diff == --- xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java (original) +++ xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java Mon Oct 2 13:41:22 2017 @@ -218,4 +218,17 @@ public class StructureTreeMergerTestCase String test = name.getName(); Assert.assertEquals(test, "P"); } + +@Test +public void testEmptyDict() throws IOException { +adapter = new PDFBoxAdapter(pdfPage, new HashMap(), new HashMap<Integer, PDFArray>()); +StructureTreeMerger structureTreeMerger = new StructureTreeMerger(null, null, adapter, null); +COSArray cosArray = new COSArray(); +COSObject o = new COSObject(new COSDictionary()); +o.setObjectNumber(1); +o.setGenerationNumber(1); +cosArray.add(o); +structureTreeMerger.copyStructure(cosArray); +structureTreeMerger.addToPageParentTreeArray(); +} } - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1809965 - in /xmlgraphics/fop-pdf-images/trunk: build.properties build.xml lib/jacocoant.jar
Author: ssteiner Date: Thu Sep 28 09:41:18 2017 New Revision: 1809965 URL: http://svn.apache.org/viewvc?rev=1809965=rev Log: Allow tests to run on java 9 Modified: xmlgraphics/fop-pdf-images/trunk/build.properties xmlgraphics/fop-pdf-images/trunk/build.xml xmlgraphics/fop-pdf-images/trunk/lib/jacocoant.jar Modified: xmlgraphics/fop-pdf-images/trunk/build.properties URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/build.properties?rev=1809965=1809964=1809965=diff == --- xmlgraphics/fop-pdf-images/trunk/build.properties (original) +++ xmlgraphics/fop-pdf-images/trunk/build.properties Thu Sep 28 09:41:18 2017 @@ -5,7 +5,7 @@ year=2007-2017 javac.debug=on javac.deprecation=on javac.fork=off -javac.source=1.5 -javac.target=1.5 +javac.source=1.6 +javac.target=1.6 junit.fork=on \ No newline at end of file Modified: xmlgraphics/fop-pdf-images/trunk/build.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/build.xml?rev=1809965=1809964=1809965=diff == --- xmlgraphics/fop-pdf-images/trunk/build.xml (original) +++ xmlgraphics/fop-pdf-images/trunk/build.xml Thu Sep 28 09:41:18 2017 @@ -26,15 +26,7 @@ - - - - - - - - Modified: xmlgraphics/fop-pdf-images/trunk/lib/jacocoant.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/lib/jacocoant.jar?rev=1809965=1809964=1809965=diff == Binary files - no diff available. - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1805622 - in /xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop: fonts/CIDFontType.java pdf/PDFText.java
Author: ssteiner Date: Mon Aug 21 11:52:08 2017 New Revision: 1805622 URL: http://svn.apache.org/viewvc?rev=1805622=rev Log: FOP-2733: Reduce dependency on Avalon Framework Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/CIDFontType.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/pdf/PDFText.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/CIDFontType.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/CIDFontType.java?rev=1805622=1805621=1805622=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/CIDFontType.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/CIDFontType.java Mon Aug 21 11:52:08 2017 @@ -19,32 +19,32 @@ package org.apache.fop.fonts; -import org.apache.avalon.framework.ValuedEnum; - /** * This class enumerates all supported CID font types. */ -public class CIDFontType extends ValuedEnum { +public enum CIDFontType { /** * CID Font Type 0 (based on Type 1 format) */ -public static final CIDFontType CIDTYPE0 = new CIDFontType("CIDFontType0", 0); +CIDTYPE0("CIDFontType0", 0), /** * CID Font Type 2 (based on TrueType format) */ -public static final CIDFontType CIDTYPE2 = new CIDFontType("CIDFontType2", 2); +CIDTYPE2("CIDFontType2", 2); +private final String name; +private final int value; /** * Construct a CID font type. * @param name a type name * @param value a type value - * @see org.apache.avalon.framework.Enum#Enum(String) */ -protected CIDFontType(String name, int value) { -super(name, value); +CIDFontType(String name, int value) { +this.name = name; +this.value = value; } @@ -79,4 +79,11 @@ public class CIDFontType extends ValuedE } } +public String getName() { +return name; +} + +public int getValue() { +return value; +} } Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/pdf/PDFText.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/pdf/PDFText.java?rev=1805622=1805621=1805622=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/pdf/PDFText.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/pdf/PDFText.java Mon Aug 21 11:52:08 2017 @@ -21,8 +21,6 @@ package org.apache.fop.pdf; import java.io.ByteArrayOutputStream; -import org.apache.avalon.framework.CascadingRuntimeException; - /** * This class represents a simple number object. It also contains contains some * utility methods for outputting numbers to PDF. @@ -101,7 +99,7 @@ public class PDFText extends PDFObject { try { uniBytes = text.getBytes("UTF-16"); } catch (java.io.UnsupportedEncodingException uee) { -throw new CascadingRuntimeException("Incompatible VM", uee); +throw new RuntimeException("Incompatible VM", uee); } return toHex(uniBytes); } else { @@ -179,7 +177,7 @@ public class PDFText extends PDFObject { try { return text.getBytes("UnicodeBig"); } catch (java.io.UnsupportedEncodingException uee) { -throw new CascadingRuntimeException("Incompatible VM", uee); +throw new RuntimeException("Incompatible VM", uee); } } @@ -195,7 +193,7 @@ public class PDFText extends PDFObject { final char[] a = {c}; uniBytes = new String(a).getBytes("UTF-16BE"); } catch (java.io.UnsupportedEncodingException uee) { -throw new CascadingRuntimeException("Incompatible VM", uee); +throw new RuntimeException("Incompatible VM", uee); } for (byte uniByte : uniBytes) { - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1806787 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java
Author: ssteiner Date: Thu Aug 31 12:31:03 2017 New Revision: 1806787 URL: http://svn.apache.org/viewvc?rev=1806787=rev Log: FOP-2699: Fix subsetting large number of glyphs Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java?rev=1806787=1806786=1806787=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java Thu Aug 31 12:31:03 2017 @@ -172,11 +172,7 @@ public class OTFSubSetFile extends OTFSu //Keep offset of the topDICT so it can be updated once all data has been written int topDictOffset = currentPos; //Top DICT Index and Data -byte[] topDictIndex = cffReader.getTopDictIndex().getByteData(); -int offSize = topDictIndex[2]; -writeBytes(topDictIndex, 0, 3 + (offSize * 2)); -int topDictDataOffset = currentPos; -writeTopDICT(); +int topDictDataOffset = topDictOffset + writeTopDICT(); //Create the char string index data and related local / global subroutines if (cffReader.getFDSelect() == null) { @@ -251,27 +247,39 @@ public class OTFSubSetFile extends OTFSu return fontNameSIDs; } -protected void writeTopDICT() throws IOException { +protected int writeTopDICT() throws IOException { Map<String, DICTEntry> topDICT = cffReader.getTopDictEntries(); List topDictStringEntries = Arrays.asList("version", "Notice", "Copyright", "FullName", "FamilyName", "Weight", "PostScript"); +ByteArrayOutputStream dict = new ByteArrayOutputStream(); +int offsetExtra = 0; for (Map.Entry<String, DICTEntry> dictEntry : topDICT.entrySet()) { String dictKey = dictEntry.getKey(); DICTEntry entry = dictEntry.getValue(); //If the value is an SID, update the reference but keep the size the same -if (dictKey.equals("ROS")) { -writeROSEntry(entry); +entry.setOffset(entry.getOffset() + offsetExtra); +if (dictKey.equals("CharStrings") && entry.getOperandLength() == 3) { +byte[] extra = new byte[2]; +offsetExtra += extra.length; +dict.write(extra); +dict.write(entry.getByteData()); +entry.setOperandLength(5); +} else if (dictKey.equals("ROS")) { +dict.write(writeROSEntry(entry)); } else if (dictKey.equals("CIDCount")) { -writeCIDCount(entry); +dict.write(writeCIDCount(entry)); } else if (topDictStringEntries.contains(dictKey)) { -writeTopDictStringEntry(entry); +dict.write(writeTopDictStringEntry(entry)); } else { -writeBytes(entry.getByteData()); +dict.write(entry.getByteData()); } } +byte[] topDictIndex = cffReader.getTopDictIndex().getByteData(); +int offSize = topDictIndex[2]; +return writeIndex(Arrays.asList(dict.toByteArray()), offSize) - dict.size(); } -private void writeROSEntry(DICTEntry dictEntry) throws IOException { +private byte[] writeROSEntry(DICTEntry dictEntry) throws IOException { int sidA = dictEntry.getOperands().get(0).intValue(); if (sidA > 390) { stringIndexData.add(cffReader.getStringIndex().getValue(sidA - NUM_STANDARD_STRINGS)); @@ -289,17 +297,17 @@ public class OTFSubSetFile extends OTFSu dictEntry.getOperandLengths().get(1), sidBStringIndex); updateOffset(cidEntryByteData, dictEntry.getOperandLengths().get(0) + dictEntry.getOperandLengths().get(1), dictEntry.getOperandLengths().get(2), 0); -writeBytes(cidEntryByteData); +return cidEntryByteData; } -protected void writeCIDCount(DICTEntry dictEntry) throws IOException { +protected byte[] writeCIDCount(DICTEntry dictEntry) throws IOException { byte[] cidCountByteData = dictEntry.getByteData(); updateOffset(cidCountByteData, 0, dictEntry.getOperandLengths().get(0), subsetGlyphs.size()); -writeBytes(cidCountByteData); +return cidCountByteData; } -private void writeTopDictString
svn commit: r1811970 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java
Author: ssteiner Date: Thu Oct 12 14:43:48 2017 New Revision: 1811970 URL: http://svn.apache.org/viewvc?rev=1811970=rev Log: FOP-2751: OTF subset: correct charstring offset size Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java?rev=1811970=1811969=1811970=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFSubSetFile.java Thu Oct 12 14:43:48 2017 @@ -282,8 +282,8 @@ public class OTFSubSetFile extends OTFSu DICTEntry entry = dictEntry.getValue(); //If the value is an SID, update the reference but keep the size the same entry.setOffset(entry.getOffset() + offsetExtra); -if (dictKey.equals("CharStrings") && entry.getOperandLength() == 3) { -byte[] extra = new byte[2]; +if (dictKey.equals("CharStrings") && entry.getOperandLength() < 5) { +byte[] extra = new byte[5 - entry.getOperandLength()]; offsetExtra += extra.length; dict.write(extra); dict.write(entry.getByteData()); Modified: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java?rev=1811970=1811969=1811970=diff == --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFSubSetFileTestCase.java Thu Oct 12 14:43:48 2017 @@ -446,8 +446,8 @@ public class OTFSubSetFileTestCase exten @Test public void testFDSelect() throws IOException { -Assert.assertEquals(getSubset(1).length, 42); -Assert.assertEquals(getSubset(2).length, 49); +Assert.assertEquals(getSubset(1).length, 46); +Assert.assertEquals(getSubset(2).length, 45); } private byte[] getSubset(final int opLen) throws IOException { @@ -583,9 +583,10 @@ public class OTFSubSetFileTestCase exten public void testOrderOfEntries() throws IOException { OTFSubSetFileEntryOrder otfSubSetFile = getFont(3, 2); assertTrue(otfSubSetFile.offsets.fdArray < otfSubSetFile.offsets.charString); - + assertEquals(otfSubSetFile.cffReader.getTopDictEntries().get("CharStrings").getOperandLength(), 5); otfSubSetFile = getFont(2, 3); -assertTrue(otfSubSetFile.offsets.fdArray > otfSubSetFile.offsets.charString); +assertTrue(otfSubSetFile.offsets.fdArray < otfSubSetFile.offsets.charString); + assertEquals(otfSubSetFile.cffReader.getTopDictEntries().get("CharStrings").getOperandLength(), 5); } private OTFSubSetFileEntryOrder getFont(int csLen, int fdLen) throws IOException { - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1816435 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java test/java/org/apache/fop/render/extensions/DocumentNavigationHandle
Author: ssteiner Date: Mon Nov 27 11:25:42 2017 New Revision: 1816435 URL: http://svn.apache.org/viewvc?rev=1816435=rev Log: FOP-2760: Make unique links for merged IF Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/render/extensions/DocumentNavigationHandlerTestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java?rev=1816435=1816434=1816435=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java Mon Nov 27 11:25:42 2017 @@ -147,7 +147,7 @@ public class PDFDocumentNavigationHandle if (action == null) { return null; } -PDFAction pdfAction = (PDFAction)this.completeActions.get(action.getID()); +PDFAction pdfAction = (PDFAction)this.completeActions.get(getCompleteID(action)); if (pdfAction != null) { return pdfAction; } else if (action instanceof GoToXYAction) { @@ -175,7 +175,7 @@ public class PDFDocumentNavigationHandle //Some PDF actions are pooled getPDFDoc().registerObject(pdfAction); } -this.completeActions.put(action.getID(), pdfAction); +this.completeActions.put(getCompleteID(action), pdfAction); return pdfAction; } else { throw new UnsupportedOperationException("Unsupported action type: " @@ -202,8 +202,16 @@ public class PDFDocumentNavigationHandle //Queue this object now that it's complete getPDFDoc().addObject(pdfGoTo); -this.completeActions.put(action.getID(), pdfGoTo); +this.completeActions.put(getCompleteID(action), pdfGoTo); } } +private String getCompleteID(AbstractAction action) { +if (action instanceof GoToXYAction && action.isComplete()) { +int extra = ((GoToXYAction) action).getPageIndex(); +return action.getID() + "_" + extra; +} +return action.getID(); +} + } Modified: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/render/extensions/DocumentNavigationHandlerTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/render/extensions/DocumentNavigationHandlerTestCase.java?rev=1816435=1816434=1816435=diff == --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/render/extensions/DocumentNavigationHandlerTestCase.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/render/extensions/DocumentNavigationHandlerTestCase.java Mon Nov 27 11:25:42 2017 @@ -22,7 +22,9 @@ import java.awt.Dimension; import java.io.ByteArrayOutputStream; import java.io.File; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import javax.xml.transform.stream.StreamResult; @@ -85,4 +87,43 @@ public class DocumentNavigationHandlerTe //Since user may merge IF files we want to use current page Assert.assertEquals(goToXYActions.get(0).getPageIndex(), currentPage); } + +@Test +public void testGotoXYUniqueLinks() throws IFException, SAXException { +FOUserAgent ua = FopFactory.newInstance(new File(".").toURI()).newFOUserAgent(); +PDFDocumentHandler documentHandler = new PDFDocumentHandler(new IFContext(ua)); +ByteArrayOutputStream bos = new ByteArrayOutputStream(); +documentHandler.setResult(new StreamResult(bos)); +documentHandler.setFontInfo(new FontInfo()); +documentHandler.startDocument(); + +PDFDocumentNavigationHandler pdfDocumentNavigationHandler = new PDFDocumentNavigationHandler(documentHandler); +DocumentNavigationHandler navigationHandler = new DocumentNavigationHandler(pdfDocumentNavigationHandler, +new HashMap<String, StructureTreeElement>()); +QName xy = DocumentNavigationExtensionConstants.GOTO_XY; + +Attributes attributes = mock(Attributes.class); +when(attributes.getValue("page-index")).thenReturn("0"); +when(attributes.getValue("x")).thenReturn("0"); +when(attributes.getValue("y")).thenReturn("0"); + +documentHandler.startPage(0, "", "
svn commit: r1816422 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/fonts/truetype/OFFontLoader.java test/java/org/apache/fop/fonts/truetype/OTFToType1TestCase.java
Author: ssteiner Date: Mon Nov 27 10:43:26 2017 New Revision: 1816422 URL: http://svn.apache.org/viewvc?rev=1816422=rev Log: FOP-2759: NPE converting OTF to Type1 Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OFFontLoader.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFToType1TestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OFFontLoader.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OFFontLoader.java?rev=1816422=1816421=1816422=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OFFontLoader.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OFFontLoader.java Mon Nov 27 10:43:26 2017 @@ -182,7 +182,7 @@ public class OFFontLoader extends FontLo returnFont.setWeight(otf.getWeightClass()); if (isCid) { if (otf instanceof OTFFile) { -if (((OTFFile) otf).isType1() && embeddingMode == EmbeddingMode.SUBSET) { +if (((OTFFile) otf).isType1() && embeddingMode == EmbeddingMode.SUBSET && !embedAsType1) { multiFont.setFontType(FontType.TYPE1C); copyGlyphMetricsSingleByte(otf); } Modified: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFToType1TestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFToType1TestCase.java?rev=1816422=1816421=1816422=diff == --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFToType1TestCase.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFToType1TestCase.java Mon Nov 27 10:43:26 2017 @@ -34,6 +34,7 @@ import org.apache.fop.fonts.CustomFont; import org.apache.fop.fonts.EmbeddingMode; import org.apache.fop.fonts.EncodingMode; import org.apache.fop.fonts.FontLoader; +import org.apache.fop.fonts.FontType; import org.apache.fop.fonts.FontUris; public class OTFToType1TestCase { @@ -47,13 +48,23 @@ public class OTFToType1TestCase { Assert.assertEquals(t1.getFontName(), "AlexBrush-Regular.0"); } +@Test +public void testFontType() throws IOException { +CustomFont t1 = getRealFont("test/resources/fonts/otf/SourceSansProBold.otf"); +Assert.assertEquals(t1.getFontType(), FontType.TYPE1); +} + private Type1Font getFont(String s) throws IOException { +InputStream is = ((CFFToType1Font)getRealFont(s)).getInputStreams().get(0); +return Type1Font.createWithPFB(is); +} + +private CustomFont getRealFont(String s) throws IOException { InternalResourceResolver rr = ResourceResolverFactory.createDefaultInternalResourceResolver( new File(".").toURI()); CustomFont realFont = FontLoader.loadFont(new FontUris(new File(s).toURI(), null), null, true, EmbeddingMode.SUBSET, EncodingMode.AUTO, true, true, rr, false, true); realFont.mapChar('d'); -InputStream is = ((CFFToType1Font)realFont).getInputStreams().get(0); -return Type1Font.createWithPFB(is); +return realFont; } } - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1814217 - in /xmlgraphics/fop-pdf-images/trunk: src/java/org/apache/fop/render/pdf/pdfbox/MergeFontsPDFWriter.java test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java test/reso
Author: ssteiner Date: Fri Nov 3 15:33:27 2017 New Revision: 1814217 URL: http://svn.apache.org/viewvc?rev=1814217=rev Log: FOP-2754: Error when merging True Type font with CFF PDF font Added: xmlgraphics/fop-pdf-images/trunk/test/resources/type0cff.pdf (with props) xmlgraphics/fop-pdf-images/trunk/test/resources/type0tt.pdf (with props) Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeFontsPDFWriter.java xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeFontsPDFWriter.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeFontsPDFWriter.java?rev=1814217=1814216=1814217=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeFontsPDFWriter.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeFontsPDFWriter.java Fri Nov 3 15:33:27 2017 @@ -44,6 +44,7 @@ import org.apache.pdfbox.cos.COSName; import org.apache.pdfbox.cos.COSString; import org.apache.pdfbox.pdmodel.common.PDStream; +import org.apache.pdfbox.pdmodel.font.PDCIDFont; import org.apache.pdfbox.pdmodel.font.PDCIDFontType0; import org.apache.pdfbox.pdmodel.font.PDCIDFontType2; import org.apache.pdfbox.pdmodel.font.PDFont; @@ -164,22 +165,22 @@ public class MergeFontsPDFWriter extends if (font.getName() != null) { String extra = ""; String name = getName(font.getName()) + "_" + ((COSName)fontData.getItem(COSName.SUBTYPE)).getName(); -if (font instanceof PDType0Font -&& ((PDType0Font) font).getDescendantFont() instanceof PDCIDFontType0) { -CFFFont cffFont = ((PDCIDFontType0) ((PDType0Font) font).getDescendantFont()).getCFFFont(); -if (cffFont instanceof CFFCIDFont -&& ((CFFCIDFont)cffFont).getFdSelect().getClass().getName() - .equals("org.apache.fontbox.cff.CFFParser$Format0FDSelect")) { -extra += "format0"; -} -return name + extra; -} else if (font instanceof PDType0Font -&& fontContainer.getToUnicode() != null -&& ((PDType0Font) font).getDescendantFont() instanceof PDCIDFontType2) { -if (!isSubsetFont(font.getName())) { -extra = "f3"; +if (font instanceof PDType0Font) { +PDCIDFont descendantFont = ((PDType0Font) font).getDescendantFont(); +if (descendantFont instanceof PDCIDFontType0) { +CFFFont cffFont = ((PDCIDFontType0) descendantFont).getCFFFont(); +if (cffFont instanceof CFFCIDFont +&& ((CFFCIDFont) cffFont).getFdSelect().getClass().getName() + .equals("org.apache.fontbox.cff.CFFParser$Format0FDSelect")) { +extra += "format0"; +} +return name + extra + "cff"; +} else if (descendantFont instanceof PDCIDFontType2 && fontContainer.getToUnicode() != null) { +if (!isSubsetFont(font.getName())) { +extra = "f3"; +} +return name + extra; } -return name + extra; } else if (font instanceof PDTrueTypeFont && isSubsetFont(font.getName())) { TrueTypeFont tt = ((PDTrueTypeFont) font).getTrueTypeFont(); for (CmapSubtable c : tt.getCmap().getCmaps()) { Modified: xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java?rev=1814217=1814216=1814217=diff == --- xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java (original) +++ xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java Fri Nov 3 15:33:27 2017 @@ -113,6 +113,8 @@ public class PDFBoxAdapterTestCase { private static final String ERROR = "test/resources/error.pdf"; private static final String LIBREOFFICE = "test/resources/libreoffice.pdf"; private static final String SMASK = "test/resources/smask.pdf"; +private static final String TYPE0TT = "test/resources/type0tt.pdf"; +
svn commit: r1814222 - in /xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox: FOPPDFFont.java FOPPDFMultiByteFont.java FOPPDFSingleByteFont.java MergeFontsPDFWriter.java
Author: ssteiner Date: Fri Nov 3 16:06:21 2017 New Revision: 1814222 URL: http://svn.apache.org/viewvc?rev=1814222=rev Log: Clean up font merge word mapping Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFFont.java xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFMultiByteFont.java xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFSingleByteFont.java xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/MergeFontsPDFWriter.java Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFFont.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFFont.java?rev=1814222=1814221=1814222=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFFont.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFFont.java Fri Nov 3 16:06:21 2017 @@ -17,6 +17,7 @@ package org.apache.fop.render.pdf.pdfbox; import java.io.IOException; +import java.util.List; import org.apache.pdfbox.cos.COSDictionary; @@ -28,4 +29,5 @@ interface FOPPDFFont extends RefPDFFont void setRef(PDFDictionary d); String addFont(COSDictionary fontdata) throws IOException; int size(); +String getMappedWord(List word, byte[] bytes, FontContainer oldFont); } Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFMultiByteFont.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFMultiByteFont.java?rev=1814222=1814221=1814222=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFMultiByteFont.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFMultiByteFont.java Fri Nov 3 16:06:21 2017 @@ -21,6 +21,8 @@ import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.TreeMap; @@ -152,22 +154,23 @@ public class FOPPDFMultiByteFont extends mappedChar = "" + (char)mappedChar.hashCode(); } if (!charMapGlobal.containsKey(mappedChar)) { +char c = mappedChar.charAt(0); if (glyphData.length > 0 && glyphData[key] == null -&& !CharUtilities.isAdjustableSpace(mappedChar.charAt(0))) { +&& !CharUtilities.isAdjustableSpace(c)) { continue; } boolean addToEnd = charMapGlobal.containsValue(key); if (addToEnd) { -addPrivateUseMapping(mappedChar.charAt(0), charMapGlobal.size() + 1); +addPrivateUseMapping(c, charMapGlobal.size() + 1); charMapGlobal.put(mappedChar, charMapGlobal.size() + 1); } else { -addPrivateUseMapping(mappedChar.charAt(0), key); +addPrivateUseMapping(c, key); charMapGlobal.put(mappedChar, key); } int glyph = 0; -if (hasChar(mappedChar.charAt(0))) { -glyph = (int) mapChar(mappedChar.charAt(0)); +if (hasChar(c)) { +glyph = (int) mapChar(c); } oldToNewGIMap.put(key, glyph); if (!skipWidth) { @@ -370,4 +373,21 @@ public class FOPPDFMultiByteFont extends outMaxp.setMaxComponentElements(outMaxp.getMaxComponentElements() + mp.getMaxComponentElements()); outMaxp.setMaxComponentDepth(outMaxp.getMaxComponentDepth() + mp.getMaxComponentDepth()); } + +public String getMappedWord(List word, byte[] bytes, FontContainer oldFont) { +StringBuilder newHex = new StringBuilder(); +for (String str : word) { +char c = str.charAt(0); +if (str.length() > 1) { +c = (char) str.hashCode(); +} +if (hasChar(c)) { +int mapped = (int)mapChar(c); +newHex.append(String.format("%1$04x", mapped & 0x).toUpperCase(Locale.getDefault())); +} else { +return null; +} +} +return "<" + newHex.toString() + ">"; +} } Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFSingleByteFont.java URL: http://svn.apache.org/v
svn commit: r1814395 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/render/intermediate/ main/java/org/apache/fop/render/intermediate/extensions/ main/java/org/apache/fop/render/pd
Author: ssteiner Date: Mon Nov 6 11:56:26 2017 New Revision: 1814395 URL: http://svn.apache.org/viewvc?rev=1814395=rev Log: FOP-2756: Merged IF has wrong Table of Contents page links Added: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/render/extensions/DocumentNavigationHandlerTestCase.java (with props) Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/IFDocumentNavigationHandler.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/IFSerializer.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/IFDocumentNavigationHandler.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/IFDocumentNavigationHandler.java?rev=1814395=1814394=1814395=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/IFDocumentNavigationHandler.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/IFDocumentNavigationHandler.java Mon Nov 6 11:56:26 2017 @@ -57,4 +57,5 @@ public interface IFDocumentNavigationHan */ void addResolvedAction(AbstractAction action) throws IFException; +int getPageIndex(); } Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/IFSerializer.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/IFSerializer.java?rev=1814395=1814394=1814395=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/IFSerializer.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/IFSerializer.java Mon Nov 6 11:56:26 2017 @@ -918,6 +918,10 @@ implements IFConstants, IFPainter, IFDoc } } +public int getPageIndex() { +return -1; +} + private void commitNavigation() throws IFException { Iterator iter = this.completeActions.iterator(); while (iter.hasNext()) { Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java?rev=1814395=1814394=1814395=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java Mon Nov 6 11:56:26 2017 @@ -123,6 +123,12 @@ public class DocumentNavigationHandler e if (pageIndex < 0) { location = null; } else { +if (hasNavigation()) { +int currentPageIndex = navHandler.getPageIndex(); +if (currentPageIndex >= 0) { +pageIndex = currentPageIndex; +} +} final int x = XMLUtil .getAttributeAsInt(attributes, "x"); final int y = XMLUtil Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java?rev=1814395=1814394=1814395=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java Mon Nov 6 11:56:26 2017 @@ -139,6 +139,10 @@ public class PDFDocumentNavigationHandle } } +public int getPageIndex() { +return documentHandler.getCurrentPage().getPageIndex(); +} + private PDFAction getAction(AbstractAction action) throws IFException { if (action == null) { return null; Added: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/render/extensions/DocumentNavigationHandlerTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphi
svn commit: r1814394 - in /xmlgraphics/fop/trunk: fop-core/src/main/java/org/apache/fop/layoutmgr/ fop/test/layoutengine/standard-testcases/
Author: ssteiner Date: Mon Nov 6 11:36:57 2017 New Revision: 1814394 URL: http://svn.apache.org/viewvc?rev=1814394=rev Log: FOP-2755: Unmapped XSL-FO Region can cause extra pages Added: xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/page-breaking_7.xml (with props) Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBreaker.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBreaker.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBreaker.java?rev=1814394=1814393=1814394=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBreaker.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBreaker.java Mon Nov 6 11:36:57 2017 @@ -320,7 +320,7 @@ public abstract class AbstractBreaker { * @param list a block sequence * @param breakClass a break class */ -protected void startPart(BlockSequence list, int breakClass) { +protected void startPart(BlockSequence list, int breakClass, boolean emptyContent) { //nop } @@ -656,7 +656,7 @@ public abstract class AbstractBreaker { + ", break at pos " + endElementIndex + ", break class = " + getBreakClassName(lastBreakClass)); -startPart(effectiveList, lastBreakClass); +startPart(effectiveList, lastBreakClass, startElementIndex > endElementIndex); int displayAlign = getCurrentDisplayAlign(); Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java?rev=1814394=1814393=1814394=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java Mon Nov 6 11:36:57 2017 @@ -146,7 +146,7 @@ public class PageBreaker extends Abstrac } if (needColumnBalancing) { -AbstractBreaker.log.debug( +log.debug( "Column balancing necessary for the next element list!!!"); } return nextSequenceStartsOn; @@ -401,7 +401,7 @@ public class PageBreaker extends Abstrac } } -AbstractBreaker.log.debug("Restarting at " + restartPoint +log.debug("Restarting at " + restartPoint + ", new start position: " + newStartPos); pageBreakHandled = true; @@ -416,8 +416,8 @@ public class PageBreaker extends Abstrac PageBreakingAlgorithm algRestart; if (needColumnBalancing) { -AbstractBreaker.log.debug("Column balancing now!!!"); - AbstractBreaker.log.debug("==="); +log.debug("Column balancing now!!!"); +log.debug("==="); //Restart last page algRestart = new BalancingColumnBreakingAlgorithm( @@ -425,7 +425,7 @@ public class PageBreaker extends Abstrac alignment, Constants.EN_START, footnoteSeparatorLength, isPartOverflowRecoveryActivated(), pslm.getCurrentPV().getBodyRegion().getColumnCount()); - AbstractBreaker.log.debug("==="); +log.debug("==="); } else { // Handle special page-master for last page BodyRegion currentBody = pageProvider.getPage(false, currentPageNum) @@ -436,21 +436,21 @@ public class PageBreaker extends Abstrac BodyRegion lastBody = pageProvider.getPage(false, currentPageNum) .getPageViewport().getBodyRegion(); lastBody.getMainReference().setSpans(currentBody.getMainReference().getSpans()); -AbstractBreaker.log.debug("Last page handling now!!!"); - AbstractBreaker.log.debug("==="); +log.debug("Last page handling now!!!"); +log.debug("===");
svn commit: r1817383 - in /xmlgraphics/fop-pdf-images/trunk: src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java
Author: ssteiner Date: Thu Dec 7 15:26:49 2017 New Revision: 1817383 URL: http://svn.apache.org/viewvc?rev=1817383=rev Log: FOP-2753: PDF to PS allow fop fonts as fallback Added: xmlgraphics/fop-pdf-images/trunk/test/resources/fontsnotembeddedcid.pdf (with props) Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java?rev=1817383=1817382=1817383=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java Thu Dec 7 15:26:49 2017 @@ -320,6 +320,10 @@ public class ImageConverterPDF2G2D exten public CIDFontMapping getCIDFont(String baseFont, PDFontDescriptor fontDescriptor, PDCIDSystemInfo cidSystemInfo) { +TrueTypeFont ttFont = getTrueTypeFont(baseFont); +if (ttFont != null) { +return new CIDFontMapping(null, ttFont, true); +} return defaultFontMapper.getCIDFont(baseFont, fontDescriptor, cidSystemInfo); } } Modified: xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java?rev=1817383=1817382=1817383=diff == --- xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java (original) +++ xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java Thu Dec 7 15:26:49 2017 @@ -46,11 +46,15 @@ import org.apache.fop.render.pdf.pdfbox. public class ImageConverterPDF2G2DTestCase { private static final String FONTSNOTEMBEDDED = "test/resources/fontsnotembedded.pdf"; +private static final String FONTSNOTEMBEDDEDCID = "test/resources/fontsnotembeddedcid.pdf"; @Test public void testFontsNotEmbedded() throws IOException, ImageException { Assert.assertTrue(pdfToPS(FONTSNOTEMBEDDED, "Helvetica-Bold")); Assert.assertFalse(pdfToPS(FONTSNOTEMBEDDED, "xyz")); + +Assert.assertTrue(pdfToPS(FONTSNOTEMBEDDEDCID, "NewsMinIWA-Th")); +Assert.assertFalse(pdfToPS(FONTSNOTEMBEDDEDCID, "xyz")); } private boolean pdfToPS(String pdf, String font) throws IOException, ImageException { @@ -68,7 +72,7 @@ public class ImageConverterPDF2G2DTestCa Rectangle2D rect = new Rectangle2D.Float(0, 0, 100, 100); GraphicContext gc = new GraphicContext(); g2d.setGraphicContext(gc); -ig.getGraphics2DImagePainter().paint(g2d, rect); +g.paint(g2d, rect); doc.close(); return lazyFont.font.fontUsed; } Added: xmlgraphics/fop-pdf-images/trunk/test/resources/fontsnotembeddedcid.pdf URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/resources/fontsnotembeddedcid.pdf?rev=1817383=auto == Binary file - no diff available. Propchange: xmlgraphics/fop-pdf-images/trunk/test/resources/fontsnotembeddedcid.pdf -- svn:executable = * Propchange: xmlgraphics/fop-pdf-images/trunk/test/resources/fontsnotembeddedcid.pdf -- svn:mime-type = application/octet-stream - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1831546 - in /xmlgraphics/fop-pdf-images/trunk: NOTICE README build.properties build.xml
Author: ssteiner Date: Mon May 14 08:15:24 2018 New Revision: 1831546 URL: http://svn.apache.org/viewvc?rev=1831546=rev Log: Add changes for release Modified: xmlgraphics/fop-pdf-images/trunk/NOTICE xmlgraphics/fop-pdf-images/trunk/README xmlgraphics/fop-pdf-images/trunk/build.properties xmlgraphics/fop-pdf-images/trunk/build.xml Modified: xmlgraphics/fop-pdf-images/trunk/NOTICE URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/NOTICE?rev=1831546=1831545=1831546=diff == --- xmlgraphics/fop-pdf-images/trunk/NOTICE (original) +++ xmlgraphics/fop-pdf-images/trunk/NOTICE Mon May 14 08:15:24 2018 @@ -1,5 +1,5 @@ PDF image support for Apache FOP -Copyright 2012-2017 The Apache Software Foundation +Copyright 2012-2018 The Apache Software Foundation Copyright 2007-2012 Jeremias Maerki and contributors. This product includes software developed at Modified: xmlgraphics/fop-pdf-images/trunk/README URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/README?rev=1831546=1831545=1831546=diff == --- xmlgraphics/fop-pdf-images/trunk/README (original) +++ xmlgraphics/fop-pdf-images/trunk/README Mon May 14 08:15:24 2018 @@ -76,11 +76,11 @@ Requirements This plug-in has the following requirements: - Apache PDFBox 2.0 or later -- Apache XML Graphics Commons 2.2 or later (for the image converter) -- Apache XML FOP 2.2 or later (for the FOP functionality) +- Apache XML Graphics Commons 2.3 or later (for the image converter) +- Apache XML FOP 2.3 or later (for the FOP functionality) - Java 1.6 or later -Note: for some problems related to the PDF plug-in, Apache FOP 2.2 or later +Note: for some problems related to the PDF plug-in, Apache FOP 2.3 or later is required. A number of bugs had to be fixed in FOP's PDF library. @@ -156,6 +156,22 @@ http://www.jeremias-maerki.ch/developmen RELEASE NOTES == +Version 2.3 += + +Changes: +FOP-2251: PDF to Postscript not showing transparency +FOP-2715: Optimise PDFWriter writing out floats +FOP-2719: PDF to PS NPE when encode param not set +FOP-2720: PDF to PCL exception on clipping +FOP-2723: PDF to PDF deduplicate more types of streams +FOP-2739: Upgrade to PDFBox 2.0.7 +FOP-2739: Avoid rastering PDF with Smask to image +FOP-2746: PDF to PDF NPE during structuretree merge +FOP-2750: Use streams for OTF subsetting +FOP-2753: PDF to PS allow fop fonts as fallback +FOP-2754: Error when merging True Type font with CFF PDF font + Version 2.2 = Modified: xmlgraphics/fop-pdf-images/trunk/build.properties URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/build.properties?rev=1831546=1831545=1831546=diff == --- xmlgraphics/fop-pdf-images/trunk/build.properties (original) +++ xmlgraphics/fop-pdf-images/trunk/build.properties Mon May 14 08:15:24 2018 @@ -1,6 +1,6 @@ version=2.3.0.SNAPSHOT vendor=The Apache Software Foundation (http://xmlgraphics.apache.org) -year=2007-2017 +year=2007-2018 javac.debug=on javac.deprecation=on Modified: xmlgraphics/fop-pdf-images/trunk/build.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/build.xml?rev=1831546=1831545=1831546=diff == --- xmlgraphics/fop-pdf-images/trunk/build.xml (original) +++ xmlgraphics/fop-pdf-images/trunk/build.xml Mon May 14 08:15:24 2018 @@ -347,28 +347,28 @@ - + - + - + - + @@ -377,11 +377,11 @@ - - - - - + + + + + @@ -484,7 +484,7 @@ - + - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1831549 - in /xmlgraphics/fop/trunk: NOTICE README fop/build.xml
Author: ssteiner Date: Mon May 14 08:31:50 2018 New Revision: 1831549 URL: http://svn.apache.org/viewvc?rev=1831549=rev Log: Add changes for release Modified: xmlgraphics/fop/trunk/NOTICE xmlgraphics/fop/trunk/README xmlgraphics/fop/trunk/fop/build.xml Modified: xmlgraphics/fop/trunk/NOTICE URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/NOTICE?rev=1831549=1831548=1831549=diff == --- xmlgraphics/fop/trunk/NOTICE (original) +++ xmlgraphics/fop/trunk/NOTICE Mon May 14 08:31:50 2018 @@ -1,5 +1,5 @@ Apache FOP -Copyright 1999-2017 The Apache Software Foundation +Copyright 1999-2018 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (http://www.apache.org/). Modified: xmlgraphics/fop/trunk/README URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/README?rev=1831549=1831548=1831549=diff == --- xmlgraphics/fop/trunk/README (original) +++ xmlgraphics/fop/trunk/README Mon May 14 08:31:50 2018 @@ -110,7 +110,18 @@ under the ./fop sub-directory. RELEASE NOTES == -Version 2.2 (Forthcoming) +Version 2.3 (Forthcoming) +=== + +Major Changes in Version 2.3 + + +* Support for unicode Surrogate pairs +* OTF fonts not working on Mac Preview + +This release also contains a number of bug fixes. + +Version 2.2 === Major Changes in Version 2.2 Modified: xmlgraphics/fop/trunk/fop/build.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/build.xml?rev=1831549=1831548=1831549=diff == --- xmlgraphics/fop/trunk/fop/build.xml (original) +++ xmlgraphics/fop/trunk/fop/build.xml Mon May 14 08:31:50 2018 @@ -156,7 +156,7 @@ list of possible build targets. - + @@ -1311,28 +1311,28 @@ NOTE: - + - + - + - + @@ -1340,11 +1340,11 @@ NOTE: - - - - - + + + + + - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1831245 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/fonts/truetype/OTFFile.java test/java/org/apache/fop/fonts/truetype/OTFFileTestCase.java
Author: ssteiner Date: Wed May 9 10:41:40 2018 New Revision: 1831245 URL: http://svn.apache.org/viewvc?rev=1831245=rev Log: FOP-2792: Add boundingbox for OTF Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFFile.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFFileTestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFFile.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFFile.java?rev=1831245=1831244=1831245=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFFile.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/truetype/OTFFile.java Wed May 9 10:41:40 2018 @@ -20,6 +20,7 @@ package org.apache.fop.fonts.truetype; import java.io.IOException; +import java.util.List; import org.apache.fontbox.cff.CFFDataInput; import org.apache.fontbox.cff.CFFFont; @@ -50,6 +51,17 @@ public class OTFFile extends OpenFont { @Override protected void updateBBoxAndOffset() throws IOException { +Object bbox = fileFont.getTopDict().get("FontBBox"); +if (bbox != null) { +List bboxList = (List) bbox; +int[] bboxInt = new int[4]; +for (int i = 0; i < bboxInt.length; i++) { +bboxInt[i] = (Integer) bboxList.get(i); +} +for (OFMtxEntry o : mtxTab) { +o.setBoundingBox(bboxInt); +} +} } private static class Mapping { Modified: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFFileTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFFileTestCase.java?rev=1831245=1831244=1831245=diff == --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFFileTestCase.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/truetype/OTFFileTestCase.java Wed May 9 10:41:40 2018 @@ -19,6 +19,7 @@ package org.apache.fop.fonts.truetype; +import java.awt.Rectangle; import java.io.FileInputStream; import java.io.InputStream; @@ -82,4 +83,9 @@ public class OTFFileTestCase { assertEquals(carolynaWidths[i], alexBrush.getWidths()[gids[i]]); } } + +@Test +public void testBoundingBoxes() { +assertEquals(sourceSansProBold.getBoundingBoxes()[0], new Rectangle(-231, -384, 1454, 1358)); +} } - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1831678 - /xmlgraphics/fop/branches/fop-2_3/
Author: ssteiner Date: Wed May 16 07:44:05 2018 New Revision: 1831678 URL: http://svn.apache.org/viewvc?rev=1831678=rev Log: 2.3 Branch Added: xmlgraphics/fop/branches/fop-2_3/ (props changed) - copied from r1831677, xmlgraphics/fop/trunk/ Propchange: xmlgraphics/fop/branches/fop-2_3/ -- --- svn:externals (added) +++ svn:externals Wed May 16 07:44:05 2018 @@ -0,0 +1 @@ +docs http://svn.apache.org/repos/asf/xmlgraphics/site/trunk/content/fop Propchange: xmlgraphics/fop/branches/fop-2_3/ -- --- svn:ignore (added) +++ svn:ignore Wed May 16 07:44:05 2018 @@ -0,0 +1 @@ +target Propchange: xmlgraphics/fop/branches/fop-2_3/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Wed May 16 07:44:05 2018 @@ -0,0 +1,18 @@ +/xmlgraphics/fop/branches/FOP-2393_gradient-rendering:1609496-1611778 +/xmlgraphics/fop/branches/Temp_AreaTreeNewDesign:603620-746655 +/xmlgraphics/fop/branches/Temp_Color:956535-1069429 +/xmlgraphics/fop/branches/Temp_FontMerging:1600596-1610938 +/xmlgraphics/fop/branches/Temp_FopFontsForSVG:1508203-1564000 +/xmlgraphics/fop/branches/Temp_ImproveAccessibility:1187234-1242827 +/xmlgraphics/fop/branches/Temp_InlineContainer:1534142-1562399 +/xmlgraphics/fop/branches/Temp_PCLSoftFonts:1685105-1695067 +/xmlgraphics/fop/branches/Temp_PDF_ObjectStreams:1303414-1305418 +/xmlgraphics/fop/branches/Temp_RoundedCorners:1003017-1401566 +/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript:949179-1352964 +/xmlgraphics/fop/branches/Temp_URI_Unification:1243479-1356612 +/xmlgraphics/fop/branches/Temp_WhitespaceManagement:1518682-1591437 +/xmlgraphics/fop/branches/Temp_XGC_URI_Resolution:1365471-1391007 +/xmlgraphics/fop/branches/fop-0_95:684572,688085,688696 +/xmlgraphics/fop/branches/fop-1_0:959975-964707 +/xmlgraphics/fop/branches/fop-1_1:1357766-1400689,1400697 +/xmlgraphics/fop/branches/maven:1721689-1735159 Propchange: xmlgraphics/fop/branches/fop-2_3/ -- svnmerge-integrated = /xmlgraphics/fop/trunk:1-720845 - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1831680 - /xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/
Author: ssteiner Date: Wed May 16 08:20:26 2018 New Revision: 1831680 URL: http://svn.apache.org/viewvc?rev=1831680=rev Log: Branch 2.3 Added: xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/ (props changed) - copied from r1831679, xmlgraphics/fop-pdf-images/trunk/ Propchange: xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/ -- --- svn:ignore (added) +++ svn:ignore Wed May 16 08:20:26 2018 @@ -0,0 +1,5 @@ +.* +build +build-local.properties +dist-bin +dist-src Propchange: xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Wed May 16 08:20:26 2018 @@ -0,0 +1 @@ +/xmlgraphics/fop-pdf-images/branches/Temp_FontMerging:1600597-1610934 - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1831681 - in /xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3: build.properties lib/fop.jar lib/xmlgraphics-commons-2.3.jar lib/xmlgraphics-commons-svn-trunk.jar xmlgraphics-pdfima
Author: ssteiner Date: Wed May 16 08:30:13 2018 New Revision: 1831681 URL: http://svn.apache.org/viewvc?rev=1831681=rev Log: Use release version Added: xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/lib/xmlgraphics-commons-2.3.jar (with props) Removed: xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/lib/xmlgraphics-commons-svn-trunk.jar Modified: xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/build.properties xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/lib/fop.jar xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/xmlgraphics-pdfimages-pom-template.pom Modified: xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/build.properties URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/build.properties?rev=1831681=1831680=1831681=diff == --- xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/build.properties (original) +++ xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/build.properties Wed May 16 08:30:13 2018 @@ -1,4 +1,4 @@ -version=2.3.0.SNAPSHOT +version=2.3 vendor=The Apache Software Foundation (http://xmlgraphics.apache.org) year=2007-2018 Modified: xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/lib/fop.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/lib/fop.jar?rev=1831681=1831680=1831681=diff == Binary files - no diff available. Added: xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/lib/xmlgraphics-commons-2.3.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/lib/xmlgraphics-commons-2.3.jar?rev=1831681=auto == Binary file - no diff available. Propchange: xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/lib/xmlgraphics-commons-2.3.jar -- svn:mime-type = application/octet-stream Modified: xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/xmlgraphics-pdfimages-pom-template.pom URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/xmlgraphics-pdfimages-pom-template.pom?rev=1831681=1831680=1831681=diff == --- xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/xmlgraphics-pdfimages-pom-template.pom (original) +++ xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/xmlgraphics-pdfimages-pom-template.pom Wed May 16 08:30:13 2018 @@ -75,7 +75,7 @@ http://maven.apache.org/xsd/maven-4.0.0. org.apache.xmlgraphics fop - 2.2 + 2.3 org.apache.pdfbox - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1831679 - in /xmlgraphics/fop/branches/fop-2_3: ./ fop-core/ fop-events/ fop-sandbox/ fop-servlet/ fop-transcoder-allinone/ fop-transcoder/ fop-util/ fop/ fop/lib/
Author: ssteiner Date: Wed May 16 08:17:18 2018 New Revision: 1831679 URL: http://svn.apache.org/viewvc?rev=1831679=rev Log: Update to release version Added: xmlgraphics/fop/branches/fop-2_3/fop/lib/batik-all-1.10.jar (with props) xmlgraphics/fop/branches/fop-2_3/fop/lib/xmlgraphics-commons-2.3.jar (with props) Removed: xmlgraphics/fop/branches/fop-2_3/fop/lib/batik-all-svn-trunk.jar xmlgraphics/fop/branches/fop-2_3/fop/lib/xmlgraphics-commons-svn-trunk.jar Modified: xmlgraphics/fop/branches/fop-2_3/README xmlgraphics/fop/branches/fop-2_3/fop-core/pom.xml xmlgraphics/fop/branches/fop-2_3/fop-events/pom.xml xmlgraphics/fop/branches/fop-2_3/fop-sandbox/pom.xml xmlgraphics/fop/branches/fop-2_3/fop-servlet/pom.xml xmlgraphics/fop/branches/fop-2_3/fop-transcoder-allinone/pom.xml xmlgraphics/fop/branches/fop-2_3/fop-transcoder/pom.xml xmlgraphics/fop/branches/fop-2_3/fop-util/pom.xml xmlgraphics/fop/branches/fop-2_3/fop/build.xml xmlgraphics/fop/branches/fop-2_3/fop/pom.xml xmlgraphics/fop/branches/fop-2_3/pom.xml Modified: xmlgraphics/fop/branches/fop-2_3/README URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/fop-2_3/README?rev=1831679=1831678=1831679=diff == --- xmlgraphics/fop/branches/fop-2_3/README (original) +++ xmlgraphics/fop/branches/fop-2_3/README Wed May 16 08:17:18 2018 @@ -110,7 +110,7 @@ under the ./fop sub-directory. RELEASE NOTES == -Version 2.3 (Forthcoming) +Version 2.3 === Major Changes in Version 2.3 Modified: xmlgraphics/fop/branches/fop-2_3/fop-core/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/fop-2_3/fop-core/pom.xml?rev=1831679=1831678=1831679=diff == --- xmlgraphics/fop/branches/fop-2_3/fop-core/pom.xml (original) +++ xmlgraphics/fop/branches/fop-2_3/fop-core/pom.xml Wed May 16 08:17:18 2018 @@ -10,7 +10,7 @@ org.apache.xmlgraphics fop-parent -2.3.0-SNAPSHOT +2.3 Modified: xmlgraphics/fop/branches/fop-2_3/fop-events/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/fop-2_3/fop-events/pom.xml?rev=1831679=1831678=1831679=diff == --- xmlgraphics/fop/branches/fop-2_3/fop-events/pom.xml (original) +++ xmlgraphics/fop/branches/fop-2_3/fop-events/pom.xml Wed May 16 08:17:18 2018 @@ -10,7 +10,7 @@ org.apache.xmlgraphics fop-parent -2.3.0-SNAPSHOT +2.3 Modified: xmlgraphics/fop/branches/fop-2_3/fop-sandbox/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/fop-2_3/fop-sandbox/pom.xml?rev=1831679=1831678=1831679=diff == --- xmlgraphics/fop/branches/fop-2_3/fop-sandbox/pom.xml (original) +++ xmlgraphics/fop/branches/fop-2_3/fop-sandbox/pom.xml Wed May 16 08:17:18 2018 @@ -10,7 +10,7 @@ org.apache.xmlgraphics fop-parent -2.3.0-SNAPSHOT +2.3 Modified: xmlgraphics/fop/branches/fop-2_3/fop-servlet/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/fop-2_3/fop-servlet/pom.xml?rev=1831679=1831678=1831679=diff == --- xmlgraphics/fop/branches/fop-2_3/fop-servlet/pom.xml (original) +++ xmlgraphics/fop/branches/fop-2_3/fop-servlet/pom.xml Wed May 16 08:17:18 2018 @@ -11,7 +11,7 @@ org.apache.xmlgraphics fop-parent -2.3.0-SNAPSHOT +2.3 Modified: xmlgraphics/fop/branches/fop-2_3/fop-transcoder-allinone/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/fop-2_3/fop-transcoder-allinone/pom.xml?rev=1831679=1831678=1831679=diff == --- xmlgraphics/fop/branches/fop-2_3/fop-transcoder-allinone/pom.xml (original) +++ xmlgraphics/fop/branches/fop-2_3/fop-transcoder-allinone/pom.xml Wed May 16 08:17:18 2018 @@ -10,7 +10,7 @@ org.apache.xmlgraphics fop-parent -2.3.0-SNAPSHOT +2.3 Modified: xmlgraphics/fop/branches/fop-2_3/fop-transcoder/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/fop-2_3/fop-transcoder/pom.xml?rev=1831679=1831678=1831679=diff == --- xmlgraphics/fop/branches/fop-2_3/fop-transcoder/pom.xml (original) +++ xmlgraphics/fop/branches/fop-2_3/fop-transcoder/pom.xml Wed May 16 08:17:18 2018 @@ -10,7 +10,7 @@ org.apache.xmlgraphics fop-parent -2.3.0-SNAPSHOT +2.3 Modified: xmlgraphics/fop/branches/fop-2_3/fop-util/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/fop-2_3/fop-util/pom.xml
svn commit: r1832223 - in /xmlgraphics/fop-pdf-images/trunk: build.properties xmlgraphics-pdfimages-pom-template.pom
Author: ssteiner Date: Fri May 25 09:08:32 2018 New Revision: 1832223 URL: http://svn.apache.org/viewvc?rev=1832223=rev Log: To next version Modified: xmlgraphics/fop-pdf-images/trunk/build.properties xmlgraphics/fop-pdf-images/trunk/xmlgraphics-pdfimages-pom-template.pom Modified: xmlgraphics/fop-pdf-images/trunk/build.properties URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/build.properties?rev=1832223=183=1832223=diff == --- xmlgraphics/fop-pdf-images/trunk/build.properties (original) +++ xmlgraphics/fop-pdf-images/trunk/build.properties Fri May 25 09:08:32 2018 @@ -1,4 +1,4 @@ -version=2.3.0.SNAPSHOT +version=2.4.0.SNAPSHOT vendor=The Apache Software Foundation (http://xmlgraphics.apache.org) year=2007-2018 Modified: xmlgraphics/fop-pdf-images/trunk/xmlgraphics-pdfimages-pom-template.pom URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/xmlgraphics-pdfimages-pom-template.pom?rev=1832223=183=1832223=diff == --- xmlgraphics/fop-pdf-images/trunk/xmlgraphics-pdfimages-pom-template.pom (original) +++ xmlgraphics/fop-pdf-images/trunk/xmlgraphics-pdfimages-pom-template.pom Fri May 25 09:08:32 2018 @@ -75,7 +75,7 @@ http://maven.apache.org/xsd/maven-4.0.0. org.apache.xmlgraphics fop - 2.2 + 2.3 org.apache.pdfbox - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1832169 - /xmlgraphics/fop-pdf-images/tags/fop-pdf-images-2_3/
Author: ssteiner Date: Thu May 24 13:28:15 2018 New Revision: 1832169 URL: http://svn.apache.org/viewvc?rev=1832169=rev Log: Tag pdf plugin Added: xmlgraphics/fop-pdf-images/tags/fop-pdf-images-2_3/ (props changed) - copied from r1832168, xmlgraphics/fop-pdf-images/branches/fop-pdf-images-2_3/ Propchange: xmlgraphics/fop-pdf-images/tags/fop-pdf-images-2_3/ -- --- svn:ignore (added) +++ svn:ignore Thu May 24 13:28:15 2018 @@ -0,0 +1,5 @@ +.* +build +build-local.properties +dist-bin +dist-src Propchange: xmlgraphics/fop-pdf-images/tags/fop-pdf-images-2_3/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Thu May 24 13:28:15 2018 @@ -0,0 +1 @@ +/xmlgraphics/fop-pdf-images/branches/Temp_FontMerging:1600597-1610934 - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1832168 - /xmlgraphics/fop/tags/fop-2_3/
Author: ssteiner Date: Thu May 24 13:27:36 2018 New Revision: 1832168 URL: http://svn.apache.org/viewvc?rev=1832168=rev Log: Tag fop Added: xmlgraphics/fop/tags/fop-2_3/ (props changed) - copied from r1832167, xmlgraphics/fop/branches/fop-2_3/ Propchange: xmlgraphics/fop/tags/fop-2_3/ -- --- svn:externals (added) +++ svn:externals Thu May 24 13:27:36 2018 @@ -0,0 +1 @@ +docs http://svn.apache.org/repos/asf/xmlgraphics/site/trunk/content/fop Propchange: xmlgraphics/fop/tags/fop-2_3/ -- --- svn:ignore (added) +++ svn:ignore Thu May 24 13:27:36 2018 @@ -0,0 +1 @@ +target Propchange: xmlgraphics/fop/tags/fop-2_3/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Thu May 24 13:27:36 2018 @@ -0,0 +1,18 @@ +/xmlgraphics/fop/branches/FOP-2393_gradient-rendering:1609496-1611778 +/xmlgraphics/fop/branches/Temp_AreaTreeNewDesign:603620-746655 +/xmlgraphics/fop/branches/Temp_Color:956535-1069429 +/xmlgraphics/fop/branches/Temp_FontMerging:1600596-1610938 +/xmlgraphics/fop/branches/Temp_FopFontsForSVG:1508203-1564000 +/xmlgraphics/fop/branches/Temp_ImproveAccessibility:1187234-1242827 +/xmlgraphics/fop/branches/Temp_InlineContainer:1534142-1562399 +/xmlgraphics/fop/branches/Temp_PCLSoftFonts:1685105-1695067 +/xmlgraphics/fop/branches/Temp_PDF_ObjectStreams:1303414-1305418 +/xmlgraphics/fop/branches/Temp_RoundedCorners:1003017-1401566 +/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript:949179-1352964 +/xmlgraphics/fop/branches/Temp_URI_Unification:1243479-1356612 +/xmlgraphics/fop/branches/Temp_WhitespaceManagement:1518682-1591437 +/xmlgraphics/fop/branches/Temp_XGC_URI_Resolution:1365471-1391007 +/xmlgraphics/fop/branches/fop-0_95:684572,688085,688696 +/xmlgraphics/fop/branches/fop-1_0:959975-964707 +/xmlgraphics/fop/branches/fop-1_1:1357766-1400689,1400697 +/xmlgraphics/fop/branches/maven:1721689-1735159 Propchange: xmlgraphics/fop/tags/fop-2_3/ -- svnmerge-integrated = /xmlgraphics/fop/trunk:1-720845 - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1831956 - /xmlgraphics/fop/trunk/pom.xml
Author: ssteiner Date: Mon May 21 07:54:55 2018 New Revision: 1831956 URL: http://svn.apache.org/viewvc?rev=1831956=rev Log: Fix repository:bundle-create Modified: xmlgraphics/fop/trunk/pom.xml Modified: xmlgraphics/fop/trunk/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/pom.xml?rev=1831956=1831955=1831956=diff == --- xmlgraphics/fop/trunk/pom.xml (original) +++ xmlgraphics/fop/trunk/pom.xml Mon May 21 07:54:55 2018 @@ -8,6 +8,7 @@ Apache FOP Parent XML Graphics Format Object Processor pom + http://xmlgraphics.apache.org/fop/ 1.8 - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1833704 - in /xmlgraphics/fop/trunk: fop-core/src/main/java/org/apache/fop/layoutmgr/PageProvider.java fop/test/layoutengine/standard-testcases/region-body_blank-page.xml
Author: ssteiner Date: Mon Jun 18 10:46:08 2018 New Revision: 1833704 URL: http://svn.apache.org/viewvc?rev=1833704=rev Log: FOP-2798: Margins from blank page incorrectly used in subsequence page Added: xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/region-body_blank-page.xml (with props) Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageProvider.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageProvider.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageProvider.java?rev=1833704=1833703=1833704=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageProvider.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/PageProvider.java Mon Jun 18 10:46:08 2018 @@ -25,6 +25,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.fop.area.AreaTreeHandler; +import org.apache.fop.area.BodyRegion; import org.apache.fop.area.PageViewport; import org.apache.fop.fo.Constants; import org.apache.fop.fo.pagination.PageSequence; @@ -137,20 +138,23 @@ public class PageProvider implements Con } return this.lastReportedBPD; } -int c = index; +int pageIndexTmp = index; int pageIndex = 0; int colIndex = startColumnOfCurrentElementList; Page page = getPage( false, pageIndex, RELTO_CURRENT_ELEMENT_LIST); -while (c > 0) { +while (pageIndexTmp > 0) { colIndex++; if (colIndex >= page.getPageViewport().getCurrentSpan().getColumnCount()) { colIndex = 0; pageIndex++; -page = getPage( -false, pageIndex, RELTO_CURRENT_ELEMENT_LIST); +page = getPage(false, pageIndex, RELTO_CURRENT_ELEMENT_LIST); +BodyRegion br = page.getPageViewport().getBodyRegion(); +if (!pageSeq.getMainFlow().getFlowName().equals(br.getRegionName())) { +pageIndexTmp++; +} } -c--; +pageIndexTmp--; } this.lastRequestedIndex = index; this.lastReportedBPD = page.getPageViewport().getBodyRegion().getRemainingBPD(); Added: xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/region-body_blank-page.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/region-body_blank-page.xml?rev=1833704=auto == --- xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/region-body_blank-page.xml (added) +++ xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/region-body_blank-page.xml Mon Jun 18 10:46:08 2018 @@ -0,0 +1,56 @@ + + + + + + + This test checks 3rd page should not use margins from 2nd page + + + +http://www.w3.org/1999/XSL/Format; xmlns:fox="http://xmlgraphics.apache.org/fop/extensions;> + + + + + + + + + + + + + + + + + +test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test + + + + + + + + + + + + Propchange: xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/region-body_blank-page.xml -- svn:eol-style = native - To unsubsc
svn commit: r1833701 - /xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar
Author: ssteiner Date: Mon Jun 18 10:08:51 2018 New Revision: 1833701 URL: http://svn.apache.org/viewvc?rev=1833701=rev Log: XGC-112: TIFF resolution wrong on Java 10 Modified: xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar Modified: xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar?rev=1833701=1833700=1833701=diff == Binary files - no diff available. - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1834850 - in /xmlgraphics/fop/trunk: fop-core/src/main/java/org/apache/fop/render/intermediate/ fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/ fop-core/src/test/jav
Author: ssteiner Date: Mon Jul 2 14:13:54 2018 New Revision: 1834850 URL: http://svn.apache.org/viewvc?rev=1834850=rev Log: FOP-2800: IF Links point to current page instead of earlier page Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/IFRenderer.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/GoToXYAction.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/pdf/PDFVTTestCase.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/render/extensions/DocumentNavigationHandlerTestCase.java xmlgraphics/fop/trunk/fop/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-nav.xsd Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/IFRenderer.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/IFRenderer.java?rev=1834850=1834849=1834850=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/IFRenderer.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/IFRenderer.java Mon Jul 2 14:13:54 2018 @@ -396,7 +396,7 @@ public class IFRenderer extends Abstract this.documentMetadata = metadata.getMetadata(); } -private GoToXYAction getGoToActionForID(String targetID, int pageIndex) { +private GoToXYAction getGoToActionForID(String targetID, final int pageIndex) { // Already a GoToXY present for this target? If not, create. GoToXYAction action = (GoToXYAction)actionSet.get(targetID); //GoToXYAction action = (GoToXYAction)idGoTos.get(targetID); @@ -407,10 +407,14 @@ public class IFRenderer extends Abstract Point position = (Point)idPositions.get(targetID); // can the GoTo already be fully filled in? if (pageIndex >= 0 && position != null) { -action = new GoToXYAction(targetID, pageIndex, position); +action = new GoToXYAction(targetID, pageIndex, position, new GoToXYAction.PageIndexRelative() { +public int getPageIndexRelative() { +return pageIndex - documentHandler.getContext().getPageIndex(); +} +}); } else { // Not complete yet, can't use getPDFGoTo: -action = new GoToXYAction(targetID, pageIndex, null); +action = new GoToXYAction(targetID, pageIndex, null, null); unfinishedGoTos.add(action); } action = (GoToXYAction)actionSet.put(action); Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java?rev=1834850=1834849=1834850=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/DocumentNavigationHandler.java Mon Jul 2 14:13:54 2018 @@ -119,11 +119,12 @@ public class DocumentNavigationHandler e } else { String id = attributes.getValue("id"); int pageIndex = XMLUtil.getAttributeAsInt(attributes, "page-index"); +final int pageIndexRelative = XMLUtil.getAttributeAsInt(attributes, "page-index-relative", 0); final Point location; if (pageIndex < 0) { location = null; } else { -if (hasNavigation() && !inBookmark()) { +if (hasNavigation() && !inBookmark() && pageIndexRelative >= 0) { int currentPageIndex = navHandler.getPageIndex(); if (currentPageIndex >= 0) { pageIndex = currentPageIndex; @@ -135,7 +136,11 @@ public class DocumentNavigationHandler e .getAttributeAsInt(attributes, "y"); location = new Point(x, y); } -action = new GoToXYAction(id, pageIndex, location); +action = new GoToXYAction(id, pageIndex, location, new GoToXYAction.PageIndexRelative() { +publi
svn commit: r1820665 - in /xmlgraphics/fop/trunk: fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableStepper.java fop/test/layoutengine/standard-testcases/table_border_padding_3.xml fop/test/l
Author: ssteiner Date: Tue Jan 9 14:16:04 2018 New Revision: 1820665 URL: http://svn.apache.org/viewvc?rev=1820665=rev Log: FOP-2768: Reduced space for content after table Added: xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/table_border_padding_3.xml (with props) Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableStepper.java xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/table_bug44621.xml Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableStepper.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableStepper.java?rev=1820665=1820664=1820665=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableStepper.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableStepper.java Tue Jan 9 14:16:04 2018 @@ -270,12 +270,17 @@ public class TableStepper { breakClass = nextBreakClass; } returnList.add(new BreakElement(penaltyPos, effPenaltyLen, p, breakClass, context)); -if (penaltyOrGlueLen < 0) { -returnList.add(new KnuthGlue(-penaltyOrGlueLen, 0, 0, new Position(null), true)); -} laststep = step; step = getNextStep(); + +if (penaltyOrGlueLen < 0) { +if (step < 0) { +returnList.add(new KnuthGlue(0, -penaltyOrGlueLen, 0, new Position(null), true)); +} else { +returnList.add(new KnuthGlue(-penaltyOrGlueLen, 0, 0, new Position(null), true)); +} +} } while (step >= 0); assert !returnList.isEmpty(); lastTCPos.setFlag(TableContentPosition.LAST_IN_ROWGROUP, true); Added: xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/table_border_padding_3.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/table_border_padding_3.xml?rev=1820665=auto == --- xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/table_border_padding_3.xml (added) +++ xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/table_border_padding_3.xml Tue Jan 9 14:16:04 2018 @@ -0,0 +1,81 @@ + + + + + + + This test checks border and padding conditionality on table. + + + +http://www.w3.org/1999/XSL/Format; xmlns:fox="http://xmlgraphics.apache.org/fop/extensions; xmlns:svg="http://www.w3.org/2000/svg;> + + + + + + + + + + + + + + + + + + + + + +test test test test test test test test test test test test test test + + test + + + + + + + + Free - we won't charge you any extra in the coming policy year + + + + + + + + Convenient - never miss payments + + + + + +test2 + + + + + + + + + Propchange: xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/table_border_padding_3.xml -- svn:eol-style = native Modified: xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/table_bug44621.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/table_bug44621.xml?rev=1820665=1820664=1820665=diff == --- xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/table_bug44621.xml (original) +++ xmlgraphics/fop/trunk/fop/test/layoutengine/standard-testcases/table_bug44621.xml Tue Jan 9 14:16:04 2018 @@ -132,7 +132,7 @@ 6 - + 3 - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1823552 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/pdf/PDFFactory.java test/java/org/apache/fop/pdf/PDFFactoryTestCase.java
Author: ssteiner Date: Thu Feb 8 12:26:33 2018 New Revision: 1823552 URL: http://svn.apache.org/viewvc?rev=1823552=rev Log: FOP-2770: Merge fonts not handling Truetype MacRomanEncoding Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/pdf/PDFFactory.java xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/pdf/PDFFactoryTestCase.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/pdf/PDFFactory.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/pdf/PDFFactory.java?rev=1823552=1823551=1823552=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/pdf/PDFFactory.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/pdf/PDFFactory.java Thu Feb 8 12:26:33 2018 @@ -1061,7 +1061,7 @@ public class PDFFactory { //believed. } else if (mapping.getName().equals("FOPPDFEncoding")) { if (fonttype == FontType.TRUETYPE) { -font.setEncoding("WinAnsiEncoding"); +font.setEncoding(encoding); } else { String[] charNameMap = mapping.getCharNameMap(); char[] intmap = mapping.getUnicodeCharMap(); Modified: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/pdf/PDFFactoryTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/pdf/PDFFactoryTestCase.java?rev=1823552=1823551=1823552=diff == --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/pdf/PDFFactoryTestCase.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/pdf/PDFFactoryTestCase.java Thu Feb 8 12:26:33 2018 @@ -19,9 +19,12 @@ package org.apache.fop.pdf; +import java.awt.Rectangle; import java.io.ByteArrayOutputStream; import java.io.File; +import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; import java.net.URI; import org.junit.Test; @@ -34,10 +37,14 @@ import org.apache.fop.apps.io.InternalRe import org.apache.fop.apps.io.ResourceResolverFactory; import org.apache.fop.fonts.CIDSet; import org.apache.fop.fonts.CIDSubset; +import org.apache.fop.fonts.CodePointMapping; import org.apache.fop.fonts.CustomFont; import org.apache.fop.fonts.EmbeddingMode; +import org.apache.fop.fonts.FontType; import org.apache.fop.fonts.FontUris; import org.apache.fop.fonts.MultiByteFont; +import org.apache.fop.fonts.NamedCharacter; +import org.apache.fop.fonts.SingleByteFont; import org.apache.fop.fonts.truetype.OFFontLoader; /** @@ -82,6 +89,53 @@ public class PDFFactoryTestCase { } @Test +public void testMakeFont() throws IOException { +PDFDocument doc = new PDFDocument(""); +PDFFactory pdfFactory = new PDFFactory(doc); +SingleByteFont sb = new TestSingleByteFont(null); +sb.setFontName("test"); +sb.setWidth(0, 0); +sb.setFlags(0); +sb.setEmbedResourceName(""); +sb.mapChar('a'); +sb.addUnencodedCharacter(new NamedCharacter("xyz", String.valueOf((char) 0x2202)), 0, new Rectangle()); +sb.mapChar((char) 0x2202); +sb.setEncoding(new CodePointMapping("FOPPDFEncoding", new int[0])); +PDFFont font = pdfFactory.makeFont("a", "a", "WinAnsiEncoding", sb, sb); +ByteArrayOutputStream bos = new ByteArrayOutputStream(); +font.output(bos); +assertTrue(bos.toString().contains("/BaseFont /EA+a")); +assertEquals(sb.getAdditionalEncodingCount(), 1); +} + +@Test +public void testMakeTrueTypeFont() throws IOException { +PDFDocument doc = new PDFDocument(""); +PDFFactory pdfFactory = new PDFFactory(doc); +SingleByteFont sb = new TestSingleByteFont(null); +sb.setFontType(FontType.TRUETYPE); +sb.setFontName("test"); +sb.setWidth(0, 0); +sb.setFlags(0); +sb.setEncoding(new CodePointMapping("FOPPDFEncoding", new int[0])); +String enc = "MacRomanEncoding"; +PDFFont font = pdfFactory.makeFont("a", "a", enc, sb, sb); +font.output(new ByteArrayOutputStream()); +assertEquals(((PDFName)font.entries.get("Encoding")).getName(), enc); +} + +class TestSingleByteFont extends SingleByteFont { +public TestSingleByteFont(InternalResourceResolver resourceResolver) { +super(resourceResolver, EmbeddingMode.SUBSET); +} + +public InputStream getInputStream() throws IOException { +File f = n
svn commit: r1836268 - /xmlgraphics/fop/trunk/pom.xml
Author: ssteiner Date: Thu Jul 19 12:27:49 2018 New Revision: 1836268 URL: http://svn.apache.org/viewvc?rev=1836268=rev Log: FOP-2805: Bump batik version Modified: xmlgraphics/fop/trunk/pom.xml Modified: xmlgraphics/fop/trunk/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/pom.xml?rev=1836268=1836267=1836268=diff == --- xmlgraphics/fop/trunk/pom.xml (original) +++ xmlgraphics/fop/trunk/pom.xml Thu Jul 19 12:27:49 2018 @@ -13,7 +13,7 @@ 1.8 4.3.1 -1.9.0-SNAPSHOT +1.11.0-SNAPSHOT 1.9.1 2.14 1.3.1 - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1839650 - in /xmlgraphics/fop-pdf-images/trunk: lib/fontbox-2.0.11.jar lib/fontbox-2.0.7.jar lib/pdfbox-2.0.11.jar lib/pdfbox-2.0.7.jar src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAda
Author: ssteiner Date: Thu Aug 30 08:49:41 2018 New Revision: 1839650 URL: http://svn.apache.org/viewvc?rev=1839650=rev Log: FOP-2812: Update PDFBox to 2.0.11 Added: xmlgraphics/fop-pdf-images/trunk/lib/fontbox-2.0.11.jar (with props) xmlgraphics/fop-pdf-images/trunk/lib/pdfbox-2.0.11.jar (with props) Removed: xmlgraphics/fop-pdf-images/trunk/lib/fontbox-2.0.7.jar xmlgraphics/fop-pdf-images/trunk/lib/pdfbox-2.0.7.jar Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java xmlgraphics/fop-pdf-images/trunk/xmlgraphics-pdfimages-pom-template.pom Added: xmlgraphics/fop-pdf-images/trunk/lib/fontbox-2.0.11.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/lib/fontbox-2.0.11.jar?rev=1839650=auto == Binary file - no diff available. Propchange: xmlgraphics/fop-pdf-images/trunk/lib/fontbox-2.0.11.jar -- svn:mime-type = application/octet-stream Added: xmlgraphics/fop-pdf-images/trunk/lib/pdfbox-2.0.11.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/lib/pdfbox-2.0.11.jar?rev=1839650=auto == Binary file - no diff available. Propchange: xmlgraphics/fop-pdf-images/trunk/lib/pdfbox-2.0.11.jar -- svn:mime-type = application/octet-stream Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java?rev=1839650=1839649=1839650=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java Thu Aug 30 08:49:41 2018 @@ -451,7 +451,7 @@ public class PDFBoxAdapter { .append(PDFNumber.doubleOut(mediaBox.getLowerLeftY())).append(' ') .append(PDFNumber.doubleOut(mediaBox.getWidth())).append(' ') .append(PDFNumber.doubleOut(mediaBox.getHeight())).append(" re W n\n"); -return boxStr.toString() + IOUtils.toString(pdStream.createInputStream(null), "ISO-8859-1"); +return boxStr.toString() + IOUtils.toString(pdStream.createInputStream(), "ISO-8859-1"); } private PDStream getContents(PDPage page) throws IOException { Modified: xmlgraphics/fop-pdf-images/trunk/xmlgraphics-pdfimages-pom-template.pom URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/xmlgraphics-pdfimages-pom-template.pom?rev=1839650=1839649=1839650=diff == --- xmlgraphics/fop-pdf-images/trunk/xmlgraphics-pdfimages-pom-template.pom (original) +++ xmlgraphics/fop-pdf-images/trunk/xmlgraphics-pdfimages-pom-template.pom Thu Aug 30 08:49:41 2018 @@ -80,12 +80,12 @@ http://maven.apache.org/xsd/maven-4.0.0. org.apache.pdfbox pdfbox - 2.0.7 + 2.0.11 org.apache.pdfbox fontbox - 2.0.7 + 2.0.11 - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1839651 - in /xmlgraphics/fop/trunk: fop-core/pom.xml fop/lib/fontbox-2.0.11.jar fop/lib/fontbox-2.0.7.jar
Author: ssteiner Date: Thu Aug 30 08:53:58 2018 New Revision: 1839651 URL: http://svn.apache.org/viewvc?rev=1839651=rev Log: FOP-2812: Update PDFBox to 2.0.11 Added: xmlgraphics/fop/trunk/fop/lib/fontbox-2.0.11.jar (with props) Removed: xmlgraphics/fop/trunk/fop/lib/fontbox-2.0.7.jar Modified: xmlgraphics/fop/trunk/fop-core/pom.xml Modified: xmlgraphics/fop/trunk/fop-core/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/pom.xml?rev=1839651=1839650=1839651=diff == --- xmlgraphics/fop/trunk/fop-core/pom.xml (original) +++ xmlgraphics/fop/trunk/fop-core/pom.xml Thu Aug 30 08:53:58 2018 @@ -100,7 +100,7 @@ org.apache.pdfbox fontbox - 2.0.7 + 2.0.11 javax.media @@ -140,7 +140,7 @@ org.apache.pdfbox pdfbox - 2.0.3 + 2.0.11 test Added: xmlgraphics/fop/trunk/fop/lib/fontbox-2.0.11.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/lib/fontbox-2.0.11.jar?rev=1839651=auto == Binary file - no diff available. Propchange: xmlgraphics/fop/trunk/fop/lib/fontbox-2.0.11.jar -- svn:mime-type = application/octet-stream - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1835124 - /xmlgraphics/fop/branches/Temp_ChangeBars2/
Author: ssteiner Date: Thu Jul 5 11:21:07 2018 New Revision: 1835124 URL: http://svn.apache.org/viewvc?rev=1835124=rev Log: Branch for changebars Added: xmlgraphics/fop/branches/Temp_ChangeBars2/ (props changed) - copied from r1835123, xmlgraphics/fop/trunk/ Propchange: xmlgraphics/fop/branches/Temp_ChangeBars2/ -- --- svn:externals (added) +++ svn:externals Thu Jul 5 11:21:07 2018 @@ -0,0 +1 @@ +docs http://svn.apache.org/repos/asf/xmlgraphics/site/trunk/content/fop Propchange: xmlgraphics/fop/branches/Temp_ChangeBars2/ -- --- svn:ignore (added) +++ svn:ignore Thu Jul 5 11:21:07 2018 @@ -0,0 +1 @@ +target Propchange: xmlgraphics/fop/branches/Temp_ChangeBars2/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Thu Jul 5 11:21:07 2018 @@ -0,0 +1,18 @@ +/xmlgraphics/fop/branches/FOP-2393_gradient-rendering:1609496-1611778 +/xmlgraphics/fop/branches/Temp_AreaTreeNewDesign:603620-746655 +/xmlgraphics/fop/branches/Temp_Color:956535-1069429 +/xmlgraphics/fop/branches/Temp_FontMerging:1600596-1610938 +/xmlgraphics/fop/branches/Temp_FopFontsForSVG:1508203-1564000 +/xmlgraphics/fop/branches/Temp_ImproveAccessibility:1187234-1242827 +/xmlgraphics/fop/branches/Temp_InlineContainer:1534142-1562399 +/xmlgraphics/fop/branches/Temp_PCLSoftFonts:1685105-1695067 +/xmlgraphics/fop/branches/Temp_PDF_ObjectStreams:1303414-1305418 +/xmlgraphics/fop/branches/Temp_RoundedCorners:1003017-1401566 +/xmlgraphics/fop/branches/Temp_TrueTypeInPostScript:949179-1352964 +/xmlgraphics/fop/branches/Temp_URI_Unification:1243479-1356612 +/xmlgraphics/fop/branches/Temp_WhitespaceManagement:1518682-1591437 +/xmlgraphics/fop/branches/Temp_XGC_URI_Resolution:1365471-1391007 +/xmlgraphics/fop/branches/fop-0_95:684572,688085,688696 +/xmlgraphics/fop/branches/fop-1_0:959975-964707 +/xmlgraphics/fop/branches/fop-1_1:1357766-1400689,1400697 +/xmlgraphics/fop/branches/maven:1721689-1735159 Propchange: xmlgraphics/fop/branches/Temp_ChangeBars2/ -- svnmerge-integrated = /xmlgraphics/fop/trunk:1-720845 - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1835125 [1/3] - in /xmlgraphics/fop/branches/Temp_ChangeBars2: fop-core/src/main/java/org/apache/fop/area/ fop-core/src/main/java/org/apache/fop/area/inline/ fop-core/src/main/java/org/ap
Author: ssteiner Date: Thu Jul 5 11:29:01 2018 New Revision: 1835125 URL: http://svn.apache.org/viewvc?rev=1835125=rev Log: FOP-1760: Change bar generation Added: xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/area/inline/InlineBlock.java (with props) xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/fo/flow/ChangeBar.java (with props) xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/fo/flow/ChangeBarBegin.java (with props) xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/fo/flow/ChangeBarEnd.java (with props) xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_block.xml (with props) xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_inline.xml (with props) xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_list.xml (with props) xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_overlapped.xml (with props) xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_placement-rtl.xml (with props) xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_placement.xml (with props) xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_style.xml (with props) xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_table.xml (with props) Modified: xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/area/Area.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/area/AreaTreeParser.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/area/Span.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/area/inline/TextArea.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/fo/FOElementMapping.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/fo/FONode.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/fo/FOPropertyMapping.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/fo/FOText.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/fo/FOTreeBuilder.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/fo/FOValidationEventProducer.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/fo/FObj.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/fo/flow/table/TableRow.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/fo/pagination/PageSequence.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/fo/pagination/Root.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBaseLayoutManager.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/BlockLayoutManager.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/BlockStackingLayoutManager.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/ExternalDocumentLayoutManager.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/LayoutManagerMapping.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/AbstractPageNumberCitationLayoutManager.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/ContentLayoutManager.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/ExternalGraphicLayoutManager.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InstreamForeignObjectLM.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/inline
svn commit: r1835133 - in /xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop: area/inline/InlineBlock.java layoutmgr/inline/LeaderLayoutManager.java
Author: ssteiner Date: Thu Jul 5 12:35:12 2018 New Revision: 1835133 URL: http://svn.apache.org/viewvc?rev=1835133=rev Log: FOP-1760: Findbugs Modified: xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/area/inline/InlineBlock.java xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java Modified: xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/area/inline/InlineBlock.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/area/inline/InlineBlock.java?rev=1835133=1835132=1835133=diff == --- xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/area/inline/InlineBlock.java (original) +++ xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/area/inline/InlineBlock.java Thu Jul 5 12:35:12 2018 @@ -27,6 +27,7 @@ import org.apache.fop.area.Block; */ public class InlineBlock extends InlineParent { +private static final long serialVersionUID = -3725062353292109517L; private final Block block; public InlineBlock(Block block) { Modified: xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java?rev=1835133=1835132=1835133=diff == --- xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java (original) +++ xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java Thu Jul 5 12:35:12 2018 @@ -218,6 +218,7 @@ public class LeaderLayoutManager extends } } +assert leaderArea != null; leaderArea.setChangeBarList(getChangeBarList()); TraitSetter.setProducerID(leaderArea, fobj.getId()); - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1835125 [2/3] - in /xmlgraphics/fop/branches/Temp_ChangeBars2: fop-core/src/main/java/org/apache/fop/area/ fop-core/src/main/java/org/apache/fop/area/inline/ fop-core/src/main/java/org/ap
Modified: xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/render/AbstractRenderer.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/render/AbstractRenderer.java?rev=1835125=1835124=1835125=diff == --- xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/render/AbstractRenderer.java (original) +++ xmlgraphics/fop/branches/Temp_ChangeBars2/fop-core/src/main/java/org/apache/fop/render/AbstractRenderer.java Thu Jul 5 11:29:01 2018 @@ -41,6 +41,7 @@ import org.apache.fop.apps.FOUserAgent; import org.apache.fop.area.Area; import org.apache.fop.area.BeforeFloat; import org.apache.fop.area.Block; +import org.apache.fop.area.BlockParent; import org.apache.fop.area.BlockViewport; import org.apache.fop.area.BodyRegion; import org.apache.fop.area.CTM; @@ -61,6 +62,7 @@ import org.apache.fop.area.inline.Filled import org.apache.fop.area.inline.ForeignObject; import org.apache.fop.area.inline.Image; import org.apache.fop.area.inline.InlineArea; +import org.apache.fop.area.inline.InlineBlock; import org.apache.fop.area.inline.InlineBlockParent; import org.apache.fop.area.inline.InlineParent; import org.apache.fop.area.inline.InlineViewport; @@ -70,7 +72,11 @@ import org.apache.fop.area.inline.SpaceA import org.apache.fop.area.inline.TextArea; import org.apache.fop.area.inline.WordArea; import org.apache.fop.fo.Constants; +import org.apache.fop.fo.flow.ChangeBar; +import org.apache.fop.fo.properties.Property; import org.apache.fop.fonts.FontInfo; +import org.apache.fop.traits.BorderProps; +import org.apache.fop.traits.Direction; import org.apache.fop.traits.Visibility; /** @@ -111,7 +117,74 @@ public abstract class AbstractRenderer */ protected int containingIPPosition; -/** the currently active PageViewport */ +/** + * The "start edge" IP Position of the current column (for change bars) + */ +protected int columnStartIPPosition; + +/** + * The "end edge" IP Position of the current column (for change bars) + */ +protected int columnEndIPPosition; + +/** + * The "left" position of the current column (for change bars) + */ +protected int columnLeftIPPosition; + +/** + * The "right" position of the current column (for change bars) + */ +protected int columnRightIPPosition; + +/** + * The number of columns in the span (for change bars) + */ +protected int columnCount; + +/** + * The index number of the current column (for change bars) + */ +protected int columnIndex; + +/** + * The column width (for change bars) + */ +protected int columnWidth; + +/** + * The size of column gap (for change bars) + */ +protected int columnGap; + +/** + * The block progression direction (for change bars) + */ +protected Direction blockProgressionDirection; + +/** + * The inline progression direction (for change bars) + */ +protected Direction inlineProgressionDirection; + +/** + * Is binding on start edge of column? + */ +protected boolean bindingOnStartEdge; + +/** + * Is binding on end edge of column? + */ +protected boolean bindingOnEndEdge; + +/** + * The IP begin offset of coordinate 0 + */ +private int beginOffset; + +/** + * the currently active PageViewport + */ protected PageViewport currentPageViewport; /* warned XML handlers */ @@ -407,36 +480,95 @@ public abstract class AbstractRenderer * that are positioned into columns. * * - * @param mr The main reference area + * @param mainReference The main reference area */ -protected void renderMainReference(MainReference mr) { +protected void renderMainReference(MainReference mainReference) { Span span = null; -List spans = mr.getSpans(); +List spans = mainReference.getSpans(); int saveBPPos = currentBPPosition; -int saveSpanBPPos = saveBPPos; int saveIPPos = currentIPPosition; +int saveSpanBPPos = saveBPPos; + for (Object span1 : spans) { span = (Span) span1; + +columnCount = span.getColumnCount(); +columnGap = span.getColumnGap(); +columnWidth = span.getColumnWidth(); + +blockProgressionDirection = (Direction) span.getTrait(Trait.BLOCK_PROGRESSION_DIRECTION); +inlineProgressionDirection = (Direction) span.getTrait(Trait.INLINE_PROGRESSION_DIRECTION); + int level = span.getBidiLevel(); if (level < 0) { level = 0; } if ((level & 1) == 1) { currentIPPosition += span.getIPD(); -currentIPPosition += mr.getColumnGap(); +
svn commit: r1835125 [3/3] - in /xmlgraphics/fop/branches/Temp_ChangeBars2: fop-core/src/main/java/org/apache/fop/area/ fop-core/src/main/java/org/apache/fop/area/inline/ fop-core/src/main/java/org/ap
Added: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_table.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_table.xml?rev=1835125=auto == --- xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_table.xml (added) +++ xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_table.xml Thu Jul 5 11:29:01 2018 @@ -0,0 +1,147 @@ + + + + + + This test checks fo:change-bar-* on table elements. + + + http://www.w3.org/1999/XSL/Format;> + + + + + + + + + + + + + + header-row1-col1 + + + header-row1-col2 + + + + + + + header-row2-col1 + + + + + header-row2-col2 + + + + + + + + + + footer-row1-col1 + + + + footer-row1-col2 + + + + + footer-row2-col1 + + + footer-row2-col2 + + + + + + + + + body-row1-col1 + + + body-row1-col2 + + + + + + + body-row2-col1 + + + + + body-row2-col2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Propchange: xmlgraphics/fop/branches/Temp_ChangeBars2/fop/test/layoutengine/standard-testcases/change-bar_table.xml -- svn:eol-style = native - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org
svn commit: r1835225 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/image/loader/batik/Graphics2DImagePainterImpl.java test/java/org/apache/fop/image/loader/batik/Graphics2DImagePa
Author: ssteiner Date: Fri Jul 6 10:05:49 2018 New Revision: 1835225 URL: http://svn.apache.org/viewvc?rev=1835225=rev Log: FOP-2802: Java 10 PDF/SVG to Image box not shown Added: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/image/loader/batik/Graphics2DImagePainterImplTestCase.java (with props) Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/image/loader/batik/Graphics2DImagePainterImpl.java Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/image/loader/batik/Graphics2DImagePainterImpl.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/image/loader/batik/Graphics2DImagePainterImpl.java?rev=1835225=1835224=1835225=diff == --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/image/loader/batik/Graphics2DImagePainterImpl.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/image/loader/batik/Graphics2DImagePainterImpl.java Fri Jul 6 10:05:49 2018 @@ -21,11 +21,15 @@ package org.apache.fop.image.loader.bati import java.awt.Dimension; import java.awt.Graphics2D; +import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D; +import java.math.BigDecimal; +import java.math.RoundingMode; import org.apache.batik.bridge.BridgeContext; import org.apache.batik.gvt.GraphicsNode; +import org.apache.xmlgraphics.java2d.AbstractGraphics2D; import org.apache.xmlgraphics.java2d.Graphics2DImagePainter; /** @@ -75,6 +79,18 @@ public class Graphics2DImagePainterImpl if (sx != 1.0 || sy != 1.0) { g2d.scale(sx, sy); } +normaliseScale(g2d); +} + +private void normaliseScale(Graphics2D g2d) { +if (!(g2d instanceof AbstractGraphics2D)) { +AffineTransform old = g2d.getTransform(); +double scaleX = BigDecimal.valueOf(old.getScaleX()).setScale(2, RoundingMode.HALF_UP).doubleValue(); +double scaleY = BigDecimal.valueOf(old.getScaleY()).setScale(2, RoundingMode.HALF_UP).doubleValue(); +AffineTransform newat = new AffineTransform(scaleX, old.getShearY(), old.getShearX(), scaleY, +old.getTranslateX(), old.getTranslateY()); +g2d.setTransform(newat); +} } /** {@inheritDoc} */ Added: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/image/loader/batik/Graphics2DImagePainterImplTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/image/loader/batik/Graphics2DImagePainterImplTestCase.java?rev=1835225=auto == --- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/image/loader/batik/Graphics2DImagePainterImplTestCase.java (added) +++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/image/loader/batik/Graphics2DImagePainterImplTestCase.java Fri Jul 6 10:05:49 2018 @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ +package org.apache.fop.image.loader.batik; + +import java.awt.Dimension; +import java.awt.Graphics2D; +import java.awt.Rectangle; +import java.awt.image.BufferedImage; + +import org.junit.Assert; +import org.junit.Test; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import org.apache.batik.bridge.BridgeContext; +import org.apache.batik.gvt.GraphicsNode; + +public class Graphics2DImagePainterImplTestCase { +@Test +public void testScale() { +GraphicsNode graphicsNode = mock(GraphicsNode.class); +BridgeContext bridgeContext = mock(BridgeContext.class); +when(bridgeContext.getDocumentSize()).thenReturn(new Dimension(1010, 1010)); +BufferedImage image = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB); +Graphics2D graphics2D = image.createGraphics(); +Graphics2DImagePainterImpl graphics2DImagePainter = +new Graphics2DImagePainterImpl(graphicsNode, bridgeContext, null); +graphics2DImagePainter.paint(graphics2D, new Rectang
svn commit: r1835226 - in /xmlgraphics/fop-pdf-images/trunk: src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java
Author: ssteiner Date: Fri Jul 6 10:05:55 2018 New Revision: 1835226 URL: http://svn.apache.org/viewvc?rev=1835226=rev Log: FOP-2802: Java 10 PDF/SVG to Image box not shown Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java?rev=1835226=1835225=1835226=diff == --- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java (original) +++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java Fri Jul 6 10:05:55 2018 @@ -25,6 +25,8 @@ import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.IOException; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -58,6 +60,7 @@ import org.apache.xmlgraphics.image.load import org.apache.xmlgraphics.image.loader.impl.AbstractImageConverter; import org.apache.xmlgraphics.image.loader.impl.ImageGraphics2D; import org.apache.xmlgraphics.image.loader.util.ImageUtil; +import org.apache.xmlgraphics.java2d.AbstractGraphics2D; import org.apache.xmlgraphics.java2d.GeneralGraphics2DImagePainter; import org.apache.xmlgraphics.java2d.Graphics2DImagePainter; import org.apache.xmlgraphics.java2d.ps.PSGraphics2D; @@ -162,6 +165,7 @@ public class ImageConverterPDF2G2D exten at.scale(area.getWidth() / mediaBox.getWidth(), area.getHeight() / mediaBox.getHeight()); g2d.transform(at); +normaliseScale(g2d); new PDFRenderer(pdDocument).renderPageToGraphics(selectedPage, g2d); } } catch (UnsupportedOperationException e) { @@ -173,6 +177,17 @@ public class ImageConverterPDF2G2D exten } } +private void normaliseScale(Graphics2D g2d) { +if (!(g2d instanceof AbstractGraphics2D)) { +AffineTransform old = g2d.getTransform(); +double scaleX = BigDecimal.valueOf(old.getScaleX()).setScale(2, RoundingMode.HALF_UP).doubleValue(); +double scaleY = BigDecimal.valueOf(old.getScaleY()).setScale(2, RoundingMode.HALF_UP).doubleValue(); +AffineTransform newat = new AffineTransform(scaleX, old.getShearY(), old.getShearX(), scaleY, +old.getTranslateX(), old.getTranslateY()); +g2d.setTransform(newat); +} +} + private void drawPageAsImage(AffineTransform at, Graphics2D g2d) throws IOException { PDFRenderer renderer = new PDFRenderer(pdDocument); BufferedImage bi = renderer.renderImageWithDPI(selectedPage, dpi); Modified: xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java?rev=1835226=1835225=1835226=diff == --- xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java (original) +++ xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/ImageConverterPDF2G2DTestCase.java Fri Jul 6 10:05:55 2018 @@ -18,7 +18,10 @@ /* $Id: ImageConverterPDF2G2D.java 1808727 2017-09-18 15:02:56Z ssteiner $ */ package org.apache.fop.render.pdf; +import java.awt.Graphics2D; +import java.awt.Rectangle; import java.awt.geom.Rectangle2D; +import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; @@ -97,4 +100,18 @@ public class ImageConverterPDF2G2DTestCa return true; } } + +@Test +public void testPDFToImage() throws IOException, ImageException { +PDDocument doc = PDDocument.load(new File(FONTSNOTEMBEDDED)); +ImageInfo imgi = new ImageInfo(FONTSNOTEMBEDDED, "b"); +org.apache.xmlgraphics.image.loader.Image img = new ImagePDF(imgi, doc); +ImageConverterPDF2G2D imageConverterPDF2G2D = new ImageConverterPDF2G2D(); +ImageGraphics2D fopGraphics2D = (ImageGraphics2D) imageConverterPDF2G2D.convert(img, null); +BufferedImage image = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB); +Graphics2D graphics2D = image.crea
svn commit: r1835524 - in /xmlgraphics/fop/trunk: fop-core/pom.xml fop-events/pom.xml fop-sandbox/pom.xml fop-servlet/pom.xml fop-transcoder-allinone/pom.xml fop-transcoder/pom.xml fop-util/pom.xml fo
Author: ssteiner Date: Tue Jul 10 09:37:20 2018 New Revision: 1835524 URL: http://svn.apache.org/viewvc?rev=1835524=rev Log: FOP-2797: Bump version Modified: xmlgraphics/fop/trunk/fop-core/pom.xml xmlgraphics/fop/trunk/fop-events/pom.xml xmlgraphics/fop/trunk/fop-sandbox/pom.xml xmlgraphics/fop/trunk/fop-servlet/pom.xml xmlgraphics/fop/trunk/fop-transcoder-allinone/pom.xml xmlgraphics/fop/trunk/fop-transcoder/pom.xml xmlgraphics/fop/trunk/fop-util/pom.xml xmlgraphics/fop/trunk/fop/build.xml xmlgraphics/fop/trunk/fop/pom.xml xmlgraphics/fop/trunk/pom.xml Modified: xmlgraphics/fop/trunk/fop-core/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/pom.xml?rev=1835524=1835523=1835524=diff == --- xmlgraphics/fop/trunk/fop-core/pom.xml (original) +++ xmlgraphics/fop/trunk/fop-core/pom.xml Tue Jul 10 09:37:20 2018 @@ -10,7 +10,7 @@ org.apache.xmlgraphics fop-parent -2.3.0-SNAPSHOT +2.4.0-SNAPSHOT Modified: xmlgraphics/fop/trunk/fop-events/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-events/pom.xml?rev=1835524=1835523=1835524=diff == --- xmlgraphics/fop/trunk/fop-events/pom.xml (original) +++ xmlgraphics/fop/trunk/fop-events/pom.xml Tue Jul 10 09:37:20 2018 @@ -10,7 +10,7 @@ org.apache.xmlgraphics fop-parent -2.3.0-SNAPSHOT +2.4.0-SNAPSHOT Modified: xmlgraphics/fop/trunk/fop-sandbox/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-sandbox/pom.xml?rev=1835524=1835523=1835524=diff == --- xmlgraphics/fop/trunk/fop-sandbox/pom.xml (original) +++ xmlgraphics/fop/trunk/fop-sandbox/pom.xml Tue Jul 10 09:37:20 2018 @@ -10,7 +10,7 @@ org.apache.xmlgraphics fop-parent -2.3.0-SNAPSHOT +2.4.0-SNAPSHOT Modified: xmlgraphics/fop/trunk/fop-servlet/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-servlet/pom.xml?rev=1835524=1835523=1835524=diff == --- xmlgraphics/fop/trunk/fop-servlet/pom.xml (original) +++ xmlgraphics/fop/trunk/fop-servlet/pom.xml Tue Jul 10 09:37:20 2018 @@ -11,7 +11,7 @@ org.apache.xmlgraphics fop-parent -2.3.0-SNAPSHOT +2.4.0-SNAPSHOT Modified: xmlgraphics/fop/trunk/fop-transcoder-allinone/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-transcoder-allinone/pom.xml?rev=1835524=1835523=1835524=diff == --- xmlgraphics/fop/trunk/fop-transcoder-allinone/pom.xml (original) +++ xmlgraphics/fop/trunk/fop-transcoder-allinone/pom.xml Tue Jul 10 09:37:20 2018 @@ -10,7 +10,7 @@ org.apache.xmlgraphics fop-parent -2.3.0-SNAPSHOT +2.4.0-SNAPSHOT Modified: xmlgraphics/fop/trunk/fop-transcoder/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-transcoder/pom.xml?rev=1835524=1835523=1835524=diff == --- xmlgraphics/fop/trunk/fop-transcoder/pom.xml (original) +++ xmlgraphics/fop/trunk/fop-transcoder/pom.xml Tue Jul 10 09:37:20 2018 @@ -10,7 +10,7 @@ org.apache.xmlgraphics fop-parent -2.3.0-SNAPSHOT +2.4.0-SNAPSHOT Modified: xmlgraphics/fop/trunk/fop-util/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-util/pom.xml?rev=1835524=1835523=1835524=diff == --- xmlgraphics/fop/trunk/fop-util/pom.xml (original) +++ xmlgraphics/fop/trunk/fop-util/pom.xml Tue Jul 10 09:37:20 2018 @@ -10,7 +10,7 @@ org.apache.xmlgraphics fop-parent -2.3.0-SNAPSHOT +2.4.0-SNAPSHOT Modified: xmlgraphics/fop/trunk/fop/build.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/build.xml?rev=1835524=1835523=1835524=diff == --- xmlgraphics/fop/trunk/fop/build.xml (original) +++ xmlgraphics/fop/trunk/fop/build.xml Tue Jul 10 09:37:20 2018 @@ -155,7 +155,7 @@ list of possible build targets. - + Modified: xmlgraphics/fop/trunk/fop/pom.xml URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/pom.xml?rev=1835524=1835523=1835524=diff == --- xmlgraphics/fop/trunk/fop/pom.xml (original) +++ xmlgraphics/fop/trunk/fop/pom.xml Tue Jul 10 09:37:20 2018 @@ -10,7 +10,7 @@ org.apache.xmlgraphics fop-parent -2.3.0-SNAPSHOT +2.4.0-SNAPSHOT Modified: xmlgraphics/fop/trunk/pom.xml URL: http://svn.apache.org/viewvc
svn commit: r1835810 [2/2] - in /xmlgraphics/fop/trunk: fop-core/src/main/java/org/apache/fop/area/ fop-core/src/main/java/org/apache/fop/area/inline/ fop-core/src/main/java/org/apache/fop/fo/ fop-cor
Modified: xmlgraphics/fop/trunk/fop/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-datatypes.xsd URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-datatypes.xsd?rev=1835810=1835809=1835810=diff == --- xmlgraphics/fop/trunk/fop/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-datatypes.xsd (original) +++ xmlgraphics/fop/trunk/fop/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-datatypes.xsd Fri Jul 13 10:29:57 2018 @@ -67,6 +67,8 @@ + + @@ -79,6 +81,8 @@ + + @@ -92,7 +96,7 @@ - + - To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org