From c0227d2e2ef00b0193062df4f6d6e56ba211c51c Mon Sep 17 00:00:00 2001 From: Adrian Cumiskey Date: Tue, 26 Aug 2008 09:10:19 +0000 Subject: [PATCH] Merged revisions 687576,687657,687786,688078,688087,688139,688508,688633,688652-688653,688660,688664,688666,688674,688698,688994,689000 via svnmerge from https://svn.eu.apache.org/repos/asf/xmlgraphics/fop/trunk ........ r687576 | maxberger | 2008-08-21 07:25:40 +0100 (Thu, 21 Aug 2008) | 1 line Included patched retroweaver which does not modify Boolean.valueOf ........ r687657 | jeremias | 2008-08-21 09:51:50 +0100 (Thu, 21 Aug 2008) | 1 line Added an FAQ entry about the element mismatch error message. ........ r687786 | jeremias | 2008-08-21 16:49:13 +0100 (Thu, 21 Aug 2008) | 1 line Added some performance statistics to MemoryEater. ........ r688078 | jeremias | 2008-08-22 14:02:37 +0100 (Fri, 22 Aug 2008) | 1 line Final statistics output after the test with average speed indication. ........ r688087 | jeremias | 2008-08-22 15:16:58 +0100 (Fri, 22 Aug 2008) | 2 lines Merge from branch https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/fop-0_95: Fixed text stroking in SVG when the stroke-width is zero. ........ r688139 | maxberger | 2008-08-22 19:08:36 +0100 (Fri, 22 Aug 2008) | 1 line minor spelling mistakes ........ r688508 | maxberger | 2008-08-24 14:12:02 +0100 (Sun, 24 Aug 2008) | 2 lines Moved DataURIResolver from FOP to commons; use new URIResolver registry ........ r688633 | jeremias | 2008-08-25 07:42:44 +0100 (Mon, 25 Aug 2008) | 2 lines Fixed memory leak in property cache (not cleaning stale PropertyCache$CacheEntry instances). Special thanks to Andreas Delmelle for his help! ........ r688652 | maxberger | 2008-08-25 09:19:13 +0100 (Mon, 25 Aug 2008) | 1 line Re-added moved class as deprecated ........ r688653 | jeremias | 2008-08-25 09:23:31 +0100 (Mon, 25 Aug 2008) | 1 line Added a page on metadata (partly ported from the FOP Wiki). ........ r688660 | jeremias | 2008-08-25 09:41:29 +0100 (Mon, 25 Aug 2008) | 2 lines Fixed example. Thanks for noticing, Pascal Sancho! ........ r688664 | jeremias | 2008-08-25 09:59:27 +0100 (Mon, 25 Aug 2008) | 1 line Minor documentation improvements, most notably a comment about keep-together="always". ........ r688666 | maxberger | 2008-08-25 10:00:27 +0100 (Mon, 25 Aug 2008) | 1 line CommonURIResolver is no longer a singleton ........ r688674 | jeremias | 2008-08-25 10:15:22 +0100 (Mon, 25 Aug 2008) | 1 line Hmm, I missed the redirects for the 0.95 release. ........ r688698 | jeremias | 2008-08-25 12:24:15 +0100 (Mon, 25 Aug 2008) | 2 lines Merge from 0.95 branch: Fixed jar-sources target. ........ r688994 | acumiskey | 2008-08-26 09:34:45 +0100 (Tue, 26 Aug 2008) | 1 line Deprecate UnitConv now that it resides only in xmlgraphics commons. ........ r689000 | acumiskey | 2008-08-26 09:59:31 +0100 (Tue, 26 Aug 2008) | 1 line Forgot to add deprecated public statics. ........ git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_AFPGOCAResources@689005 13f79535-47bb-0310-9956-ffa450edef68 --- build.xml | 4 - lib/build/retroweaver-2.0.5.jar | Bin 91990 -> 0 bytes lib/build/retroweaver-2.0.6-patched.jar | Bin 0 -> 91557 bytes lib/build/retroweaver-rt-2.0.5.jar | Bin 122274 -> 0 bytes lib/build/retroweaver-rt-2.0.6-patched.jar | Bin 0 -> 179445 bytes lib/xmlgraphics-commons-1.4svn.jar | Bin 522587 -> 527869 bytes src/documentation/content/.htaccess | 58 +++-- .../content/xdocs/0.95/metadata.xml | 243 ++++++++++++++++++ src/documentation/content/xdocs/0.95/pdfa.xml | 3 - src/documentation/content/xdocs/faq.xml | 56 +++- src/documentation/content/xdocs/site.xml | 2 + .../content/xdocs/trunk/metadata.xml | 243 ++++++++++++++++++ .../content/xdocs/trunk/pdfa.xml | 3 - .../org/apache/fop/apps/FOURIResolver.java | 12 +- .../fop/fo/properties/PropertyCache.java | 105 ++++---- .../org/apache/fop/svg/PDFGraphics2D.java | 6 +- .../org/apache/fop/svg/PDFTextPainter.java | 4 +- .../org/apache/fop/util/DataURIResolver.java | 51 +--- src/java/org/apache/fop/util/DataURLUtil.java | 46 ++-- src/java/org/apache/fop/util/UnitConv.java | 170 ++++++++++++ .../apache/fop/util/WriterOutputStream.java | 54 ++-- status.xml | 14 +- .../org/apache/fop/UtilityCodeTestSuite.java | 2 - .../org/apache/fop/memory/MemoryEater.java | 41 ++- test/java/org/apache/fop/memory/Stats.java | 121 +++++++++ .../fop/util/DataURIResolverTestCase.java | 116 --------- 26 files changed, 1029 insertions(+), 325 deletions(-) delete mode 100644 lib/build/retroweaver-2.0.5.jar create mode 100644 lib/build/retroweaver-2.0.6-patched.jar delete mode 100644 lib/build/retroweaver-rt-2.0.5.jar create mode 100644 lib/build/retroweaver-rt-2.0.6-patched.jar create mode 100644 src/documentation/content/xdocs/0.95/metadata.xml create mode 100644 src/documentation/content/xdocs/trunk/metadata.xml create mode 100644 src/java/org/apache/fop/util/UnitConv.java create mode 100644 test/java/org/apache/fop/memory/Stats.java delete mode 100644 test/java/org/apache/fop/util/DataURIResolverTestCase.java diff --git a/build.xml b/build.xml index 461356242..32b27c82b 100644 --- a/build.xml +++ b/build.xml @@ -474,7 +474,6 @@ list of possible build targets. - <~VK*w)|(eM$-#0`fgeEEwk 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 aDkKiyr6#_F{cn}ZhCdzp;j;|+rs{u%`cNDI diff --git a/lib/build/retroweaver-rt-2.0.6-patched.jar b/lib/build/retroweaver-rt-2.0.6-patched.jar new file mode 100644 index 0000000000000000000000000000000000000000..e6b8483b8375e96a4d0655e824325e4f6af9b05a GIT binary patch literal 179445 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%0D8#h#-E= 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�h(GUij+WGS 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 literal 0 HcmV?d00001 diff --git a/lib/xmlgraphics-commons-1.4svn.jar b/lib/xmlgraphics-commons-1.4svn.jar index 4317a42a66e367718fce6fc1e00e2992560cf4fd..6d8181de890296759488e9d3ba8e28652f749eb5 100644 GIT binary patch delta 34235 zcmZtu1ys~s)F=+aB;81NNw;*Dv~+`lNOyxU0!pXEAOcd-jWDE$bV*4lAS$4MNP|-H z4fA{6``-IsA8X0kp0m$ByHCs>mJXS&UNRHj(*{HEux@@1Oli^yZzJ|iX{1#3m&C5o zUH;fuSQO}1SIt<7UsF$AP*+J$Q(eu-SU^|ZBhAh&T8Ls`724Am?%&Y=QNiY?74M4o zrjaATAa!LKtx!CBqg&6FJ^ZypnB33hRk^$bt%&=B#b#xMW+Ks0&bO#+iP6wf-N|<@ zA0FrYwib1@NWAkCA=T5rp3(2DZ-^6^@ialg@#Vbu&$vk=x zOr|2yb1dg=C){m)|8?h7%ZkopXM^cSB&1EO)wk8~pO*KUm)!4+&pD-5FiEz%xKwLPVA?)Hj!=(OAGe>E3mN|WJ=%?}Plx4GC%n6?X>6MWOZ zfh~e*X+e_zwYM{-CSm`V-fw25f#fl>ra{V>mJlj{Bnf~M;{T6vZjf#|y~98R1pmim zH@#n=0vS_aQX(`gbz?^02l*}&#(?y$1Q87t=b!ZzJ~!q457ps2kA_V6vED zA-MQ|Xi}KA6t0MAzd&ziq`~1Cw{S=>|L4Y$_;36+vak*Y%}B!`$8;RPFdcaRANm_O z(xm8h{x7Mqu$VJ^aG00^d|d?pAM^Y_ICMw@A~<7)9xfo=4RxVoI9^8be;sKcOa}y6 zXaL8_`0!uv^#AlK{)H3L{bvFktQ!VY7Ots;(Rvp|{}aYSvP8fs7+fC&J_r^F_HY;Q z_kG~$_sGlFL%_sP)6mh+%RMk-f`EpLmw#k@nwNj{qn{?9CIR6gffoOVNp5X^5Z3>& zj-j5xj5mbQ!ZzLqOxuaygK5JFP&a04mLRlaz3FIvA^6l512Ct^!!iC4&VSWk&y0oT zsf@(V1F>bKW>F%7vj*m_r9}5^{F;A0v&JD&6ocS=_kGrYi<5(gjZJ!w9l8EowJ9B9 zQS*ehaz32OyVqG)f%jGmltOK}!mU<&rKR?D0IGF<-ZkrbZ~WrR%a>5)i_2GgYb>Hp zk3QtRkXp(U-3vdxh&?5lo_@@H*KGd)yCaXyFpor4SbEq2(Y83`5WT+P!=3qI?X{C~ z8rNaGd;vu%MZwM*w~|)YIXja+p&?BF=-`;y@nA$r;2RU|Jhk{?E@?Kd}mg1OcU$}E;Ya6VseP&Kxlm4XAok|xa zmTva9P55p`@Ut{`GQ)}Y=~;$(Yy&(r=KKS+-1AyKbrcGj-(@X=^2G!DVveAeUb>Jy z=x64VpV~f=;*N6Zse%**lbOY0caPfD1_hq~21oNTf9p(Q5*OL_)^ zUDT$R@avgeIqn<9LOR30>KaO(hXs$`J97+sy2}e)k`ss#Db))f47QAhaBT9R80c zpOK|*%7%Le*f{FC2cB%3PwY6K9hwg;JA0_;^3}~&inPdDN}$>sEtB+G{b$xa|FUQV z8Mh%y>uAWqieknrIsq{M#n_aQY0jzrmuoq{OYw4a7(G~+6d7Lq2Jh&&|2%l3Df&p~ zj%+K>6l~%ziFND~BC{NICLM^)PJQCl=HP8pL3!%P=g$i?g9%YT0vu|8@8ousSsV{7 zQM=u#ID>2CTbZoh?qUe`&Yb-&*+tP+SzBj?_-c&5A=~)Fb2;F`+DG~k)w|mGxuO;^ zOO!SHy&iW9qZ*of*^=TvgAe*d95WY&XvZ9Wzip72&_B$SYnwjqSgg_%Cp0mzhKMH1 z5K7}qez%!==Fio7{fDOp+X+um;9 zXAm_N@^GGA!&B4FX3jv1;x#$%O#_RbM2^6>cl-B$^pExq+t)^SU+i`JqPO~WZ?3~dSr^6>3@~x{e|<~ zz~)?U-|7>D%{MtNs(v)yCI}vPZ;t%H``ToXo*{WvgX@^On0_bp56hsBb8uC@pq7ter$*Qt;{Dg-iRmW+^UJ8E2)Gxw+Ab!Nge$V*1Bn)#dr%_ULwpb8^i=XxwUA{#)(=tIIn^ zJu2$@ED^D*S>NTBV`7O4Aisk4b>#Z>Sw8FcWM%x5??-(7qjJo0E!=+rJH>{uR7bi@P30;2$6_gP0JM-w`+n7*h-t{(*v{pWV?? zG1c|qfdtDx(^84T#N!`#G+sJr7Sp+BO0zUpZAvv>I@`R(eQ;Q`6%e5O7RL!I?3#Z( zOf7en1HY~l^_0X$(=33E&{}k3;x{7wh0yi|i4A|suTXB!wD0O2F)o`AxK7&WmL{d# zwmxxA;V_BOKIP1k7<>nN;P|GUc5wM1FmUE?fzgvXDHp@xPklRTAO32&Bi2Wz%XmZ| zMO7Lv^NzgyZ8oLykZwqV#-HoblWb>S2~Ii^WvXdIo@s7*g|9`V%X4VgE&VkK0S?2_ z?i||k&;PKuEh{}X9eXq`7XMs;Ize@A_Y|i0l_ld4EWHwvkBcSyDLgNIOn&6+Qwf{W z8R44YOd1>y@8qHH-=4))tuO`fekS6683%sw)tBq*J_UiCN|VQ@1-^_H;f=s$q;L;y z#c5PDF+YXYy}jo|k3@qAB_k`iNe~|HNpT^24)7$?Q?E6D!eupGM_ZxN8`q88Cu+5{Ncwx|)6Y{%_+#D}iD?Xuv{yFaGq$e#69kZh&yacAwai2pHDd%66vB%lAe?Zp}o zw1K%u|6iGEeLZuXjy&5?8{=Sr^L?|6ZC|n8SJpiWa1^K6uaziiJuhn-|j9uLO?ob9EX(( ztu{?RVvkfVkCd#8xP;#^_!?p8vEKda_*BpMgKqJ2b(B$ckuQ8@%g_Z@01tT8W%DpA zWpg$N9+FVIvTh^E>b`NHci3X2lR>QSFT5{UWPILO^f*t{>ib<*FiVbD^@(sbchb_a z5xuR09?uo=iteqzebJ7g6@-$U`qSNa@8KhpVh)Q$c;oa1l?p3ry`ArJe|K^_vQSgF zuHF@F-sBv9Aezz&{r!@gir_inhD^UR-HIFg+z=m8U+>+^^T32aw^67?zlF}@^PA1W^K_s zrZow!vZ0~6oA3tI>}*)n*RO)8@v1oURu1#O_$47+j_fV0+2aFtOfJFhspErotB^-s z&y;xU-}58}d*~}vhEoqCmb9-Dt{z+yZ8PB(%H0>-pn~`HGKk${GRk9pSJ+^8D&3}h z8l*ZvL~D2p_dze4qpPc=Nm*G@c&3gnak-3wz;}8}T37c% zP=@v12@H5ni!WLiPECFnzrWKleEMi6M#d$HA>rYt7wPT{BaMFUb_iYu>~%h7rzP9_ zpDh9l38+5>T3WDoa>OnXb*-q+igz?Y!nzp9GI7XRZ7p-6|!UHo2;M2HaN#9|{$wd_!NE zvT=QWl5}8yPU5-cAc@G;zaRbT{df83g3J7Za>NwxvHti!TJ!7Ty{#~!#_!nf2L?Oe z9_(zS@2m+AL(6@hIQgdiEb7iNYJWZ(3@txu&+Db~;j~K)#XtA@Nna9hT_(g7-OXBA zO3w&eIAt#6W7O>1WKsOoMf8C40&Ns zZQmsk?Cr$&9UunUvV15_iSHl%`DbTELv?YkcG*Z<_+^y}~uE0lQmPY+uh4)MZa4}KSInqY`^Og1etAjsA zm$d_{NewN?!CsEA(kPWyu#EHLMK5^5*AB9VgE$ZW_WM6&77=GYJGh#Q6 zJ9SSfL|ji6%X2SCs3u-$e-(TOYxF|p$d5ENuC*U1N;*Nt4$9HTk zJAJB*ljNd~nA#Kdd|HJ{l6SL+#v~24UVKuQI3hSkWTi~ziW3H;gn4XatF7y8Kl}Q@ z>h^+hzf%|+cVI%>3)iKDrzC_SmM%&x+Z6PHr%4Y&Ox4n@?^!wL{hllZ*ZSxEUX@(m znO0gW6iO0u$zgbRU7Xwh0%^pTY|-YDH?xeLRFSH{v%6Bu=- zW(ZFr3{g!_TkOtb-0l1nZ?>_DIN2!NrD?Rp$XFq_{@lozuyBLt744j&Wj$30jjwvi3c&fg_ z8Kd-6l&5TqT8;@R5{SxMQcF8xzDw%RKRG}a^fT#~TdCw*A;uELr=~r3r-(kA@`@i* zTKs4+d_%%Y81v1;i360)3#d#oj6JZ zOEJAv%u|2KqV|=nIn?7AbHS@^OL4mo*~eM?nGsQ$+Q~W8@xh6t8N~;0z7Rero8e*O zOpKXnQSXnS)ia}MgiFWmas=B9aT!0*ZTzIv=^}5Ce(mm~gJMEKb~D}_NohTY(IaS7tkyd)hMhI zETpNb;k_(29~A_WmJVS+YP+5NaGk49&Ld)hf zHR#kr;8!D=iPDE#K~n_{lX_6kG^x1R-+|U z!Sh0COHOEb`ORi4^orq9csrfxsy z_m<3bzRx$W80|z_*}XaNZk*9Q4tbyQuF>|ZxtBNJ!UxK*kZEr|i5Cv0FZ!DEB#+!> zobYX82-hjpM67&?7GI!dXa*rxTjqRu7HnRu>K9f;t2C`E_V`r3Pplp~nSJWc=T9U> zbiGtup2wZ0xfV?!wq0kRy3^rozYkl>_#5w+L3o>rO#@}n_*ctEqV5$pRV*mgBJbN_ zb5>|!ANqbbrEpf9 z_&@*rMCcpnDJ~VOPFoz$ocgkmLNRB6FrwB-p$va+!~aD`RGpdG%%cGDmMXVR#sKhd zV~LsikGjWApH;o8Cyt>aZ|gtu?--z(YCYFjTzQF&f)1y*xn%WL21M^o8hCUmu1tt; z!)z;eza7m@o{_cW*Bkvg$ls3mQpWhTdmDL~`MGzpI{&ij^MF@n>|dLfmw&2b&*%^* zaijObKHfWd%44WswKiwu+V#1-th#)T_@n5y@kxzkO@R^NcE}tgI5||)rmnS`?jvuN zNq5<ZCTp zB)opr0DcU|d3Rm;$iUZONNSo|y=@H$>*;#qu`g<^~K+riHez zXKMnaS31m{%omEkls4CTY(HsH`DrP*EkFOVqy7YYd(t1#&R~+3vgSY<)$PIf(iTxx zdn_1|Q2hJ2?I>6c$-?`0POMySjG zEXk*7= zV!1zWkXetfLlW4e!gmlMmKN>FDvg-xV&|Sk+DEAgo@|ihu%&lSR6bdMsfjass2`%8 zY4@XT`s&ubEHMwOMP;mweiPfsu{`fF37x=HhDn^U<|*G#og8c5sm83h=iZSb=%6}c zKahdX{^|tPu#$NXV&P~mncc$m^+||dNPDm80Uxz=Q7xh&VtG4>U%pfL`FkdU^e&}x zD~iCTRpWeH$M;lOrjPT<&(hdv3${XiHL-iCrQbp+bmxbrM$XNpwV5<1rIlOGA+A#; zTOhfZy4eALs;^-t0wt+A zmv-ldgiFv-vGj;IPYLPuXS&u1uj5g;!Qk>7&wbC`xSNVHoBa zwfv@7z-k>!)HW3B?e-LPyL$RfZ5Y`ye~f2Ffhu-5nd7gmuim&PvkHa1h;s_sDyONt zavADd7GkE8WtHc~xwSu^toc>yyvjZfY|8Z5bqq#P6sXz?`EJ4UwDs?2MTlkfN%HcU zMr8ab2*|x)5rI2-XypYMm9Md#kUHUo(_*)W=Lr!QPKDoarG;!awz*qkN45 zdf$z!uIs1Df3#CMypYkV-w=Ly8|10%b(J%y>V|6?8TC(YK%4a0ZGwy~IK{_I?qZ~wiZ(jqHROP8G;9H^zf>nf9D z(k{T}z^}}SMK@*LDA2ce2fGkXzR>7_Tl?L@iCZYWK^^>o)kBPToO767wlLxZw7euHE>jUQcBtN-PvAmsKZh%KqUOp@hcC ztXI+{4aF_Tt9-L=PvwXX9SHrcdOrJ%tn582`Hy0%C--Ks}KH>kf@IYO( zpe`7wixkv_3tEO?d&Xd)6rV__JVF0P&4h;2{hkS$Vf-pviC7}jCmnMMR5s?oH89~+ zrPPgc4OceS=TJSlt8Cm!RvgOAQq@Ub+`-3Eg->2gOGcHI`;7FA?5B_FTqen!)|q`k z${B4-)#6&5hjpWwZ~WX!f`_g}Kh^0|xv+7oSCwqoN_O~Cu$H*N^tFlBNj*}j@7W{G z{8*K3x`tL;U5Ey2-hWLFYB-0F8eYJ*?snu0__jIWFu^+@!Ify?+!c58z@==42@siI7Xpf}C zeh5zG2o?$>o(*0m-}xoDrFRw7VTMrC$BIzD&alPaeR)n-!tm$G%Re2`=}M?JX_j0e zmLgnjvRomBBHZflxr$yKV&68Na(1OnJuN5C-49kKXVi0k560DPlP|(Wa*7pk6yg5t z$R+v8%D9D4Cz4Szu}^va9xm(|5iS}|KGOM*xcdk1j}ZLk`QN1{snQAwni)*}JB5Uz zOSh>+KRD5UjWTo+C|<#LBHBBC(Vwd)|LftlW7fU5;?XHhT3hH3`;wdWUT@7W_wOOq z?de{z-ZvIYG5qT+A<6g6;0KkM{NKAjXGi?+O9n^Cb0QAd>WIB>pP~FDTKJYVspJ&t zf@V{1Nh{nR9iFHfx5Q4K{@j@%5b;DnlXfg0W@$=7*0TzQ(Q?T=~qHQ&k}Y z(H&wPqcM(G6DA_CA)3^2A6nf=_AzIcE0T^T+yyc=FId=F+co@uD=BWuV<=%qp3SbU zJ|Ilp#FsWnC|BjKn0Z`by*s++^P>KB5!uM!!>vFGFianwJ?JiGF4E)?=nT_k-~`G6i0n9n zya1+b-9cb%!W(5aVtX-Bq3gqFkq@e2jL5IaaC%gQ2k167MwMi-xxz6ZEG#$-dH)ee z6gip#Cq=P(fzkk8T6{n!095M_dJe-(IjO19mq2U35{C5h012SN!azpAqSFx|Z2)45 z0u|$7uzkfyLz3~auu!zfMi_+crZ5U0b(I8az{l|3kONWyrkuV6sbi!-D&&JUFoRqL zpfP~WJDydbn26cwA^9?q)oe@3E0j{Pk-bA8o}0Qb5>&?`2oA`=y}h((i>7jk zmt6s2Lzk4n0Sw&FpkP1;Prrb&F&vjOdpr8G%t(3h+;0)R+p)h=-vUzyiJo@PatO{J?1WZ7?kq!{za~a=JO% zCN1zAagihia8hJy3EExL#KCYBi2&FQpd29#9t9w6aj+B+g|X6LBY@KtMX(A$&z+(A zdKXQP91nRA2o^(ny@unW+|? zIxp}r0EPI1?ErNw`GIl382_-XzyInr+FC`(#@k?VBz-x0HGv>-3n1{1Ft7&rrW6b% zgaB^?R2ZVbDcG34x@a&QihweGF@y(M_!>-vyr_aRpw_d%M<5Kv&pF@}0u1E#8vGn`1GQFx z|H3d`7Y*P~xEN@m1002efvo$$EC8!d2Ei>vm_Erl@C!Hw`nU}41=!D71*ZTI_jhnH zAx428_P|R(U(F$y1W-}W5jYBjvG762r`u{oSXghk0Dphi0H;Q!pMp(@Fq5|+kPcu< z84R)pkV(RYyaga#0!SGEof1Lr0yb14gG3NxNVjH@xYD6rdW@5E^4c?z2E{p@P{U(!i)%*ig|;WP?D+gD@};GPMbgi|lEE6Qe*J z5GlYy@|=*p|Ln&DAp#&Jen>qL##U+4p5e)8JBUL8*HwTJq6B0ijeywEOT!==v?Vo& zFqTA-C_tV8>d#SwOaT(RX+R7yrIo06mXLP9UXPt1P=G$vJ8@GGiiH(SfT6!@3Bg5v zZHF_WJ_SIe0B^sgqGA0Fol6w3k=Wy~o1GGd#Ng?KK`t?t(|!yAVd^VU_hKLv00T}* z5Iw+6+EO4-0Z|pwAl!g}ZW)k0z$a|-Ak{!0ej!8z8zc1J)ap<<^osUa$kk;qI$(<- zaO6cdoE3>If(YHVKI`Aa@)0@mNPa^5|JF}R8QQRS=A*?4MEim{Iz=+0&~v{70dP_d zDFMWP`3Axa_}tr0h#SBgUpM3&;GDZ3;tav?5xFRX(nl-b1^VBIa|ruEF*jvNciM-+K5irz17if578@6rCL z^$FqvSf+Ic@&-_r#~vgfV3+U&0s`1rA4;lnB}VVQ?8x372s@IwA5MWXIfM8E31u7y zN)O2J3m1xx5p)ZYKd64mhfN1~iWXvlxB_^f3qry{uG`^iM-1Nd;6C^}Y(K z3edx?g??th;QbhdS^-*7{QzYGphweCF<_1S1*kGUMnB|3jD>1wH`|2(mE8I>=uNa| z1`b0ptU>hws$Lt=|2&I#3%UYOz~6`N0MPj^YQ+7&GGv7sdx@gAX63 z2*}|@1p5s@c4V-2V3dvm)(Ak8l(1RAcfA_PITz6UxMJTp4mzY7tI}qN0aM1CC=8kY4MD#&O2%vkXY)Pw-pFu|@PzrkDj54&Yeo ztaL7+9oHLzO#K4F;IN?FxL_NAj4H3_Cf~r(2NdF)RPrB*yiaJqtKx>e1(JZ9FbsXh zxpAX=VlZ1kf<|!|DWKZ{85lp{Q!Odz}zc!m;(SgXu^a6-5_<) zW$_rw^ZGFK#pA|jG^G9BxS<(t1fer7L-q=s8mYJnhoA7&ZGbS#D%$hg5~B$OL2eAei`4%H z$3q=Igs}lU(>lTA05X=YFd{%+H!qkPF!}iaml7^If?0`xE#SthwAau|yzqgM18O1- zhEV}w#2X1ipV@BIY4HqZ3Z%;Z56|hx(MOn8bgJaKDceV_#=^b<3bD=~d{m7#(Q6{4 z{s(k|y!ko+YCj3~9H+lM9=Yo53(9p%5nlyZJ6Vo)VR9K*^HpXor9PA@mX}0?+Q{aCXJF z*MgV#2L1L%??WAQX8k7R{w%May_)@Ze)SvjPImtLUHdyJ0?YB~5<|(1<4$kiGx zRb(DBOunYh*Faa+Y}ASzSM`pGh7lZ!{(SfFu7?HXk>iz+S4XG%mpfA9+|;K9-z*>R z!5!<}=cs?6=uxF~CMEaooRp|^uG7vnnN(~AOg4p|2d-4l%RPTU8_Vvnt$cz=v~Mr) z?hSM`)-*g5ckBvrr^E#=K zjxG)_vz`yt->Y&qr#$1+KV~T3y)~|zh`JMOa7u5MqbL~DPNU2GY!^~jtkJ6lVv`j~ zF*xVx)eAmfgK##Cc5Ck9icSb2{va|OHf0#BoZ9|~<*j&5#uZij4HBr>D#e|!u__A9XS(3BxhZAVNl#6)``yHuc$|aLZEmG>O^p4AN;q!hbg7_z+83XI9 zw-mKqAMa9ki>TGj%KVeCWWQ_0_BjJFwK=)(!o>aZ zPYz4&B{>`YIfIsfob(`@t}0zzxcX{)Fu6|xH1>^V;ZJr^?UGQIQ8#|?u)8$N?{rzX zqpfnt>_yvj3n)k=ekX=$3F{V6&dwN~mqzmT+S(Ze)lY`+ns=Iy3(n)3hVR4Pvno`M zC=^S%tj~Ia*xMuCf331>+`qpgAyX;0TBN0;UNiyh$E* ziljLG)27(GX|5QzZEA{ z^C>O=Ia+Km8c+8oQz34?V5H*Z;o;@^f4=*zC^_~=1^yT7KVpZ^0-2gkc!?hhS( z1svQT`1#cuuIiI3k^F1z38SYVx#t=Z1$XVQW|5!H$w~0lG|FgA+i$bU4jc(g-B}?$ ztLKwVbN3t`JNZIrb$sWs%&N}m(w|8?Y{Z)e6E#wO*~|tD^%a#b-)2Q< z39=d_sNZe{5Ye1=rZd1VpC`r>$m^Xf9*)J6`J{1b!7ELaxN`N_{FaF?L{g5k-oOc7 zw~FwDOr))P6bMmBPrrCr5s;PM?Jxa2a9AT(qD6w2-^z9bqw?>}*$qI3T0)Hw07^n|uP%`$7wTFpzUF%ohHxKj$O-xAs73xT1 zEh085tp^Ex%-1?R9G0rgv?#pI{P5|3Q_%3l@JKJ0t<~uB$;P|$J%aDZOmTS42iU57 z*VO~T6rS(o9d#o%>Kub8Yp&f}b!CHYy=6v(#=hrY+>!XqnC1RZgwf%}ltE%?d(1iU z|Hjshm2pCo8X;(Bal*UV&{+Tf+ZeEBzNwWNxf#Vjy}Ke0a`4KmlPK#OV@Pncx+6_^ zzC^K@Mw{Zg&zeT<21W&5?LWiSi{$aw_;bKO2ef{QEu2a^mMfJ8W9z8<5)ZO~< z*ForO`ajkybpleJ91$0$Kiccw?Z&uTpb}kHWdmf6Ru^qYj`>uWAAe}#-|JG;uy?j) zmi$ej6S-UC__E#7aoYdq@qmcbbdAI2M#xIbdizLH8^1#AV}%nj6-|_~ChD1Tk5c_Z z;g<(BYqw_4n>;ghxb6H;Hl8~ojOosVkB;9MRZ5;}k7jdS9k*t&s-)~n9k$jxhfd7A zP5U>}KXrXrCMHVWmg8J~|BD}gr(}D+=o^Rgkn$h2oDemHm*R}ho-OS&$mPqMgIF*42#5q1i0X0|JgQQBGX#)3nM{tnPN z9;jOl(0L^4^@Uj9yYFhQY=BVGjDB`O%UF16{b%mkf>5L;A!QOzgSe#md>V}R`QLix z>3vG)GQ8HUzg7y+4+XVaE9PBZw5khps5|6{fyG}Dl}3+)2^7lB7JukT<&>S|Lfont zO#L_(&Mb)vsnS{oC?yX&u#U<)?P+Fun|{@pLlN&8wcWv6Qy(%oJMs}@722WVPV;hz zq%RwE%~vX3#d7b}&zzO#2>aIkXy_c+g1RL?p9$4wfBM(Y8?`xwulmT&zB6Def41y< zO^#&0LK*d|Upwe^336!)T1TgCTC2&@=f6zPvtymB(?_|Ky|d zdL$COL9`2QhZ#||IS>9WR7xfKXyx}3x^B2^a0=L`tg@ptCoa^|Y1i&qG?44;vP!M} zePSH-ijJ#2#@QoJO&1|dR<_9ZqEv6TZojg*6jUmunLALu&$j`;dOm*6@c{n<+?HV< zk#6nk_i&Bn8O5>vlPIvi#FQ52Ht*_MtzKyQ2z5lmRm3XHN{OI}9k+u*XOFNB{$(`a z1&VU!j*U!x07H5+GH50sr86^ubAe^PNq<`DF+7%u<;^!Uo?#_dSZ)NZqV!x7!=vl6 z{q)J?CSs>HiGq7iyfc1r41xl+guciH6NgBOxa)&F4X#*Ak0hkXimB4-jTLYCUe@V(1_;4v|S)K3NTIa@h;^upl+otJXd+ExP1M|B}_N|C2hEn5URh zvf$URVbL6Zf$(XSL2oy#q-!ZL+kYfD-xZFfhlE&{@lNWrDx)N5A`(WW3i3-T#JSI6 zyOvzx(_x5F#>xaE+@QCg)J$TXmwP%%ADvXQ^V&9#*abtPNfT9V_N&rVJGA=a{2{0D zC4&K{3Jz_RB)O8Q`2A`FP64tK2XuIx5rcX0tBo%9_=1^>WiR-%RB$*Gcpkz#2}D=z zD_wg^ul{=4^Q5=>MBKZ$5_+EkVhdIMO|350Zoi0tnmFpmhr=#p%rYNbK4fSe-Babb zpTqF&40QHE%v|wVg1 z#tk#IzOXT{$)&%b-)24~?ZbZ|@J1zYQBaH)W<4b2IR$l&g$k-^c1MkNsNz^S+pxId zn2pR2`z5=dGl!aAbCPJzT)a5=#n5ji()fai>?Ps_&2L?JsA;G0i=F#_*=`wH!qx9Y zJQaOy+=VatQu6&>?yOCFv1+CVHJLM=)C$J)q?}sZwTUAFWqS7}No|?&8OHkWKRa*H zqGqyZOl^o0Kdf2fE{JtccvF5k_zY#m(Xm31^zCiS&4?n{H=XeW*tB#4ki~E0}YHVdR zdk-C|R(EON*Fq^M4Jf!hK6{gAvEo4Ah*CbPd3P*K*ho0bnJ;GWm+c=>cu~^$-_2-+ zQJ)Nds0(J)S$@Q_169|#ev z#;6T~$WoCEG(DjT-g2#%tnnTeIj-A|@vIkqO5O}7NY4u?6(+dlud)=d?Kp8>k?Hm@ zo>Ir8lHqpt?w6&(IGeeb1Y1!qCJ$d1Rha0?S1#~m&s1!?8U?y{bIN23cyYHjT^BXz z2fg1hm7 zYDL8?SqwhgNOQ}}o%_s-N7p07W$B)atx}8fv_GH8()7wVf&ekOwfAvxEFXjrGqrl8 z`uoQHZd07c^ajixLmhDvi}$}aI}+>I=k$p4#*FI<%byoG!1LLjnzynk6Y z?6XMLn9M-xwL)fyT9k0@-?)7`I+UyRI~mTlgkPrpu666r)7;F>4ma?1N@C~+Klry@ z@mTB3lX7x1uH_Z4%bEISnlDSL2#uC1i~3pC^N%Zsn|o9S6NB6*XJu+#*%JE83Uhgn zC{wqVgbDso!TijguH&pcl%~m-8@aU@WT;Hd@#z;$xsbZyF@rZeXe-H{{?G6jp@2b? zQ2qh_Q!W0dt6WAiQmivHp>Ls;Fj*>G*_l$OuFTX+q2(cPsu4YT@LeIhz#FNK&+KK~O9YMK>LSa%*(~2! zCjR|@cCc3{pH^w$){&2vEB*{U4V1yy_?+lg=JVqmN;FZ8-UJdz* z8HCZqimv3eFk`N2)gb^Lw$VfUk7xLl&eU}zvgu{Tv<@n%+z++n7{luBC=p=B0kGy|| zeoVuVdMgOO0jbJ`dGg4czwDMaTq>T7ezvx?L)^l+V07j5zEoQjDj@`3os{KoyZ}(BTF9!otx^GiEHkBYW{hczn3?Ff6(5eCODQ) zwii$-U2ZFTw62gD@EPI%{nyzq!lV1y~vhB_i1XnN3>Q67OtY_}{IiTuk zzl?T=M&j?)??qT94s2_6bz9i*?;$0sTY`i9xa4c<@qL2A!-D)yzVS!cOc|Mtom{OP z#uEP}#Qp0kP-k2#BlpDD^WS?n(Ic*0TvUcGn~xOQXGi z6^ZG|ys<;P9hEJGyp@ZDc{j~L7)ySIx3)?Agi?*ki1J&|*?iJc{$ITuT6yQ-519_t z9pB6a9rP)9brB7ropet>1&!j}!@afrjd@*iCu#1w?5Zozk2fZt9^&57LUt?ADs*^> z#YoY^k*!YiIG)S_5esMkot4I+iEH_U=BtI^;5)FbQZ2m~A&jBM1&^f`kBQc>h2)J7ya>~{E4}H1-itT&?4Q~l zPiaeVORb%!o-VHic4%m})b;-V8v7D(s=n`U<2~kih-=MzF+v1U*@egsXq0a%h&5$tzGBd zlT%YFbyZ4Kz^!sp(42k2r+rob<|xg{=4^NHG@F`&HU&629ACWLR%K3^=4SC2KA+%A zdPG^JxXZ7?PwlQ!%^S}fjw<&1^ldq3T=#QP{kHdx&l3DZhL1`M{&LrBnLu_+Uyl1C z{%8w_+7f5^uU7Zc1S%B-v*Rq|R@~nkywRJrZQ@UwEc7U`wec`*5RgjI z;H-RmuPj?8Mg4A)azpH)g8#C=4IeRgc{eH*`|nXJk=?LIZneyWDUp0NjkhKHTJlF+ zw{Z;`u0HwFnR!`$(ua2+(0E{2bFgM_ZgyRZKMLWWxDK8HC$6d5qx;`7g*|J6PKXFA znVSa*$i92J-F*Afg-vmL9JD_>zJ4+;P9fXLcMFHeOZwHP5GCkR75m-veopW0AES@u zcR1X>q`KhRoQHk$@~QSlTDUPa_QEX*msfmt*W*VjhU=V< zsZ7_Kb!tmoM(nFPow(nsoR^IcC&|n;e`~5*q34;N<|eIR-X&V>*OcfGz2dd`Rk7Wi zS-m=r2l+W}b%igTgEvgr$T!7eo6tL(%IU{qcUUT}9)7n=-d*;#Q`48~wK4LFb}Qd# zH10Z6m@qz}Va?aCE2|biX-HhPSn1Vok;mB%%4`wvod4)MFXuCSgtaPS=VH5I%Zg+oz1EZSJ{3w{sHrv);x^weD=H~Dr{TExQvJ1 zVJ(ZMS=@E=y!5#8u+)(oN4w>1Pdc~hyP7n8zdpQezpI^Q%+hjuozSZF!rk#Y@wofdWHM)uJ+R%q-Hh$P8|`@dPBD1T+s$c!S0X# z5n&S?tyrfoH8)&xIPdrNMpsYBqVOLj#Z?bmt5@kdUQs)$IB#Z*ii1{IaM}Ha1Im1p z!sZIx`&`8rFZ!OScr|Zlgy)&DwT@qJ?~!kOhzfVKDY5l7M?dx3w#b7cd~%#j9x+!Z z`sBRLb${RQJM}hHF?#vb2VJ7iMo#Q_D48W}WSi0*5oR4#7hLAKR()4v`1E%-n&4$? zvzVq>_42sQca;JwG{+LPvxI8@3U+uFj;WGP@UHNe2+;`%jbxv8to*iUYzMy=v2;pr z%7G@~z3EZrTOur^4+gL0+uh6I@VgyWe{Cj9Sh#g(MSJTeNjMi;isd~j@Xf9rr#>+` z>+tKQ`9|!FqIZ4k11Dzdh?ZVpZ@RLlZHtS$bM+z*>ys6g`s!ZZ1KfEcybbHABOJv+UVf!^8>_4^25bo3roZ)h$NSqScXZB7UyK#<4|bd=_ft3auHw z-dv!>O-=hu$lnP$I8+Yf+55_814T3kwXo{Wqw73cp!EwC#{@ZQFbMLu{nX z8jlysRgJp^Yck&-5OJUMBcfKjKUr8s@*j!c7Cnbbz9SRCY#fIDzaE6 zw3}nIb(mhw)LZL!hTR@6O%Ir>d@L@^<3J z1cB3q5{^|lot0i%#tX!@&y9%@6|2-vJ8s2}(klD3St6qcC9u!eixOdPzk` za-9`B=N04>XK;?Ltlv=`_xLBvCu^SON-;uc17?1bX=-=bH(W4Ij(ZY zDt@bPU3y^2xm9I-&L2WNS|)zjqoFhYQilcsDvF1!r)|{MvIx^|3#?mu$mj8B?yCQyMV%8rIIogmIy6XU18G2Hp{E$H&|$P-Ol4vi+-oH<+SwSbE7h!Xq^b=Oi;a_ zdEsi%rGT29J$b=a{0c0A1{tNX8eS^4Wg!Mz1BZw0`>DLvY02I3`_^yTsH7t4k{`FL zFtOmT$mHH(ANNnIU`0$zO*OB|tg~z&(O{(Pfl z&qHG0#P+T)Ia@zriDX$E-}M(Kn;T|L;jB&We0E()GlUcBC1oahI`g>TgzOjFmmfOn z9ems2spGLw#nPpgKfUJs5ZF?Ds%X=pV^$H3kHa^cZn`KOZRL?w>_1iB%J}8uEu+6Y zZ2A*5LGw%T!{XZ7Wn1ptUVP|yUY~pa$K-`syOlUgE?x}&vbunO_x+Z1N4?50qxt5# z&MJ1C&2v=zTKSw!5)Z2C>=euKe)7BN&+pFySp_?CJ@fNCF81&E^ZZ9^fsB<`UH%{0 ztDb$?L3eKdO|<<~`*ru0{Ex2)rNs~08>G~_-~VZFso8xqFMrXJ&DWaV-evhJS^w2A zuL}5VJz;E(qRTyD3m<3S@y|9-_LHpK8|B(J^8VA0X&j3U0a6oXH6|2Z3k+*3i<^AC zRHC*2#L=@kz0*Ih8T&ZrCz=!_rCU6`<66z9eJ15-;dbGQlN+_BE@TB&RbdE?P~8OX}63UHf%LhX?jpv?$h`uG+dzUJ3C+7cE+O(n>1uQM%|4U zEC{Lp6xbKEdo*W<%OgT+W$0s7XZG)KzT5@Z{ih_qZ*1+HWxZok;SaHnmsj5UIOuC# z4>}qww9n_(HtpuUtgr`(>`xJmYaeg@xUhKng$EvujrJ&OlKo+oUUuzvpH(-H&6Y4Z zkuNXp{yv9&k3Vnx**BkcPpa<@J-z&VOgACe_}zG0pIdz8ynI%_?RXJv`5 z-Wz=T<~JS1R$~LpFVVMVKmXBlxwHE7^+Man$z~S9X)~KYTuxqfvGDEM>DvTcXQ)29 zI4|hHiH9i~f20()X0~@$9T~@wS$@UbX6sV(h?BOmzT5X^?|FhQxz}4Hm=@f5#&5HH zPuH31<$CuotQa?}daQg>*$m&S0nUMJxk)$fD4o*2_*XS#T#A_Jvy}~|M9=T}eYQLHoS1PV>&~-AONY!XpJV%G$J~)I zH0ccKDQjx_sju^WxQLKvL0^wW#kSgB^SBf<`+2Dob+-IjHSPJBNh;NQt>dSO{4CG+ z|D|#B_u5^56;pIZdlJ>hdY8@x>qh7J(eyL znzUN-zJ%I^w~;b_)}krK0S|qXz%!q%Du5Nv@^0pzw*U?lPzpmH$v9=zAFhcJ{H zQoku%2{yk7>I@(zkP`6k0xp7Bg3(ak;4Of~34%&}Lxz_ael=v&>m_E_B@@*mb|9Du z6+$ssiG~p3|14kxPwEF{VK5{Rz?BpjdqGGHz1>ETZyTd}j9e9ptrRjtCR>4st4tdF zR|r*V3mN_+i&QjS75svKW5AG-DSV+592;Pd^PV0=?4$>PbD!e-@EXnlI zJAnCh(EA;Py3r8-G1`Ku#T^&W{>Mp6cY?5Z5<~UlS;RjK*a7_2m|^Tcy;yCa8f1TG zi=d+YERBC8U=;%MDG*ZsiVvv{t}TB8s@O@4{zri(L%}N%WcHG!{eQYvi%~*Blr%}6 z${WmdqiYbDHAghoOjHvc4x)P*>H0&M2rof>hc_SJ1QFt7w^Od`C}f3Q`_Ou;B}7r3Yb7qyM` z6BFfe0F|dW{zd&YA5h}~p~`7c9q2nIj)R~(S%clXp~CAVFu?}ZfElE_9pf&H^MEqD zp{xy~>?lbj%OPfK;n=ymi+IV_;p1BXuj(5xxSAzl)TkgFyU&H%}TK;^L6Wlnp&n;_QTfeU352L!GYnypndc!6d zb~7#b_~0M+lNvJCgybEK9*^ROdtZ^XBXahFoPKBi*!QoE(67CO2C10652$8yDC&xR zgd#}|!qk8mib}-rvr+v%T1*FqbYuC^DJ6kXDDMcrEYdtcWA6I_vy7*)H295lwyycu z|MtUEjW~D;0^O4PNewASb^8e?Ql-fOD4TPEF1!5zp+;8o(4?EmPr#vXp)XG0mc$)n zPBqQjcz{qQMf|}cHrJEnF~~WbkR#hgw(7CZ1Zc)luwJlah&U^Uw2u&)IMKT}N>LRM zMb>hVuO0iC6j&AxtujfO$s~hD9wf+HrpV$T;P%6Y;?2qeQphEl7Ltvbq}fa+rNMSl zI|O**JRaQp9KR4UnI|BFB%aWH%Rx$m-w@oO4&!4wqYfiIsgn5mC3<>@Fd!}O#X>JH z#=ZP`@GqMLjF4v(-6-p#0H42w2mcr#poyM-rtx}=x9;TP>SO>TO*KDz zbm|u{Qx=-Tmf@f694@~&ii#$5Nq%|uvWJe)_4dM|lQ~cyhVt{~)0UnleW7GELB=tYfY0snt`qa_%g?8#&wGIcpRZkYP=H%0?cnx)RG$l3WGz= z@F+mHb1BFrS3nE}9i@#qgrW6?6x4qQ?5rDrzF_F}Jq+ohmG=bH2CLv150LBw3OX52 zj3ABWUJ(YzFnhw{5{eZr3~P{5sGguFxdrcFN`Rj^pR|`!{5wja6RLsZNPfoEVn(CA zc}(%cRpZg5Gt?8nK+Q6W3ipb2$d((ta6HsNbtIbz^AB7;mO|kWzDa$97m)e*>=^pi zzu`)jL2w^g1}#ja3muA+m!1Z*-clG2%-&&K$1Nm|t|ih_%hN=#w73CjClM2o&M`Vh zcg9GDt^~KJ!!*H+ZzW9>>)~S%++pHFnec-^^e2k?_ZTc>Fje(9P>+44sBqVryy=f( zFx9S|qJD&5$a$T}Vm{N`kTme=)%b<@F1wqIXGjCu+w~ z3+y$L0oo}Ht151^_euun0l|eN&YAkPx`2S#SI`F@!Gy$&21mqkp;@GE%M&2w zo+KuWMu$!idSr9%JlLO!uiEs&y_^{gySq^331R_R)bJz}l~d#v6+>4P1eMUlJi5I! zuNg($h6PQ4;!q)d%G^StsP819M#^KSfIM{_9w=X1P>!*(#mf;DJ^fQJpkCQfFXq72 z)T7GQrO*=lvBcR16qUU3-KH-niri1p-d%GF@bxAPj3)P0cPoAtrZ-3AdZ`$ z2;!s?qsYd(gz-8zCeCBpjqtZ`17IbUr8RVJiSytVqK8fzi1JxSQQxJ}i|>9+y}N;; zI-Vtlk)3+wj7@g_xMPC9rZ8%}z>i{W_Z5^xg=gs&EQcPS>OX($TB7c7g$JFfy24bm2yOi;Kkic1wmM=~Ky;`5bE3>nAsKyc6BfK*V= zb~rl`ggdi`DhN&F;a5)_7*tqZ^m&jcf0hTomN{Xyi!Jvbc8 zxjP_6h%9$1QiF%K)PTRZ|EXF zp=p?-GN=}p(M6D+Kor$og1uMIMM8@TewV-)>v|@xh=MK=3S__AX;A#a3Ic=|%p?ws zj$hfpEJUrnMYBO(U?&q2M()|PzFiof_l=7ilU8(Ks?T>WRRu|Y7aWG(l+yucFwer! zX}+zSTWA=1nnO>vN~WVzmP4$*2<~7uXpAtbyh4~FlgspE>jXatxDc3XfzmG1tNlDo z9VbRn6|T@!!z)1jAwf|SB!qMZEe!3`IQb5=nL#(2&G6F+Y0U3M*3;}N2xyVRgefTe zDjoAqVCq^OOf`+y5t1OMVRAkkO!F{w6JLY0uhEdRy2H?jnxVSJH zWg)~K+=|3t{Gb&Nu4W}9hdvLK|AldDdmh~OCZS6@Y~4+OlQJW9QX%Y0yVp#=YE0(C-WphIs)0;fo4lOETj@&NY^y`saelBU=M_@$5ihfMX{&E z3W>+xCgeyH%o`dHKL=J8EM=!KtZhbSw_$099lQHB_IVt)xC)Abn|vhHf+68#E+meU zlb}t=qc2?4H6QRRDHLvQRgJm!?aM@nN{0qnm9lHa%R^Fxr zwB3Oqg{vW52-N5K6xA%OXODwkpmmL=q^w*t8qtzb5AH&yS zkmG@l07QyevkEmDjTz++)Ck@m&x$HxbcubMYp@ddEq?PT!&^l!SA@BSRBDzOjr3bQ_OZZOCrk@^VvhF`!0J@o@~Ur-=U%F^v=zDQdhk z6~HF=f;8?YHROXMGAkq0Q1Bz@23Tu__{?a0;GqgpjoBVAoVcu#s0H}R%1S&2+lyVe zkOVqYMUQK}^_?TdVO*;~d>_TtiH}Ro=TrPAAH&`lyQ~OHIqX4EWjuuCs3S=Xv7Z2x z>B)t}(Bda>(14*B45=?+LZYbl32nfm23u=;5m=T%avkOnII@9TNEnTNN>I-l3ToCa z{NHZU55)WiDB&sHGcG;_)x)-8stLLnC@g^z5FL1=kBpN|grKwaAFbce=rX$5q(p3t z-@**j2-`qohHq+6bQv*)tY29fDB(YdmFOe+azdMIq58JJ(G#FnOJTuj#3&kj2(xM+ zl|#bPsI7t?lF{WL1ttj+dJMmivRg3qaymr~u7ERV(+Wa^v8zHVLOH zpj7q+E>#R!Ul3*u>iUiGh{qIeUI|MB+)hg>f%>_OqDnVHb|ar>bQ8HP-6rq>{ICPg zl9{ujZgqidw{4CL9p=D|Im(UB$yL*b2FNNRA~w5a0u=m6-|H=s)z zGW@3W5p_Ky$iK*njGu#mXDyTfpXYF7jB5~rsh2wu{|gw>Q#*wfkmWggUN@*aIL#Oa zOd)(nGsK?yiTN$bMjOn!GjuGldnu`*FX+c$$uB@xA5E=&K`(rIG1cNX#cL|YV&NP- z)cl!V=$-u*G~0s(<_rr`#n7fI!j81yw$ABacw2fLs?YTFb8*b2jZR8|)V?Zu(Z+rW z3YDa}koI7Z562Ko9z$Bl^c5k4PROw&QC~gn66eAar^R5*Dp1EfhP$i4Eu>3YHCpXP z^nRG7f53pje>8RAlNu7J#ATI4d*Im=$v>Dah>wr=xpiuY6Px1y{tBKg;5O5E4OZ?@ zqo|NKNSmZ`F!i@KdS4B9UreeY1q7rEqL!(x7%J7{LR4sStp@5Z11?nrL2{sxq%pts zjgQ7b9lt{dW=3eaF_@o<&=w}c#z}!Ua^TB!{7+=_hHjnGKMj#rLCjlNH`xw20sc=7 zS!j+$8KMd&7J**Ap+nW)@y)u=z;Ct?Kdc%2>n(Wr?cWmWq^T2c-P8651D=7oP7MAe z8y8gR%|8a3-si^@Bo?sBE5-tXu@ z5R9n?^J(frmNuBB8 zn3@Q0N#GXJsvkH?sRwGK7ezf#5090=`blU^mHP$I76i3r&a4}jP^^C!!=S>Wh^(#n zdyuku8HV(5GA3$SH<+bq=m79o$z>Ho_ukWsks2(e$cKWo8tAo!@2Kk6MbLdxp!+aq zM*elwfC*pAQlJjjvF#GK^t`*kTdyI0GKZa z(5S1_r{M2 z0Jlzr>M)-s@$ExyAK+;c?m96az?MY^CSXiAC~(l(fSYUnyFD}iJk$V1i9N@$RVpUb(kArE@qNBA=5@mt3!;T52X z+}eJ@Dhra3>?i07R*5WC5vu2Q@mPJ9y=`1nCX$A%OVMZi|hFzeb#0==6ST}j%RNQZ(6%N*)fG;z6kGqKZ zt;l*F73wJzg1#dRjl|qoNL-@oS)T=&hQiOYR8ZC@T5H}X(7HOCiz^`s$Sgz}#BKp- z)MYLthP+$o2QND@wDt-QRM zf-V>fOa;RqQT)dru-Md7VBCXiu&DFpTu2mYwGG6ZHh|u}q@bWSdS!kRQ>$K4ROc7) z=c=%7(k#(-fL>Ko(CnA25rbw8W$wUivCH21YKa@lNvIjk!02X|4od9 zf)BvEH_Ws=WgXt!Qw(^cvvbZcZiIIC^urTB1`#@#j z|I`qRFJxiy!NN``Czw8xKKaCOx)k)1Q*b10z$mt~3&%bc>fY}0I+hgD`a-vW=@)2$ z>%Vw#xJImib`9W%G0xY=gR6JI)Liz3kkiH$^^*u|5QDCK1i~Y8Z#4;)*ZdvCWU`?x zJ0OBY!W(Ho(L_5t=nj*F$)7}May9%$3LU(cJTxNR7pHm0b<*om*G>=-u1b?5I%&xl zF?qZeP5#_T3?n6n#4VFe0w2l3*&B1a!x>KV-j*e#(CV+Wf4sY({wqhJ&abdAJ<&x^ zp^WRx3|D_JrC7VW=;$gOxx7jkoKp_VUFO_jYDuwfFoqcmpO=w6XYjW3&@FP94aI-$ zD;*l#P3qU5hLKwbYc;0tvu9vdYV&6D4Lp(T49C^>u)l`a0$FI|H~Ii25o1Pfyx2M` z0?t{#(bfNj8S3ZqGHBTn>gXUakPanYNH?AY4|Kto8P59V50;{~U!~tc*p~%^WEL`+ zPOwQ~WZfmrWYx7``qY9=7&Ag&S%_SJ5DsKtI{pJ2?L~?)LCrttrX9SvJ#?`zE?2Q4f4`DD2nheE?m9FU-~4Pilz!9%As?xy$T% caPi#LQ5bqNB$nrQ=YJE<$0r#EQ#{}Q1JXNT)Bpeg delta 29145 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

kIEQg+_u$x$zY9APc0E;qB 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 diff --git a/src/documentation/content/.htaccess b/src/documentation/content/.htaccess index 561900fde..5203ea63e 100644 --- a/src/documentation/content/.htaccess +++ b/src/documentation/content/.htaccess @@ -1,28 +1,38 @@ # redirect moved files -RedirectMatch Permanent ^/fop/anttask(.*) http://xmlgraphics.apache.org/fop/0.94/anttask$1 -RedirectMatch Permanent ^/fop/compiling(.*) http://xmlgraphics.apache.org/fop/0.94/compiling$1 -RedirectMatch Permanent ^/fop/configuration(.*) http://xmlgraphics.apache.org/fop/0.94/configuration$1 -RedirectMatch Permanent ^/fop/embedding(.*) http://xmlgraphics.apache.org/fop/0.94/embedding$1 -RedirectMatch Permanent ^/fop/extensions(.*) http://xmlgraphics.apache.org/fop/0.94/extensions$1 -RedirectMatch Permanent ^/fop/fonts(.*) http://xmlgraphics.apache.org/fop/0.94/fonts$1 -RedirectMatch Permanent ^/fop/graphics(.*) http://xmlgraphics.apache.org/fop/0.94/graphics$1 -RedirectMatch Permanent ^/fop/hyphenation(.*) http://xmlgraphics.apache.org/fop/0.94/hyphenation$1 -RedirectMatch Permanent ^/fop/intermediate(.*) http://xmlgraphics.apache.org/fop/0.94/intermediate$1 -RedirectMatch Permanent ^/fop/output(.*) http://xmlgraphics.apache.org/fop/0.94/output$1 -RedirectMatch Permanent ^/fop/pdfa(.*) http://xmlgraphics.apache.org/fop/0.94/pdfa$1 -RedirectMatch Permanent ^/fop/pdfencryption(.*) http://xmlgraphics.apache.org/fop/0.94/pdfencryption$1 -RedirectMatch Permanent ^/fop/pdfx(.*) http://xmlgraphics.apache.org/fop/0.94/pdfx$1 -RedirectMatch Permanent ^/fop/running(.*) http://xmlgraphics.apache.org/fop/0.94/running$1 -RedirectMatch Permanent ^/fop/servlets(.*) http://xmlgraphics.apache.org/fop/0.94/servlets$1 -RedirectMatch Permanent ^/fop/upgrading(.*) http://xmlgraphics.apache.org/fop/0.94/upgrading$1 +RedirectMatch Permanent ^/fop/anttask(.*) http://xmlgraphics.apache.org/fop/0.95/anttask$1 +RedirectMatch Permanent ^/fop/compiling(.*) http://xmlgraphics.apache.org/fop/0.95/compiling$1 +RedirectMatch Permanent ^/fop/configuration(.*) http://xmlgraphics.apache.org/fop/0.95/configuration$1 +RedirectMatch Permanent ^/fop/embedding(.*) http://xmlgraphics.apache.org/fop/0.95/embedding$1 +RedirectMatch Permanent ^/fop/extensions(.*) http://xmlgraphics.apache.org/fop/0.95/extensions$1 +RedirectMatch Permanent ^/fop/fonts(.*) http://xmlgraphics.apache.org/fop/0.95/fonts$1 +RedirectMatch Permanent ^/fop/graphics(.*) http://xmlgraphics.apache.org/fop/0.95/graphics$1 +RedirectMatch Permanent ^/fop/hyphenation(.*) http://xmlgraphics.apache.org/fop/0.95/hyphenation$1 +RedirectMatch Permanent ^/fop/intermediate(.*) http://xmlgraphics.apache.org/fop/0.95/intermediate$1 +RedirectMatch Permanent ^/fop/output(.*) http://xmlgraphics.apache.org/fop/0.95/output$1 +RedirectMatch Permanent ^/fop/pdfa(.*) http://xmlgraphics.apache.org/fop/0.95/pdfa$1 +RedirectMatch Permanent ^/fop/pdfencryption(.*) http://xmlgraphics.apache.org/fop/0.95/pdfencryption$1 +RedirectMatch Permanent ^/fop/pdfx(.*) http://xmlgraphics.apache.org/fop/0.95/pdfx$1 +RedirectMatch Permanent ^/fop/running(.*) http://xmlgraphics.apache.org/fop/0.95/running$1 +RedirectMatch Permanent ^/fop/servlets(.*) http://xmlgraphics.apache.org/fop/0.95/servlets$1 +RedirectMatch Permanent ^/fop/upgrading(.*) http://xmlgraphics.apache.org/fop/0.95/upgrading$1 # redirect to versioned documentation -Redirect Temp /fop/stable http://xmlgraphics.apache.org/fop/0.94 +# Current stable release +Redirect Temp /fop/stable http://xmlgraphics.apache.org/fop/0.95 + +# Current unstable release (or trunk if no beta is the latest release) +Redirect Temp /fop/unstable http://xmlgraphics.apache.org/fop/trunk + +# Latest release Redirect Temp /fop/current http://xmlgraphics.apache.org/fop/0.95 -Redirect Temp /fop/unstable http://xmlgraphics.apache.org/fop/0.95 -Redirect Temp /fop/latest http://xmlgraphics.apache.org/fop/trunk -Redirect Temp /fop/maintenance http://xmlgraphics.apache.org/fop/0.93 -Redirect Temp /fop/previous http://xmlgraphics.apache.org/fop/0.93 -Redirect Temp /fop/0.90alpha1 http://xmlgraphics.apache.org/fop/0.93 -Redirect Temp /fop/0.91beta http://xmlgraphics.apache.org/fop/0.93 -Redirect Temp /fop/0.92beta http://xmlgraphics.apache.org/fop/0.93 +Redirect Temp /fop/latest http://xmlgraphics.apache.org/fop/0.95 + +# Previous stable release +Redirect Temp /fop/previous http://xmlgraphics.apache.org/fop/0.94 + +# Old releases +Redirect Temp /fop/maintenance http://xmlgraphics.apache.org/fop/0.94 +Redirect Temp /fop/0.90alpha1 http://xmlgraphics.apache.org/fop/0.94 +Redirect Temp /fop/0.91beta http://xmlgraphics.apache.org/fop/0.94 +Redirect Temp /fop/0.92beta http://xmlgraphics.apache.org/fop/0.94 +Redirect Temp /fop/0.93 http://xmlgraphics.apache.org/fop/0.94 diff --git a/src/documentation/content/xdocs/0.95/metadata.xml b/src/documentation/content/xdocs/0.95/metadata.xml new file mode 100644 index 000000000..8c273fff5 --- /dev/null +++ b/src/documentation/content/xdocs/0.95/metadata.xml @@ -0,0 +1,243 @@ + + + + + +

+ Metadata +
+ +
+ Overview +

+ Document metadata is an important tool for categorizing and finding documents. + Various formats support different kinds of metadata representation and to + different levels. One of the more popular and flexible means of representing + document or object metadata is + XMP (eXtensible Metadata Platform, specified by Adobe). + PDF 1.4 introduced the use of XMP. The XMP specification lists recommendation for + embedding XMP metdata in other document and image formats. Given its flexibility it makes + sense to make use this approach in the XSL-FO context. Unfortunately, unlike SVG which + also refers to XMP, XSL-FO doesn't recommend a preferred way of specifying document and + object metadata. Therefore, there's no portable way to represent metadata in XSL-FO + documents. Each implementation does it differently. +

+
+
+ Embedding XMP in an XSL-FO document +

+ As noted above, there's no officially recommended way to embed metadata in XSL-FO. + Apache FOP supports embedding XMP in XSL-FO. Currently, only support for document-level + metadata is implemented. Object-level metadata will be implemented when there's + interest. +

+

+ Document-level metadata can be specified in the fo:declarations element. + XMP specification recommends to use x:xmpmeta, rdf:RDF, and + rdf:Description elements as shown in example below. Both + x:xmpmeta and rdf:RDF elements are recognized as the top-level + element introducing an XMP fragment (as per the XMP specification). +

+
+ Example + + + + + + + Document title + Document author + Document subject + + + + Tool used to make the PDF + + + + + + + fo:declarations must be declared after + fo:layout-master-set and before the first page-sequence. + +
+
+
+ Implementation in Apache FOP +

+ Currently, XMP support is only available for PDF output. +

+

+ Originally, you could set some metadata information through FOP's FOUserAgent by + using its set*() methods (like setTitle(String) or setAuthor(String). These values are + directly used to set value in the PDF Info object. Since PDF 1.4, adding metadata as an + XMP document to a PDF is possible. That means that there are now two mechanisms in PDF + that hold metadata. +

+

+ Apache FOP now synchronizes the Info and the Metadata object in PDF, i.e. when you + set the title and the author through the FOUserAgent, the two values will end up in + the (old) Info object and in the new Metadata object as XMP content. If instead of + FOUserAgent, you embed XMP metadata in the XSL-FO document (as shown above), the + XMP metadata will be used as-is in the PDF Metadata object and some values from the + XMP metadata will be copied to the Info object to maintain backwards-compatibility + for PDF readers that don't support XMP metadata. +

+

+ The mapping between the Info and the Metadata object used by Apache FOP comes from + the PDF/A-1 specification. + For convenience, here's the mapping table: +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Document information dictionaryXMP
EntryPDF typePropertyXMP typeCategory
Titletext stringdc:titleTextExternal
Authortext stringdc:creatorseq TextExternal
Subjecttext stringdc:description["x-default"]TextExternal
Keywordstext stringpdf:KeywordsTextExternal
Creatortext stringxmp:CreatorToolTextExternal
Producertext stringpdf:ProducerTextInternal
CreationDatedatexmp:CreationDateDateInternal
ModDatedatexmp:ModifyDateDateInternal
+ + "Internal" in the Category column means that the user should not set this value. + It is set by the application. + + + The "Subject" used to be mapped to dc:subject in the initial publication of + PDF/A-1 (ISO 19005-1). In the + Technical Corrigendum 1 + this was changed to map to dc:description["x-default"]. + +
+ Namespaces +

+ Metadata is made of property sets where each property set uses a different namespace URI. +

+

+ The following is a listing of namespaces that Apache FOP recognizes and acts upon, + mostly to synchronize the XMP metadata with the PDF Info dictionary: +

+ + + + + + + + + + + + + + + + + + + + + +
Set/SchemaNamespace PrefixNamespace URI
Dublin Coredchttp://purl.org/dc/elements/1.1/
XMP Basicxmphttp://ns.adobe.com/xap/1.0/
Adobe PDF Schemapdfhttp://ns.adobe.com/pdf/1.3/
+

+ Please refer to the XMP Specification + for information on other metadata namespaces. +

+

+ Property sets (Namespaces) not listed here are simply passed through to the final + document (if supported). That is useful if you want to specify a custom metadata + schema. +

+
+
+ + + diff --git a/src/documentation/content/xdocs/0.95/pdfa.xml b/src/documentation/content/xdocs/0.95/pdfa.xml index 1b3b75561..bfa1ae33e 100644 --- a/src/documentation/content/xdocs/0.95/pdfa.xml +++ b/src/documentation/content/xdocs/0.95/pdfa.xml @@ -28,9 +28,6 @@
Overview - - Support for PDF/A is available beginning with version 0.92. -

PDF/A is a standard which turns PDF into an "electronic document file format for long-term preservation". PDF/A-1 is the first part of the diff --git a/src/documentation/content/xdocs/faq.xml b/src/documentation/content/xdocs/faq.xml index a75cd41e0..ac2693d8b 100644 --- a/src/documentation/content/xdocs/faq.xml +++ b/src/documentation/content/xdocs/faq.xml @@ -385,6 +385,47 @@

+ + I get a SAXException: Mismatch: page-sequence vs. root + (or similar). + +

+ The full exception usually looks similar to this: +

+ Mismatch: page-sequence (http://www.w3.org/1999/XSL/Format) vs. root + (http://www.w3.org/1999/XSL/Format) +

+ This exception is usually a follow-up error after another exception. Sometimes + the original exception gets swallowed by Xalan's default ErrorListener + (should be fixed in the latest Xalan release). +

+

+ The work-around is to set an explicit ErrorListener on the + Transformer. The ErrorListener can be as simple as this: +

+ +
+
Problems with FOP output @@ -551,8 +592,10 @@ Check the following:

text flows into adjacent cells/block, obscuring stuff there.

- Clipping as specified by the overflow="hidden" is not yet - implemented. If you have long words overflowing table cells, try to + Since the overflow property doesn't apply to table-cell, you + can wrap the cell content in a block-container and specify + overflow="hidden" there. Alternatively, + if you have long words overflowing table cells, try to get them hyphenated. Artificial names like product identifications or long numbers usually aren't hyphenated. You can try special processing at XSLT level, like @@ -574,6 +617,15 @@ Check the following:

XSL list archive for how to perform these tasks.

+

+ If your text is not hyphenated at all and overflows the cell, please check + if you've specified keep-together="always" on the table-cell + or one of its parent elements. keep-together="always" implicitely + also sets keep-together.within-line="always" which forbids FOP + to break the text into multiple lines. This is important as FOP supports inline-level + keeps since version 0.94. It's a good idea not to use the shorthand + keep-together="always" at all! +

diff --git a/src/documentation/content/xdocs/site.xml b/src/documentation/content/xdocs/site.xml index 5ebdef322..d87b68aab 100644 --- a/src/documentation/content/xdocs/site.xml +++ b/src/documentation/content/xdocs/site.xml @@ -123,6 +123,7 @@ + @@ -157,6 +158,7 @@ + diff --git a/src/documentation/content/xdocs/trunk/metadata.xml b/src/documentation/content/xdocs/trunk/metadata.xml new file mode 100644 index 000000000..8c273fff5 --- /dev/null +++ b/src/documentation/content/xdocs/trunk/metadata.xml @@ -0,0 +1,243 @@ + + + + + +
+ Metadata +
+ +
+ Overview +

+ Document metadata is an important tool for categorizing and finding documents. + Various formats support different kinds of metadata representation and to + different levels. One of the more popular and flexible means of representing + document or object metadata is + XMP (eXtensible Metadata Platform, specified by Adobe). + PDF 1.4 introduced the use of XMP. The XMP specification lists recommendation for + embedding XMP metdata in other document and image formats. Given its flexibility it makes + sense to make use this approach in the XSL-FO context. Unfortunately, unlike SVG which + also refers to XMP, XSL-FO doesn't recommend a preferred way of specifying document and + object metadata. Therefore, there's no portable way to represent metadata in XSL-FO + documents. Each implementation does it differently. +

+
+
+ Embedding XMP in an XSL-FO document +

+ As noted above, there's no officially recommended way to embed metadata in XSL-FO. + Apache FOP supports embedding XMP in XSL-FO. Currently, only support for document-level + metadata is implemented. Object-level metadata will be implemented when there's + interest. +

+

+ Document-level metadata can be specified in the fo:declarations element. + XMP specification recommends to use x:xmpmeta, rdf:RDF, and + rdf:Description elements as shown in example below. Both + x:xmpmeta and rdf:RDF elements are recognized as the top-level + element introducing an XMP fragment (as per the XMP specification). +

+
+ Example + + + + + + + Document title + Document author + Document subject + + + + Tool used to make the PDF + + + + + + + fo:declarations must be declared after + fo:layout-master-set and before the first page-sequence. + +
+
+
+ Implementation in Apache FOP +

+ Currently, XMP support is only available for PDF output. +

+

+ Originally, you could set some metadata information through FOP's FOUserAgent by + using its set*() methods (like setTitle(String) or setAuthor(String). These values are + directly used to set value in the PDF Info object. Since PDF 1.4, adding metadata as an + XMP document to a PDF is possible. That means that there are now two mechanisms in PDF + that hold metadata. +

+

+ Apache FOP now synchronizes the Info and the Metadata object in PDF, i.e. when you + set the title and the author through the FOUserAgent, the two values will end up in + the (old) Info object and in the new Metadata object as XMP content. If instead of + FOUserAgent, you embed XMP metadata in the XSL-FO document (as shown above), the + XMP metadata will be used as-is in the PDF Metadata object and some values from the + XMP metadata will be copied to the Info object to maintain backwards-compatibility + for PDF readers that don't support XMP metadata. +

+

+ The mapping between the Info and the Metadata object used by Apache FOP comes from + the PDF/A-1 specification. + For convenience, here's the mapping table: +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Document information dictionaryXMP
EntryPDF typePropertyXMP typeCategory
Titletext stringdc:titleTextExternal
Authortext stringdc:creatorseq TextExternal
Subjecttext stringdc:description["x-default"]TextExternal
Keywordstext stringpdf:KeywordsTextExternal
Creatortext stringxmp:CreatorToolTextExternal
Producertext stringpdf:ProducerTextInternal
CreationDatedatexmp:CreationDateDateInternal
ModDatedatexmp:ModifyDateDateInternal
+ + "Internal" in the Category column means that the user should not set this value. + It is set by the application. + + + The "Subject" used to be mapped to dc:subject in the initial publication of + PDF/A-1 (ISO 19005-1). In the + Technical Corrigendum 1 + this was changed to map to dc:description["x-default"]. + +
+ Namespaces +

+ Metadata is made of property sets where each property set uses a different namespace URI. +

+

+ The following is a listing of namespaces that Apache FOP recognizes and acts upon, + mostly to synchronize the XMP metadata with the PDF Info dictionary: +

+ + + + + + + + + + + + + + + + + + + + + +
Set/SchemaNamespace PrefixNamespace URI
Dublin Coredchttp://purl.org/dc/elements/1.1/
XMP Basicxmphttp://ns.adobe.com/xap/1.0/
Adobe PDF Schemapdfhttp://ns.adobe.com/pdf/1.3/
+

+ Please refer to the XMP Specification + for information on other metadata namespaces. +

+

+ Property sets (Namespaces) not listed here are simply passed through to the final + document (if supported). That is useful if you want to specify a custom metadata + schema. +

+
+
+ + +
diff --git a/src/documentation/content/xdocs/trunk/pdfa.xml b/src/documentation/content/xdocs/trunk/pdfa.xml index 1b3b75561..bfa1ae33e 100644 --- a/src/documentation/content/xdocs/trunk/pdfa.xml +++ b/src/documentation/content/xdocs/trunk/pdfa.xml @@ -28,9 +28,6 @@
Overview - - Support for PDF/A is available beginning with version 0.92. -

PDF/A is a standard which turns PDF into an "electronic document file format for long-term preservation". PDF/A-1 is the first part of the diff --git a/src/java/org/apache/fop/apps/FOURIResolver.java b/src/java/org/apache/fop/apps/FOURIResolver.java index 1f4425a95..58ae6e8e6 100644 --- a/src/java/org/apache/fop/apps/FOURIResolver.java +++ b/src/java/org/apache/fop/apps/FOURIResolver.java @@ -34,14 +34,12 @@ import javax.xml.transform.stream.StreamSource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; - import org.apache.xmlgraphics.util.io.Base64EncodeStream; - -import org.apache.fop.util.DataURIResolver; +import org.apache.xmlgraphics.util.uri.CommonURIResolver; /** * Provides FOP specific URI resolution. This is the default URIResolver - * {@link FOUserAgent} will use unless overidden. + * {@link FOUserAgent} will use unless overridden. * * @see javax.xml.transform.URIResolver */ @@ -50,8 +48,8 @@ public class FOURIResolver implements javax.xml.transform.URIResolver { // log private Log log = LogFactory.getLog("FOP"); - /** URIResolver for RFC 2397 data URLs */ - private URIResolver dataURIResolver = new DataURIResolver(); + /** Common URIResolver */ + private CommonURIResolver commonURIResolver = new CommonURIResolver(); /** A user settable URI Resolver */ private URIResolver uriResolver = null; @@ -152,7 +150,7 @@ public class FOURIResolver implements javax.xml.transform.URIResolver { // data URLs can be quite long so evaluate early and don't try to build a File // (can lead to problems) - source = dataURIResolver.resolve(href, base); + source = commonURIResolver.resolve(href, base); // Custom uri resolution if (source == null && uriResolver != null) { diff --git a/src/java/org/apache/fop/fo/properties/PropertyCache.java b/src/java/org/apache/fop/fo/properties/PropertyCache.java index f834a78ae..d472b574c 100644 --- a/src/java/org/apache/fop/fo/properties/PropertyCache.java +++ b/src/java/org/apache/fop/fo/properties/PropertyCache.java @@ -33,9 +33,12 @@ import java.lang.ref.WeakReference; */ public final class PropertyCache { + private static final int SEGMENT_COUNT = 32; //0x20 + private static final int INITIAL_BUCKET_COUNT = SEGMENT_COUNT; + /** bitmask to apply to the hash to get to the * corresponding cache segment */ - private static final int SEGMENT_MASK = 0x1F; + private static final int SEGMENT_MASK = SEGMENT_COUNT - 1; //0x1F /** * Indicates whether the cache should be used at all * Can be controlled by the system property: @@ -44,13 +47,13 @@ public final class PropertyCache { private final boolean useCache; /** the segments array (length = 32) */ - private CacheSegment[] segments = new CacheSegment[SEGMENT_MASK + 1]; + private CacheSegment[] segments = new CacheSegment[SEGMENT_COUNT]; /** the table of hash-buckets */ - private CacheEntry[] table = new CacheEntry[8]; + private CacheEntry[] table = new CacheEntry[INITIAL_BUCKET_COUNT]; private Class runtimeType; - final boolean[] votesForRehash = new boolean[SEGMENT_MASK + 1]; + private boolean[] votesForRehash = new boolean[SEGMENT_COUNT]; /* same hash function as used by java.util.HashMap */ private static int hash(Object x) { @@ -72,53 +75,61 @@ public final class PropertyCache { } /* Class modeling a cached entry */ - private final class CacheEntry extends WeakReference { - volatile CacheEntry nextEntry; - final int hash; + private static class CacheEntry extends WeakReference { + private volatile CacheEntry nextEntry; + private final int hash; /* main constructor */ public CacheEntry(Object p, CacheEntry nextEntry, ReferenceQueue refQueue) { super(p, refQueue); this.nextEntry = nextEntry; - this.hash = p.hashCode(); + this.hash = hash(p); + } + + /* main constructor */ + public CacheEntry(Object p, CacheEntry nextEntry) { + super(p); + this.nextEntry = nextEntry; + this.hash = hash(p); } } /* Wrapper objects to synchronize on */ - private final class CacheSegment { + private static class CacheSegment { private int count = 0; - private volatile ReferenceQueue staleEntries = new ReferenceQueue(); } private void cleanSegment(int segmentIndex) { - CacheEntry entry; CacheSegment segment = segments[segmentIndex]; - int bucketIndex; + int oldCount = segment.count; - while ((entry = (CacheEntry) segment.staleEntries.poll()) != null) { - bucketIndex = hash(entry.hash) & (table.length - 1); - /* remove obsolete entry */ - /* 1. move to the corresponding entry */ + /* clean all buckets in this segment */ + for (int bucketIndex = segmentIndex; + bucketIndex < table.length; + bucketIndex += SEGMENT_COUNT) { CacheEntry prev = null; - CacheEntry e = table[bucketIndex]; - while (e != null - && e.nextEntry != null - && e.hash != entry.hash) { - prev = e; - e = e.nextEntry; + CacheEntry entry = table[bucketIndex]; + if (entry == null) { + continue; } - if (e != null) { - /* 2. remove reference from the chain */ - if (prev == null) { - table[bucketIndex] = e.nextEntry; + do { + if (entry.get() == null) { + if (prev == null) { + table[bucketIndex] = entry.nextEntry; + } else { + prev.nextEntry = entry.nextEntry; + } + segment.count--; + assert segment.count >= 0; } else { - prev.nextEntry = e.nextEntry; + prev = entry; } - segment.count--; - } + entry = entry.nextEntry; + } while (entry != null); } + synchronized (votesForRehash) { if (oldCount > segment.count) { votesForRehash[segmentIndex] = false; @@ -129,7 +140,7 @@ public final class PropertyCache { /* first time for this segment */ votesForRehash[segmentIndex] = true; int voteCount = 0; - for (int i = SEGMENT_MASK + 1; --i >= 0; ) { + for (int i = SEGMENT_MASK + 1; --i >= 0;) { if (votesForRehash[i]) { voteCount++; } @@ -156,14 +167,15 @@ public final class PropertyCache { private void put(Object o) { int hash = hash(o); - CacheSegment segment = segments[hash & SEGMENT_MASK]; + int segmentIndex = hash & SEGMENT_MASK; + CacheSegment segment = segments[segmentIndex]; synchronized (segment) { int index = hash & (table.length - 1); CacheEntry entry = table[index]; if (entry == null) { - entry = new CacheEntry(o, null, segment.staleEntries); + entry = new CacheEntry(o, null); table[index] = entry; segment.count++; } else { @@ -171,14 +183,14 @@ public final class PropertyCache { if (eq(p, o)) { return; } else { - CacheEntry newEntry = new CacheEntry(o, entry, segment.staleEntries); + CacheEntry newEntry = new CacheEntry(o, entry); table[index] = newEntry; segment.count++; } } if (segment.count > (2 * table.length)) { - cleanSegment(hash & SEGMENT_MASK); + cleanSegment(segmentIndex); } } } @@ -195,7 +207,7 @@ public final class PropertyCache { /* try non-synched first */ for (CacheEntry e = entry; e != null; e = e.nextEntry) { - if (e.hash == o.hashCode() + if (e.hash == hash && (q = e.get()) != null && eq(q, o)) { return q; @@ -209,7 +221,7 @@ public final class PropertyCache { synchronized (segment) { entry = table[index]; for (CacheEntry e = entry; e != null; e = e.nextEntry) { - if (e.hash == o.hashCode() + if (e.hash == hash && (q = e.get()) != null && eq(q, o)) { return q; @@ -235,7 +247,7 @@ public final class PropertyCache { /* double the amount of buckets */ int newLength = table.length << 1; if (newLength > 0) { //no overflow? - /* reset segmentcounts */ + /* reset segment counts */ for (int i = segments.length; --i >= 0;) { segments[i].count = 0; } @@ -250,8 +262,7 @@ public final class PropertyCache { if ((o = c.get()) != null) { hash = c.hash; idx = hash & newLength; - newTable[idx] = new CacheEntry(o, newTable[idx], - segments[hash & SEGMENT_MASK].staleEntries); + newTable[idx] = new CacheEntry(o, newTable[idx]); segments[hash & SEGMENT_MASK].count++; } } @@ -313,7 +324,7 @@ public final class PropertyCache { * @param prop the Property instance to check for * @return the cached instance */ - public final Property fetch(Property prop) { + public Property fetch(Property prop) { return (Property) fetch((Object) prop); } @@ -326,7 +337,7 @@ public final class PropertyCache { * @param chy the CommonHyphenation instance to check for * @return the cached instance */ - public final CommonHyphenation fetch(CommonHyphenation chy) { + public CommonHyphenation fetch(CommonHyphenation chy) { return (CommonHyphenation) fetch((Object) chy); } @@ -339,7 +350,7 @@ public final class PropertyCache { * @param cf the CommonFont instance to check for * @return the cached instance */ - public final CommonFont fetch(CommonFont cf) { + public CommonFont fetch(CommonFont cf) { return (CommonFont) fetch((Object) cf); } @@ -352,21 +363,21 @@ public final class PropertyCache { * @param cbpb the CommonBorderPaddingBackground instance to check for * @return the cached instance */ - public final CommonBorderPaddingBackground fetch(CommonBorderPaddingBackground cbpb) { + public CommonBorderPaddingBackground fetch(CommonBorderPaddingBackground cbpb) { return (CommonBorderPaddingBackground) fetch((Object) cbpb); } /** - * Checks if the given {@link CommonBorderPaddingBackground.BorderInfo} is present in the cache - - * if so, returns a reference to the cached instance. + * Checks if the given {@link CommonBorderPaddingBackground.BorderInfo} is present + * in the cache - if so, returns a reference to the cached instance. * Otherwise the given object is added to the cache and returned. * * @param bi the BorderInfo instance to check for * @return the cached instance */ - public final CommonBorderPaddingBackground.BorderInfo fetch(CommonBorderPaddingBackground.BorderInfo bi) { - + public CommonBorderPaddingBackground.BorderInfo fetch( + CommonBorderPaddingBackground.BorderInfo bi) { return (CommonBorderPaddingBackground.BorderInfo) fetch((Object) bi); } diff --git a/src/java/org/apache/fop/svg/PDFGraphics2D.java b/src/java/org/apache/fop/svg/PDFGraphics2D.java index ca2245a12..cd0a4133b 100644 --- a/src/java/org/apache/fop/svg/PDFGraphics2D.java +++ b/src/java/org/apache/fop/svg/PDFGraphics2D.java @@ -285,7 +285,7 @@ public class PDFGraphics2D extends AbstractGraphics2D { /** * Get the string containing all the commands written into this - * Grpahics. + * Graphics. * @return the string containing the PDF markup */ public String getString() { @@ -294,7 +294,7 @@ public class PDFGraphics2D extends AbstractGraphics2D { /** * Get the string buffer from the currentStream, containing all - * the commands written into this Grpahics so far. + * the commands written into this Graphics so far. * @return the StringBuffer containing the PDF markup */ public StringBuffer getBuffer() { @@ -872,7 +872,7 @@ public class PDFGraphics2D extends AbstractGraphics2D { if (paint instanceof RadialGradientPaint) { RadialGradientPaint rgp = (RadialGradientPaint)paint; - // There is essentially no way to support repeate + // There is essentially no way to support repeats // in PDF for radial gradients (the one option would // be to 'grow' the outer circle until it fully covered // the bounds and then grow the stops accordingly, the diff --git a/src/java/org/apache/fop/svg/PDFTextPainter.java b/src/java/org/apache/fop/svg/PDFTextPainter.java index d8123c4fb..06fea54cc 100644 --- a/src/java/org/apache/fop/svg/PDFTextPainter.java +++ b/src/java/org/apache/fop/svg/PDFTextPainter.java @@ -147,7 +147,9 @@ public class PDFTextPainter extends StrokingTextPainter { textUtil.beginTextObject(); textUtil.setFonts(fonts); - textUtil.setTextRenderingMode(tpi.fillPaint != null, tpi.strokePaint != null, false); + boolean stroke = (tpi.strokePaint != null) + && (tpi.strokeStroke != null); + textUtil.setTextRenderingMode(tpi.fillPaint != null, stroke, false); AffineTransform localTransform = new AffineTransform(); Point2D prevPos = null; diff --git a/src/java/org/apache/fop/util/DataURIResolver.java b/src/java/org/apache/fop/util/DataURIResolver.java index 89db6dc9d..99a8318c8 100644 --- a/src/java/org/apache/fop/util/DataURIResolver.java +++ b/src/java/org/apache/fop/util/DataURIResolver.java @@ -19,60 +19,25 @@ package org.apache.fop.util; -import java.io.ByteArrayInputStream; - import javax.xml.transform.Source; import javax.xml.transform.TransformerException; import javax.xml.transform.URIResolver; -import javax.xml.transform.stream.StreamSource; - -// base64 support for "data" urls -import org.apache.xmlgraphics.util.io.Base64DecodeStream; /** - * Resolves data URLs (described in RFC 2397) returning its data as a StreamSource. - * - * @see javax.xml.transform.URIResolver - * @see RFC 2397 + * @deprecated + * @see org.apache.xmlgraphics.util.uri.DataURIResolver */ public class DataURIResolver implements URIResolver { - /** - * {@inheritDoc} - */ - public Source resolve(String href, String base) throws TransformerException { - if (href.startsWith("data:")) { - return parseDataURI(href); - } else { - return null; - } - } + private final URIResolver newResolver = new org.apache.xmlgraphics.util.uri.DataURIResolver(); /** - * Parses inline data URIs as generated by MS Word's XML export and FO - * stylesheet. - * - * @see RFC 2397 + * @deprecated + * @see org.apache.xmlgraphics.util.uri.DataURIResolver#resolve(String, + * String) */ - private Source parseDataURI(String href) { - int commaPos = href.indexOf(','); - // header is of the form data:[][;base64] - String header = href.substring(0, commaPos); - String data = href.substring(commaPos + 1); - if (header.endsWith(";base64")) { - byte[] bytes = data.getBytes(); - ByteArrayInputStream encodedStream = new ByteArrayInputStream(bytes); - Base64DecodeStream decodedStream = new Base64DecodeStream( - encodedStream); - return new StreamSource(decodedStream); - } else { - // Note that this is not quite the full story here. But since we are - // only interested - // in base64-encoded binary data, the next line will probably never - // be called. - //TODO Handle un-escaping of special URL chars like %20 - return new StreamSource(new java.io.StringReader(data)); - } + public Source resolve(String href, String base) throws TransformerException { + return newResolver.resolve(href, base); } } diff --git a/src/java/org/apache/fop/util/DataURLUtil.java b/src/java/org/apache/fop/util/DataURLUtil.java index d8f7f17bf..8568df274 100644 --- a/src/java/org/apache/fop/util/DataURLUtil.java +++ b/src/java/org/apache/fop/util/DataURLUtil.java @@ -21,47 +21,33 @@ package org.apache.fop.util; import java.io.IOException; import java.io.InputStream; -import java.io.StringWriter; import java.io.Writer; -import org.apache.commons.io.IOUtils; -import org.apache.xmlgraphics.util.io.Base64EncodeStream; - /** - * Utility classes for generating RFC 2397 data URLs. + * @deprecated + * @see org.apache.xmlgraphics.util.uri.DataURLUtil */ public class DataURLUtil { /** - * Creates a new data URL and returns it as a String. - * @param in the InputStream to read the data from - * @param mediatype the MIME type of the content, or null - * @return the newly created data URL - * @throws IOException if an I/O error occurs + * @deprecated + * @see org.apache.xmlgraphics.util.uri.DataURLUtil#createDataURL(InputStream, + * String) */ - public static String createDataURL(InputStream in, String mediatype) throws IOException { - StringWriter writer = new StringWriter(); - writeDataURL(in, mediatype, writer); - return writer.toString(); + public static String createDataURL(InputStream in, String mediatype) + throws IOException { + return org.apache.xmlgraphics.util.uri.DataURLUtil.createDataURL(in, + mediatype); } /** - * Generates a data URL and writes it to a Writer. - * @param in the InputStream to read the data from - * @param mediatype the MIME type of the content, or null - * @param writer the Writer to write to - * @throws IOException if an I/O error occurs + * @deprecated + * @see org.apache.xmlgraphics.util.uri.DataURLUtil#writeDataURL(InputStream, + * String, Writer) */ - public static void writeDataURL(InputStream in, String mediatype, Writer writer) - throws IOException { - writer.write("data:"); - if (mediatype != null) { - writer.write(mediatype); - } - writer.write(";base64,"); - Base64EncodeStream out = new Base64EncodeStream( - new WriterOutputStream(writer, "US-ASCII")); - IOUtils.copy(in, out); - out.flush(); + public static void writeDataURL(InputStream in, String mediatype, + Writer writer) throws IOException { + org.apache.xmlgraphics.util.uri.DataURLUtil.writeDataURL(in, mediatype, + writer); } } diff --git a/src/java/org/apache/fop/util/UnitConv.java b/src/java/org/apache/fop/util/UnitConv.java new file mode 100644 index 000000000..cf599712f --- /dev/null +++ b/src/java/org/apache/fop/util/UnitConv.java @@ -0,0 +1,170 @@ +/* + * 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.util; + +import java.awt.geom.AffineTransform; + +/** + * Utility class for unit conversions. + * @deprecated use org.apache.xmlgraphics.util.UnitConv instead. + */ +public final class UnitConv { + + /** + * conversion factory from millimeters to inches. + * @deprecated use org.apache.xmlgraphics.util.UnitConv.IN2MM instead. + */ + public static final float IN2MM = org.apache.xmlgraphics.util.UnitConv.IN2MM; + + /** + * conversion factory from centimeters to inches. + * @deprecated use org.apache.xmlgraphics.util.UnitConv.IN2CM instead. + */ + public static final float IN2CM = org.apache.xmlgraphics.util.UnitConv.IN2CM; + + /** + * conversion factory from inches to points. + * @deprecated use org.apache.xmlgraphics.util.UnitConv.IN2PT instead. + */ + public static final int IN2PT = org.apache.xmlgraphics.util.UnitConv.IN2PT; + + /** + * Converts millimeters (mm) to points (pt) + * @param mm the value in mm + * @return the value in pt + * @deprecated use org.apache.xmlgraphics.util.UnitConv.mm2pt(mm) instead. + */ + public static double mm2pt(double mm) { + return org.apache.xmlgraphics.util.UnitConv.mm2pt(mm); + } + + /** + * Converts millimeters (mm) to millipoints (mpt) + * @param mm the value in mm + * @return the value in mpt + * @deprecated use org.apache.xmlgraphics.util.UnitConv.mm2mpt(mm) instead. + */ + public static double mm2mpt(double mm) { + return org.apache.xmlgraphics.util.UnitConv.mm2mpt(mm); + } + + /** + * Converts points (pt) to millimeters (mm) + * @param pt the value in pt + * @return the value in mm + * @deprecated use org.apache.xmlgraphics.util.UnitConv.pt2mm(pt) instead. + */ + public static double pt2mm(double pt) { + return org.apache.xmlgraphics.util.UnitConv.pt2mm(pt); + } + + /** + * Converts millimeters (mm) to inches (in) + * @param mm the value in mm + * @return the value in inches + * @deprecated use org.apache.xmlgraphics.util.UnitConv.pt2mm(pt) instead. + */ + public static double mm2in(double mm) { + return org.apache.xmlgraphics.util.UnitConv.mm2in(mm); + } + + /** + * Converts inches (in) to millimeters (mm) + * @param in the value in inches + * @return the value in mm + * @deprecated use org.apache.xmlgraphics.util.UnitConv.in2mm(in) instead. + */ + public static double in2mm(double in) { + return org.apache.xmlgraphics.util.UnitConv.in2mm(in); + } + + /** + * Converts inches (in) to millipoints (mpt) + * @param in the value in inches + * @return the value in mpt + * @deprecated use org.apache.xmlgraphics.util.UnitConv.in2mpt(in) instead. + */ + public static double in2mpt(double in) { + return org.apache.xmlgraphics.util.UnitConv.in2mpt(in); + } + + /** + * Converts inches (in) to points (pt) + * @param in the value in inches + * @return the value in pt + * @deprecated use org.apache.xmlgraphics.util.UnitConv.in2pt(in) instead. + */ + public static double in2pt(double in) { + return org.apache.xmlgraphics.util.UnitConv.in2pt(in); + } + + /** + * Converts millipoints (mpt) to inches (in) + * @param mpt the value in mpt + * @return the value in inches + * @deprecated use org.apache.xmlgraphics.util.UnitConv.mpt2in(mpt) instead. + */ + public static double mpt2in(double mpt) { + return org.apache.xmlgraphics.util.UnitConv.mpt2in(mpt); + } + + /** + * Converts millimeters (mm) to pixels (px) + * @param mm the value in mm + * @param resolution the resolution in dpi (dots per inch) + * @return the value in pixels + * @deprecated use org.apache.xmlgraphics.util.UnitConv.mm2px(mm, resolution) instead. + */ + public static double mm2px(double mm, int resolution) { + return org.apache.xmlgraphics.util.UnitConv.mm2px(mm, resolution); + } + + /** + * Converts millipoints (mpt) to pixels (px) + * @param mpt the value in mpt + * @param resolution the resolution in dpi (dots per inch) + * @return the value in pixels + * @deprecated use org.apache.xmlgraphics.util.UnitConv.mpt2px(mpt, resolution) instead. + */ + public static double mpt2px(double mpt, int resolution) { + return org.apache.xmlgraphics.util.UnitConv.mpt2px(mpt, resolution); + } + + /** + * Converts a millipoint-based transformation matrix to points. + * @param at a millipoint-based transformation matrix + * @return a point-based transformation matrix + * @deprecated use org.apache.xmlgraphics.util.UnitConv.mptToPt(at) instead. + */ + public static AffineTransform mptToPt(AffineTransform at) { + return org.apache.xmlgraphics.util.UnitConv.mptToPt(at); + } + + /** + * Converts a point-based transformation matrix to millipoints. + * @param at a point-based transformation matrix + * @return a millipoint-based transformation matrix + * @deprecated use org.apache.xmlgraphics.util.UnitConv.ptToMpt(at) instead. + */ + public static AffineTransform ptToMpt(AffineTransform at) { + return org.apache.xmlgraphics.util.UnitConv.ptToMpt(at); + } + +} diff --git a/src/java/org/apache/fop/util/WriterOutputStream.java b/src/java/org/apache/fop/util/WriterOutputStream.java index fb6875498..e08109ab0 100644 --- a/src/java/org/apache/fop/util/WriterOutputStream.java +++ b/src/java/org/apache/fop/util/WriterOutputStream.java @@ -24,68 +24,72 @@ import java.io.OutputStream; import java.io.Writer; /** - * An OutputStream wrapper for a Writer. + * @deprecated + * @see org.apache.xmlgraphics.util.WriterOutputStream */ public class WriterOutputStream extends OutputStream { - private Writer writer; - private String encoding; + private final org.apache.xmlgraphics.util.WriterOutputStream writerOutputStream; /** - * Creates a new WriterOutputStream. - * @param writer the Writer to write to + * @deprecated + * @see org.apache.xmlgraphics.util.WriterOutputStream#WriterOutputStream(Writer) + * String) */ public WriterOutputStream(Writer writer) { - this(writer, null); + writerOutputStream = new org.apache.xmlgraphics.util.WriterOutputStream( + writer); } /** - * Creates a new WriterOutputStream. - * @param writer the Writer to write to - * @param encoding the encoding to use, or null if the default encoding should be used + * @deprecated + * @see org.apache.xmlgraphics.util.WriterOutputStream#WriterOutputStream(Writer, + * String) String) */ public WriterOutputStream(Writer writer, String encoding) { - this.writer = writer; - this.encoding = encoding; + writerOutputStream = new org.apache.xmlgraphics.util.WriterOutputStream( + writer, encoding); } /** - * {@inheritDoc} + * @deprecated + * @see org.apache.xmlgraphics.util.WriterOutputStream#close() */ public void close() throws IOException { - writer.close(); + writerOutputStream.close(); } /** - * {@inheritDoc} + * @deprecated + * @see org.apache.xmlgraphics.util.WriterOutputStream#flush() */ public void flush() throws IOException { - writer.flush(); + writerOutputStream.flush(); } /** - * {@inheritDoc} + * @deprecated + * @see org.apache.xmlgraphics.util.WriterOutputStream#write(byte[], int, + * int) */ public void write(byte[] buf, int offset, int length) throws IOException { - if (encoding != null) { - writer.write(new String(buf, offset, length, encoding)); - } else { - writer.write(new String(buf, offset, length)); - } + writerOutputStream.write(buf, offset, length); } /** - * {@inheritDoc} + * @deprecated + * @see org.apache.xmlgraphics.util.WriterOutputStream#write(byte[]) */ public void write(byte[] buf) throws IOException { - write(buf, 0, buf.length); + writerOutputStream.write(buf); } /** - * {@inheritDoc} + * @deprecated + * @see org.apache.xmlgraphics.util.WriterOutputStream#write(int) */ public void write(int b) throws IOException { - write(new byte[] {(byte)b}); + writerOutputStream.write(b); } } diff --git a/status.xml b/status.xml index 1cde45913..02edefb4e 100644 --- a/status.xml +++ b/status.xml @@ -53,6 +53,12 @@ + + Fixed memory leak in property cache (not cleaning stale PropertyCache$CacheEntry instances). + + + Fixed text stroking in SVG when the stroke-width is zero. + Fixed the source for a division by zero when the content of an fo:leader with leader-pattern="use-content" collapses to zero width during layout. @@ -135,7 +141,7 @@ Fixed a ClassCastException when using an fo:wrapper as a child of an fo:block-container. - + Add support for font substitution. @@ -158,7 +164,7 @@ Add partial support for the "show-destination" property on fo:basic-link (PDF output only; see limitations on the compliance page) - + Added minimal support for integer keep values on the various keep properties on block-level FOs. For now, all integer values are treated the same (i.e. without strength distinction). Using integers allows to avoid overflows that can happen when "always" is used extensively. @@ -186,7 +192,7 @@ When a JPEG image is embedded, an optionally embedded color profile is filtered out as it's already embedded separately in the PDF file. - + Added support for addressing all glyphs available in a Type 1 font, not just the ones in the font's primary encoding. @@ -685,7 +691,7 @@ AFP Renderer: Bugfix for 1 bit images where the width is not a multiple of 8. - + Support for keep-together.within-line="always". diff --git a/test/java/org/apache/fop/UtilityCodeTestSuite.java b/test/java/org/apache/fop/UtilityCodeTestSuite.java index 6611f532e..a073c4988 100644 --- a/test/java/org/apache/fop/UtilityCodeTestSuite.java +++ b/test/java/org/apache/fop/UtilityCodeTestSuite.java @@ -26,7 +26,6 @@ import org.apache.fop.events.BasicEventTestCase; import org.apache.fop.pdf.PDFObjectTestCase; import org.apache.fop.traits.BorderPropsTestCase; import org.apache.fop.util.ColorUtilTestCase; -import org.apache.fop.util.DataURIResolverTestCase; import org.apache.fop.util.ElementListUtilsTestCase; import org.apache.fop.util.PDFNumberTestCase; import org.apache.fop.util.XMLResourceBundleTestCase; @@ -49,7 +48,6 @@ public class UtilityCodeTestSuite { suite.addTest(new TestSuite(ColorUtilTestCase.class)); suite.addTest(new TestSuite(BorderPropsTestCase.class)); suite.addTest(new TestSuite(ElementListUtilsTestCase.class)); - suite.addTest(new TestSuite(DataURIResolverTestCase.class)); suite.addTest(new TestSuite(BasicEventTestCase.class)); suite.addTest(new TestSuite(XMLResourceBundleTestCase.class)); //$JUnit-END$ diff --git a/test/java/org/apache/fop/memory/MemoryEater.java b/test/java/org/apache/fop/memory/MemoryEater.java index bdbd47897..a665580ae 100644 --- a/test/java/org/apache/fop/memory/MemoryEater.java +++ b/test/java/org/apache/fop/memory/MemoryEater.java @@ -34,6 +34,7 @@ import javax.xml.transform.sax.SAXResult; import javax.xml.transform.sax.SAXTransformerFactory; import javax.xml.transform.stream.StreamSource; +import org.apache.commons.io.IOUtils; import org.apache.commons.io.output.NullOutputStream; import org.apache.fop.apps.FOUserAgent; @@ -51,28 +52,48 @@ public class MemoryEater { private FopFactory fopFactory = FopFactory.newInstance(); private Templates replicatorTemplates; + private Stats stats; + public MemoryEater() throws TransformerConfigurationException, MalformedURLException { File xsltFile = new File("test/xsl/fo-replicator.xsl"); Source xslt = new StreamSource(xsltFile); replicatorTemplates = tFactory.newTemplates(xslt); } - private void eatMemory(File foFile, int replicatorRepeats) throws Exception { + private void eatMemory(File foFile, int runRepeats, int replicatorRepeats) throws Exception { + stats = new Stats(); + for (int i = 0; i < runRepeats; i++) { + eatMemory(i, foFile, replicatorRepeats); + stats.progress(i, runRepeats); + } + stats.dumpFinalStats(); + System.out.println(stats.getGoogleChartURL()); + } + + private void eatMemory(int callIndex, File foFile, int replicatorRepeats) throws Exception { Source src = new StreamSource(foFile); Transformer transformer = replicatorTemplates.newTransformer(); transformer.setParameter("repeats", new Integer(replicatorRepeats)); OutputStream out = new NullOutputStream(); //write to /dev/nul - FOUserAgent userAgent = fopFactory.newFOUserAgent(); - userAgent.setBaseURL(foFile.getParentFile().toURL().toExternalForm()); - Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, userAgent, out); - Result res = new SAXResult(fop.getDefaultHandler()); - - transformer.transform(src, res); + try { + FOUserAgent userAgent = fopFactory.newFOUserAgent(); + userAgent.setBaseURL(foFile.getParentFile().toURL().toExternalForm()); + Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, userAgent, out); + Result res = new SAXResult(fop.getDefaultHandler()); - System.out.println("Generated " + fop.getResults().getPageCount() + " pages."); + transformer.transform(src, res); + stats.notifyPagesProduced(fop.getResults().getPageCount()); + if (callIndex == 0) { + System.out.println(foFile.getName() + " generates " + + fop.getResults().getPageCount() + " pages."); + } + stats.checkStats(); + } finally { + IOUtils.closeQuietly(out); + } } private static void prompt() throws IOException { @@ -108,9 +129,7 @@ public class MemoryEater { long start = System.currentTimeMillis(); MemoryEater app = new MemoryEater(); - for (int i = 0; i < runRepeats; i++) { - app.eatMemory(testFile, replicatorRepeats); - } + app.eatMemory(testFile, runRepeats, replicatorRepeats); long duration = System.currentTimeMillis() - start; System.out.println("Success! Job took " + duration + " ms"); diff --git a/test/java/org/apache/fop/memory/Stats.java b/test/java/org/apache/fop/memory/Stats.java new file mode 100644 index 000000000..9e371251d --- /dev/null +++ b/test/java/org/apache/fop/memory/Stats.java @@ -0,0 +1,121 @@ +/* + * 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.memory; + +import java.util.Iterator; +import java.util.List; + +class Stats { + + private static final int INTERVAL = 2000; + + private long startTime = System.currentTimeMillis(); + private long lastProgressDump = startTime; + private int pagesProduced; + + private int totalPagesProduced; + + private int step; + private int stepCount; + + private List samples = new java.util.LinkedList(); + + public void checkStats() { + long now = System.currentTimeMillis(); + if (now > lastProgressDump + INTERVAL) { + dumpStats(); + reset(); + } + } + + public void notifyPagesProduced(int count) { + pagesProduced += count; + totalPagesProduced += count; + } + + public void reset() { + pagesProduced = 0; + lastProgressDump = System.currentTimeMillis(); + } + + public void dumpStats() { + long duration = System.currentTimeMillis() - lastProgressDump; + + if (stepCount != 0) { + int progress = 100 * step / stepCount; + System.out.println("Progress: " + progress + "%, " + (stepCount - step) + " left"); + } + + long ppm = 60000 * pagesProduced / duration; + System.out.println("Speed: " + ppm + "ppm"); + samples.add(new Sample((int)ppm)); + } + + public void dumpFinalStats() { + long duration = System.currentTimeMillis() - startTime; + System.out.println("Final statistics"); + System.out.println("Pages produced: " +totalPagesProduced); + long ppm = 60000 * totalPagesProduced / duration; + System.out.println("Average speed: " + ppm + "ppm"); + } + + public String getGoogleChartURL() { + StringBuffer sb = new StringBuffer("http://chart.apis.google.com/chart?"); + //http://chart.apis.google.com/chart?cht=ls&chd=t:60,40&chs=250x100&chl=Hello|World + sb.append("cht=ls"); + sb.append("&chd=t:"); + boolean first = true; + int maxY = 0; + Iterator iter = samples.iterator(); + while (iter.hasNext()) { + Sample sample = (Sample)iter.next(); + if (first) { + first = false; + } else { + sb.append(','); + } + sb.append(sample.ppm); + maxY = Math.max(maxY, sample.ppm); + } + int ceilY = ((maxY / 1000) + 1) * 1000; + sb.append("&chs=1000x300"); //image size + sb.append("&chds=0,").append(ceilY); //data scale + sb.append("&chg=0,20"); //scale steps + sb.append("&chxt=y"); + sb.append("&chxl=0:|0|" + ceilY); + return sb.toString(); + } + + private static class Sample { + + private int ppm; + + public Sample(int ppm) { + this.ppm = ppm; + } + } + + public void progress(int step, int stepCount) { + this.step = step; + this.stepCount = stepCount; + + } + +} diff --git a/test/java/org/apache/fop/util/DataURIResolverTestCase.java b/test/java/org/apache/fop/util/DataURIResolverTestCase.java deleted file mode 100644 index 631b8dac1..000000000 --- a/test/java/org/apache/fop/util/DataURIResolverTestCase.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * 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.util; - -import java.io.ByteArrayInputStream; - -import javax.xml.transform.Source; -import javax.xml.transform.URIResolver; -import javax.xml.transform.stream.StreamSource; - -import org.apache.commons.io.IOUtils; - -import junit.framework.TestCase; - -/** - * Test case for the RFC 2397 data URL/URI resolver. - */ -public class DataURIResolverTestCase extends TestCase { - - private static final byte[] TESTDATA = new byte[] {0, 1, 2, 3, 4, 5}; - - /** - * Tests DataURLUtil. - * @throws Exception if an error occurs - */ - public void testRFC2397Generator() throws Exception { - String url = DataURLUtil.createDataURL(new ByteArrayInputStream(TESTDATA), null); - assertEquals("Generated data URL is wrong", "data:;base64,AAECAwQF", url); - - url = DataURLUtil.createDataURL(new ByteArrayInputStream(TESTDATA), "application/pdf"); - assertEquals("Generated data URL is wrong", "data:application/pdf;base64,AAECAwQF", url); - } - - /** - * Test the URIResolver contract if the protocol doesn't match. Resolver must return null - * in this case. - * @throws Exception if an error occurs - */ - public void testNonMatchingContract() throws Exception { - URIResolver resolver = new DataURIResolver(); - Source src; - - src = resolver.resolve("http://xmlgraphics.apache.org/fop/index.html", null); - assertNull(src); - - src = resolver.resolve("index.html", "http://xmlgraphics.apache.org/fop/"); - assertNull(src); - } - - private static boolean byteCmp(byte[] src, int srcOffset, byte[] cmp) { - for (int i = 0, c = cmp.length; i < c; i++) { - if (src[srcOffset + i] != cmp[i]) { - return false; - } - } - return true; - } - - /** - * Test the DataURIResolver with correct values. - * @throws Exception if an error occurs - */ - public void testDataURLHandling() throws Exception { - URIResolver resolver = new DataURIResolver(); - Source src; - - src = resolver.resolve("data:;base64,AAECAwQF", null); - assertNotNull(src); - StreamSource streamSource = (StreamSource)src; - byte[] data = IOUtils.toByteArray(streamSource.getInputStream()); - assertTrue("Decoded data doesn't match the test data", byteCmp(TESTDATA, 0, data)); - - src = resolver.resolve( - "data:application/octet-stream;interpreter=fop;base64,AAECAwQF", null); - assertNotNull(src); - streamSource = (StreamSource)src; - assertNotNull(streamSource.getInputStream()); - assertNull(streamSource.getReader()); - data = IOUtils.toByteArray(streamSource.getInputStream()); - assertTrue("Decoded data doesn't match the test data", byteCmp(TESTDATA, 0, data)); - - src = resolver.resolve("data:,FOP", null); - assertNotNull(src); - streamSource = (StreamSource)src; - assertNull(streamSource.getInputStream()); - assertNotNull(streamSource.getReader()); - String text = IOUtils.toString(streamSource.getReader()); - assertEquals("FOP", text); - - /* TODO Un-escaping of special URL chars like %20 hasn't been implemented, yet. - src = resolver.resolve("data:,A%20brief%20note", null); - assertNotNull(src); - streamSource = (StreamSource)src; - text = IOUtils.toString(streamSource.getReader()); - assertEquals("A brief note", text); - */ - } - -} -- 2.39.5