From c9af7780c04cebc1f64c2db6313dd6b1fd2213c5 Mon Sep 17 00:00:00 2001 From: Bertrand Delacretaz Date: Wed, 27 Sep 2006 15:32:21 +0000 Subject: [PATCH] Code from Vincent Hennebert's patch, attachment 18917 to bugzilla 35948. With minor changes to hardcoded pathnames, see README-foray-font.txt git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/foray-font@450479 13f79535-47bb-0310-9956-ffa450edef68 --- README-foray-font.txt | 23 + axsl-temp-stuff/axsl-font-conf.xml | 158 ++++++ axsl-temp-stuff/fop-foray-test.fo | 207 ++++++++ conf/fop.xconf | 3 + lib/axsl-0.2a.jar | Bin 0 -> 97339 bytes lib/foray-common.jar | Bin 0 -> 81695 bytes lib/foray-font.jar | Bin 0 -> 279596 bytes lib/foray-ps.jar | Bin 0 -> 243779 bytes src/java/org/apache/fop/apps/FOUserAgent.java | 43 ++ .../org/apache/fop/area/AreaTreeHandler.java | 6 +- .../org/apache/fop/area/AreaTreeParser.java | 2 - .../fop/area/CachedRenderPagesModel.java | 7 +- .../org/apache/fop/area/RenderPagesModel.java | 25 +- src/java/org/apache/fop/area/Trait.java | 8 +- .../fop/area/inline/UnresolvedPageNumber.java | 40 +- .../apache/fop/cli/AreaTreeInputHandler.java | 11 +- src/java/org/apache/fop/cli/Main.java | 1 + .../org/apache/fop/fo/FOEventHandler.java | 116 +++- src/java/org/apache/fop/fo/PropertyList.java | 2 +- .../apache/fop/fo/properties/CommonFont.java | 117 ++-- .../fop/layoutmgr/BlockLayoutManager.java | 16 +- .../org/apache/fop/layoutmgr/TraitSetter.java | 10 +- .../layoutmgr/inline/AlignmentContext.java | 28 +- .../inline/CharacterLayoutManager.java | 33 +- .../inline/ExternalGraphicLayoutManager.java | 1 - .../layoutmgr/inline/InlineLayoutManager.java | 15 +- .../layoutmgr/inline/LeaderLayoutManager.java | 23 +- .../layoutmgr/inline/LineLayoutManager.java | 16 +- .../PageNumberCitationLastLayoutManager.java | 4 +- .../PageNumberCitationLayoutManager.java | 31 +- .../inline/PageNumberLayoutManager.java | 31 +- .../inline/ScaledBaselineTableFactory.java | 16 +- .../layoutmgr/inline/TextLayoutManager.java | 52 +- src/java/org/apache/fop/pdf/PDFDocument.java | 2 +- src/java/org/apache/fop/pdf/PDFFactory.java | 502 +++++++++--------- src/java/org/apache/fop/pdf/PDFFont.java | 93 ++-- .../org/apache/fop/pdf/PDFFontDescriptor.java | 11 +- .../org/apache/fop/pdf/PDFFontNonBase14.java | 5 +- .../org/apache/fop/pdf/PDFFontTrueType.java | 3 +- src/java/org/apache/fop/pdf/PDFFontType0.java | 5 +- src/java/org/apache/fop/pdf/PDFFontType1.java | 3 +- src/java/org/apache/fop/pdf/PDFFontType3.java | 5 +- src/java/org/apache/fop/pdf/PDFResources.java | 32 +- src/java/org/apache/fop/pdf/PDFText.java | 4 +- .../render/AbstractPathOrientedRenderer.java | 11 +- .../apache/fop/render/AbstractRenderer.java | 21 +- .../org/apache/fop/render/PrintRenderer.java | 47 +- src/java/org/apache/fop/render/Renderer.java | 15 +- .../apache/fop/render/afp/AFPRenderer.java | 8 - .../render/java2d/Java2DGraphicsState.java | 33 +- .../fop/render/java2d/Java2DRenderer.java | 112 +++- .../fop/render/pdf/PDFGraphics2DAdapter.java | 4 +- .../apache/fop/render/pdf/PDFRenderer.java | 148 ++++-- .../pdf/PDFRendererContextConstants.java | 4 +- .../apache/fop/render/pdf/PDFSVGHandler.java | 32 +- .../fop/render/ps/AbstractPSTranscoder.java | 2 +- .../apache/fop/render/ps/EPSTranscoder.java | 2 +- .../org/apache/fop/render/ps/PSFontUtils.java | 86 ++- .../org/apache/fop/render/ps/PSRenderer.java | 58 +- .../apache/fop/render/ps/PSSVGHandler.java | 28 +- .../apache/fop/render/ps/PSTextPainter.java | 142 +++-- .../apache/fop/render/ps/PSTranscoder.java | 2 +- .../org/apache/fop/render/rtf/RTFHandler.java | 3 - .../rtf/rtflib/rtfdoc/RtfListStyle.java | 2 +- .../rtflib/rtfdoc/RtfPageNumberCitation.java | 2 +- .../apache/fop/render/xml/XMLRenderer.java | 19 +- .../apache/fop/svg/AbstractFOPTranscoder.java | 84 ++- .../org/apache/fop/svg/PDFBridgeContext.java | 31 +- .../apache/fop/svg/PDFDocumentGraphics2D.java | 33 +- .../org/apache/fop/svg/PDFGraphics2D.java | 189 ++++--- .../apache/fop/svg/PDFTextElementBridge.java | 8 +- .../org/apache/fop/svg/PDFTextPainter.java | 98 ++-- .../org/apache/fop/svg/PDFTranscoder.java | 6 +- src/java/org/apache/fop/traits/SpaceVal.java | 16 +- .../fop/layoutengine/LayoutEngineTester.java | 3 + .../apache/fop/threading/FOProcessorImpl.java | 3 +- 76 files changed, 1968 insertions(+), 994 deletions(-) create mode 100644 README-foray-font.txt create mode 100644 axsl-temp-stuff/axsl-font-conf.xml create mode 100644 axsl-temp-stuff/fop-foray-test.fo create mode 100644 lib/axsl-0.2a.jar create mode 100644 lib/foray-common.jar create mode 100644 lib/foray-font.jar create mode 100644 lib/foray-ps.jar diff --git a/README-foray-font.txt b/README-foray-font.txt new file mode 100644 index 000000000..b1b929a90 --- /dev/null +++ b/README-foray-font.txt @@ -0,0 +1,23 @@ +See http://issues.apache.org/bugzilla/show_bug.cgi?id=35948 for more details about +the work being done on integrating foray-font in FOP. + +Currently, to run the version found in the foray-font branch: + +1) Compile from Eclipse, there are still many compilation errors which break + the ant build. + +2) Run from Eclipse, for the same reasons. + Using the following parameters should work: + + ./axsl-temp-stuff/fop-foray-test.fo /tmp/output.pdf + +3) Create some symbolic links in /tmp/foray-links, as some filenames are hardcoded. + + Here are my current links, adapt to your environment: + + /tmp/foray-links/axsl -> /YOUR_BASE/axsl/trunk/axsl + /tmp/foray-links/axsl-temp-stuff -> /YOUR_BASE/apache/fop/branches/foray-font/axsl-temp-stuff + /tmp/foray-links/config/glb12.ttf -> /YOUR_BASE/apache/fop/branches/foray-font/test/resources/fonts/glb12.ttf + /tmp/foray-links/foray-font/resource -> /YOUR_BASE/foray/trunk/foray/foray-font/resource + + \ No newline at end of file diff --git a/axsl-temp-stuff/axsl-font-conf.xml b/axsl-temp-stuff/axsl-font-conf.xml new file mode 100644 index 000000000..13d5fe740 --- /dev/null +++ b/axsl-temp-stuff/axsl-font-conf.xml @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/axsl-temp-stuff/fop-foray-test.fo b/axsl-temp-stuff/fop-foray-test.fo new file mode 100644 index 000000000..15670d10d --- /dev/null +++ b/axsl-temp-stuff/fop-foray-test.fo @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + This is a custom font: Gladiator + + + Here's an e acute: é + + + Here's aeiou, all with circumflex: âêîôû + + + + + +Helvetica + + +! " # $ % & ' ( ) * ++ , - . / 0 1 2 3 4 +5 6 7 8 9 : ; < = > +? @ A B C D E F G H +I J K L M N O P Q R +S T U V W X Y Z [ \ +] ^ _ ` a b c d e f +g h i j k l m n o p +q r s t u v w x y z +{ | } ~ ¡ ¢ £ ¤ ¥ ¦ +§ ¨ © ª « ¬ ® ¯ ° ± +² ³ ´ µ ¶ · ¸ ¹ º » +¼ ½ ¾ ¿ À Á Â Ã Ä Å +Æ Ç È É Ê Ë Ì Í Î Ï +Ð Ñ Ò Ó Ô Õ Ö × Ø Ù +Ú Û Ü Ý Þ ß à á â ã +ä å æ ç è é ê ë ì í +î ï ð ñ ò ó ô õ ö ÷ +ø ù ú û ü ý þ ÿ +Œ œ Š š Ÿ +Ž ž ƒ ˜ – — ‘ +’ ‚ “ ” „ † ‡ +• … ‰ ‹ › ™ + + + +Times Roman + + +! " # $ % & ' ( ) * ++ , - . / 0 1 2 3 4 +5 6 7 8 9 : ; < = > +? @ A B C D E F G H +I J K L M N O P Q R +S T U V W X Y Z [ \ +] ^ _ ` a b c d e f +g h i j k l m n o p +q r s t u v w x y z +{ | } ~ ¡ ¢ £ ¤ ¥ ¦ +§ ¨ © ª « ¬ ® ¯ ° ± +² ³ ´ µ ¶ · ¸ ¹ º » +¼ ½ ¾ ¿ À Á Â Ã Ä Å +Æ Ç È É Ê Ë Ì Í Î Ï +Ð Ñ Ò Ó Ô Õ Ö × Ø Ù +Ú Û Ü Ý Þ ß à á â ã +ä å æ ç è é ê ë ì í +î ï ð ñ ò ó ô õ ö ÷ +ø ù ú û ü ý þ ÿ Œ +œ Š š Ÿ Ž ž ƒ +˜ – — ‘ ’ ‚ +“ ” „ † ‡ • … +‰ ‹ › ™ + + + +Courier + + +! " # $ % & ' ( ) * ++ , - . / 0 1 2 3 4 +5 6 7 8 9 : ; < = > +? @ A B C D E F G H +I J K L M N O P Q R +S T U V W X Y Z [ \ +] ^ _ ` a b c d e f +g h i j k l m n o p +q r s t u v w x y z +{ | } ~ ¡ ¢ £ ¤ ¥ ¦ +§ ¨ © ª « ¬ ® ¯ ° ± +² ³ ´ µ ¶ · ¸ ¹ º » +¼ ½ ¾ ¿ À Á Â Ã Ä Å +Æ Ç È É Ê Ë Ì Í Î Ï +Ð Ñ Ò Ó Ô Õ Ö × Ø Ù +Ú Û Ü Ý Þ ß à á â ã +ä å æ ç è é ê ë ì í +î ï ð ñ ò ó ô õ ö ÷ +ø ù ú û ü ý þ ÿ Œ +œ Š š Ÿ Ž +ž ƒ ˜ – — ‘ +’ ‚ “ ” „ † ‡ +• … ‰ ‹ › ™ + + + + ZapfDingbats: + + +✁ ✂ ✃ ✄ ☎ ✆ ✇ +✈ ✉ ☛ ☞ ✌ ✍ ✎ +✏ ✐ ✑ ✒ ✓ ✔ ✕ +✖ ✗ ✘ ✙ ✚ ✛ ✜ +✝ ✞ ✟ ✠ ✡ ✢ ✣ +✤ ✥ ✦ ✧ ★ ✩ ✪ +✫ ✬ ✭ ✮ ✯ ✰ ✱ +✲ ✳ ✴ ✵ ✶ ✷ ✸ +✹ ✺ ✻ ✼ ✽ ✾ ✿ +❀ ❁ ❂ ❃ ❄ ❅ ❆ +❇ ❈ ❉ ❊ ❋ ● ❍ +■ ❏ ❐ ❑ ❒ ▲ ▼ +◆ ❖ ◗ ❘ ❙ ❚ ❛ +❜ ❝ ❞ ❡ ❢ ❣ ❤ +❥ ❦ ❧ ♣ ♦ ♥ ♠ +① ② ③ ④ ⑤ ⑥ ⑦ +⑧ ⑨ ⑩ ❶ ❷ ❸ ❹ +❺ ❻ ❼ ❽ ❾ ❿ ➀ +➁ ➂ ➃ ➄ ➅ ➆ ➇ +➈ ➉ ➊ ➋ ➌ ➍ ➎ +➏ ➐ ➑ ➒ ➓ ➔ → +↔ ↕ ➘ ➙ ➚ ➛ ➜ +➝ ➞ ➟ ➠ ➡ ➢ ➣ +➤ ➥ ➦ ➧ ➨ ➩ ➪ +➫ ➬ ➭ ➮ ➯ ➱ ➲ +➳ ➴ ➵ ➶ ➷ ➸ ➹ +➺ ➻ ➼ ➽ ➾   +       +     + + + + Symbol: + + +! # % & ( ) + , . / +0 1 2 3 4 5 6 7 8 9 +: ; < = > ? [ ] _ m +{ | } ¬ ° ± µ × ÷ +ƒ Α Β Γ Ε Ζ Η +Θ Ι Κ Λ Μ Ν Ξ +Ο Π Ρ Σ Τ Υ Φ +Χ Ψ α β γ δ ε +ζ η θ ι κ λ ν +ξ ο π ρ ς σ τ +υ φ χ ψ ω ϑ ϒ +ϕ ϖ • … ′ ″ ⁄ +ℑ ℘ ℜ Ω ℵ ← ↑ +→ ↓ ↔ ↵ ⇐ ⇑ ⇒ +⇓ ⇔ ∀ ∂ ∃ ∅ ∆ +∇ ∈ ∉ ∋ ∏ ∑ − +∗ √ ∝ ∞ ∠ ∧ ∨ +∩ ∪ ∫ ∴ ∼ ≅ ≈ +≠ ≡ ≤ ≥ ⊂ ⊃ ⊄ +⊆ ⊇ ⊕ ⊗ ⊥ ⋅ ⌠ +⌡ 〈 〉 ◊ ♠ ♣ ♥ +♦       +       +       +       +  + + + + Some special characters: + + +Euro ( dec 8364, hex 20AC): € + + + + + + + + + + + diff --git a/conf/fop.xconf b/conf/fop.xconf index a3b3c2340..2c10f4f7a 100644 --- a/conf/fop.xconf +++ b/conf/fop.xconf @@ -33,6 +33,9 @@ the location of this file. . + + /path/to/Fop/conf/fonts.xconf 72 diff --git a/lib/axsl-0.2a.jar b/lib/axsl-0.2a.jar new file mode 100644 index 0000000000000000000000000000000000000000..d2af04dbc9210cd9d13c5180347066f70ca2c5f7 GIT binary patch literal 97339 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%0D4)jO8HY^G94vG5~P$!cSRN)DN=471_H@r8i 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νn$Bub8TTz~)GcYt_>kkbb9(&$UPS>D%0XIU8 z1x4%ucqV`7J;yaeTe|%|cxLx&<~4oWD`m*9qE~mDP<+k$Ni)8%R7|7ws!!^2-`BnL zEUQe{Wx?d*@|UtTtISWkr#hdqA>RcU8%!YySw=g=DEH9n7JtX<-76>cD?8Hgjp?-m zyg9Q~7)2J5C6BvhZv9Q(l2o-rRn@hC;a44pO1he1MDh6`=Ix)9XkzV>U0|*4yk6XN z6neaP;pb*ofwNxUw^;^0T2Mz%m5V7%(7(gRj*$e~%hif9*R#dY&=#J<9EiN${2 z=hgSd-nlny#n$)U2_$yUpLiBv3NeZecn7`z`OZ&$LZamDPMxqu2aI*UrGE0LGw4T# zYM9dGI~oS#tJ#H(_fe))fPIV43k=A?a*>=f68eetfG#xq-BW!|0g9jM#5^De`yn7N z7yd0c4;$)Jd9L=CyHrUp)&oASFWumE&{IRej@K>Bhf;qo#>aYO?=EKery7(*(BBM6 zqQ_m=^e&Rl`;a_NsM{N?Z7l!acZ|nAm?H+5U6s4`aN8<3zoD+_UP1$qF+NoKL*c%P zcgdjssyoQ``(Y4h+!#O+)4k*hD~4e>(Il0|>EwF{!(rS}7lnPU@&SfK^atWZ{bX}5 zk%L_al1ePPIy>m_R^L3L$RVGs!q1v%;_(LN^!ZVdp%7$DfIsl2aYP|-k(~-kDH@T*38} zdp+U_D4onejZmPK9gB2z^|YWCGW}`ICY7eH?u%!6^KcfD@0!`^RNo?2iDVsrb>_DH zDA{`9uDcrGnZ@jbqEoKcobFV`LS8bAs5eHSoqi~^Oy+M9ciC*weIX$w2V1NqZX(`1 zK3Ay${6ON53yT= zvz`ccXo&!qbp`OUfv!znHXL{=2P79G4QSSBQe3N%STXEqf_-36d_>MMF(0q$x6oA8Ds* zmI%>mmITonmH`OpVQ@G}+_TwE31BQFXXlng6I=J!DZ@=I?bA zMMD#(320htF38!%%DBmm$*%DNA}w7-ECUP#^8*y+;J>sg@}!e1$m4JUdd2Ah6;RV? z0G&Ak8x2dwX%)+!Jg5LHIBjx^`aFsND@X=R7Y+s$OYUmL@{}{xic;ug^#p@rXN%+s zSN9s}%5o`i8};(w5$7Wn_QZ&3k!srN{QK|bOVEYc9f`BY+i!|R9L7Pcc(%07i`vO6 z;llw>U)wVln#D-kwF}U|u}k*}j><>Q%71*Xy#2_vt9&_H+YzMXnN&61AL{&%x-}%+ z%y-Ar+3bE;p++iZO>Q9~sZXaI<{Y{3H1c`?f~K*1EJp~_MCYU|Ws?K7VIsCu zs`g=2DAa|gXh<4aZ{L^G;Ta{v%5vZM=@MFqnEp_GH1P-0{>JEd)Vcc8dK3lAgw3d8 zQ%5~}C2^ML%w%7O;Mp6xr)^g7)WJ+wg!sf~vh(0LCdaNKkpnDNu4-RHrk4-O1ax;3 zv@Re}wQ{k*qv)Q`wI~(2&0FC@(5?oY0c(*gYoVgSKh@;*TY~G^vL>f*pdI8siPv@H z1hjNxRzjF|+IfarM#0t=+MTKwdQ%$K$$TZm{ISN~V{^GC+!g|4xAPD~@-D4z2BtaX}` zwCNSJzWJHOY*x&oGhgoEEz3e(MUwy!AO3tpINY~A^L(fi<0hjlz7EZ{+fH;-N~T-t zB0Zj8hSPrqAMRPFNjQEiL&jjmx?at*tTU8OlijK0PI1?;i@u3O>>f`GJy%Ox=h3~} z?4(&-F!d;rTGocrT(u=kwT6Z)rYf9%*otkI5 zTpSqr;nPWTEXJX^-q4UlncK8N1~_n-hed8!w1Q;OB93+m?s&f-+pLhU&7ODTkLT`a z;9!~~W9kuYW-z&S(>4MA*>a;DOOfYkNBGIcs*@WBEASBWfsE8nwRwN(-~w{crle_QM<-25f%!CWB_+FUi0T&%v_Cb0;dht7p&4E6`bF`!}IsDs8;!v3x7F~rW zhIyOen^bK{z$!!*JhHk7C>T2*3Vl9eoeMc~ex?!WB%8K^iI9=Dj9zXP+cc`KW+M4mGaoJ%z$*$njW*xdg9%$BPgf718{J-4lh}Y=#WNNfjM;S%ujp>aqUW%Io?c;x%JxGr-{A@W`;OF`Osteyt8!ZWx6s zPdaN^?Lj)G9=n)VAA_p+X=FR80f>`C7l$92N4l+b2-b5-ynej#xvd)llt|_`?ON^) z_RZ_jVjPpJzvSj10KP;T*7uv zN?@^YauiI-3DT~BC_D>D*M!&rRZ)!vi;j$ug=|2M+q|e}1m(OCZN7%)!S`gdx7e7H z_iOx@61@lCcgKT+jO&CW=Pl^iccQj?f@Fnct>kMNjh*8fd!@L!;0GfQ*w|MUm{n92Xj|5W0ZHvf+qCt1bX8eIs3zftP0!PC^jNY-V$` z-TW&1^Zt3&{+q4M(ysAVXs8$T*7NN*WFNi(6J!NGKGU+?qvETQV7_Iq4^d`%^3e~r zShgByM-6Oc#1>p#AM#1FOe6mBNFnbu?2jn*;sZTxo_3xj%BmH9l{ZO?bmfT{RpnkY zcWn9b^rMb~Lf1aU%R?XKb;%+$uffEef87I9W5<1xIZRjF5g&(owB4PY1tKtc1iMR3 z8Y4R@wKy-WIR!b5ehKjCnXD8aX%W5glp#mM;`B01Sb8+9SVVaBOkD>FU zX4HThh0)G+CoowjAa2^spGwg^CPxPvnJng7)G?@JmH9K?RdrfZiTrq=M8EaB+L%gQ zm(VzqcqL_$bGSVvP?{S$JGzeuXi^M!6-R4J8K&?LOLHK5=k_q#rNFE18wB>=2gHBh zFm0}89mD_T*m3@IY7zgRHq3unwUV`9y)jlj{`vuv&6@F0Bz57xGf6^k(Z%328b-|p z*D=cM$JIx}SdwF@^WI&34{}}$x7-3)qH{{=Y)I)5v&%`twu!TvOw-21UrF4uISy^Jc@Z{O-&^X{~IgHmVt;Pd3KrX}EePDhn=l^gBL z_e>H0?n~5k-q-qm;P+IU{jCZ4d*l2crS&cUAOU&jeh-saU#;@5>Yz2$i@=wRQEyEM zvBir$v2Pj2&dr|Rhi1TEhQ8Pv6L#H|8}y&jHzjz!6?^8skeJiCmDfy5M}N!Lb)a7S zx~fxpANB}+p#)GLr}LTjmDpW0!*{5l1m-{2sPC6nyrB%r#=#%; z%B14ou-@y%u#{M}E=JY0_EU=+s0~u2`lu#98-&&0+Np2HX>)Z8r4;w7)Cck8q(9f9 zWipap=R;%&4z<~<9>;ldB-<%5eO+XVDb)nZp9(dOER_#N1@OBE+wpl$C7gB1(Y{aixGyEkv zok6CglGi$7Y}Q3$MUG}BTvt`v+Vfjsw*P4*Cub!lB`~^rOAfI+d&>vh5_5{obAZG6 zNuP|z%JYOkxI-%IXr-kjQ0`sF%hPK~Y6j3e!{4pv<%#U(#_mdBb9Qxgp?*vx^yA*! z;J3B?BH+(&yu8ZJ^48Ya+?AMZ%Rjn8%=m&L<`T}(k5lni0S!_q^e?K%_|F=e0GPhYYW{snErU3YTc=?ZFDjW zTaOi)GPVGZ@8U-LDeMeW0r73cvMXsWIp|5Xe4Qi!9?eje3k!irdk=T|v}+=6)#d7Kx^JxV6d zXEcJI&v=}P3c~d@8VW_5$co54Sn{w7Tb#9Zb}w>XlE=0_hTU*kz=!L`aOv zzpFLM)Lq`Wsf5`84ZEdrfv|`D_C{(uIW6>!A8zAZtb1z+8W%+<5Tr-@(sMJSB zj6o_Pj{vyLXm_0^N@Lv0Ett1rqNkplbYP6vjS(U7z!neDkVrtqb6gN^!-yuScA=dr z8%Pqwo*!4=Tgrf8bzzG@OB0Cug|n%n(J6pob%tWYW3xfFr+D&md(a%ASiR40h)gaF zHxw0Yrd$ikXN+Dbl4)$RXplKRFl}Yz+@sI~1~ICA>PI9=CuN;2kYq3Y4r=N=G?VLa zJ&o7bd-~4yC+8|&m6>S4H21>%GDi!^Ed~jxB1|)bmaad|6b433HT1JTkI}~|k`d<6 zOwUfu+inr$#$7f^7@^C8E;#pHzS~^B4JU*L4uHcVCIz}o{}x(gFk0v?n+mpG+h~Wd z5Pi%@Q1$L*e71+uRBiY(9B3AI96`i(wVVVAG8a+VPS*0#oXyyGq$6q)pTbGrSAOJb zAX4Xy9YZBFzY(L%pd+^>Gj{FZwFt7l`nuEZ_wGyBkqXR_2{mCmPWb%w0vn2BA9Nc$v2 zR#D|dY7xWIgmz^M(a4j3m;3JWf#sX|oWVBTz+<4NzYJ=NI&~7hA~n%?REbMs9qV%? z1byCt;rX^aR6u&s%av4NhUb7-9kRrgemnnGTt`=EMhBfvcfC~enYI*#~!4X=MJeimv_$T z+&BjsoDjn1nHFY#KgvVXJfrAC8DGF)i*qhZ7C79S<>=Yk)~>1kpGxioPvs&t-$gz1ex!yJgX-)P<1{BgD|hHw(dyBYZz8rG}&-NR7%pW zYFAPXX!2NDlK6bLTe3;)5Yo$W(tJx~hflI>SCb0K7YINl?L;}wgr>j0J4v>%!b+6U zJ@Yza*iW7gE#hQL*1_a&%(o}z_=&@nUV&X+R_Oid5)DPYP-@oG@y5($(7#u`5v;{#r(efYf zDFwDVp|$&~m z={#Eh!c7l*yo|xn{l}F1yERxfHOd(N=pDS~o=_kD9HXHr(o^;nMd7jaObKH*z8Jyv z(ekyw)k{PMQh53suWh-AhmSi$p6?!8678 zw_5al$0!4XsyAe7QzO<)M1@vg-&+r0J(q|V?|TJRK481w0JUBr6Yr!;N(ug$w?trDA5)>d6A3s4PT5WaIYg8)6wS5ZA7l?gO1@TGch|>KJrXQDC z%PqOWwi0jE=k8k-Q#u+?{7|vaNFgijXOU&?o))KRLvI352K@ergr#*17jmQ9fM~r3 z0VJ?%u9`{t3Nz>fIcHXNmD&tX>ydiy3q*H=KfSEG*?o`4GfE7;7_4Z*2(O)GU(r&5 zTVlgtQOa57k_sqi;CnryW9B$CiEDp)`#AU_@oxyuZuzeI3|JgL*cT7siyln(dqu7M zWSG9-e+ zq~Cjtyf@^}SjKc^15)&-l~qOKc4>W2K8sNwGq=d;emjz6+G(WPk_8GpqU-fk;l4>U z;$lKj<6CR`mq7(BJ>qj!_N0X2#(+0o9r%xKT)lBNq zSwd7=DcwLJELQ!NL{gVS>5!}Xa@kEZ#9WNf7u^0P>{n8N;d z0A6GUP!&jPl`)}%oR@U0(zBTrZxNO#lO@&kP+xR;mIu=s(w(>_x0X53o@jCK@8ZNB zgRjGIxfv`wPD04-R$Ec8P&z#2>wR8IhI47$ojg zO6|k5L?}f~1_g4?TQL=Uq{@d@R)kNoQ5eVyz&V6XW(UL!G718@_yvB2Qv@>$e;<1v!eh>{mKL;6D&f z!SLQz0CpPyiGIl21qk+&j9QGHrpXUuR_#*K#d2yAk7TaUA)B>dadsYs8m!r1m(`>|)Eanq2l zv8*>%wu97klKXVIo}pI_T))(Gy04gZW&U&hU(l{1e209E-yYv?v*d&AbAU-3S(B%X zf~;I(pKtL{>%8deQvnwyAzxI&)1oPj>0=gCf?pYdAFfpFhr7AixA?MSw3V=ITJU=G z#~S}#0qCH#8@UDl=Lr1%?HkAcNdZv&&#-!@|64c`H?p;~@sKmMHU1x5>u&XRyG20^ zespsx7a1L99W8B(Es9fp3oW{cI5;u5ia2+tDS)eEmT_mWFU;>+lR1BB!hNgLLO>+*!@n*Y|hiZ(_Q$yC@?#Be;|}l(;20CAeldjI6p7q@n8= zjHM1@KNxHapT?T#z`G;aOO-Xtx!=@{wiqChf9;ulzBT~5GT7+i9J(1~;9TfyPBT6G z7cQmq54i!sM3lMGjSXk8MI5f9OSWb;$C9&}m=?dM&q9j58dR4Vto03kLuuoi$e2!g zH;`nSZOuiG)?iv(OwqD8-64xi&Zf7V##h^a!mub_0&PWG zY4JQi-aUn^B5Y|N`4o2v;5@6#0Z0DX+AkSS)E0pqWFFCiS1q6?hI8VzOPWl*Di_$Iw^$2x zOX8y(?{;&oh)xJN&!RZ7vn}K)GZV{?esyrC?;Wo60`NRT8jFD;CSy>E2KKA^$*B7A zgQx`4`S`ZnE-WsrhqydANQD%k>SmV+v^6CTa(Ot-B0L(Mh>Xdr7Uz&jz5>Pke)9vC zZ%c6rqeD2( zr=uZ3apgp+%p7}~2y%np|AK;tY*g&H{inNb{L@{T{(l}K2`773hyRk*qLnxPogNha zbD02@#H6@ypcO1|@|r%MUBn>>R53~D3TV=xZgxXVab*4Zpp6ZU{h!Z= zYOvBV00m9Q#MERajf9;~qp?kWu!_Wnh4XvoDG5Cda`JHS zfW%LR3_?8#Wq*PZu~b-hrtWr_Wx<8q;o?Z{bg#jkv_}yN8tbNNvB_xe5mAO@N5?0( zi5FxJ1ktV>l3+yiN*qZVgyKZJN%$j;68Q{H*i!&sOAj@ZN@^7odQA!5@mkO%)H-lx z!Vlq326@L)ue?_d=%;S+jrT-k@*KY9@qNqzZ&DI@Ys|8Wf~uMmPV6RH>5I|svV(A@ zF-cgWV?h8IvZicHuT>tDkH|i&v&9-lYJd3G0Pxo=3b@T|ULo4thVmf4 zM~H(bqA2um)iFtE;|2AnW>LK@RjjQ|WGUMzoW9pgOs zs_BU|OU4X9R(l^dsuM6`F5v8cf)?N5JQ1w`;lP9AEjNYQKxX<@3FF z;0M$1^WA`&n|ZotlrN$oV}*D5aAgIpt07viohGR2M1!ViRq-y-@Fs=IyS+vJ(K@s0 zxIGQ(>IEPge$CS^yjuaL?X93~=jzBu%ZZyMd-ceAr&~v~>!0N;osHam?Rn1@v?n*9 z4k6xO+%C5q#NeF|osENmsTB&54z%ws7dqk1F1wc;1TR@tNY`^H;y6&@+h5?7nUFtP z_W4HKOJd}5zJU}sXV|o}RdK}B+m4%`GD4tcA6B8KbYH6Mt8hQ3$VYr6rRXyvy5`S^ zD*oG_kMigm@sIXs--K6q{O!b7di<~IeSvzQwU^kluj+`nLQl!Q8UD!0b9Xf1D8B$& zGXFe~34i45xi0c!FeGPB!2227r+Ocg`}2F21uf5~XrBT9t7?ClTjn270MN&w@UA*y z8+68leDlQpxidfrq{R1K0%B(UT_rW*Cdpzg-nRgza zA1hI8mI;>GbULe6jFxHB8NcgmJ6J9Yk>PV5UoK0TT-Pk&=SDyIr%G{kT=4mf7LoFZ zdIq8ZmpJmbb5l25kQ<+9GoT2IWJr!0rid!uAQf$h7dh#qbyl*7zcp+e%Z)YDz0e^` zbacRPo=+h>z-TSNnR`&Oz{@U$&Knb-X2>iVGHR~ucgcVgPQ}75chtfu6eIp=06nWt z2{gCz8S9)_f?0iZ6}L2SUMZ{G>xK%Sd}xka+0#6o)v_>^VF)g6Ns8L!ROvh*`t^el5$1K?>RT-tUU!vCyOMHIvGi?#>8azQ#8h`@K_!$ z9C0ZG_K^OG;>4Hh1J4%=LGbzZI~fSOalP ze;V4eu(#e}>Ey@oXxg83M21#Z4?x``Qyy4K1}SNzlH1=6NeS_^h@X&!GES$M7-a2c;5cvX!UML>&ya z)c9%^P*^ZS@~iAkgCS8o9Ix5EcuwHZVuj*j(0#P^*@vf~>1f)94gylhyu=@?e}D7Ks$ zm{P*--R}sns+yZpaa`wOmly<7QnF3n)N%gm<1FuqEFii8z z+!vi(eT#oXT-UjV%tdB?JIQU$mkAMKat=$ehhRUJGQa(st>v4p7}CT+f~bh1S4LaX z*{gT8^c(Br4h~H9!suxct&ghZ`X=d2(tu`aV=cZRY!uFJ6NX}i>iy~43Tl>gR2ywW z^U~&4294ECX_!Kz?4%E6ltNuuXzW!ZX(An-fea6=u6+D`S+JU@CR+NcmQg{emUT&X zQGkWWgsL@6C#qHHOLGL5k#J?t1cMi-kMPH4BY~&CiIRAP2;lBTAQonJ=Dd~nypkYW z^!1UsBB`r-o_AhPUM%rGe(F492QAnU0lO-7)4^(u?g~cVl9Ewsdl%ETzaOeW41Ef` zLhvV0lqUW)1`k;6zHbyPI4ou8oT{5zwrCjzo4ZRhMoiz9`aFde23#!Yry~f4YWD(w zfHcWTIYU&(Q*F8{vFC?jRAv_W<-uy6ZqLRs@keQ0EQBmN6vt8uJGiirMZ9415qwzE z_S3+;J_a!Bu#^f+6L)~r6!SS<&N-c8#)ec3`01XOjj1>^1kZxBnYEc*atW*wMF`qH zjft$0qCwU0Z)f|8_0ovofllb**v|W*6#GuwW@JJZ+<&15bQj^+1l2$lu}Y!jzf5-5 z=7aiKxu+5mfd0N9ihbe=;ziZ@qI*H)hz29EUC!WbxDBrOnU(G_v~~RJ`j^UAIjOQJ zV43~8IL=C2gdCZW}`p!|j z2DTt`h$Pu*Be#xM@A}(xt}}HN1z{Y^rFlgmi)?j?jr>J6YCQ}MUF}dy&oy0^Ie=~y>r3pXnL_JdM_9{{EgdUh< zZ4JnmpDo-oqnBl`>rEGkKyM7h`%i)Tfzw1d+#8m6gW3d9VEbICIT16nMJR-ak?@wy zYN6k%8CGf#KUi1k-OjEK_f+no6E|dKSBV2eR^QtIm>m;sD|MV%85QOn0w!{V8!qRR z{(eMCg;^oWPsS|s*=uv~f-=c5+y!+|=zn5UZbT^3KMlmoe_5>ULS)Ar*Q+~`&j?X9 z99u>G*~0lFoS>KnVlQj#e3fa^DoA@u7cgDyi1o{J91)&7WqP00!WKFELHyWJ=}&^F z$0=w4LtzA5dnyC-iNb3@3IoeYOyjs@3a%5lw)w0@`*KDWPISlG3J`m<4Pc_}u46O(pu{pXsAC(d%{ zWn%^)wi9g?$BiCuU|;pSw0i1hpr7Oo64*ewW*kTOHU|?GAHgZJU2|iHy1JZtL--ej zOp?9gK~%Vj@scGNZ4vFvqH^&(6`0sq1l=*Gv0ji9+EjEVS{OsvPn5plUsU<51Sh$` zzt0`vKQd?=bn9Y2dQxmyPF%EX^n$UJidRsG;MT3@et2fA0J2p;EZlO-nNbc?$FSN1 zu2{_i{_v~bmH=3ieqnPW#N5nlLu^J(bUDQcKJ7Uy)zgl^&^60y`2CJX3K~bkdA^ut z+2?Yr7Q{W}50p2=HyHt!nmBLh%G?;AV<4b9D6C`JDeNwrBA(nj|HYDMW?)IJSr_VZv2F0!DSeaPDFzqu-Bu)=mq(jl7HB%o3t~G8? zyXUiJG;6XpxD+q7GQJm2m%M1-Y_?-wY2xB*?S+$h`3!kJilKLn89N2u`Ojt+W6nfW z&udC}SOR1uV=1{lICX4+JQcZ_<g;>t zO`4*@r^HeppviVZ?2#JA^9JG~hhT5Xi3}S~zmyTzYP40RidV+nEkVC~c9De=vx?`? zbGitOYHJL7QO2aKCXe^-;-SyDifUT^mx0{#*exR-QsPJ??bbZBwSy zMyF&uTae#pr3t^pC9)rhoi_{ZCUI=ODICPuJN>}iJ}4O@S!zP-<)6)ZLQTCi=MvyD zy8yu_#H0Q=&KwetOqV99dh>H;-VuV2(NHILPlWoDY$&J5Elh{~gz+ARCxhX5mL#$V z=bom^M33|lJ%-evjAP%qE*8H^r=$n_9-_;9R?{s{(6@wRb+bw0C~sbWAPXM%9?@ex z*EP_Ct1CiI%RJ4_w4(NU6;#HBUZzpj!@%7+Hz5JiO7TjsS3HE7Dvbfrpx`<~$^ope zws3O-^ua`kilqL6GtaD(7WGlW^boM><2iLGGJ0KSrdVLi0bm%B*qK0?1E6yw54Sfj zo*s6)o)kU7zy9SH#yU+G%>rxh-^%qSL|gf(0OVqb^fsCu0nNlq+Ji7Ek)ofxbml&% zvYMs5FBAMKoPm4Igw4K&4fqt%tsl9{?^j&M9wd09T^mYUL@Qy;Izl|lKiXs=#hVR6 zjk@^S#-EK1{+C;GDgfav^u>0f`6@H)Wjl*_Umz$jH>2}9H2X`aMl`s%j^3PrU4TA7 zXW#2h>9b{H7H}#gbZ60?XKbDs;W}`&F%t#5!rNrkJ~RtAHc<}-@>VI2d}FZ*SJlzV z^eF82D^6=30*+p6pOwFYRS%!4jZ~G}E>(4cg|(;Dd52#stm?=pd)+8llME!&jQ!`T zqO373RK>!T4Mcy5ew$;e-;9ROC#WmzRX608NNE z3-c;>U~N{3`j;Blzr&%+JI%o%jgbI@k>xY0RQ+|Aulz2ZTwE_sC*!d$o=n(HS6}aq zb)I5s3~dr0ktt@g?d1-*$k4Vz8j`e-KSrfp)BKD*ZalbJb zmGP~ulvMN?k&X1((%4V-5A}Vf%xFvjFL+2+=FFs-o{27}(*tcMj^vIDm<$H8;~?rb z7zY!C$L08c3%C&_w|*41BXve4^Sj%Tq)Wj-UU)CS9eFtFTONBNT4G8-rCmq{>^>7f zMH}x+_)^={F^#krUu8{tx^!SMUc_6j{MF!tlaRn=B=Au5lsy|mZS^Y+6d=+Ppey%FVOvrGqoicR{Xox4E!UqnG z)zS3&H=)R+N_HQMx+e?UJ!=gFR1J@``yyU(X{ z>#3p3Kf5klw(ZA#=A(hb>mDA0<>RFqF41NczV% z39j)PXQU>QUdaPzU$O-m4YJ}N;Sce>$~_Tg=20BZua$KzKk}M{HMxD!?Q~x0#a4kF z)NLXiZ9px|tPkA8s}1t|{^Z-s)x2ln<(4WE`%UbyQV$NZ8EA2fxX%2|wkb*YialYq z!{6-^!1BSz`QS(zu~*NrXE|FOscCALcU z9O)E?JZ)0*ZCkmAtm+zcZ@xPw_>v9L}QTn#^*F3SEAO@-;&N(-r4pZBKbs=kMxGR#b3# zhrVkytXn(YQ9 z3)cKaar$N&Q3$jHhmel_n8^)hicK)V&}a6^%r82epXL|Uo{cKbX=yz7mJAK)yi0O7AU9}v4EgtmCaxKC#Ll5Qtdb=}{MEy{N{RkV% z=KI-jlL}qBYOPyRYv^lCkIoY2Zxt?wkl^Pc}x|1OHtgO zbb57wd`?Vg6X3H!@T29fl}8WCYDfO*rqv~TSEuxE6ch4QfW^uni*+#9?6AUGJ{b!F zz}<`Dao}_E?bqU3j3)YQOcC2(O-G^#O|Z5hhuXv90baPBPr3?0qEJB{7Rl~lO@{zR zH4FcI!AdStLCx$K;&nx8_g zW&!e=yK?^Xo)sc;VrEj@~=(n1Tn4N1w~^G(vJe z3$FpCl%J{lpd%A%wrk;zA2jFB5CEgQ9TWz@b#Px)4;jJGrkIKv?QT7-ob8wXky;Re zoj6Ec;9P+fw8SrLv>j1noBB4XMPR(fzgnF&5)r!1r(V^01iFFU=7;P7o~fN~`l3%} zYq`2$`i9;Ggb-`GhZtu*!s(fPtr@YKySVCO;5%>MgVxv#s`gC6vwQuyJB)y=GoLE( zPQLoM;H7Qtf!Es5Ug4T8c}rx~N|4$|wKn9ZTLRlN#zF7)s%-aE_8GqDNyqzlp zFD@@A(jCL$XG*)DUNB<)rWersA*Yc&*cZCT4Iz9WE`4D)Y=J8iqN_8_wK3Ym1dni! zb*A;cyg6OxMHlK{y(HQLKKI;@<;x9_)+18n=K=KY+@A)p$#+yrRmdA8i`=oA=@wCg z0a(yv+n?6P(?=Y?mF2Yda=Ot?kTiFsY-Z}$o2ZLBCdgLc;an!YSEwf-Jk$fS;L%FS zW5psJl2`OAyfwnUu-IrhOe#dBPhF^}9%l4+Yl1fFFZB}3Lf9^6`AVL~mf{ z!)#ao0E|Vziv%WANUd?CsgmY8?)ch|i=pRhc%KWfq6-!T{TZfcpg^{_G5NX_8-mM$ zN*Udu+#z%^7o1cB_Nadtr-t|}V#qEQxnTS@^@`e&T2(4{!Jw~Id>J@~BKhZb8N_vS zqtp-Q4UHQsx*MyIJaB@H)lcwjdONSEj6=Fp?!00vNW7h$YvJK+JKlLhseHR#k7$Do zB3UB^4vwNM`Prxz<$kFoz?<=G&Qx{muH4|6K%zQ#W{VG6v_JObB(oX_G%uda2&onm z_W*J~b~F;kzJ4=Ox_u?eZ{O1WH~|{0r~y(d{I3LaKwCAfezb&DbbZ9fLnVzhSj8$; z6Hiz6!_J(j`$pxuH}*?5TWm&7o@ly-QMYN;ePvQM#Nz(yPAzY|H@qIX(}4Ia7^M)u zOpv}CYl8-uq8<0S1BKLxMrzDRFEl5lKj#dvq*FO$lY5A)d`WHHf{uc%`2dC&WrU?8 zWI!&nw+c?DYrapAXJORp8m&RWD_-Bu+Admt&$iKS*CbmpjsnEC?zb~;AZLI&A~@TS zG0Y-t!be1_FRA9Pcr&_*ooD9ev=mNBE@jOmM52xs1((cx=sL01F7l|f3lWD3#We+y zr3$u;xkzw815|N8G@Zw~WNU-fBc9C~k&8 ztx8iuz4}s|)gKwTaI*f)sekKMCN0AH$#}6%4Dd|!Y4Ktt^^h5YI2i(1fM}e!vH{9& z+#8`iA)Yr{t%$1q6uhuoy?49ToxjR#Xx!A1U&ig&WUyeA=gCgIN92!r*gar(%ri^> zVTV8o3IA(@vB09j@F?LVus~l3oi9mzmQ~ri8(Aaj4n`GGft(<&%La}}M`e(IE;*4! zD1LvUTz^|&-LNB!(M{=8dqG-p5c=6J5|;XmI)@K`mvFA2Xo0qA9IR;ID_#fq?bfX)6V>c9|rFzeq7S0}$?wXdRwVnMb6#_p?RE;o=EXhAv(44IW*%@6->Zc|?_*ajVRmj#mr^k&l zRJmzar;YO)vLK7OM?CbDvUz%XDZ3kp3WyqdHFGhIS_a(X_h+_$rXLG~j}%5?I$r&B zV{rpw1n+o^4y@-gZXpB!5wN0N`^`3bXFD=JzPc`u+55FRbNKow%zD|O_Ax^DR9u1) zd&{1QDtkkAQM}NW_V(>)`Nxnp5D@nlYEfPLE1vN>V;FlGpK)@ObyVAVhUO&{TsP{S zQXseWll*mbpHX5IW^v&N>upg^;6pg-(lxO&@w)>TT9cp`c8DJ}1OPfm{T~+{J_mH{ z-*^q2jj_E=ErRJD-HrW`J;74Fz=X+_DJ3vZduC?u)3pwaQ{eOm7A~gR%FY(7qD|hQ zZ(Kl(Is$)lgYBqOKI2<$xKwoO5O|ukT^*dEvG(51kpeDS@-YuMKH~qq>a5MOQXYj|4PuDpaFKZE&>NP z1^0^h*m@XkGnjk!RtYIX$a~jTHBzk;nUyW7b&2ZcC7pj;@yb;V?fBe-fkh`($r`%vo;f_J#R5CxoW3$pMSLAH;~UKsBC zpH}$!_1>OiFZW3wxpEu~Zm{Wk8G8qP>!iKFnKy=Zzbsv*1o|c3gE#MdcP-vQY=(99 z_&O@#2i-^rd4CbO#R7I16Txj2T-{cg-4|d+MjddZSiWw(*XYD zl~=c%9mA%$fy2Yxc}4k(O2%|Wv1x8hj~4X8-C*r$Rf1EvD8jcns_hC(7>Zug8GsELtP2F%ZvoB zc+3l;+8^kIHd$!S6jB@@&XVgF?Z=4^8)1$>SJY;QPjA=%q`+e)x#ZM^`cUnvFuj;5 zN~PTk?lMaNSF$SjCI_XDUxI~ACyt71Ar7KKIg>eQrPVCuFNl z1Q{?+lcc(%;W^c$OUOElc9AW9gp1uH6U;oXG#}o^6V0Z6zRJt_SDSYOw?uOvK0ud7 zNhFt$1GE15tXGWUJ{RIdI%+oLcdY=uzaUyLibXIonx7CAOo$?^RDOa!U`U^v91Ar< zpP$}u-<&%0SIIBbEEr-91ZHk98A=z>Mihqph8-Ag$m+to%#BYc{+h6rgVKgIYrSk*zecv3TdUMk~5m64MAL{fy<^K5kYmg+0Z17l9GWGA9#MHy--ZM^#Y9W`LJ?H#HZAWWzJ-3u6We zwPX5jZFq36T=^>-K!k$9?S*Mno>%DXT%K8 zxm{-{!V_V&y=@apcyJx{sSJ%v!KQRqSYFofhW?PO_XgBe(r`M-QLpu#xfhJaU`(T< z^OtUvFT>^%FRgxCT;4i@$NiJkjp+pZmInCjbX^*w^`aHxp@qvEDQWXnjFq-HHYeWH z*}+jY=#*aLi;~wJA1pf?4%Qwh|CrQ zCWE{%BXj$a>6aJCuJvVCe?{(DD|1a(q;f(ePiE|}yM9!hh_ohr4$j?^n-!$&QhR`B z7pd-YdEo05_w;GrLwJeW_A$Idiv4rl@$|ran+<6t^!5jNg@T+LQ4`GBqkF|Wp2w6i zVig=Pi5A4J4Mj9c?&%7ABk_WoH~^CcF?1k0o(x!FYqXOj+2^GMOiOwgX4(+uLF`f` z`B^ZbJH8-MZn=?n8r0N*u&=PR0D<(yB>NMY%!9j{qL-SPnv_ZeZ+wKW8f`Nn-aCKb zb_~$5Q#i2%Vn@d4qnjxs1uPBU+oG|2yC<-GcfSbs*LQ}{Xx4XS{U6w$8;In$Sx|Hh z$N;Mo3hyG}s)f&%Je}n`&l)(K{R1~Ytz389U_n2CLck zo7!YVSu=0FjwRUaC69r14UqT32eJ7_MJAqzO?gax2-$U}1(7y{Nmj}e-<&|~oUN4d zP!{y&U268pX(v7QbRZV z=%2xIip}U-ztq4eIJSh{5)qpSh>Zv-sO*@c=N+SRjzPA?*;0CI-j+3J*JO-XP2p*Tgg zwcXvW#?H=Yz=rPxpWyIn<|`sH)qIh&%lxGf=tj039i(OnHSEBvjl@Z_gG|>si1#lt zVx?Xf9(8COf#NmnIDkgxYRL#G(@&{~HW>!`=|0EHHksO*WLWF{S`ljIjj!&(W0z;5 z7ve)9|LKURpuDx+>LHk{As8U<5Zu@o{X2YwcjKFZ*sa0-Q{4)T zQ{r%3f2N;17;GRj$-p7hXCX*G@8li;?RGRkbgj-Cl%7?Db zInw>djuz6b^l8MtU=MA-V#hf%%OV`!`uR$p(nIXOeMxNOWFI$2Ggw(p``l)xf}ga> zwW@rUj~ABfw^rLtYxY#$uE$g_7Tew${Ymn4zwN6%5QPt@S_W{%w1(oB*=zrdwi`Hs z={LO&9JUY|HU|ivga#{_qV-&LlqFB}{o)E?1q9v_jv&M2v}8JYN}6YD^prIuwn1M0|qOfo_(g;=7N8Rppj`Qy@tl_(*0{aa^Jh>4YAlB|5y z^}hl_yi!~~1K(&F!Z)Ky_WwRWq2EIPIm09+c}Emgv`?GA+ACJ&%3<+?tT@)tjq}B< z%&`t(kOphRCFmF{2!7L76yY-;RDS&NB=w3O!D182L+Dg3wkkpgY-2ek43v8N_5y17B9pgo^!J+o`_7XN0~I{T6iYj3}aaF@YADiML5h16(CO zMnXXSO{Lhl2{$eLn)_1JNBiSw3tpueH~M(JT06n=dPOH`PV{`Kdg08*nZP4_T#gB3 z_oioh(0dsr04h^}q~_P)T}OP^0)~3o)l2oIYDVI)WA+@SN>MfXf)pON|$goYwjJpE5T zpG&NATj!TaaeiJ-*>stvve(C@S!{lTiQw<2*o-s3)AI_eMHW@itf+SyD$1P~;xE&B z;D*S@K-J!?4XkpJHsHRwf+9b5aU+97NMcaEMkqFsMb^^mylS)@_zhKn3|=U; zym!X${QEX=j(;Z+g%E?!dCzzHXnfBflpsn|&A&cEH1bE|IzC2EIV#3bw=|#<1oWrJ z`O$LrG*WRb(z8$|#R-C{&(k9dtDG5=CzAsJRJ+U&aK@pjQ-`_k#S+->cG)RY%PwvW`m&i>)-@g>UYZ^h4txUZpgn=lXy5Qmx1X* zX(VtF!68)Ha4~R@pimJrni3+l!~s}d5XN8fH=w+N_g!hWrj!j0LjsT9+Z@}TJ+5BY zp4aOkIvx82KPaJ)ML>1S`T-l02NhBXOl?79%c&dV2kaD(X_HJ`g9qnQHl_}c2|T2& zwBa50vWXbmp?f+TBRM@|4R2|@y|~*34yj`S@0aWHUXX}EKqg;zvPiK4wa{zP8$N=b znGAuQRYXHKxEPk1nEYpEACzHPcOc8s(;ZcIZ$hV6II?e_gfDhy;0ElzDrl5xwalXx z!Ac`7*K7ktlcnTL@6jS?zHV+iV+xxTo289B3#vx!&)=YI`&?46ijqxqAQU?;g0Ja1h^}sPt&M9k@?`<K>s^cPq;5jTU>Rr8LhX>o2a%Y%>xD}Q(YveH(5|5tXozR ztXILWk{Ix;#%Ez^CZypIlH>ND%CqInkFKcHBy<{@ndHwL5w(sdd8lx7fMbkwP2x5o zZxX#V=8@5>HrgUXJ;bpY4gAesT#}B3evv-Aigbo)YfN9wKXTTYh#_`VqV&XY_e*e> zmYnOWf5Bi4A{DrBq#%H$QWs@y=pi$i0=h^lWU&I!8l$f4hW?P8k`3VP-HWGKm^c)P z^Hp)U-A4L(WZoeRy{*3)XBXYWn)etWno?(R0JGGk;B+3*QK=;+9AP5-t-HF~#DlH2 z`(oecWQz4No&VL&Tvg`Jh-WYwTNpagG$oJgJChiW(;2c^!j^Ua2|oTaR(%2}xJV#H zPgGiLk4s;XelZvqN`8Da9ijZ=s-rma^9bX2`7ug0Jip?luwU`s(d%M@x%I|BNAu;xP6F7}SYHH+yFuq4F zm+~~M=O-)78&ugE;gm7UrGTG4=kY_2N6ra!_>C4Z^_mV=={PCN*4lNC)WenJx{B>Y z@&m>)n&J#@Rr+xdue1AAjd{;5Tb8Wv<+GJ|chsA7*mHP~GzC~q;m^@%w#)M^ed?F_ z!#7%=a=c@i%mdm{E0(HpyG0d0Mc_*E?T9jO6}f0A7l$uyIcPVH;^?U8mlTE_ETqhz zZW6JQYd9n(ELf8=MoZY<(%Id427p!}{!LhNc7UzY9W;s(fO<44dZk`{{1^?zrqpzA z2HO2iC8jq_yjsByolZ8ihuUnx{xXbDKnXf;fa$<>l{Eg?kVBZU` zCjleXGiibVG3sy*`a8H2F0MCCx_{4}h+jdc{dpD^!P4zTpX9;U5#9Eq3d?f2y#l?h z@(tj#c<0)xPoS19(wF8L^RsFPphYlD3sY=I{4lh9ngi3!+&kpP7WqZx1}_BjDTxr< zl0thjl2JCBNb9SV+{vzJVumSIid`VJyK2KRx;nMmGL?9L4K8Lx0oG@{ z@ZLO;`xs)unJ*8#C{#O=pECK%KWuXemBB52!trF2NH?P^kU^W zODm+yN<5Wu;lXSQ*mc7V2mG5fI5A?O5vb~{e=0OjJ^v1~;b(;qaSsaqO#PV_$n6g) z-&Ytfo+@5Q>V>3?Ul$O13mEo-nJG{Ew_!l7A=Zf7BuptMcqLq=%y<+FJyqyJJS~db zOcH&`iEyl7rUc_J8f`L~hKJn^c`p7+wa#iqlIyNH%j|1sJm+&eIvSe)TM%gfH#asfOBRd*Aw$w z>JAK_#Vl3O5V-~7-SsxXY_NnG@lETw3gOe`BKG-QJp83X6N;W!gV2ki!Q!(K45Nv} zlir|p8q}gGE$fe}VM$UW^PVT{)XIt@{tb)K{2&&ufuF4Bd(W!#UuH;l3Vm>wmjLBw ze|!)8+LqS<L8gj}lxIF(xD< z`rkwQIEl-;jArP{LNH=q)NhZqqVl| zlALR8U6CEiq~S=u$l28YgaTO_LRs=#xqIn5opsV%EBH`q3}2{IbJ|y%+vm(YdvtZunNeSGCrp-?059gb9;z1v@NS9pU^lul zw!)yp8mX|ktPWIO^rTc&bdMa#(gZT4L6?>ZMYO>}N&daj9?a{zGOBRZXOivkTOX}mQm;(a zX9e9|L^+K(n;FuIWXM#a{ok~ln^EH6ld#7P# zVFJLWq`XUJ^W^*=a1T}j|>mos!MQM-0xe=+0{SxdkeFm&xU z{My;0t7pe6J(XsXT^04+5xFkS(!&swwMK zra+w^0@OB9&NX~1B^Z}z10O7~D;Xs!&+WQ&eS&z^{D|0MJ2}jg8o(;jf)R_Af z#`UsD>be6N-}I+|25cxxncwT|iLbM{Z=u~8vLLQ}F|L(qzCdXmi%h!@kt!?L=0feYefVttxjy{T` zzk!twZQ^9dJIf8U7=5^4XAiUBApE?c>n_;kf`<%ZE!^wCK>)V{N2uUL`Gr4E6Af|0 zho@-I`?sy05Fr=D9DW8;E(X=$xbUx{!J9bzHs+U4?jATiqs4PxFrhhT)ox^P3hTG_ zzdHOe>$~uPEL&≧_tGLPl5l-Z70&o}O2$p}6K<{NqtnMaH*zU!}$Q%1ZNh&#%_M zTvLMsS2Joj75Um4t^{Sy?V1F=A)%@(P1C+k)j)3Z;t^Yz%)aarM|v={~lN z9EW9Hx?o+3Ds|O@+ymFMGO(^de){Jni$WBA!E>pobP-8(^xvuh6UE$0Ik_d%c{MWX zcNmi#vHfv6MN#vz)n#KB*9CbC4aRN+C-Nz!af)Zp_`M+ivKJgplwxcdY->XpRc9^_bmkw68rY zfwXqXj@#x?D(sz$xp~`xoF`W6&+&^U7%yoRjt1^xHXM$1h}3G~kU8{*h^cU_x+YN) z8qbsyN$YS5bg41d%FT-?K%-5Qgk8K1QB$_mi^{>jx%5XBQLoj<&{anB+-ZAc@vyWU zPw*kWBn$AZFT0=8XON`;T$G>y#TGk zV@fG6<*@K*Ek~);QYp#gC2L11VY{HCVoW902HX**NjDcBOlf{@?f?sAfSxOfe`!#OZi;V1`+if(0t_|W z3XItR4Sof92lgd*|H*6}gr##O>W#e9nOcmdlU3|x6)1mjRA&`(LHhDddt->VK6=kT zAZ=%!A*RdOAEL7Tgy+O)4q$S)?)fwP))LTsqwjH)F}ethj}ImNjLrUZN^TrR{lkQp ztPlG1ncioF!fY0Z&|LA{6)mt6Q#sBi9v&Pi*RpB|H>iN%$~ujUy9rOTwFsoVP?94_ zL8MMaI%}RZqOvLa?XQIKg?||4nLfJj0?@TnO!m%_bEB?cTWg2ia97`;7Y*XrON%NU4jVZ8>%F

    C6frK52Dov~6urBU(Z|(!Q<|@)c?* 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�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 literal 0 HcmV?d00001 diff --git a/lib/foray-ps.jar b/lib/foray-ps.jar new file mode 100644 index 0000000000000000000000000000000000000000..d9d92a74728f2a8af888ce2272ec08dc67963e8c GIT binary patch literal 243779 zcmb4qWpEr_lC79!FcXfZQ0x0qVYXfewoinLENJJauxlBDrfrS42*nydr`TF02Ng}#1tXxjI`hf zfwwyRv3;cZXa^kCo%tPX1jEc0W4URR6}pHb%Xqs6w#z{rbA|uf7RcYW^^eW}?F-`1 z-OkaR@&9e{SLFV(Ftc+6c>FiJe~l&L|FE-n`d>`{ise5a`N!1M*4WO(^#8}h%+ki$ z)banv!wTREU@`e$JaGQ?U;V?w#1v@vzqq0NtDC)v+5cjW`LE`VrT`N=TbqA|_V3u+ zbvohP`eSPa3Iam#uRg+dF199?w&uci?hM8@04FD4Y>#}eAiCI9z95E>64t2#mv7(k zcR3hx$cD-^6l-uxGg-^tx=_N-RqGVyKio_woY`g9Pty#o_iV$Du1x zF6dELp9?y#?Q@SX9W50RraamQ)Bq}=slEn9!tXuLil(&J#^L^S`uk${EtnyvR{1d9 zblD)rGiNPV51D#*TWF2zX|vP$F2Up#x2NyV(>nxraeY3A{(VCe0QK)-30B`y!81kYOWz=iwGkJ8Cx|YDlcX`7qLz?88yq*o^F*Y5H$^5-=^uc%f?7Ac; zt1L^g<@d^Nc^kbS@#1r zk7C&F1(j{TJxCpDua0(0kqno+m#fIyY^~{p?$oC4+H~Y(b5KfW1(tP8qk2(zJq_^z zK6X;evBkg-xENdO7*nkA_)fXVfS}h@-tMM=Y6entSy0xYqzXsVJ|X8R zG5ObxAF)A`$`#5S5osbrJ|ZV(dxDA0N|}uuwCW4UNw;#|D_XPQ89;@k z>-fOl>33h{Ay&c;E^(5bAv!#O2`QV483W*ha?_QD>e2C+aI`zuimkvdDz!bdIJyhS z(B4Qf1U&t*`xQ?$x7*JX8V31^u_*i*wfb@T4cDY!+!Hm?7mWiq1T$48)z%G;D`)sT zCrl4Nd=@2aoA!^i!^I8itz4C|nS zj9#?HkuHksVn{G|FU|#p_bG?j-&Iud`hKY5Icst$&J7KY2+yPT`D)!n(?X;Igflg8)q{xF^-U!43nGn z7Dn3adsEl7C5%K+^ci;~lRR+<;DxYoi1k<`Mu2F~W0&(_@C-|tHD(!>f!K|58OC+U ze*K84x4at8lmM!RkCOyeQz#h1K&oGv|fG>~F{pm8_>l;w=HFVz6W3d+D1BozFb z)_noG>oV}bq!Nc`0put6aVgP~7cU0SK1&zz8(;6N2x{!JN)}aN_Pdu@#z7VdOS;yM zyhk=9PNlU|6g$+duK9HM*}ab8JRWxcS6Y@UmgAeeCj_Vw3*@Sn`q0?lEm1S#*HLXd zV&lqAJXdT5Xh^do)lXTG*6k63H#_EGn-ZEHL`!;PDYVtHSxv)Eh5j16$8lWNRPNO1 z5A|2~@r1n3*!Z*s3oH04`+WWBZF?P1jw9c7lW^-7H7%j6f!5v>$ma9V61om)E;D%3 zaUhv}T7*7hj7~HU;HagCw?(4Bvmo9~gvnv3;{5d-6`E=4V5barAxng#ccP=W7qRv5 ziYd$S0rix{jYhVuZpf`Zr`533jy)DxabI+VpW!C^NF`3U``^9Z&}MgeV!faq_**5Q z+S`g1vD{{e70&bSthH9(Up+=Ij)u6lF@d78iv*|-yi<3CM26{auEQrPhwnH}FBx?X zKM)@v&pya0t}!aF>3-NPFKpG8cfoJc^Zhy&BMH)Wd$U13f0XggzqSLR1Z249j+k;D z?hE`gm;F^iH(Ok5*ug+RtpDV*um7IQgzfBXOaZok&t^W#W43dG=zPZCLeUXzJjNF3S1 z>UNmnbd{01<=6QMQ5~v>NWCsEG?+zLnYwUSku#@iy=AoUhH4qGN3IL%awt_;cTO@zY%$ z<(kGWj4!oFesE%Z2C|!IX8zo8(_7n@4-{(pP&1@rD4UAqfrV;ZIN+BuVEk#`Q}wOb zY>6@hfSB#a*5*&>LYzG6JSIDJKa`SxCsf}>7=X0?@!bo>{URQ^=GV01hW&)%lN~T~ z6y{lEld_@rfMEc1r#=bKUGFZKJfes)={)O})wWx3;yY9(vA`A&_*gTAy#{vDk!p@O z56Wz@8H9Z(z|?jQ;S7FDkN5RGIIPH`)z+z4!|plj;2szFLbqJ-BRS7t#9~^Hs;s^! ziMoi|3qBnAyMAd*H_d=uY^Nd(u?RCh0g%)mHEwKJxe=wu0fU=JHx4$pod7d7#}M*a z^Ml!Rm+lq(wrx~{imdX%BsR)*B=0D_ZU1oeRIOR8pM z>NjSUNvpbfXcbit;SPTzSs$r7G6wZ`$Y(Uv(E-(m;q*|+T@;*kn8I5W@6q)1W-$`D z#gV2O($i%Wc4x9=)qRvCGkgz@Ar$c`YDFDC(EkZHm5pr$;y+O9g87f7Q^d~3&hhVH zt5Ba(!E-_X^ado*trbG98iJN<)>ELTOe{0`BUadZkGB&&Iyn6NRn(}HJx$=9z#qRdlM|9qE z0nf)~Wr~S}YPFXd4vOV8a#tDBfig-#Pp2kM4%S6sp@-v{+6L}ao;Fh)x!_ykUmd3` zFc%x^4@G0MFq>fHVZj#$aOO^DNHWk^s9cui+tcY$an~(GXQ*gZJBms3%vJ(1uqvd5 zF4=PreN>lKk7e6_dRt9YXzG;SnpyFGJHXr+Z9d-cIK-AJxYEqlq&`z)Gu7n-3t zP|>PVraBl(fEI&8(HX~B#RaFTuf&KL&|1o`Xq(iYXYsOM&r8Hb9l0ho9ZRBb)W9(M z>22G?$e31MS;0N-c>8^?peom^zM8x5H@f!mVRCn8x_S|YvzM_oAB+i1Tk-r|ebq?t zMgpEzlXgw!NdSn&Vl@wCxZM5r3O1(fdcP4ulWcn=IU4ve>rF%~;2!1t8W)4;V~j$* z|AdeD3jP_S$@pnHC^!Qaubi%p)2_D%*WsAltm9|Q6@p9KL{}Vh zwH&wh)QG)Au&oiJg_UxP{PU!Y_#tjlG}<{Sob8(s2G*DXaw{#D^7WgRGD=v+P+RkP zn&eDWv@bzw&QB~SS$L8#4kTnOAx{NvBK#<9BkJE_ZhzA#kk5YLmk^Gy?QkmxQcfcw zn&0r6pm>ws??PtLb47P*f47^Fr8TVg!;@RH$l`hk%%(UQLM3F%d;%$c^@1W0@;WAr z+YaOZMR{=_9h$qx-X4ZhM6j2ne+z$%6tDOZPw0zoeqC!YPlYPGC|X6VooUJ)Lg%iS z^%CQ&lyzf(qH{X!HqEl;Eo58))g^J6-!Yi>h_XzcTZ#J3TUuC-&Ljt7u$0QDiMRub(#KIN`#i>TY1T-d$nqPb6Uz|ou%l*grr zA818^2F!+<;}VQP8pxCpGAE36$P1kT2lX`kWycq6$PZ76W6g}CKg`Y zxP&yyIVRsyjYoOjs{L~$yNEbuJyt^rs4Hb<0_*xXgb^jWCz*5#v_|~f6&K=F@9S5D zGCuH0dOG3<)}#Z{%Y#RshmRMQ-@isdu*XW+y_0kBVtcjd=H-SY_@)b9jW2MMiccaN z(%x>3v}4D`Ibq&Hj=jVKeFprn4DOD0F42H14~^%ZI<6fR zg`PS%{P(j-yOmNQab5qCSlTKJn!^6nF;qwp5W;`2V}DC5D)sN&un(gW(}dI3H1zAl_q)@yj0E`AvZL$t=}sH%qSpu})}+SF z%%{eS!x+VLvm>#cPV^58$vzrLpi++tJ*XY`GY(`Y!i1%>Q`vSSK;ma!^ zj=a!T8Pi;LBN2YkKiMe%{{5e(M|GgTZA=ppwQ3SsOJ2`~*6mxwgefW0%3?jvd2k1a=2P&t4MrFEt z@QcE2lMn3KnH9_C1IrefzZ zrs%$nQf-#C)5tl3LR479ayp|E(k)a?V8M;(-~)^BHVMF1ayj8zYWlpqJSw;_Fl7k3 zd{*yRhv^=c?xav$!|BguPRH$q>zUspn#o3vBz`5^IM8&OZf@~ zC&04v(E(hoyLd`COc41tt2HL>8%j$jP)8e&VK>~Rgk7rHQ)AfgDdtY?MQG-xQEa8K zwRwInKCQ1S&r$buu;MI`sn(yuR`7kB&M!nN<#Uh*s~8Exy;7ZPU0xGznkhCXqZ@Z? zqYVw;@p%zNhK(!=G^9BTsT}Nkp?*o$CL3Oj#T>z1pJ4pHRr$pt-MUpP7(xTu^Q9q- z7+|Z!4qF&##VaFlcRNKdV&$G5N}??-Xs(Xox(!ZEUx6!SYA~ZxrUCp&R+_Oj}`fO%nB&cRg$U%V-GHLhCNHrprP5Bp3xh1XSLZTSp zeJq~C&O3;N7rr%?JQ!H-p(@TNpA@8}no5~V@5GSNnlf{TqGUMagf@)dT**Q;E54`^URBtcXQwrC^(iHO zn|;Y)*HzhMYk!ZZj|A<9v`k^r0I2qqAIDdltfo)5!vr4sXtFn?4d~suN{aS{;Bqqn z9EdH)6V@g7U!5{o%xKb2(qk$h*dm!Lo&l?_^M!L;XJ#aos!1puJV$PCj?}U9=n=!7 z`fPxSVRJq)-VA1`?!2?Xr$Q}msSSr@2)M#?=j=4gr4UhO)I)3eYARg6&M1%uG%a@d z#&P=i0&HguSwS7G^Lov&hdK3zYpb)%%9H)jmb7eNLE-Qe)5z%__ z2CJ4#4;>tYY9W%xgI`rs2FwxNXjFQ6X&a@mXXB*L9efdvU-#_v8OOdl zB|3O8Y#c0)>`EQdbVbEKVJ}}-rRhPZiB>bK@&*_P>uivY$Gc}&ZIck~P@6R^p&ewP zsKRu-Fpn3We{A@D##5ZC4Yd3Fj(0n#3&=}?lNko|D5M~ZAgD%jFUy64tR;f4nFMAE zjS!p{3V_xedY-7LIih zZ{7duoBzoQoPvB$Uk%ucQ_OKhxXZdNE?WFLt7r)Ncv$-zv`oC32wjtl0TvRI8)+k7 z69tZ!)1lSfsKvzlB|k^Wh@{!$Sr z`E^G&{?Iy|KZ@wTiN%U4Vvde>j(=6Jf9MEFmQHixUk5*Xd-T7_8`*KiBUjFn3d$V& z2<8qZ1xC;p$J^}ACc){*Lo_CiDoc89J^FYf7cr)s$i9NU6m6BvnPUuX!m4cY&Rnf* zeAZ}N-#vEuy@`pMpEMz4<}@jzGo7-+;fO_XU~ib!k61*`tVL}C?iunQu{)-Y!Nmz# zUczREqWA&#)cI4`K9k4r;sz`)5i?6soq&7#{3~pqsbgqyfua-87iuwq;$y5}_nM;Q zhQd~*>iV=wT=5A-$(Dj?(V54W+>2nuHau=vbP2ecc=h_x2WheDJVpI#ONd&%&grFnzoFxFMVmU2zq52iBMQs{*z(ZXW1 z7!hI%Y{99@7LJB_Xfk@?#VkR1&8HEVI+g_lnx++bF(fA9PGez2zizl(Y%IwECK6f* z3-wkZH0!Xz%GyB9>jL4_2=#?uyQU59Vq7YkMN1JbeTpvDEk!_yDL|Iebn^U8J10o=jc~NOzD&D(Xy-BCy}X4t!WSeYOli@X{qm5g(a0ifVj6y- zITyzRBzo~woS7g+%|e=>L}ORgsidt^13qt0xxujiel5Oa4&0zj;>}K zEB#}LGkhq8$GtlkU8Zh$uG??~DaJc#YZ?}|ZmR4s zZ#nyo!eoSQ64dBvT?U{}dKq>u&5(4V7@S!IAP7$28eO15K< zJeOAJ%eiM>F`B{0K)Q3$4F>%m?)_7>E@NBv0rE>-(d;6Ox2xaGHdmar+bCkHR`lD> z5b}!lpaL!U`gNQ;5ZlfgFVx3QjLj*aqpXC@S)<%YIWpw15(yQdFD~d-QfGSNx!h%K zz0m3GUvdcz1(YiVN{HuNylj`XowS>nrtWllrM>lRENR`S z0~ehT*Wdot>SI$3ld*a{AZBs`)qtM%+$B;peO^htv)i!NlO#NJ>2=tUfXEYb^#uEt z7Bfr7CyBIk_g4M%G)uY-8LkkZAmxqwR?`2&e@e0)hM)FkZ<~_L7xgW%Um-9%?n&#~ z2~_~eS7_I1`wq1WrjzJK>{#DAwUMTe7m+^W_t|PdOMlC6Rc8F7xD~sse25y z3ygz|qbI4~#a?8$d>bP?eOrUP6UtX^cd5rt(i{J+sGkFylG<1O`oKO1e_Bksy9dMl z)OnYI+HDuMd{;aY7#g3_NWt*^!g7CB&LMj51k+^zD9?8b)$@^C<9=>?IhDM=Z%_npfU}c6)1np z>m1=^5u+e-=S`S+_dadu3)1?7FzE7#bsF3o(=&ET$oz@;m@YeX@}_TEKjgIYUrOE93!@~Ks@0tWjI?Db}5muWGdJ`96mR z@_H==;>Gl}8z<`NhFARACTeQd8~dnF3lbdkF1U{X1h!EgbI7;<1zj=Bpt!Y?jKAW(HD5W1$f0zIeshYfO>qlC_Ye z?8S>bK&nb98iGwquEQ`(WQ-ZloOWk{7s|)sNw%MlYf?|uTB9kF7I!9s3c}j27VeF4 zoI~%{oV7IL6$Jlwz^QRzuvR9f^x|kT=J?OT`W&ptRbG!!@k&e1`p$N<$w$+#>BukK zUnQ8Ga3sd`73g6^wv_tVGK>+RNlBCVwm8jKR*ejDmpQYfQe$kfY%&KwRINx2ozr?$ zU>iLOaOVp+(y>4_wMKRG-z+a^d=}5y`OcW?s|0B2IjF?VkV~8vs92mUIi)v8Pa#87 z$l9Qc*?B@LD~yVr%w6RJa1IXg z1&pcRIz|ijQW@d;3BS!*ImZdvyh|SZaP%f zuMudbKY#|+WF;vtTR_S112Kw%RrDoTI~f2i;4$}WZD~mL-HM}dC;<&Tf%f{isOp8l zlZVWC8?qfHB-uhO6eikPpxe(u9=BZ%`H5pvWbg&3ZE2mW=`;tdY50JyvQ(x+Tb zmbkT}xV%L3b0#CUPk)IIoh-jvcaS4K7a7si=E(Pv?Dui@mJxulB6<2YQ1a3g7a9e< z^oc5(LOLgUc3B9vBvCj~d09cdYMUu$&K*vIDI9_!kI>D+m#}Kb>1)2;H0ufFyKSxK z&#XQ`Etl}UB(KZuF%|@0x6-Yl(V$cX8mqi@M~VXppY!Qg06}PS_2iBVf}%~vY!6)F zy|hI31mWwPvM`VWkq`8>h~-7P4$Jc5Y0oo^7A0LjOd1~UXme3Wc_ z7#%eI(xfhP5gDf^=hK&?8J?8qjVcRtsw-An7xi2tSLOZDfN#-#{pUDrMnRV=*c+v6 zaSll(>D`tl7VJ`=1!l2B9(224m&&9YedOK|V^3fj*W?!;0bjF(4OAA)8J_iLvkL}u zLs9$`Jz^ruvM^B!J|O?uss1IglwlSz3jOI+w}(P)KNpZ0O5$Kf|SJFJBR@+ zWp8T2V$_tu4hS=*^ll$-3=xJ9=uG#NZtn2`CdTPAo=d*9dtkARdqcZj3L`{+tDw;w zgLcbkp7l@2yu&-I)QI6Fm3auH7RR2|LQDA^<6effkAm)>_ZfRYQ%?M;64MQ7SL$rq z*Q6s)%ma5bHNi|*xFo^H482CovO>f$9cGS*_LEE}+5BcJ_eSq8jB1}PdMM4)xGqVh z(ePv!d&gkOlf9T>SY@^|9EjNt(6g!PdjrwHvHQTBpO(e@JQzCKG$#mNxhp?Y^~Qd^ zJk+-~(R~gZ7alH7EMreRWZ<_M9*o*9m}i^0%8mWZtmv;s?jxZ;ZZW)gnR{?8JBhNf zSf}H`kiop5MXs}OP5oU=oJZ;jm} zhu9RmU=OKbtT}rPGse8n{%hL-p&U1ByHs!smesDSf^wO<<&@O`woSY@LldjR)Jkh@ zRYD2~HA%hR)4r&vL&n_fO`qZ}kERaH@5HzjGn#}$^xJlXkv`hFM5B%1> zE|ef^X1h)M2`9hRH|)!bB?rG}l4(W=v#Ei>Uf~NJTN0)f;GV1D?6^SJkVod%CyF!O z9hMm+(hc^V`zXG?we%Xo+$4mUm<8XjvRgSpAO%(Ec;UV^F`ZRh@%`7>XPTfN=eg+; zN5s2vB4k-#6AC$Vb~(w$SbK2_GFBk?rXlD7A=Gxz-Kd8Wp47Yoabh2VCGI%)LPv^ z7n%FUClmPHnwj3-3x=R|iM3v+PV}d4_!Xoc_pc46e{+StQ@FZ7=DNbX;sdPZ*5Yhz zBv9R8>6`Y90~P~gg7>B0{hh39t2*?`ZgDp%+HOTuXjKq5eQ`CT-~WXnTWo-xcK(@9 z%>U>4#9w*m&-(L9+21?C3RNuyG$m}lCR+MFTQLYwi~@M3%kvy`$!R!A+QDnKdJ!Dz zIkObhCo%q1LooK69tnasr9mh2v@$s$Tg}M2SJ#2>k@wg|)0IIdSo4nsrd4D_At6}? zhZeG4-N8ZtNsv?t;DrxnkC*`RhAWCG3*v??jM~4uQ>ofT#*j&^{`S;&W_EIZw&t{K zq2fNxDFw}fF`avZCIiPTi${;>_7!nRt=RZTVW=MHfN@;m=7Q+_WgM>vzzAm}aptoq z2bN5y*UL${6f0>X(Va|pI9yL^n(`w4Y@yJ^vYNHOnMq^T&>Lfhqg+Yj^V{EnZhDJK zw*sMJP(d3Ed_of5q1n;9+4GpbtX3lO%JYhCf^WK1P+QB zy+0$sgASsm#87H<3Y`}kApRMV6F{a8@$#_@>z@V1VMWflKvi~@-e3qOBKJxpvpNuO zdnSQfJTtB_hHAMC3i=tYPW4S>|2qa7YtJ6!z){jDW$Pd+BxQ~91H?U3G`mu@t!BcP& z-WT2IE3h6oZDn3hRE(fWgJ_Lunn~EgTI5;;h8d}PM?K0JESMegLd0G>mIeB#ZT1e< zd*8mijsdVuZYhL>QG^r3I<@#~Wp;dlF;8f>aAx6=A)mx8zG5n4f&a#V{t|}>#Gq0z z{y_f%90Uaa-$!$QL0{PvVDk?Oq^zTWCWQWBwpQDyr(>IxX8{W7C3Hs4?@uEih&;SpxkY!?(s|c; z?lPACkXGr`Hym+VVyL#Q|M5xhf6r&Y!tfcXvy2(0zOKho1YC&2>-ZgWZ}9CKz4{=q zX{Wvs-{8bsF$(InjF!nKNu&=bRV+p>t^$R3OH^|H z$a58z#MrKd76x5=fhZlqK(>g4I}4wE#z0o`iaWJ+_Aapd++ouCAt+#rx+>#_VRl%LdL<@%tB^macQhD-mtGJ>nS<#x z5I_C#FRC@)B1-glgnv0}zC{hAh(FxoGlRa8(osOA_cGvTRZlrFbhFl0DY*tOpY8u5 z2|dyjMf7Ng!7z=%fr>EF>}IP>c!a8>TEgk%6q(oY`xiVpb$P8K{J|5%sQA4;P#(0Wc0n~zg!j$@>8mHX__Io(c1gS}VK^rx>q4^E=oG1ao2W%9ze)q;Z3 z=ImX+WoSsiw%~QSfV8)*qlS!j64K*A%TdPBdcy0`)sz89Rv$-fpC=}s2UWA(v|u_k zH!oXkPd*(1>v2`fR6cHBnjTVbr4wqUPvFm<{m%y+^{TVUSOEe=&-Oj> zf_9tax$VB+rAy&3<~KWSjQZy2m);ZjIF(2GZEuo(y`m|?xAf{zH1br#?}gp zAniUx!AE9S?EN$;`ZsDKFepp(RCg|)PxGE%bY_%2P`-5PZ3a0WdOZ?QEP z;pwd&zVHiza)E8VKYrd_xQxT~2}gjvg{85RiZj6ZAA}%UL&sfJ1LMQZ zj3r?_gG>ZYN>WmisM`b#p(#W#HVHx)92Oz~-DoCDR-OWy!f7xy0l7@AEU#W)`>La) zLLCx*Q887xv~jyalQEm|<#{{M`(;1j&(*q^l{vCMF2%N$-0*wTT<@ddx3<@n$KzJh zCRjCW7c5c0(U?*+7T6PR=VZR!)8@yweZnbylUvjTJCYB%!-nJ5Qj@q++r)clF(~;dYxh16# zFuTP}Xi8l-a||6(czY@(6hPC&twUA!q$(VW>KIJKVf|hF-~@*FuFgY%UuS_TXPOr% z!sk)L;QyK-E%E5qmU4>2<)PS(R!0e8l?esy{0%6dP@`N*fqW`Zp>U$~{tN%-XskJ`#u8X3vX#A1E40iL z%t@fuD{t5h-1j^10dIBbJue&*zOr*yDE}-PoX|8IUIbPS=Wrj18x9x|HSeObY!>b` z>Q0c~oA7$N@7JT$oz&$hSi|$*SKkwl5v0i${;CH?U8cw2P|GtUPX_r89*?Y8Q+R!X zn?nL^6oiz#`g}4HYgbH9E2`^|3Iu1l${|K~JyuRvK;Y7gNcgwJjG4hpw5l!GI(q8h?{5)!gykD(TJ@N)dl;h81(U=sc-`g*Ood~aH zYCttYp95!-m4pW>6A{{Ooxl!oj%sJ_NHl z+n}ACnU6$v6s<+wI-?!2K5-?tVoJA~-gw*zhoF^kk}_k>GGF**Cwko(H)f{;cQaJt z?WrZiU>iT006Lw0{l^!?wbZZOBDi0S75h*qBxcTr^bouH+i(|+14E)^^Om=Vs@O7m zUr&y;5efv)KAq?+mj_*&49i0Z&KIhYI&gn)3n3ygc_6u3ADhhv>pAZ>??-!4^f3TO znIvAU5i^%_0h9^vUo{9_ExCpdUsDm7xcd!4t3?b`&l=-cB|uuV?WK=S(|9eVxGo9zFI#A6q97S-fA*xF1M6ibq@Skj=f7lS#EWwbAl7$Fu2w0>jMtW2s1Xp zK&;k)k?RWGZ_@3M#PgPMVdU=Df5zLXoT(RC5`*f1mPOYdS4cI{n{8~0qD^CtYKR(Tp=A;Gn@+kQ;*o-;wj^;+nY%LHIQwg8 zrPL!5+Jzvb5`JM~262vl-*720wkK)m&* zq>KWJyXA(6Yp9e0X*ANd(g|NdyT&ZtqnaWc>F6saH>E(_QcYs})c)S@kq2r^JrzyI zBnUB{vU|pOHm?&KcQNs0;w};KdBM+$`!0Vpoz#I^Yu=JH{2+Ixhn%S1?iAq$o!r|S-=*VvVh z+nG(^&&EMZXs5@1ryZpthqN~%|tVH7tD*ysdRu7PE%%w>J&fuy`qTJ=h=h1|E= za!1_MybCQkzLWJVnF1#d|BD?bfBdydK{m=*+Dbu+(z3{($=_72)5>qPWZN)S9L>?~ zVkavg^R`tI@w1&Em9HQi*D!{SF9lCC1viN^+u%Vw1VNvXA9R^xp(tawTERTN5;}m- zZbRI9%|7>m2|i^3h6r6CYkOh$6)FWM+rYJUAa1c{pU=PqTQOoOubHuk^eJPzTEL#U z@U<8O+vSNqi8B2dK!WUSUA;lGok3@hA#NEph_dro=O88X(T4pLr6Vo{pQr^H&3VI% z6DuCzB&GWOh27y46RGg@y>YW0tUN1u*xnh^z_JVLc#2zuEIozsV`Sq`~*z)VxNjYXUoc^dE)oghEEI55lUTFhGtXQT9%z!Oc5@_9qC zWA?1Y-^^Ux3a&f&7U!8I^L;j^IfsDtk>uhw=9h{7z>hdr50Q`*uVRA|%LeX#7wSECQIU*azmrQG7Jh&p6?m)U4!l0j9#CRWfTVopORu83Z;iA!> zq!Yur$%nxZU|e8hoyDQzG0}7EwukNJ zEeDzRoAJ^%Zj;wwBoAt#X~`?LTyxDr!k32_dx!ocY@ zOc$1G8cR{jNzUbIIPHM)CZ=FI7(U&7e2%}~d4n#K!ZE=kqb{zN$m@%h;ieymTj4FW zHbB_b@e#u8++@K63(L|$oQ6`Z#OAFbz9Vw#z< znhdFY`+6qQLEGc(I69sRrLls8Rgi%vjjkq78+?i$>A7{sZA#{xjE&tmXRau5KxvUw z&MLeh41RY1Y{ImjLk{6MErBsi5q_LOdWFqg`#pmPM5T%-Lsy8G`U^4+(FP z1@+5pHwOvX5sNF6!shHXeXS;luyvdf+t*rB=R=E)-cgt{v^;c34i*R9A?s6({)jE& zivt1DQHHyvo4`Cx)H?xWM!gt-ok(7XESp>SJ%P{#+AuB6Yuajg5ZgRp1tl7Lu{wfR zsCdL69}diPtXYKFA!2m{+4TMYp45c-+u>jtJ)++$e`tv_@_#&zBW3GsYW`mup^t`_ zy{ZPz=f+0c6deGzg*QGL6wYNu4mTFpgFGJk$23`ilq_VueVtZsu$=3P1f1r95?j4C z9sL1HY5e!W7@R_R$f77&Yy2Ts=chiU&tpQ@jM57(9{wSm3XYG-7B|i@3Nlu&E4Rt# z&aFS!W9HR*`}>Tw8_2I-F~%f7HZ;NgH!gqUgoK1I9~3{FwtIaU2}9ta+vmBc2$+$e zn5YVx-N`c2lSDo|9AKoFf1>`V|32Q#L$4t-#zkFFtjl%Kn~ag@?0jJfJYH{YDfd#4@p?S0NdJaGMGtq#HUO<+>BF>g7_LMc*l%M()e1_$Y1JAJKXebNmzCpW#gn3_QiyTaT|aTx z;ITybO-n_7p9p9p_=tN1`1RrQ423zxNrvx{}s2ZuSXn`6{4 z8an5`8f@Kl%9be#u(Ra~5xPteODZhRY#T9a%LlM~47 z*@#BXbsyc~;Ood9hzk=S{$lG?M}?DB6QXIJ-KGZt*+=B+Z2vSc*K>$sXszV zo2(#kq#5C@?sQMJbncB6+{>981SSx0fnj-#oIT)34FQeV&Q`i(5neiJ?a|P#94T6e zDl2IOj;H5|on61}Wl4Ka_=_(1eO-oXcg^9FCBm++fmQW+T&}rlDh^SaoK}D zQ}2hPP2xAkZQQth-&kdshV`L91tpcsV&`5&%B9Mn3v1h43y4*uorK#A6nEhr9jeaC zMaW*a!D_0nOlrSQR5(n%Z^0X4RzFT@?U&EaAAW1IdrMrDyI6c#W4A%Dj$!{$%P&dl zZMC+KF}572=HB4cjc7^Z@rJ+qB0f29UDo<&Q{g$v%+3Ei*A1hK(fIzrG9TeZav@5c zO+S4NLkcvfaf?0qBEB+N(u(cJiF<>?w#RJKV_w>lkgs<UDe@IxVUg7Vw4H}vl2u7jI;y~*tm!4!|{V|z`^%>>o0MT zL)4UY*LZR+QN87*9|uda*pvVhU%j;QU0kb^{KGt?JL`?K*V^fsjJ`CllqYV*OG`j& z*mL7}$zeNX;n4xNOhOrg!Vw^Aj7^Gfu%6)P1s2sOUQ}QpDBCDLG_`+jx$l{ZF$mlp zlbJUZqAGx_?OLfljMBk>5zEpgyqpw!i1XTKv}%{U-QR9kj^frFdq4-fugU@AYIn^Y zX{+b;iGja=ECSIu0&gq9)B&B}6Q_REi2X-dtg5FHJvn7Xa;|^4+a7~?e})VhuMS({ zcwQ-qFX@Bm_*JeH<^;3nI$h);**n(3UXB}nZ9xVd*`|%UvHQyDH=VKf7plXg*B|=9 z#p_)KSLfn7dM#Z5bnOq7WE(?2~!-YKtJ&N680f5 zaeIhYPXI9GnQ-}$q4tKE`2v~wPOjIIzBJV+-9%jYkmz2)ybgtvHQEA9T07%L?U-b| z`=F72uG>iPF4q10+5bDWRlQ2pqo`4bEAKsmJ>4g-`?kp=iDOI|P+G5@w2)M|aYf7K zLpe2{#d^>bU`n%@7n~Hd_1zpozf(7PTaofMg9-2I>d7}b=99nbCTU;W7j{i5)H%?A zP<>CY|5~*Yks27Zz>rJz##7(u!1Yc^A*{w(Z73R{w*G>eq|xz3p>4Y|O<=}`vNn)8 zPC@N>riti5SK03Wu=N%&l?2_|E`z(fySonV?(QywySuwH$iM&_cXxLfeBr;jKaU2S5wOyGUhtAnhmU|B<7I0E>QR=HHCQI*3{eFG_%(ym=Bb&VD^Sc zQgFD`weKF=JkW0oTnF&_=SS2vs@}|Cm2l|)jI&hD_*wBUhn9s_uEaaCP~(>O9|=a; zC_Ph@NjsqZXR3g?^vshBH}isbI%4`dyPz;_y;1Uyt0~=^qX0|2sH3btZFt1Vd&KnL zWWq8`LsoVhjT^9+-7&GLNn0W%&U@GyDxD!E5sVtgWEn@Ouf=L|;jB%l}E8=IX)uYb-4ZpID~;QZO=sg+moH5g|84PYsqKBgIes zRw&y~$@mQ|Y6=26^%pCLDH_hYTGi5e=OX-af~|TDmP#sMcb$I8RzI_|xpkRYuc}pV zBXH~IP0+O;htDs>yVrn^z|Gg0j>q4AGaWy=F!J9)d(tuGa&Dc^gtabz$!S(P>B257 zZo9^J`Dj=?)6z067L1JO#d{D>_?`uL&Zs*@Bc*6~I>v`4A$6FCp4mAkf%}JAJPCVz z-?aYJ&yQDaa&8Y-XA~$#aU&@S0Xr&u$d$rYjJ^_xR|gEuA~!~Qn-zub6^ zUUx*yz3P`qZw|k1QuiF!?uhVwf4>>>IPCdJl>2SH3HHuT@0`4D`6r{q#30AT z5TmvbWAYQaxYWhH9yS@DCQaNX$B|%9v85chBPO*!sp|SD_#e9r2#^h>vA>B#lJGs# zQA;nxMnY2?4gb_9fE(KnarUyl*+3 zAR9iz+1Ogz(a~!a6BN+Y=OO8q25|euuAi~8_yTpy-a+sdr@z8dXY;S>NUiku@e7r_ zL-|>ZBA22(KIU5JVJW38Sz0YOlWlE<;Oq{4dkb)2(@MNn-nq(fZWBnIwI%B)yI4YQ zA+9*7_Kp76@5%S+mJjL?0Awt)lg?aYZ%JTGY8@gW!9|XJ7G8g~p5D&6b}YM%ovG4~ zw4ihy#6ypd$QLO_9*zXm?1u+MkB1hnnn}nxohDzwDXj%)PrLe@i-Es~vZd9De@Ydl zevWUT#yD0YxS=Fk(6=Nu1Vr!Z6C!@}tAhy1Hiz`z_CmEo+f zYGlyr=$72ebXYZO9&7NkU|l3eksJ&;WsWlmZ&EU*b0SjA zb-RoTd3g!>8mWTodJ;Z3iD99WZh{D1IPl`E?PZWC$2PmK5~V{m)>t}Du@Y)aL9~@? zDzk|eJ%V!;O8}&>f@~lPY{nwzlnPxH^0g(!<|uUKY3Nj8tS=D%XVG?vo_21va zeYkZ0vf})*!my!YQvdv@v#U_bfYANtbYe>*ftn=~Y=pQ=xQ*S}j}E6wBe@;2)eOV- z1f{#8=LKzYmnHgV>DXn(tz3e5>nd23S%>Im7(OlNLb4F1Vv1f~OnD3(ZZ1+ct3S=4 zED-uYg_$hb{8PK4*l%29cYGV>8aQjlu6SoZ%5nkI^Iay}fpU=k1p`_m8kK>_CPRYr z#8v$O9=B&!YR5bOMgp@(nNlD=!vvl=tB6#^>Wukwv@jY-!CbwAI!!WB(g0;EYcw;@ ztmxLGf)Uc?7krd`Q${}-4aB)^>a{;h?ckhw~2#JjVhV%lF3ORI{su zSUxWZ!X7U2h-&?6Ve;{wQBI>h)PJQ9;XzswHsC1u3YPSFM7U4HXt0iFi6fe>Y=x{< zMeZrif3!X*2B60f-Nz`tgv;d|7N+pzM53PnPCKhA@J)R_f2FR9NZBjwAU!MDKV*LN zjqU_J%h-|Q7j7Y4EvCN{Oy75>IDCO>bX)$Cz0Ge@Jvbd zsG!0UMmE7Y4zSl<84+@Co2apP#NS1r5_Nb}ZWN4Xk)#GAEroaq^H3v=HFM{cmCsIp zZIs-I#@ln5R5#9(jhN!DcNgT4ty5EMo5|yjl!)UZ(#H{B8WW<86w;rPjmQAbYbI>j z@u1>`OLUY8C%%{LhFPxxkjYT8Iv1G%V1KA=&Oe^iZ?)5R(&WNZ+1!I{=^lq8RTPO` zEyH3Cuibc%O7TL5GB+;p&;sOB0Kp|}S|=0_O+UO%f(2&z_R zc{p2S8B#qLzmmI=R z0{v7{UciuXwbA3sRRSit`$|RrfI}Ci8MXy=(PfG#BHJ*Mc2^Zv_zkvq~Yw%f{FT#=*cwANv zZ|}1EBT}N$^p)SszY$`}rs3~3Gi8XxEQ==k>YkA2ogU_2yutUy_Hr9OFFbPv8hU<; zof!WmkYRsdn#2c}Dd%_}=N>r^nEL3w{pq8y`Uc;{;~~LKX#`R0*qrsZ;=azOb;jwh zllzOxPvtMVvUp+Vj6^9={$$6sMCr5O^Zbop#razjp6!Z+al!o!9!uM=82hu9tzV|w zYw#KcwY4&s2~j+A6&ijX9}s;t_x!h%9~6C6_xVqPrO!jRa1p9>V(ng8Lj-VsX-+gQ zG5>0?`1(*j_fVc@;qnPK>rUTr;KbXvaGK;@lQiYK`y}YRZW;jd44I>-xqIq=LyO~Pk+o`<)%rqzL;<(*; zKDjd__dC0C6$#-pK_@|{Z^G>H==e!M%;GDU@CV_M%1_t7eI6eupDW|}r*Cxm?zZ8& z=6IY2bvkE?Oc2^-yu0q)^72gwxsk-C**t_Xemrt76~Gn+;ySki#I)5oTh?;D3D*WC z7TL>QvAXQD3b7dNIjkz&pV%IGllSgS@`RUusWQDRL+|W_#jlZ8t)jEJE_89NhrH}m zeT9#sQXE1}RQfB>s0a#2|FVIdy!dNmH$O!!O~G<%IoC;;A1a@Jb6yg!vAH~DM&TX+Z`Vn{Cy)0X2!8#`VwKdyLLH_fx$ z-s_RxQc)1(B{Ym|&@_@QyLMMM7rOfn6ldcY%R;%1ua&_$Y&B9ljhx~UjXfzli&P7Y zn!|`$C%KM%>BtRXezr}>V$)PvXaA{VBzSjdN7=`Dh1}MSdtpvXvaD|5M{BLq*9?F& zpqyPylwq9HaEQCnLu+kT)eZs9jHUD7@gI!u*iSLg$Ky9F5*v1AI{E}1kSn7ZTkCW5 zt7u)6mHCZZN+!(w@ubK_K_tO-9gr+(8PZwHxS0khbbD=37 z(^&bvlz1%VZ+d;pR&O1BugiFha)nb|^itjZGqNCg`ZEZqE4&?_Nx-KW{QLYU_SIv; zPD$5G0T^B22$hDl>5iJM;5VMU1E@&umC#0A$oyvGPPJQQf2$2<>=0J>?M;)wpJ}&l zZMP1hcLv%RWqZx)s7Aidyt3{zNf8{c-+O?=v0r~KIlAt@?6JHNq7fM)USH211Ze}t1NWg?3{d>WtLiCD5$Y}fw-^&pXguugBqNS zveSL~<3h6${R2_Rcj@xxq|({`8S_I7vWaY~ru%j`yPcpE9YA_q;pZLsPlTzLngt`~lzRD1js;lzA>ucyRf&H9y=OG`69;^WE$8#kSjZ`{ zbVE0ih9{QjyiBJN%66C(1Kl;a=;%}K~*V>G+u zZaH2mlx{x)n!x~lYz;cw(s4N0H`2ce3(y(P|7L*Z=KoS?1pS;D(I(0LF@n*0$W?v= z`5at1{S!sCX?)xff1LMl&mj8`#hLp*Ag2H$gE!~&fVvwQ4sfmgaYP_-=0MDL@2)vJ z?i4&vB(out`DEdg!9Z-~{%k@+s63E(y0mY8?7Iz@Vo~4T^5IPZ52Yi4aVZ(hRN45& zc4vcl)`-8RrF6NA@a4~B!2?E}+Ouln3CF>)zeBxn@9w>b)4gy3i{w6nNu%@LdRAxO zqg)FP5Knc!5it}TC>UJeab^fdRply5`co_J^Bx{`Xn+U(bK%nb`&LXW+5Y#lAc+2~ zDs^6at}nUjs5<8Mn87*2FzFK*#3Xp#&-il*wROp*zZ8~-evyb1`#$z?3tVSSoEaku z(YmV!ej|rG2xHtCMt#tl)PU674QVDPd^8J{km(#%OMI2=fb}QxSfmn&3_F zjWOcRj)QtJQ-utHTBJL9_M5jkRp>8NVGKJMGGKAQVRH0u+NP43nhbg>dS$e9y?b}N z+U8@ZPh84qXZUlPA=!=n#z#cPwQ1J3~+1ox`Vw_{yrn$SQ{&r_z z=Perpffm1i1oC*)Pc{=wj^N&Cuyur$E^twhW&4iiV#qM@i4#z%H|F0h6Nsuey?3N- zZp$BLYgTYVq^aO#%UX9Rk-mR1AnPi0iP8?i$64Zu=JUn-rXzuM|p?>1%1 zKf&gYy|JorO7mrfqKS5o$EF0Nd%hmdBwOoERy38gy9^d>Fh8T>@78#ht zcWm)qzD)w_V&oOi3xeVb{7%ik(fkAYSvjD5FK(@3HQExd%ld;9maHricq0VTk_J){ z73>Sy8gl`^V<8ATp=_BkLy?dbv6-8?JQu;x_I2wd_dD9J}WG7bU<9mr#TP( z+bAFW!G;Y)8$KSh>Aoe3-)e@Z8?&G9zlVGglxS}j6r^8``$5~Vm@3WX)JTNABd|*a zGwkS(YUB#r5QN+CNow{9ixqm|eO+evMAn%|QcCa)*ZC{ISpO-?9Y$Dk=NQ91I!L1D z4Uy>RUV^s3^#MO*iw=nhw9Wc=ssoXtY#F})}<_+IBee{OB z^0%uycIO1)X?AlaXpc2$nE%PVH~w=}`_tqJWRm$P zC4WBscS30S9VUDs?T2dj&pO#wx)sDbwdXbVlo~Ou{oh9Jb$|P9GEQRJ6dO%`X<`W2 zr~oQP#V1MYj*HQ!B}?=YnI;vKBga7&8RLqOFnmN&@TEjrT4#-^#oygh(iQ0`Z?O27 zJ4LhIHjT=oW=2Y|x24Rd(g6-7axE8Q*77;+!0#Z8_vR&#o_>+jv#7O5Oav!-K81B? zB(@lViina{dpt6lS>WOfil+4h zbUVh#m;PY!YS2<@AXUWE)!fhvz$G61_SXxE3gLW$IOji1V$;Hv#b7+2MfZqHt5iy_ zGt0@?IFkI}w8Y{=u1NhyZ#xdyR@)HGZpHAuEF`}&%Pzc%M9xe`X{W#XTfDg%Hx}bg zh)mzs*r`KaFu*9Ff7r-b*~n=kqi-*(9|cdAd2v?}YFJ8q8qjPmlELWnX`{VPIFNRD zwFf7lI&x3>PmfUFxwjjaM!%AxnBzGa3{C>rJlKy$Az^XFH!)XRW^g6t@zasLA<-=F zw}43m77~=TxFs$LqVyEB`Zt%~6tWqE-F`32M@ z87iUQ8Qy%a^Qb2!=#QmT%m=P<-US{7x_{ktjBL^TV0oVEuZ|m2w=*N6u8SsK>D$>8 zNV{(2(GF9ZLpAo6Qt4sW=e8xtJaZ=aj;P2J8;5LkOuX9#*NPJ>=#C;>E5bBFFA69iN>R>KUy$*&jZhP8T8 zUv#l;2MSHNaVX`z^nE^Qi#FZ>KPLe>td)SU9np%$CO%Sk8O#6r0CNQnPdr5upnR=WC_XXr$>fIS2UrvE5_uXCGQP%2)9!) zu0mWtUU?Gw1oo|6ar5bv@TiAAxwD!kOQm`8YiLV&nBPNQGSpz|aN^5)B;>8|Sy_9~ zNt$B2sYN)7;p10kW$GmX=Hcs=3c9zRpdTRDGh+(#esiI7F^tG^A>lNTa$N%%XD}bW zk8Mt{VvSoIR#E@bPp#0h`n&jwSIJjkG+J2P3;3b}Hs9cmz9=u3(pN^+;3(Sp_X+Rc zvO~X%P0ir6Q#mtSG-HKQrWwj;DQz^qr~tZSjJ27pDupRSc@>8Ljh6fu9sKeT{fG0b z?-+gAHT(y(MA6jU)#m?oJkQlMRNs)o6pXVR$4+D$K!v3ℑAwMx=DG2_A+_%^3CP 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 literal 0 HcmV?d00001 diff --git a/src/java/org/apache/fop/apps/FOUserAgent.java b/src/java/org/apache/fop/apps/FOUserAgent.java index 63a3859ac..ddd0d2a2b 100644 --- a/src/java/org/apache/fop/apps/FOUserAgent.java +++ b/src/java/org/apache/fop/apps/FOUserAgent.java @@ -21,6 +21,7 @@ package org.apache.fop.apps; // Java import java.io.File; +import java.net.URL; import java.util.Date; import java.util.Map; import javax.xml.transform.Source; @@ -76,6 +77,8 @@ public class FOUserAgent { /** The base URL for all URL resolutions, especially for external-graphics */ private String baseURL; + private URL fontCfgURL; + /** A user settable URI Resolver */ private URIResolver uriResolver = null; @@ -295,6 +298,30 @@ public class FOUserAgent { } } + // TODO adapt +// if (userConfig.getChild("font-config-file", false) != null) { +// try { +// String fontCfgFile = userConfig.getChild("font-config-file").getValue(null); +// if (fontCfgFile != null) { +// File file = new File(fontCfgFile); +// if (file.isAbsolute() || baseURL == null) { +// fontCfgFile = "file://" + file.getCanonicalPath(); +// fontCfgFile = fontCfgFile.replace( +// System.getProperty("file.separator").charAt(0), '/'); +// } else { +// fontCfgFile = baseURL + fontCfgFile.replace( +// System.getProperty("file.separator").charAt(0), '/'); +// } +// } +// setFontCfgURL(new URL(fontCfgFile)); +// } catch (MalformedURLException mue) { +// log.error("Font config URL in user config is malformed!"); +// } catch (IOException ioe) { +// log.error("Error converting relative font config file to absolute URL."); +// } +// log.info("Font config URL set to: " + fontCfgURL); +// } + /** * Returns the configuration subtree for a specific renderer. * @param mimeType MIME type of the renderer @@ -335,6 +362,14 @@ public class FOUserAgent { this.baseURL = baseURL; } + /** + * Sets the font config URL. + * @param fontCfgURl font config URL + */ + public void setFontCfgURL(URL fontCfgURL) { + this.fontCfgURL = fontCfgURL; + } + /** * Returns the base URL. * @return the base URL @@ -343,6 +378,14 @@ public class FOUserAgent { return this.baseURL; } + /** + * Returns the font config URL. + * @return the font config URL + */ + public URL getFontCfgURL() { + return this.fontCfgURL; + } + /** * Sets the URI Resolver. * @param resolver the new URI resolver diff --git a/src/java/org/apache/fop/area/AreaTreeHandler.java b/src/java/org/apache/fop/area/AreaTreeHandler.java index 91a5d603d..b40e4f0a6 100644 --- a/src/java/org/apache/fop/area/AreaTreeHandler.java +++ b/src/java/org/apache/fop/area/AreaTreeHandler.java @@ -48,6 +48,8 @@ import org.apache.fop.layoutmgr.PageSequenceLayoutManager; import org.apache.fop.layoutmgr.LayoutManagerMaker; import org.apache.fop.layoutmgr.LayoutManagerMapping; +import org.axsl.fontR.FontConsumer; + /** * Area tree handler for formatting objects. * @@ -118,7 +120,7 @@ public class AreaTreeHandler extends FOEventHandler { */ public AreaTreeHandler (FOUserAgent userAgent, String outputFormat, OutputStream stream) throws FOPException { - super(userAgent); + super(userAgent, outputFormat, log); setupModel(userAgent, outputFormat, stream); @@ -143,7 +145,7 @@ public class AreaTreeHandler extends FOEventHandler { */ protected void setupModel(FOUserAgent userAgent, String outputFormat, OutputStream stream) throws FOPException { - model = new RenderPagesModel(userAgent, outputFormat, fontInfo, + model = new RenderPagesModel(userAgent, outputFormat, fontConsumer, stream); } diff --git a/src/java/org/apache/fop/area/AreaTreeParser.java b/src/java/org/apache/fop/area/AreaTreeParser.java index b6d1e8163..938c64ea8 100644 --- a/src/java/org/apache/fop/area/AreaTreeParser.java +++ b/src/java/org/apache/fop/area/AreaTreeParser.java @@ -55,8 +55,6 @@ import org.apache.fop.fo.Constants; import org.apache.fop.fo.ElementMappingRegistry; import org.apache.fop.fo.expr.PropertyException; import org.apache.fop.fo.extensions.ExtensionAttachment; -import org.apache.fop.fonts.Font; -import org.apache.fop.fonts.FontInfo; import org.apache.fop.image.FopImage; import org.apache.fop.image.ImageFactory; import org.apache.fop.traits.BorderProps; diff --git a/src/java/org/apache/fop/area/CachedRenderPagesModel.java b/src/java/org/apache/fop/area/CachedRenderPagesModel.java index 4d4237078..7a8b97214 100644 --- a/src/java/org/apache/fop/area/CachedRenderPagesModel.java +++ b/src/java/org/apache/fop/area/CachedRenderPagesModel.java @@ -22,7 +22,6 @@ package org.apache.fop.area; import org.apache.commons.io.IOUtils; import org.apache.fop.apps.FOPException; import org.apache.fop.apps.FOUserAgent; -import org.apache.fop.fonts.FontInfo; import org.xml.sax.SAXException; import java.util.Map; @@ -38,6 +37,8 @@ import java.io.OutputStream; import java.io.BufferedOutputStream; import java.io.BufferedInputStream; +import org.axsl.fontR.FontConsumer; + /** * A simple cached render pages model. * If the page is prepared for later rendering then this saves @@ -59,8 +60,8 @@ public class CachedRenderPagesModel extends RenderPagesModel { * @throws FOPException if the renderer cannot be properly initialized */ public CachedRenderPagesModel (FOUserAgent userAgent, String outputFormat, - FontInfo fontInfo, OutputStream stream) throws FOPException { - super(userAgent, outputFormat, fontInfo, stream); + FontConsumer fontConsumer, OutputStream stream) throws FOPException { + super(userAgent, outputFormat, fontConsumer, stream); this.baseDir = new File(System.getProperty("java.io.tmpdir")); } diff --git a/src/java/org/apache/fop/area/RenderPagesModel.java b/src/java/org/apache/fop/area/RenderPagesModel.java index da9305fa1..a5fd2aec6 100644 --- a/src/java/org/apache/fop/area/RenderPagesModel.java +++ b/src/java/org/apache/fop/area/RenderPagesModel.java @@ -31,9 +31,12 @@ import org.xml.sax.SAXException; // FOP import org.apache.fop.apps.FOPException; import org.apache.fop.apps.FOUserAgent; -import org.apache.fop.fonts.FontInfo; import org.apache.fop.render.Renderer; +import org.axsl.fontR.Font; +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontException; + /** * This uses the AreaTreeModel to store the pages * Each page is either rendered if ready or prepared @@ -59,23 +62,29 @@ public class RenderPagesModel extends AreaTreeModel { * Create a new render pages model with the given renderer. * @param userAgent FOUserAgent object for process * @param outputFormat the MIME type of the output format to use (ex. "application/pdf"). - * @param fontInfo FontInfo object + * @param fontConsumer FontConsumer object * @param stream OutputStream * @throws FOPException if the renderer cannot be properly initialized */ public RenderPagesModel (FOUserAgent userAgent, String outputFormat, - FontInfo fontInfo, OutputStream stream) throws FOPException { + FontConsumer fontConsumer, OutputStream stream) throws FOPException { super(); renderer = userAgent.getRendererFactory().createRenderer( userAgent, outputFormat); try { - renderer.setupFontInfo(fontInfo); - // check that the "any,normal,400" font exists - if (!fontInfo.isSetupValid()) { - throw new FOPException( - "No default font defined by OutputConverter"); + renderer.setupFontConsumer(fontConsumer); + // check that the default fallback font exists + try { + fontConsumer.selectFontXSL(Font.FONT_SELECTION_AUTO, new String[] {"any"}, + Font.FONT_STYLE_ANY, + Font.FONT_WEIGHT_ANY, + Font.FONT_VARIANT_ANY, + Font.FONT_STRETCH_ANY, + 10000, ' '); + } catch (FontException e) { + throw new FOPException("No default font defined by OutputConverter"); } renderer.startRenderer(stream); } catch (IOException e) { diff --git a/src/java/org/apache/fop/area/Trait.java b/src/java/org/apache/fop/area/Trait.java index 6db47949a..b3ded165e 100644 --- a/src/java/org/apache/fop/area/Trait.java +++ b/src/java/org/apache/fop/area/Trait.java @@ -23,10 +23,10 @@ import java.awt.Color; import java.io.Serializable; import org.apache.fop.fo.Constants; -import org.apache.fop.fonts.FontTriplet; import org.apache.fop.image.FopImage; import org.apache.fop.traits.BorderProps; import org.apache.fop.util.ColorUtil; +import org.axsl.fontR.FontUse; // properties should be serialized by the holder /** @@ -53,12 +53,12 @@ public class Trait implements Serializable { public static final Integer EXTERNAL_LINK = new Integer(2); /** - * The font triplet for the current font. + * The font use from the font setup. */ public static final Integer FONT = new Integer(3); /** - * Font size for the current font. + * Font size (in millipoints) for the current font. */ public static final Integer FONT_SIZE = new Integer(4); @@ -226,7 +226,7 @@ public class Trait implements Serializable { //put(ID_LINK, new TraitInfo("id-link", String.class)); put(INTERNAL_LINK, new TraitInfo("internal-link", String.class)); put(EXTERNAL_LINK, new TraitInfo("external-link", String.class)); - put(FONT, new TraitInfo("font", FontTriplet.class)); + put(FONT, new TraitInfo("font", FontUse.class));//TODO vh: used to be FontTriplet put(FONT_SIZE, new TraitInfo("font-size", Integer.class)); put(COLOR, new TraitInfo("color", Color.class)); put(PROD_ID, new TraitInfo("prod-id", String.class)); diff --git a/src/java/org/apache/fop/area/inline/UnresolvedPageNumber.java b/src/java/org/apache/fop/area/inline/UnresolvedPageNumber.java index f8585e95a..15ffcbd87 100644 --- a/src/java/org/apache/fop/area/inline/UnresolvedPageNumber.java +++ b/src/java/org/apache/fop/area/inline/UnresolvedPageNumber.java @@ -21,7 +21,10 @@ package org.apache.fop.area.inline; import org.apache.fop.area.PageViewport; import org.apache.fop.area.Resolvable; -import org.apache.fop.fonts.Font; + +import org.axsl.fontR.Font; +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontUse; import java.util.List; @@ -34,6 +37,8 @@ public class UnresolvedPageNumber extends TextArea implements Resolvable { private boolean resolved = false; private String pageIDRef; + private FontConsumer fontConsumer; + private int fontSize; private String text; private boolean pageType; @@ -43,7 +48,7 @@ public class UnresolvedPageNumber extends TextArea implements Resolvable { public static final boolean LAST = false; //Transient fields - private transient Font font; + private transient FontUse fontUse; /** * Create a new unresolved page number. @@ -51,8 +56,8 @@ public class UnresolvedPageNumber extends TextArea implements Resolvable { * @param id the id reference for resolving this * @param f the font for formatting the page number */ - public UnresolvedPageNumber(String id, Font f) { - this(id, f, FIRST); + public UnresolvedPageNumber(String id, FontConsumer fc, FontUse fu, int fsize) { + this(id, fc, fu, fsize, FIRST); } /** @@ -63,11 +68,14 @@ public class UnresolvedPageNumber extends TextArea implements Resolvable { * @param type indicates whether the reference refers to the first or last area generated by * a formatting object */ - public UnresolvedPageNumber(String id, Font f, boolean type) { + public UnresolvedPageNumber(String id, FontConsumer fc, FontUse fu, int fsize, boolean type) { pageIDRef = id; - font = f; + fontConsumer = fc; + fontUse = fu; + fontSize = fsize; text = "?"; pageType = type; + fontUse.registerCharUsed('?'); } /** @@ -105,10 +113,10 @@ public class UnresolvedPageNumber extends TextArea implements Resolvable { removeText(); addWord(page.getPageNumberString(), 0); // update ipd - if (font != null) { - updateIPD(font.getWordWidth(text)); + if (fontUse != null) { + updateIPD(fontUse.getFont().width(text, fontSize, 0, 0)); // set the Font object to null, as we don't need it any more - font = null; + fontUse = null; } else { log.warn("Cannot update the IPD of an unresolved page number." + " No font information available."); @@ -136,4 +144,18 @@ public class UnresolvedPageNumber extends TextArea implements Resolvable { int lineStretch, int lineShrink) { return true; } + + /** + * @param str string to be measured + * @return width of the string + */ + private int getStringWidth(String str) { + int width = 0; + for (int count = 0; count < str.length(); count++) { + char c = str.charAt(count); + width += fontUse.getFont().width(c, fontSize); + fontUse.registerCharUsed(c); + } + return width; + } } diff --git a/src/java/org/apache/fop/cli/AreaTreeInputHandler.java b/src/java/org/apache/fop/cli/AreaTreeInputHandler.java index 4662a0ebc..f0963e969 100644 --- a/src/java/org/apache/fop/cli/AreaTreeInputHandler.java +++ b/src/java/org/apache/fop/cli/AreaTreeInputHandler.java @@ -28,10 +28,14 @@ import javax.xml.transform.sax.SAXResult; import org.apache.fop.apps.FOPException; import org.apache.fop.apps.FOUserAgent; +import org.apache.fop.area.AreaTreeHandler; import org.apache.fop.area.AreaTreeModel; import org.apache.fop.area.AreaTreeParser; import org.apache.fop.area.RenderPagesModel; -import org.apache.fop.fonts.FontInfo; +import org.apache.fop.fo.FOEventHandler; +import org.axsl.fontR.FontConsumer; +import org.foray.font.FOrayFontConsumer; +import org.foray.font.FOrayFontServer; import org.xml.sax.SAXException; /** @@ -61,9 +65,10 @@ public class AreaTreeInputHandler extends InputHandler { /** @see org.apache.fop.cli.InputHandler */ public void renderTo(FOUserAgent userAgent, String outputFormat, OutputStream out) throws FOPException { - FontInfo fontInfo = new FontInfo(); + // TODO vh: really create a new FontConsumer? + FontConsumer fontConsumer = FOEventHandler.getFontServer().makeFontConsumer(); AreaTreeModel treeModel = new RenderPagesModel(userAgent, - outputFormat, fontInfo, out); + outputFormat, fontConsumer, out); //Iterate over all intermediate files AreaTreeParser parser = new AreaTreeParser(); diff --git a/src/java/org/apache/fop/cli/Main.java b/src/java/org/apache/fop/cli/Main.java index cf793e2c0..28c5a71ee 100644 --- a/src/java/org/apache/fop/cli/Main.java +++ b/src/java/org/apache/fop/cli/Main.java @@ -174,6 +174,7 @@ public class Main { } catch (Exception e) { if (options != null) { options.getLogger().error("Exception", e); + e.printStackTrace(); } if (options.getOutputFile() != null) { options.getOutputFile().delete(); diff --git a/src/java/org/apache/fop/fo/FOEventHandler.java b/src/java/org/apache/fop/fo/FOEventHandler.java index 28dd32ba0..71671dd74 100644 --- a/src/java/org/apache/fop/fo/FOEventHandler.java +++ b/src/java/org/apache/fop/fo/FOEventHandler.java @@ -20,12 +20,17 @@ package org.apache.fop.fo; // Java +import java.net.MalformedURLException; +import java.net.URL; import java.util.HashSet; import java.util.Set; import org.xml.sax.SAXException; // Apache +import org.apache.commons.logging.Log; + import org.apache.fop.apps.FOUserAgent; +import org.apache.fop.apps.MimeConstants; import org.apache.fop.fo.flow.BasicLink; import org.apache.fop.fo.flow.Block; import org.apache.fop.fo.flow.BlockContainer; @@ -46,7 +51,12 @@ import org.apache.fop.fo.flow.TableColumn; import org.apache.fop.fo.flow.TableRow; import org.apache.fop.fo.pagination.Flow; import org.apache.fop.fo.pagination.PageSequence; -import org.apache.fop.fonts.FontInfo; + +// FOrayFont +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontException; +import org.axsl.fontR.FontServer; +import org.foray.font.FOrayFontServer; /** @@ -67,11 +77,6 @@ public abstract class FOEventHandler { */ protected FOUserAgent foUserAgent; - /** - * The Font information relevant for this document - */ - protected FontInfo fontInfo; - /** * The current set of id's in the FO tree. * This is used so we know if the FO tree contains duplicates. @@ -83,6 +88,96 @@ public abstract class FOEventHandler { */ protected PropertyListMaker propertyListMaker; + /** + * Font server used to provide all needed font informations. + */ + protected static FontServer fontServer; // TODO vh static? + +// private boolean useFreeStandingFonts; +// private boolean useSystemFonts; +// private boolean preferFreeStandingFonts; + + /** + * @inheritDoc + */ + public static FontServer getFontServer() { + return fontServer; + } + + protected FontConsumer fontConsumer; + +// /** +// * @inheritDoc +// */ +// public boolean preferFreeStandingFonts() { +// return preferFreeStandingFonts; +// } +// +// /** +// * @inheritDoc +// */ +// public PseudoLogger getPseudoLogger() { +// return pseudoLogger; +// } +// +// /** +// * @inheritDoc +// */ +// public boolean isUsingFreeStandingFonts() { +// return useFreeStandingFonts; +// } +// +// /** +// * @inheritDoc +// */ +// public boolean isUsingSystemFonts() { +// return useSystemFonts; +// } + + /** + * Retrieve the font consumer for this document + * @return the FontConsumer instance for this document + */ + public FontConsumer getFontConsumer() { + return fontConsumer; + } + + + public FOEventHandler(FOUserAgent foUserAgent, String outputFormat, Log log) { + this(foUserAgent); +// pseudoLogger = new CommonsLogger(log); +// if (outputFormat.equals(MimeConstants.MIME_PDF) +// || outputFormat.equals(MimeConstants.MIME_POSTSCRIPT)) { +// useFreeStandingFonts = true; +// useSystemFonts = false; +// preferFreeStandingFonts = true; +// } else { +// useFreeStandingFonts = false; +// useSystemFonts = true; +// preferFreeStandingFonts = false; +// } + if (fontServer == null) { + try { + fontServer = new FOrayFontServer(log); + /* TODO vh: plug font config file */ +// ((FOrayFontServer) fontServer).setBaseFontURL(new java.net.URL("file:///local/home/vhennebert/Fop/Tests/Config/axsl-font-conf.xml")); + final String AXSL_FONT_FILE = "/tmp/foray-links/axsl-temp-stuff/axsl-font-conf.xml"; + if(!new java.io.File(AXSL_FONT_FILE).canRead()) { + throw new Error("Missing aXSL config file:" + AXSL_FONT_FILE); + } + final URL url = new URL("file://" + AXSL_FONT_FILE); + ((FOrayFontServer) fontServer).setup(url/*foUserAgent.getFontCfgURL()*/, null); + } catch (MalformedURLException e) { // Should not happen + log.error("MalformedURLException",e); + } catch (FontException e) { + log.error("Unable to setup the font server",e); + } + } + fontConsumer = fontServer.makeFontConsumer(); + /* TODO vh: will have to release */ +// fontServer.registerFontConsumer(this); + } + /** * The XMLWhitespaceHandler for this tree */ @@ -99,7 +194,6 @@ public abstract class FOEventHandler { */ public FOEventHandler(FOUserAgent foUserAgent) { this.foUserAgent = foUserAgent; - this.fontInfo = new FontInfo(); } /** @@ -118,14 +212,6 @@ public abstract class FOEventHandler { return foUserAgent; } - /** - * Retrieve the font information for this document - * @return the FontInfo instance for this document - */ - public FontInfo getFontInfo() { - return this.fontInfo; - } - /** * Return the propertyListMaker. */ diff --git a/src/java/org/apache/fop/fo/PropertyList.java b/src/java/org/apache/fop/fo/PropertyList.java index 8b7c67abd..3eb4c7090 100644 --- a/src/java/org/apache/fop/fo/PropertyList.java +++ b/src/java/org/apache/fop/fo/PropertyList.java @@ -648,7 +648,7 @@ public abstract class PropertyList { * @throws PropertyException if there's a problem while processing the properties */ public CommonFont getFontProps() throws PropertyException { - return new CommonFont(this); + return new CommonFont(this, this.fobj.getFOEventHandler().getFontServer()); } /** diff --git a/src/java/org/apache/fop/fo/properties/CommonFont.java b/src/java/org/apache/fop/fo/properties/CommonFont.java index 11c53ad30..711dcd7a5 100755 --- a/src/java/org/apache/fop/fo/properties/CommonFont.java +++ b/src/java/org/apache/fop/fo/properties/CommonFont.java @@ -28,10 +28,12 @@ import org.apache.fop.datatypes.PercentBaseContext; import org.apache.fop.fo.Constants; import org.apache.fop.fo.PropertyList; import org.apache.fop.fo.expr.PropertyException; -import org.apache.fop.fonts.Font; -import org.apache.fop.fonts.FontInfo; -import org.apache.fop.fonts.FontMetrics; -import org.apache.fop.fonts.FontTriplet; + +import org.axsl.fontR.Font; +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontException; +import org.axsl.fontR.FontServer; +import org.axsl.fontR.FontUse; /** * Collection of properties used in @@ -78,13 +80,17 @@ public class CommonFont { */ public int fontWeight; - private Font fontState; + private FontServer fontServer; + + private FontUse fontUse; /** * Create a CommonFont object. * @param pList The PropertyList to get properties from. + * @param fontServer the server from which to get the font */ - public CommonFont(PropertyList pList) throws PropertyException { + public CommonFont(PropertyList pList, FontServer fontServer) + throws PropertyException { List lst = pList.get(Constants.PR_FONT_FAMILY).getList(); fontFamily = new String[lst.size()]; for (int i = 0, c = lst.size(); i < c; i++) { @@ -101,8 +107,17 @@ public class CommonFont { fontStyle = pList.get(Constants.PR_FONT_STYLE).getEnum(); fontVariant = pList.get(Constants.PR_FONT_VARIANT).getEnum(); fontWeight = pList.get(Constants.PR_FONT_WEIGHT).getEnum(); + this.fontServer = fontServer; } - + + /** + * Return the font size based on the properties. + * @return the font size in millipoints. + */ + public int getFontSize(PercentBaseContext context) { + return fontSize.getValue(context); + } + /** @return the first font-family name in the list */ public String getFirstFontFamily() { return this.fontFamily[0]; @@ -121,58 +136,78 @@ public class CommonFont { this.fontFamily = new String[] {value}; } - + /** - * Create and return a Font object based on the properties. + * Return a font use based on the properties. * - * @param fontInfo - * @return a Font object. + * @param fontConsumer font consumer to which the returned font use will be associated + * @return a FontUse instance corresponding to the properties */ - public Font getFontState(FontInfo fontInfo, PercentBaseContext context) { - if (fontState == null) { + public FontUse getFontState(FontConsumer fontConsumer, PercentBaseContext context) { + if (fontUse == null) { /**@todo this is ugly. need to improve. */ - int font_weight = 400; + short font_weight = Font.FONT_WEIGHT_ANY; if (fontWeight == Constants.EN_BOLDER) { // +100 from inherited } else if (fontWeight == Constants.EN_LIGHTER) { // -100 from inherited } else { switch (fontWeight) { - case Constants.EN_100: font_weight = 100; break; - case Constants.EN_200: font_weight = 200; break; - case Constants.EN_300: font_weight = 300; break; - case Constants.EN_400: font_weight = 400; break; - case Constants.EN_500: font_weight = 500; break; - case Constants.EN_600: font_weight = 600; break; - case Constants.EN_700: font_weight = 700; break; - case Constants.EN_800: font_weight = 800; break; - case Constants.EN_900: font_weight = 900; break; + case Constants.EN_100: font_weight = Font.FONT_WEIGHT_100; break; + case Constants.EN_200: font_weight = Font.FONT_WEIGHT_200; break; + case Constants.EN_300: font_weight = Font.FONT_WEIGHT_300; break; + case Constants.EN_400: font_weight = Font.FONT_WEIGHT_400; break; + case Constants.EN_500: font_weight = Font.FONT_WEIGHT_500; break; + case Constants.EN_600: font_weight = Font.FONT_WEIGHT_600; break; + case Constants.EN_700: font_weight = Font.FONT_WEIGHT_700; break; + case Constants.EN_800: font_weight = Font.FONT_WEIGHT_800; break; + case Constants.EN_900: font_weight = Font.FONT_WEIGHT_900; break; } } - String style; + byte style; switch (fontStyle) { - case Constants.EN_ITALIC: - style = "italic"; - break; - case Constants.EN_OBLIQUE: - style = "oblique"; - break; - case Constants.EN_BACKSLANT: - style = "backslant"; - break; + case Constants.EN_ITALIC: style = Font.FONT_STYLE_ITALIC; break; + case Constants.EN_OBLIQUE: style = Font.FONT_STYLE_OBLIQUE; break; + case Constants.EN_BACKSLANT: style = Font.FONT_STYLE_BACKSLANT; break; default: - style = "normal"; + style = Font.FONT_STYLE_NORMAL; + } + byte variant = fontVariant == Constants.EN_SMALL_CAPS ? Font.FONT_VARIANT_SMALL_CAPS + : Font.FONT_VARIANT_NORMAL; + byte stretch; + /* TODO vh: handle narrower and wider */ + switch (fontStretch) { + case Constants.EN_NORMAL: stretch = Font.FONT_STRETCH_NORMAL; break; + case Constants.EN_ULTRA_CONDENSED: stretch = Font.FONT_STRETCH_ULTRA_CONDENSED; break; + case Constants.EN_EXTRA_CONDENSED: stretch = Font.FONT_STRETCH_EXTRA_CONDENSED; break; + case Constants.EN_CONDENSED: stretch = Font.FONT_STRETCH_CONDENSED; break; + case Constants.EN_SEMI_CONDENSED: stretch = Font.FONT_STRETCH_SEMI_CONDENSED; break; + case Constants.EN_SEMI_EXPANDED: stretch = Font.FONT_STRETCH_SEMI_EXPANDED; break; + case Constants.EN_EXPANDED: stretch = Font.FONT_STRETCH_EXPANDED; break; + case Constants.EN_EXTRA_EXPANDED: stretch = Font.FONT_STRETCH_EXTRA_EXPANDED; break; + case Constants.EN_ULTRA_EXPANDED: stretch = Font.FONT_STRETCH_ULTRA_EXPANDED; break; + default: stretch = Font.FONT_STRETCH_NORMAL; + } + try { + fontUse = fontConsumer.selectFontXSL(Font.FONT_SELECTION_AUTO/*TODO vh*/, + getFontFamily(), style, font_weight, variant, + stretch, fontSize.getValue(context), ' '/*TODO vh*/); + } catch (FontException e) { + try { + fontUse = fontConsumer.selectFontXSL(Font.FONT_SELECTION_AUTO, new String[] {"any"}, + Font.FONT_STYLE_ANY, + Font.FONT_WEIGHT_ANY, + Font.FONT_VARIANT_ANY, + Font.FONT_STRETCH_ANY, + 10000, ' '); + } catch (FontException e1) { + // Should never happen (see area.RenderPagesModel) + } } - // NOTE: this is incomplete. font-size may be specified with - // various kinds of keywords too - //int fontVariant = propertyList.get("font-variant").getEnum(); - FontTriplet triplet = fontInfo.fontLookup(getFontFamily(), style, - font_weight); - fontState = fontInfo.getFontInstance(triplet, fontSize.getValue(context)); } - return fontState; + return fontUse; } } diff --git a/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java b/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java index 623c94c04..c0bccc034 100644 --- a/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java @@ -27,13 +27,15 @@ import org.apache.fop.area.Area; import org.apache.fop.area.Block; import org.apache.fop.area.LineArea; import org.apache.fop.datatypes.Length; -import org.apache.fop.fonts.Font; import org.apache.fop.layoutmgr.inline.InlineLayoutManager; import org.apache.fop.layoutmgr.inline.InlineLevelLayoutManager; import org.apache.fop.layoutmgr.inline.LineLayoutManager; import org.apache.fop.traits.MinOptMax; import org.apache.fop.traits.SpaceVal; +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontUse; + /** * LayoutManager for a block FO. */ @@ -71,12 +73,14 @@ public class BlockLayoutManager extends BlockStackingLayoutManager public void initialize() { super.initialize(); - Font fs = getBlockFO().getCommonFont().getFontState( - getBlockFO().getFOEventHandler().getFontInfo(), this); + FontConsumer fontConsumer = getBlockFO().getFOEventHandler().getFontConsumer(); + FontUse fontUse = getBlockFO().getCommonFont().getFontState( + fontConsumer, this); + int fontSize = getBlockFO().getCommonFont().getFontSize(this); - lead = fs.getAscender(); - follow = -fs.getDescender(); - middleShift = -fs.getXHeight() / 2; + lead = fontUse.getFont().getAscender(fontSize); + follow = -fontUse.getFont().getDescender(fontSize); + middleShift = -fontUse.getFont().getXHeight(fontSize) / 2; lineHeight = getBlockFO().getLineHeight().getOptimum(this).getLength(); startIndent = getBlockFO().getCommonMarginBlock().startIndent.getValue(this); endIndent = getBlockFO().getCommonMarginBlock().endIndent.getValue(this); diff --git a/src/java/org/apache/fop/layoutmgr/TraitSetter.java b/src/java/org/apache/fop/layoutmgr/TraitSetter.java index 274204122..0bf7072a6 100644 --- a/src/java/org/apache/fop/layoutmgr/TraitSetter.java +++ b/src/java/org/apache/fop/layoutmgr/TraitSetter.java @@ -32,9 +32,7 @@ import org.apache.fop.fo.Constants; import org.apache.fop.fo.properties.CommonMarginBlock; import org.apache.fop.fo.properties.CommonBorderPaddingBackground; import org.apache.fop.fo.properties.CommonTextDecoration; -import org.apache.fop.fonts.Font; -import org.apache.fop.fonts.FontInfo; -import org.apache.fop.fonts.FontTriplet; +import org.axsl.fontR.FontUse; /** * This is a helper class used for setting common traits on areas. @@ -468,9 +466,9 @@ public class TraitSetter { * @param area the target are * @param font the font to use */ - public static void addFontTraits(Area area, Font font) { - area.addTrait(Trait.FONT, font.getFontTriplet()); - area.addTrait(Trait.FONT_SIZE, new Integer(font.getFontSize())); + public static void addFontTraits(Area area, FontUse fontUse, int fontSize) { + area.addTrait(Trait.FONT, fontUse); + area.addTrait(Trait.FONT_SIZE, new Integer(fontSize)); } /** diff --git a/src/java/org/apache/fop/layoutmgr/inline/AlignmentContext.java b/src/java/org/apache/fop/layoutmgr/inline/AlignmentContext.java index ac1e12a2e..9122ed4be 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/AlignmentContext.java +++ b/src/java/org/apache/fop/layoutmgr/inline/AlignmentContext.java @@ -23,7 +23,8 @@ import org.apache.fop.datatypes.Length; import org.apache.fop.datatypes.LengthBase; import org.apache.fop.datatypes.SimplePercentBaseContext; import org.apache.fop.fo.Constants; -import org.apache.fop.fonts.Font; + +import org.axsl.fontR.Font; /** * The alignment context is carried within a LayoutContext and as @@ -110,6 +111,7 @@ public class AlignmentContext implements Constants { /** * Creates a new instance of AlignmentContext * @param font the font + * @param fontSize the font size in millipoints * @param lineHeight the computed value of the lineHeight property * @param alignmentAdjust the alignment-adjust property * @param alignmentBaseline the alignment-baseline property @@ -118,17 +120,18 @@ public class AlignmentContext implements Constants { * @param parentAlignmentContext the parent alignment context */ public AlignmentContext(Font font + , int fontSize , int lineHeight , Length alignmentAdjust , int alignmentBaseline , Length baselineShift , int dominantBaseline , AlignmentContext parentAlignmentContext) { - this.areaHeight = font.getAscender() - font.getDescender(); + this.areaHeight = font.getAscender(fontSize) - font.getDescender(fontSize); this.lineHeight = lineHeight; this.parentAlignmentContext = parentAlignmentContext; this.scaledBaselineTable = parentAlignmentContext.getScaledBaselineTable(); - this.xHeight = font.getXHeight(); + this.xHeight = font.getXHeight(fontSize); setAlignmentBaselineIdentifier(alignmentBaseline , parentAlignmentContext.getDominantBaselineIdentifier()); setBaselineShift(baselineShift); @@ -153,11 +156,13 @@ public class AlignmentContext implements Constants { dominantBaselineIdentifier = dominantBaseline; break; } - actualBaselineTable = ScaledBaselineTableFactory.makeFontScaledBaselineTable(font, + actualBaselineTable = ScaledBaselineTableFactory.makeFontScaledBaselineTable(font, + fontSize, dominantBaselineIdentifier, scaledBaselineTable.getWritingMode()); if (newScaledBaselineTableRequired) { - scaledBaselineTable = ScaledBaselineTableFactory.makeFontScaledBaselineTable(font, + scaledBaselineTable = ScaledBaselineTableFactory.makeFontScaledBaselineTable(font, + fontSize, dominantBaselineIdentifier, scaledBaselineTable.getWritingMode()); } @@ -168,19 +173,20 @@ public class AlignmentContext implements Constants { * Creates a new instance of AlignmentContext based simply * on the font and the writing mode. * @param font the font + * @param fontSize the font size in millipoints * @param lineHeight the computed value of the lineHeight property * @param writingMode the current writing mode */ - public AlignmentContext(Font font, int lineHeight, int writingMode) { - this.areaHeight = font.getAscender() - font.getDescender(); + public AlignmentContext(Font font, int fontSize, int lineHeight, int writingMode) { + this.areaHeight = font.getAscender(fontSize) - font.getDescender(fontSize); this.lineHeight = lineHeight; - this.xHeight = font.getXHeight(); + this.xHeight = font.getXHeight(fontSize); this.parentAlignmentContext = null; - this.scaledBaselineTable - = ScaledBaselineTableFactory.makeFontScaledBaselineTable(font, writingMode); + this.scaledBaselineTable = ScaledBaselineTableFactory. + makeFontScaledBaselineTable(font, fontSize, writingMode); this.actualBaselineTable = scaledBaselineTable; this.alignmentBaselineIdentifier = getDominantBaselineIdentifier(); - this.alignmentPoint = font.getAscender(); + this.alignmentPoint = font.getAscender(fontSize); this.baselineShiftValue = 0; } diff --git a/src/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java index 26dc8c3b4..eae681e0e 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java @@ -20,7 +20,7 @@ package org.apache.fop.layoutmgr.inline; import org.apache.fop.fo.flow.Character; -import org.apache.fop.fonts.Font; +import org.apache.fop.fo.properties.CommonFont; import org.apache.fop.layoutmgr.InlineKnuthSequence; import org.apache.fop.layoutmgr.KnuthElement; import org.apache.fop.layoutmgr.KnuthGlue; @@ -40,6 +40,10 @@ import java.util.LinkedList; import org.apache.fop.fo.properties.CommonBorderPaddingBackground; import org.apache.fop.layoutmgr.inline.AlignmentContext; +import org.axsl.fontR.Font; +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontUse; + /** * LayoutManager for the fo:character formatting object */ @@ -47,7 +51,10 @@ public class CharacterLayoutManager extends LeafNodeLayoutManager { private Character fobj; private MinOptMax letterSpaceIPD; private int hyphIPD; - private Font font; + private FontUse fontUse; + private FontConsumer fontConsumer; + /** Font size in millipoints */ + private int fontSize; private CommonBorderPaddingBackground borderProps = null; /** @@ -63,14 +70,18 @@ public class CharacterLayoutManager extends LeafNodeLayoutManager { /** @see org.apache.fop.layoutmgr.LayoutManager#initialize */ public void initialize() { - font = fobj.getCommonFont().getFontState(fobj.getFOEventHandler().getFontInfo(), this); + fontConsumer = fobj.getFOEventHandler().getFontConsumer(); + CommonFont commonFont = fobj.getCommonFont(); + fontUse = commonFont.getFontState(fontConsumer, this); + fontSize = commonFont.getFontSize(this); SpaceVal ls = SpaceVal.makeLetterSpacing(fobj.getLetterSpacing()); letterSpaceIPD = ls.getSpace(); - hyphIPD = font.getCharWidth(fobj.getCommonHyphenation().hyphenationCharacter); + hyphIPD = fontUse.getFont().width(fobj.getCommonHyphenation().hyphenationCharacter, + fontSize); borderProps = fobj.getCommonBorderPaddingBackground(); setCommonBorderPaddingBackground(borderProps); org.apache.fop.area.inline.TextArea chArea = getCharacterInlineArea(fobj); - chArea.setBaselineOffset(font.getAscender()); + chArea.setBaselineOffset(fontUse.getFont().getAscender(fontSize)); setCurrentArea(chArea); } @@ -99,17 +110,21 @@ public class CharacterLayoutManager extends LeafNodeLayoutManager { return null; } - ipd = new MinOptMax(font.getCharWidth(fobj.getCharacter())); + Font font = fontUse.getFont(); + char curChar = fobj.getCharacter(); + ipd = new MinOptMax(font.width(curChar, fontSize)); + fontUse.registerCharUsed(curChar); curArea.setIPD(ipd.opt); - curArea.setBPD(font.getAscender() - font.getDescender()); + curArea.setBPD(font.getAscender(fontSize) - font.getDescender(fontSize)); - TraitSetter.addFontTraits(curArea, font); + TraitSetter.addFontTraits(curArea, fontUse, fontSize); curArea.addTrait(Trait.COLOR, fobj.getColor()); // TODO: may need some special handling for fo:character alignmentContext = new AlignmentContext(font - , font.getFontSize() + , fontSize + , fontSize , fobj.getAlignmentAdjust() , fobj.getAlignmentBaseline() , fobj.getBaselineShift() diff --git a/src/java/org/apache/fop/layoutmgr/inline/ExternalGraphicLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/ExternalGraphicLayoutManager.java index ecdbd68e4..98128ad48 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/ExternalGraphicLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/ExternalGraphicLayoutManager.java @@ -19,7 +19,6 @@ package org.apache.fop.layoutmgr.inline; -import java.awt.geom.Rectangle2D; import org.apache.fop.area.Area; import org.apache.fop.area.inline.Image; import org.apache.fop.fo.flow.ExternalGraphic; diff --git a/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java index d3d5868f2..c31e58b1f 100755 --- a/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java @@ -35,7 +35,6 @@ import org.apache.fop.fo.pagination.Title; import org.apache.fop.fo.properties.CommonBorderPaddingBackground; import org.apache.fop.fo.properties.CommonMarginInline; import org.apache.fop.fo.properties.SpaceProperty; -import org.apache.fop.fonts.Font; import org.apache.fop.layoutmgr.BlockKnuthSequence; import org.apache.fop.layoutmgr.BlockLevelLayoutManager; import org.apache.fop.layoutmgr.BreakElement; @@ -51,6 +50,8 @@ import org.apache.fop.layoutmgr.PositionIterator; import org.apache.fop.traits.MinOptMax; import org.apache.fop.traits.SpaceVal; +import org.axsl.fontR.FontUse; + /** * LayoutManager for objects which stack children in the inline direction, * such as Inline or Line @@ -66,7 +67,8 @@ public class InlineLayoutManager extends InlineStackingLayoutManager { private Position auxiliaryPosition; - private Font font; + private FontUse fontUse; + private int fontSize; /** The alignment adjust property */ protected Length alignmentAdjust; @@ -101,7 +103,9 @@ public class InlineLayoutManager extends InlineStackingLayoutManager { /** @see LayoutManager#initialize */ public void initialize() { int padding = 0; - font = fobj.getCommonFont().getFontState(fobj.getFOEventHandler().getFontInfo(), this); + fontUse = fobj.getCommonFont().getFontState( + fobj.getFOEventHandler().getFontConsumer(), this); + fontSize = fobj.getCommonFont().getFontSize(this); lineHeight = fobj.getLineHeight(); borderProps = fobj.getCommonBorderPaddingBackground(); inlineProps = fobj.getCommonMarginInline(); @@ -229,12 +233,13 @@ public class InlineLayoutManager extends InlineStackingLayoutManager { SpaceSpecifier leadingSpace = context.getLeadingSpace(); if (fobj instanceof Title) { - alignmentContext = new AlignmentContext(font, + alignmentContext = new AlignmentContext(fontUse.getFont(), fontSize, lineHeight.getOptimum(this).getLength().getValue(this), context.getWritingMode()); } else { - alignmentContext = new AlignmentContext(font + alignmentContext = new AlignmentContext(fontUse.getFont() + , fontSize , lineHeight.getOptimum(this).getLength().getValue(this) , alignmentAdjust , alignmentBaseline diff --git a/src/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java index 1f47e7c39..c4a8b4cc3 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java @@ -25,7 +25,8 @@ import org.apache.fop.area.inline.InlineArea; import org.apache.fop.area.inline.Space; import org.apache.fop.area.inline.TextArea; import org.apache.fop.fo.flow.Leader; -import org.apache.fop.fonts.Font; +import org.apache.fop.fo.FObj; +import org.apache.fop.fo.properties.CommonFont; import org.apache.fop.layoutmgr.InlineKnuthSequence; import org.apache.fop.layoutmgr.KnuthElement; import org.apache.fop.layoutmgr.KnuthGlue; @@ -41,15 +42,19 @@ import org.apache.fop.traits.MinOptMax; import java.util.List; import java.util.LinkedList; -import org.apache.fop.fo.FObj; + +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontUse; /** * LayoutManager for the fo:leader formatting object */ public class LeaderLayoutManager extends LeafNodeLayoutManager { private Leader fobj; - private Font font = null; - + FontUse fontUse = null; + private int fontSize; + private FontConsumer fontConsumer; + private LinkedList contentList = null; private ContentLayoutManager clm = null; @@ -67,7 +72,10 @@ public class LeaderLayoutManager extends LeafNodeLayoutManager { /** @see org.apache.fop.layoutmgr.LayoutManager#initialize */ public void initialize() { - font = fobj.getCommonFont().getFontState(fobj.getFOEventHandler().getFontInfo(), this); + fontConsumer = fobj.getFOEventHandler().getFontConsumer(); + CommonFont commonFont = fobj.getCommonFont(); + fontUse = commonFont.getFontState(fontConsumer, this); + fontSize = commonFont.getFontSize(this); // the property leader-alignment does not affect vertical positioning // (see section 7.21.1 in the XSL Recommendation) // setAlignment(node.getLeaderAlignment()); @@ -131,12 +139,13 @@ public class LeaderLayoutManager extends LeafNodeLayoutManager { TextArea t = new TextArea(); char dot = '.'; // userAgent.getLeaderDotCharacter(); - int width = font.getCharWidth(dot); + int width = fontUse.getFont().width(dot, fontSize); + fontUse.registerCharUsed(dot); t.addWord("" + dot, 0); t.setIPD(width); t.setBPD(width); t.setBaselineOffset(width); - TraitSetter.addFontTraits(t, font); + TraitSetter.addFontTraits(t, fontUse, fontSize); t.addTrait(Trait.COLOR, fobj.getColor()); Space spacer = null; if (fobj.getLeaderPatternWidth().getValue(this) > width) { diff --git a/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java index e7571fda0..e3c3c978d 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java @@ -49,16 +49,16 @@ import org.apache.fop.layoutmgr.PositionIterator; import org.apache.fop.layoutmgr.SpaceSpecifier; import org.apache.fop.area.Area; import org.apache.fop.area.LineArea; +import org.apache.fop.area.Trait; import org.apache.fop.area.inline.InlineArea; +import org.apache.fop.traits.MinOptMax; import java.util.ListIterator; import java.util.List; import java.util.ArrayList; import java.util.LinkedList; -import org.apache.fop.area.Trait; -import org.apache.fop.fonts.Font; -import org.apache.fop.traits.MinOptMax; +import org.axsl.fontR.FontUse; /** * LayoutManager for lines. It builds one or more lines containing @@ -560,9 +560,13 @@ public class LineLayoutManager extends InlineStackingLayoutManager /** @see org.apache.fop.layoutmgr.LayoutManager */ public LinkedList getNextKnuthElements(LayoutContext context, int alignment) { - Font fs = fobj.getCommonFont().getFontState(fobj.getFOEventHandler().getFontInfo(), this); - alignmentContext - = new AlignmentContext(fs, lineHeight.getValue(this), context.getWritingMode()); + FontUse fontUse = fobj.getCommonFont().getFontState( + fobj.getFOEventHandler().getFontConsumer(), this); + int fontSize = fobj.getCommonFont().getFontSize(this); + alignmentContext = new AlignmentContext(fontUse.getFont(), + fontSize, + lineHeight.getValue(this), + context.getWritingMode()); context.setAlignmentContext(alignmentContext); // Get a break from currently active child LM // Set up constraints for inline level managers diff --git a/src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLastLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLastLayoutManager.java index b507c3997..8d45596e5 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLastLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLastLayoutManager.java @@ -27,6 +27,7 @@ import org.apache.fop.area.inline.UnresolvedPageNumber; import org.apache.fop.area.inline.TextArea; import org.apache.fop.layoutmgr.LayoutContext; import org.apache.fop.layoutmgr.LayoutManager; +import org.axsl.fontR.FontConsumer; /** * LayoutManager for the fo:page-number-citation-last formatting object @@ -60,7 +61,8 @@ public class PageNumberCitationLastLayoutManager extends PageNumberCitationLayou TextArea text = null; resolved = false; if (!getPSLM().associateLayoutManagerID(fobj.getRefId())) { - text = new UnresolvedPageNumber(fobj.getRefId(), font, UnresolvedPageNumber.LAST); + text = new UnresolvedPageNumber(fobj.getRefId(), fontConsumer, fontUse, fontSize, + UnresolvedPageNumber.LAST); getPSLM().addUnresolvedArea(fobj.getRefId(), (Resolvable)text); String str = "MMM"; // reserve three spaces for page number int width = getStringWidth(str); diff --git a/src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLayoutManager.java index 8ab338e99..ec1ba8bae 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLayoutManager.java @@ -20,26 +20,31 @@ package org.apache.fop.layoutmgr.inline; import org.apache.fop.fo.flow.PageNumberCitation; +import org.apache.fop.fo.properties.CommonFont; import org.apache.fop.area.PageViewport; import org.apache.fop.area.Resolvable; import org.apache.fop.area.Trait; import org.apache.fop.area.inline.InlineArea; import org.apache.fop.area.inline.UnresolvedPageNumber; import org.apache.fop.area.inline.TextArea; -import org.apache.fop.fonts.Font; import org.apache.fop.layoutmgr.LayoutContext; import org.apache.fop.layoutmgr.LayoutManager; import org.apache.fop.layoutmgr.PositionIterator; import org.apache.fop.layoutmgr.TraitSetter; +import org.axsl.fontR.Font; +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontUse; + /** * LayoutManager for the fo:page-number-citation formatting object */ public class PageNumberCitationLayoutManager extends LeafNodeLayoutManager { private PageNumberCitation fobj; - /** Font for the page-number-citation */ - protected Font font; + FontConsumer fontConsumer; + FontUse fontUse; + int fontSize; /** Indicates whether the page referred to by the citation has been resolved yet */ protected boolean resolved = false; @@ -57,7 +62,10 @@ public class PageNumberCitationLayoutManager extends LeafNodeLayoutManager { /** @see org.apache.fop.layoutmgr.LayoutManager#initialize */ public void initialize() { - font = fobj.getCommonFont().getFontState(fobj.getFOEventHandler().getFontInfo(), this); + fontConsumer = fobj.getFOEventHandler().getFontConsumer(); + CommonFont commonFont = fobj.getCommonFont(); + fontUse = commonFont.getFontState(fontConsumer, this); + fontSize = commonFont.getFontSize(this); setCommonBorderPaddingBackground(fobj.getCommonBorderPaddingBackground()); } @@ -66,7 +74,8 @@ public class PageNumberCitationLayoutManager extends LeafNodeLayoutManager { */ protected AlignmentContext makeAlignmentContext(LayoutContext context) { return new AlignmentContext( - font + fontUse.getFont() + , fontSize , fobj.getLineHeight().getOptimum(this).getLength().getValue(this) , fobj.getAlignmentAdjust() , fobj.getAlignmentBaseline() @@ -110,7 +119,7 @@ public class PageNumberCitationLayoutManager extends LeafNodeLayoutManager { resolved = true; } else { resolved = false; - text = new UnresolvedPageNumber(fobj.getRefId(), font); + text = new UnresolvedPageNumber(fobj.getRefId(), fontConsumer, fontUse, fontSize); String str = "MMM"; // reserve three spaces for page number int width = getStringWidth(str); text.setIPD(width); @@ -126,9 +135,10 @@ public class PageNumberCitationLayoutManager extends LeafNodeLayoutManager { */ protected void updateTextAreaTraits(TextArea text) { TraitSetter.setProducerID(text, fobj.getId()); - text.setBPD(font.getAscender() - font.getDescender()); - text.setBaselineOffset(font.getAscender()); - TraitSetter.addFontTraits(text, font); + Font font = fontUse.getFont(); + text.setBPD(font.getAscender(fontSize) - font.getDescender(fontSize)); + text.setBaselineOffset(font.getAscender(fontSize)); + TraitSetter.addFontTraits(text, fontUse, fontSize); text.addTrait(Trait.COLOR, fobj.getColor()); TraitSetter.addTextDecoration(text, fobj.getTextDecoration()); } @@ -138,9 +148,10 @@ public class PageNumberCitationLayoutManager extends LeafNodeLayoutManager { * @return width (in millipoints ??) of the string */ protected int getStringWidth(String str) { + fontUse.registerCharsUsed(str); int width = 0; for (int count = 0; count < str.length(); count++) { - width += font.getCharWidth(str.charAt(count)); + width += fontUse.getFont().width(str.charAt(count), fontSize); } return width; } diff --git a/src/java/org/apache/fop/layoutmgr/inline/PageNumberLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/PageNumberLayoutManager.java index ff751bcd8..d9021526c 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/PageNumberLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/PageNumberLayoutManager.java @@ -20,22 +20,28 @@ package org.apache.fop.layoutmgr.inline; import org.apache.fop.fo.flow.PageNumber; +import org.apache.fop.fo.properties.CommonFont; import org.apache.fop.area.inline.InlineArea; import org.apache.fop.area.inline.TextArea; import org.apache.fop.area.Trait; -import org.apache.fop.fonts.Font; import org.apache.fop.layoutmgr.LayoutContext; import org.apache.fop.layoutmgr.TraitSetter; import org.apache.fop.traits.MinOptMax; +import org.axsl.fontR.Font; +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontUse; + /** * LayoutManager for the fo:page-number formatting object */ public class PageNumberLayoutManager extends LeafNodeLayoutManager { private PageNumber fobj; - private Font font; - + private FontConsumer fontConsumer; + private FontUse fontUse; + private int fontSize; + /** * Constructor * @@ -49,7 +55,10 @@ public class PageNumberLayoutManager extends LeafNodeLayoutManager { /** @see org.apache.fop.layoutmgr.inline.LeafNodeLayoutManager#get(LayoutContext) */ public void initialize() { - font = fobj.getCommonFont().getFontState(fobj.getFOEventHandler().getFontInfo(), this); + fontConsumer = fobj.getFOEventHandler().getFontConsumer(); + CommonFont commonFont = fobj.getCommonFont(); + fontUse = commonFont.getFontState(fontConsumer, this); + fontSize = commonFont.getFontSize(this); setCommonBorderPaddingBackground(fobj.getCommonBorderPaddingBackground()); } @@ -59,7 +68,8 @@ public class PageNumberLayoutManager extends LeafNodeLayoutManager { */ protected AlignmentContext makeAlignmentContext(LayoutContext context) { return new AlignmentContext( - font + fontUse.getFont() + , fontSize , fobj.getLineHeight().getOptimum(this).getLength().getValue(this) , fobj.getAlignmentAdjust() , fobj.getAlignmentBaseline() @@ -75,11 +85,13 @@ public class PageNumberLayoutManager extends LeafNodeLayoutManager { TextArea text = new TextArea(); String str = getCurrentPV().getPageNumberString(); int width = getStringWidth(str); + fontUse.registerCharsUsed(str); text.addWord(str, 0); text.setIPD(width); - text.setBPD(font.getAscender() - font.getDescender()); - text.setBaselineOffset(font.getAscender()); - TraitSetter.addFontTraits(text, font); + Font f = fontUse.getFont(); + text.setBPD(f.getAscender(fontSize) - f.getDescender(fontSize)); + text.setBaselineOffset(f.getAscender(fontSize)); + TraitSetter.addFontTraits(text, fontUse, fontSize); text.addTrait(Trait.COLOR, fobj.getColor()); TraitSetter.addTextDecoration(text, fobj.getTextDecoration()); @@ -121,8 +133,9 @@ public class PageNumberLayoutManager extends LeafNodeLayoutManager { */ private int getStringWidth(String str) { int width = 0; + Font f = fontUse.getFont(); for (int count = 0; count < str.length(); count++) { - width += font.getCharWidth(str.charAt(count)); + width += f.width(str.charAt(count), fontSize); } return width; } diff --git a/src/java/org/apache/fop/layoutmgr/inline/ScaledBaselineTableFactory.java b/src/java/org/apache/fop/layoutmgr/inline/ScaledBaselineTableFactory.java index e47f107e3..4cb1b7c8f 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/ScaledBaselineTableFactory.java +++ b/src/java/org/apache/fop/layoutmgr/inline/ScaledBaselineTableFactory.java @@ -20,7 +20,8 @@ package org.apache.fop.layoutmgr.inline; import org.apache.fop.fo.Constants; -import org.apache.fop.fonts.Font; + +import org.axsl.fontR.Font; /** @@ -34,26 +35,31 @@ public class ScaledBaselineTableFactory implements Constants { * Creates a new instance of BasicScaledBaselineTable for the given * font, baseline and writingmode. * @param font the font for which a baseline table is requested + * @param fontSize the font size * @param dominantBaselineIdentifier the dominant baseline given as an integer constant * @param writingMode the writing mode given as an integer constant * @return a scaled baseline table for the given font */ public static ScaledBaselineTable makeFontScaledBaselineTable(Font font + , int fontSize , int dominantBaselineIdentifier , int writingMode) { - return new BasicScaledBaselineTable(font.getAscender(), font.getDescender() - , font.getXHeight(), dominantBaselineIdentifier, writingMode); + return new BasicScaledBaselineTable(font.getAscender(fontSize), font.getDescender(fontSize), + font.getXHeight(fontSize), dominantBaselineIdentifier, writingMode); } /** * Creates a new instance of BasicScaledBaselineTable for the given * font and writingmode. It assumes an alphabetic baseline. * @param font the font for which a baseline table is requested + * @param fontSize the font size * @param writingMode the writing mode given as an integer constant * @return a scaled baseline table for the given font */ - public static ScaledBaselineTable makeFontScaledBaselineTable(Font font, int writingMode) { - return makeFontScaledBaselineTable(font, EN_ALPHABETIC, writingMode); + public static ScaledBaselineTable makeFontScaledBaselineTable(Font font + , int fontSize + , int writingMode) { + return makeFontScaledBaselineTable(font, fontSize, EN_ALPHABETIC, writingMode); } /** diff --git a/src/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java index 35a298db3..621899b30 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java @@ -29,7 +29,7 @@ import org.apache.fop.area.inline.TextArea; import org.apache.fop.fo.Constants; import org.apache.fop.fo.FOText; import org.apache.fop.fo.flow.Inline; -import org.apache.fop.fonts.Font; +import org.apache.fop.fo.properties.CommonFont; import org.apache.fop.layoutmgr.InlineKnuthSequence; import org.apache.fop.layoutmgr.KnuthBox; import org.apache.fop.layoutmgr.KnuthElement; @@ -45,6 +45,10 @@ import org.apache.fop.traits.MinOptMax; import org.apache.fop.traits.SpaceVal; import org.apache.fop.util.CharUtilities; +import org.axsl.fontR.Font; +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontUse; + /** * LayoutManager for text (a sequence of characters) which generates one * or more inline areas. @@ -121,7 +125,6 @@ public class TextLayoutManager extends LeafNodeLayoutManager { private static final char NEWLINE = '\n'; - private Font font = null; /** Start index of first character in this parent Area */ private short iAreaStart = 0; /** Start index of next TextArea */ @@ -145,6 +148,11 @@ public class TextLayoutManager extends LeafNodeLayoutManager { /** Number of space characters after previous possible break position. */ private int iNbSpacesPending; + private FontUse fontUse; + private Font font; + private FontConsumer fontConsumer; + private int fontSize; + private boolean bChanged = false; private int iReturnedIndex = 0; private short iThisStart = 0; @@ -175,18 +183,26 @@ public class TextLayoutManager extends LeafNodeLayoutManager { /** @see org.apache.fop.layoutmgr.LayoutManager#initialize */ public void initialize() { - font = foText.getCommonFont().getFontState(foText.getFOEventHandler().getFontInfo(), this); + fontConsumer = foText.getFOEventHandler().getFontConsumer(); + CommonFont commonFont = foText.getCommonFont(); + fontUse = commonFont.getFontState(fontConsumer, this); + font = fontUse.getFont(); + fontSize = commonFont.getFontSize(this); + // Register the characters of this text note for later font embedding + for (int i = 0; i < textArray.length; i++) { + fontUse.registerCharUsed(textArray[i]); + } // With CID fonts, space isn't neccesary currentFontState.width(32) - spaceCharIPD = font.getCharWidth(' '); + spaceCharIPD = font.width(' ', fontSize); // Use hyphenationChar property - hyphIPD = font.getCharWidth(foText.getCommonHyphenation().hyphenationCharacter); + hyphIPD = font.width(foText.getCommonHyphenation().hyphenationCharacter, fontSize); SpaceVal ls = SpaceVal.makeLetterSpacing(foText.getLetterSpacing()); halfLS = new SpaceVal(MinOptMax.multiply(ls.getSpace(), 0.5), ls.isConditional(), ls.isForcing(), ls.getPrecedence()); - ws = SpaceVal.makeWordSpacing(foText.getWordSpacing(), ls, font); + ws = SpaceVal.makeWordSpacing(foText.getWordSpacing(), ls, font, fontConsumer, fontSize); // Make half-space: on either side of a word-space) halfWS = new SpaceVal(MinOptMax.multiply(ws.getSpace(), 0.5), ws.isConditional(), ws.isForcing(), ws.getPrecedence()); @@ -256,7 +272,7 @@ public class TextLayoutManager extends LeafNodeLayoutManager { for (; iNextStart < iStopIndex; iNextStart++) { char c = textArray[iNextStart]; - hyphIPD.opt += font.getCharWidth(c); + hyphIPD.opt += font.width(c, fontSize); // letter-space? } // Need to include hyphen size too, but don't count it in the @@ -325,6 +341,9 @@ public class TextLayoutManager extends LeafNodeLayoutManager { // add hyphenation character if the last word is hyphenated if (context.isLastArea() && ai.bHyphenated) { + // TODO vh: perhaps not the better place to register the hyphenation + // character for embedding + fontUse.registerCharUsed(foText.getCommonHyphenation().hyphenationCharacter); realWidth.add(new MinOptMax(hyphIPD)); } @@ -431,8 +450,8 @@ public class TextLayoutManager extends LeafNodeLayoutManager { adjust); } textArea.setIPD(width.opt + adjust); - textArea.setBPD(font.getAscender() - font.getDescender()); - textArea.setBaselineOffset(font.getAscender()); + textArea.setBPD(font.getAscender(fontSize) - font.getDescender(fontSize)); + textArea.setBaselineOffset(font.getAscender(fontSize)); if (textArea.getBPD() == alignmentContext.getHeight()) { textArea.setOffset(0); } else { @@ -486,7 +505,7 @@ public class TextLayoutManager extends LeafNodeLayoutManager { } } } - TraitSetter.addFontTraits(textArea, font); + TraitSetter.addFontTraits(textArea, fontUse, fontSize); textArea.addTrait(Trait.COLOR, foText.getColor()); TraitSetter.addTextDecoration(textArea, foText.getTextDecoration()); @@ -575,7 +594,7 @@ public class TextLayoutManager extends LeafNodeLayoutManager { iNextStart++; } else if (CharUtilities.isFixedWidthSpace(ch)) { // create the AreaInfo object - MinOptMax ipd = new MinOptMax(font.getCharWidth(ch)); + MinOptMax ipd = new MinOptMax(font.width(ch, fontSize)); ai = new AreaInfo(iNextStart, (short) (iNextStart + 1), (short) 0, (short) 0, ipd, false, true); @@ -616,20 +635,21 @@ public class TextLayoutManager extends LeafNodeLayoutManager { //Word boundary found, process widths and kerning int wordLength = iTempStart - iThisStart; - boolean kerning = font.hasKerning(); + // TODO vh: info no longer available; impact on performance? +// boolean kerning = font.hasKerning(); MinOptMax wordIPD = new MinOptMax(0); for (int i = iThisStart; i < iTempStart; i++) { char c = textArray[i]; //character width - int charWidth = font.getCharWidth(c); + int charWidth = font.width(c, fontSize); wordIPD.add(charWidth); //kerning int kern = 0; - if (kerning && (i > iThisStart)) { + if (/*kerning && */(i > iThisStart)) { char previous = textArray[i - 1]; - kern = font.getKernValue(previous, c) * font.getFontSize() / 1000; + kern = font.kern(previous, c) * fontSize / 1000; if (kern != 0) { //log.info("Kerning between " + previous + " and " + c + ": " + kern); addToLetterAdjust(i, kern); @@ -771,7 +791,7 @@ public class TextLayoutManager extends LeafNodeLayoutManager { //log.info("Word: " + new String(textArray, iStartIndex, iStopIndex - iStartIndex)); for (int i = iStartIndex; i < iStopIndex; i++) { char c = textArray[i]; - newIPD.add(new MinOptMax(font.getCharWidth(c))); + newIPD.add(new MinOptMax(font.width(c, fontSize))); //if (i > iStartIndex) { if (i < iStopIndex) { MinOptMax la = this.letterAdjustArray[i + 1]; diff --git a/src/java/org/apache/fop/pdf/PDFDocument.java b/src/java/org/apache/fop/pdf/PDFDocument.java index 4ce82fab9..db2b25815 100644 --- a/src/java/org/apache/fop/pdf/PDFDocument.java +++ b/src/java/org/apache/fop/pdf/PDFDocument.java @@ -29,9 +29,9 @@ import java.security.NoSuchAlgorithmException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Iterator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/src/java/org/apache/fop/pdf/PDFFactory.java b/src/java/org/apache/fop/pdf/PDFFactory.java index 77c25bc89..08b1382ea 100644 --- a/src/java/org/apache/fop/pdf/PDFFactory.java +++ b/src/java/org/apache/fop/pdf/PDFFactory.java @@ -36,26 +36,20 @@ import javax.xml.transform.stream.StreamSource; import org.w3c.dom.Document; // Apache libs -import org.apache.commons.io.IOUtils; import org.apache.commons.io.output.ByteArrayOutputStream; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; // FOP -import org.apache.fop.fonts.CIDFont; -import org.apache.fop.fonts.CustomFont; -import org.apache.fop.fonts.Typeface; -import org.apache.fop.fonts.FontDescriptor; -import org.apache.fop.fonts.FontMetrics; -import org.apache.fop.fonts.FontType; -import org.apache.fop.fonts.LazyFont; -import org.apache.fop.fonts.MultiByteFont; -import org.apache.fop.fonts.truetype.FontFileReader; -import org.apache.fop.fonts.truetype.TTFSubSetFile; -import org.apache.fop.fonts.type1.PFBData; -import org.apache.fop.fonts.type1.PFBParser; +import org.apache.fop.fonts.CIDFontType; import org.apache.xmlgraphics.xmp.Metadata; +// FOray +import org.axsl.fontR.Font; +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontUse; +import org.axsl.fontR.output.FontPDF; + /** * This class provides method to create and register PDF objects. */ @@ -988,292 +982,278 @@ public class PDFFactory { } /** - * make a Type1 /Font object + * make a Type1 /Font object. * - * @param fontname internal name to use for this font (eg "F1") - * @param basefont name of the base font (eg "Helvetica") - * @param encoding character encoding scheme used by the font - * @param metrics additional information about the font - * @param descriptor additional information about the font + * @param fontUse the font + * @param internalName internal name of the font + * @param fontConsumer associated font consumer * @return the created /Font object */ - public PDFFont makeFont(String fontname, String basefont, - String encoding, FontMetrics metrics, - FontDescriptor descriptor) { - PDFFont preRegisteredfont = getDocument().findFont(fontname); + public PDFFont makeFont(FontUse fontUse, String internalName, FontConsumer fontConsumer) { + PDFFont preRegisteredfont = getDocument().findFont(internalName); if (preRegisteredfont != null) { return preRegisteredfont; } - if (descriptor == null) { - PDFFont font = new PDFFont(fontname, FontType.TYPE1, basefont, encoding); - getDocument().registerObject(font); - return font; + Font font = fontUse.getFont(); + PDFFont pdfFont; + if (font.isPDFStandardFont()) { + pdfFont = new PDFFont(internalName, PDFFont.TYPE1, + font.getPostscriptName(), fontUse.getEncoding().getName()); + getDocument().registerObject(pdfFont); } else { - FontType fonttype = metrics.getFontType(); - - PDFFontDescriptor pdfdesc = makeFontDescriptor(descriptor); - - PDFFontNonBase14 font = null; - if (fonttype == FontType.TYPE0) { - /* - * Temporary commented out - customized CMaps - * isn't needed until /ToUnicode support is added - * PDFCMap cmap = new PDFCMap(++this.objectcount, - * "fop-ucs-H", - * new PDFCIDSystemInfo("Adobe", - * "Identity", - * 0)); - * cmap.addContents(); - * this.objects.add(cmap); - */ - font = - (PDFFontNonBase14)PDFFont.createFont(fontname, fonttype, - basefont, - "Identity-H"); + byte fontSubType; + if (font.getFontComplexity() == Font.FONT_COMPOSITE) { + fontSubType = PDFFont.TYPE0; + } else if (font.getFontFormat() == Font.FORMAT_TYPE1) { + fontSubType = PDFFont.TYPE1; + } else if (font.getFontFormat() == Font.FORMAT_TRUETYPE) { + fontSubType = PDFFont.TRUETYPE; } else { - - font = - (PDFFontNonBase14)PDFFont.createFont(fontname, fonttype, - basefont, encoding); + fontSubType = PDFFont.OTHER; } - getDocument().registerObject(font); - - font.setDescriptor(pdfdesc); - - if (fonttype == FontType.TYPE0) { - CIDFont cidMetrics; - if (metrics instanceof LazyFont) { - cidMetrics = (CIDFont)((LazyFont) metrics).getRealFont(); - } else { - cidMetrics = (CIDFont)metrics; - } - PDFCIDSystemInfo sysInfo = - new PDFCIDSystemInfo(cidMetrics.getRegistry(), - cidMetrics.getOrdering(), - cidMetrics.getSupplement()); - PDFCIDFont cidFont = - new PDFCIDFont(basefont, - cidMetrics.getCIDType(), - cidMetrics.getDefaultWidth(), - getSubsetWidths(cidMetrics), sysInfo, - (PDFCIDFontDescriptor)pdfdesc); + if (fontSubType == PDFFont.TYPE0) { + pdfFont = PDFFont.createFont(internalName, fontSubType, + font.getPostscriptName(), "Identity-H"/*fontUse.getEncoding().getName() TODO vh*/); + } else { + pdfFont = PDFFont.createFont(internalName, fontSubType, + font.getPostscriptName(), fontUse.getEncoding().getName()); + } + getDocument().registerObject(pdfFont); + + PDFFontDescriptor pdfdesc = makeFontDescriptor(fontUse, fontSubType, fontConsumer); + ((PDFFontNonBase14)pdfFont).setDescriptor(pdfdesc); + + if (fontSubType == PDFFont.TYPE0) { + PDFCIDSystemInfo sysInfo = new PDFCIDSystemInfo("Adobe", "UCS", 0); + // TODO vh: does not work yet +// PDFCMap cmap = new PDFCMap("Identity-H", sysInfo); +// getDocument().registerObject(cmap); + PDFCIDFont cidFont = new PDFCIDFont(font.getPostscriptName(), + CIDFontType.CIDTYPE2, + font.getDefaultWidth(), + getSubsetWidths((FontPDF)fontUse.getFontOutput("application/pdf")), sysInfo, + (PDFCIDFontDescriptor) pdfdesc); getDocument().registerObject(cidFont); - - ((PDFFontType0)font).setDescendantFonts(cidFont); +// ((PDFFontType0) pdfFont).setCMAP(cmap); + ((PDFFontType0) pdfFont).setDescendantFonts(cidFont); } else { - int firstChar = 0; - int lastChar = 255; - if (metrics instanceof CustomFont) { - CustomFont cf = (CustomFont)metrics; - firstChar = cf.getFirstChar(); - lastChar = cf.getLastChar(); - } - font.setWidthMetrics(firstChar, - lastChar, - makeArray(metrics.getWidths())); + FontPDF fontOutput = (FontPDF)fontUse.getFontOutput("application/pdf");/*TODO vh*/ + int firstChar = fontOutput.getFirstIndex(); + int lastChar = fontOutput.getLastIndex(); + int[] widths = shortArrayToIntArray(fontOutput.getWidths()); + ((PDFFontNonBase14)pdfFont).setWidthMetrics(firstChar, lastChar, + makeArray(widths)); } - - return font; } + return pdfFont; } - public PDFWArray getSubsetWidths(CIDFont cidFont) { + public PDFWArray getSubsetWidths(FontPDF fontOutput) { // Create widths for reencoded chars + // TODO vh: for now fonts aren't subsetted (I think) PDFWArray warray = new PDFWArray(); - int[] tmpWidth = new int[cidFont.usedGlyphsCount]; - - for (int i = 0; i < cidFont.usedGlyphsCount; i++) { - Integer nw = (Integer)cidFont.usedGlyphsIndex.get(new Integer(i)); - int nwx = (nw == null) ? 0 : nw.intValue(); - tmpWidth[i] = cidFont.width[nwx]; - } - warray.addEntry(0, tmpWidth); + warray.addEntry(0, shortArrayToIntArray(fontOutput.getWidths())); return warray; +// // Create widths for reencoded chars +// PDFWArray warray = new PDFWArray(); +// int[] tmpWidth = new int[cidFont.usedGlyphsCount]; +// +// for (int i = 0; i < cidFont.usedGlyphsCount; i++) { +// Integer nw = (Integer)cidFont.usedGlyphsIndex.get(new Integer(i)); +// int nwx = (nw == null) ? 0 : nw.intValue(); +// tmpWidth[i] = cidFont.width[nwx]; +// } +// warray.addEntry(0, tmpWidth); +// return warray; } /** - * make a /FontDescriptor object + * make a /FontDescriptor object. * - * @param desc the font descriptor + * @param fontUse the corresponding font use + * @param subType the font subtype; one of PDFFont.TYPE0, TYPE1, MMTYPE1, TYPE3, TRUETYPE + * @param fontConsumer the associated font consumer * @return the new PDF font descriptor */ - public PDFFontDescriptor makeFontDescriptor(FontDescriptor desc) { - PDFFontDescriptor descriptor = null; - - if (desc.getFontType() == FontType.TYPE0) { + public PDFFontDescriptor makeFontDescriptor(FontUse fontUse, byte subType, + FontConsumer fontConsumer) { + PDFFontDescriptor descriptor; + FontPDF font = (FontPDF)fontUse.getFontOutput("application/pdf"); + if (subType == PDFFont.TYPE0) { // CID Font - descriptor = new PDFCIDFontDescriptor(desc.getFontName(), - desc.getFontBBox(), - desc.getCapHeight(), - desc.getFlags(), - desc.getItalicAngle(), - desc.getStemV(), null); + descriptor = new PDFCIDFontDescriptor(fontUse.getPostscriptName(), + font.getFontBBox(), + fontUse.getFont().getCapHeight(1000), + font.getFlags(), + (int)fontUse.getFont().getItalicAngle()/*TODO vh*/, + fontUse.getFont().getStemV(), null); } else { // Create normal FontDescriptor - descriptor = new PDFFontDescriptor(desc.getFontName(), - desc.getAscender(), - desc.getDescender(), - desc.getCapHeight(), - desc.getFlags(), - new PDFRectangle(desc.getFontBBox()), - desc.getItalicAngle(), - desc.getStemV()); + descriptor = new PDFFontDescriptor(fontUse.getPostscriptName(), + fontUse.getFont().getAscender(1000), + fontUse.getFont().getDescender(1000), + fontUse.getFont().getCapHeight(1000), + font.getFlags(), + new PDFRectangle(font.getFontBBox()), + fontUse.getFont().getStemV(), + (int)fontUse.getFont().getItalicAngle()/*TODO vh*/); } getDocument().registerObject(descriptor); // Check if the font is embeddable - if (desc.isEmbeddable()) { - AbstractPDFStream stream = makeFontFile(desc); + if (fontUse.getFont().isEmbeddable()) { + AbstractPDFStream stream = makeFontFile(fontUse, fontConsumer); if (stream != null) { - descriptor.setFontFile(desc.getFontType(), stream); + descriptor.setFontFile(subType, stream); getDocument().registerObject(stream); } - CustomFont font = getCustomFont(desc); - if (font instanceof CIDFont) { - CIDFont cidFont = (CIDFont)font; - buildCIDSet(descriptor, cidFont); - } + // TODO vh: re-enable +// CustomFont font = getCustomFont(desc); +// if (font instanceof CIDFont) { +// CIDFont cidFont = (CIDFont)font; +// buildCIDSet(descriptor, cidFont); +// } } return descriptor; } - private void buildCIDSet(PDFFontDescriptor descriptor, CIDFont cidFont) { - BitSet cidSubset = new BitSet(); - Iterator iter = cidFont.usedGlyphs.keySet().iterator(); - while (iter.hasNext()) { - Integer cid = (Integer)iter.next(); - cidSubset.set(cid.intValue()); - } - PDFStream cidSet = makeStream(null, true); - ByteArrayOutputStream baout = new ByteArrayOutputStream(cidSubset.length() / 8 + 1); - int value = 0; - for (int i = 0, c = cidSubset.length(); i < c; i++) { - int shift = i % 8; - boolean b = cidSubset.get(i); - if (b) { - value |= 1 << 7 - shift; - } - if (shift == 7) { - baout.write(value); - value = 0; - } - } - baout.write(value); - try { - cidSet.setData(baout.toByteArray()); - descriptor.setCIDSet(cidSet); - } catch (IOException ioe) { - log.error( - "Failed to write CIDSet [" + cidFont + "] " - + cidFont.getFontName(), ioe); - } - } + // TODO vh: re-enable +// private void buildCIDSet(PDFFontDescriptor descriptor, CIDFont cidFont) { +// BitSet cidSubset = new BitSet(); +// Iterator iter = cidFont.usedGlyphs.keySet().iterator(); +// while (iter.hasNext()) { +// Integer cid = (Integer)iter.next(); +// cidSubset.set(cid.intValue()); +// } +// PDFStream cidSet = makeStream(null, true); +// ByteArrayOutputStream baout = new ByteArrayOutputStream(cidSubset.length() / 8 + 1); +// int value = 0; +// for (int i = 0, c = cidSubset.length(); i < c; i++) { +// int shift = i % 8; +// boolean b = cidSubset.get(i); +// if (b) { +// value |= 1 << 7 - shift; +// } +// if (shift == 7) { +// baout.write(value); +// value = 0; +// } +// } +// baout.write(value); +// try { +// cidSet.setData(baout.toByteArray()); +// descriptor.setCIDSet(cidSet); +// } catch (IOException ioe) { +// log.error( +// "Failed to write CIDSet [" + cidFont + "] " +// + cidFont.getFontName(), ioe); +// } +// } /** * Embeds a font. - * @param desc FontDescriptor of the font. + * @param fontUse the corresponding font use + * @param fontConsumer the associated font consumer * @return PDFStream The embedded font file */ - public AbstractPDFStream makeFontFile(FontDescriptor desc) { - if (desc.getFontType() == FontType.OTHER) { - throw new IllegalArgumentException("Trying to embed unsupported font type: " - + desc.getFontType()); - } - - CustomFont font = getCustomFont(desc); - - InputStream in = null; - try { - Source source = font.getEmbedFileSource(); - if (source == null && font.getEmbedResourceName() != null) { - source = new StreamSource(this.getClass() - .getResourceAsStream(font.getEmbedResourceName())); - } - if (source == null) { - return null; - } - if (source instanceof StreamSource) { - in = ((StreamSource) source).getInputStream(); - } - if (in == null && source.getSystemId() != null) { - try { - in = new java.net.URL(source.getSystemId()).openStream(); - } catch (MalformedURLException e) { - new FileNotFoundException( - "File not found. URL could not be resolved: " - + e.getMessage()); - } - } - if (in == null) { - return null; - } - //Make sure the InputStream is decorated with a BufferedInputStream - if (!(in instanceof java.io.BufferedInputStream)) { - in = new java.io.BufferedInputStream(in); - } - if (in == null) { - return null; - } else { - try { - AbstractPDFStream embeddedFont; - if (desc.getFontType() == FontType.TYPE0) { - MultiByteFont mbfont = (MultiByteFont)font; - FontFileReader reader = new FontFileReader(in); - - TTFSubSetFile subset = new TTFSubSetFile(); - byte[] subsetFont = subset.readFont(reader, - mbfont.getTTCName(), mbfont.getUsedGlyphs()); - // Only TrueType CID fonts are supported now - - embeddedFont = new PDFTTFStream(subsetFont.length); - ((PDFTTFStream)embeddedFont).setData(subsetFont, subsetFont.length); - } else if (desc.getFontType() == FontType.TYPE1) { - PFBParser parser = new PFBParser(); - PFBData pfb = parser.parsePFB(in); - embeddedFont = new PDFT1Stream(); - ((PDFT1Stream)embeddedFont).setData(pfb); - } else { - byte[] file = IOUtils.toByteArray(in); - embeddedFont = new PDFTTFStream(file.length); - ((PDFTTFStream)embeddedFont).setData(file, file.length); - } - - /* - embeddedFont.getFilterList().addFilter("flate"); - if (getDocument().isEncryptionActive()) { - getDocument().applyEncryption(embeddedFont); - } else { - embeddedFont.getFilterList().addFilter("ascii-85"); - }*/ - - return embeddedFont; - } finally { - in.close(); - } - } - } catch (IOException ioe) { - log.error( - "Failed to embed font [" + desc + "] " - + desc.getFontName(), ioe); - return (PDFStream) null; - } + public AbstractPDFStream makeFontFile(FontUse fontUse, FontConsumer fontConsumer) { + + return new PDFFontFileStream(fontUse, fontConsumer); + +// CustomFont font = getCustomFont(desc); +// +// InputStream in = null; +// try { +// Source source = font.getEmbedFileSource(); +// if (source == null && font.getEmbedResourceName() != null) { +// source = new StreamSource(this.getClass() +// .getResourceAsStream(font.getEmbedResourceName())); +// } +// if (source == null) { +// return null; +// } +// if (source instanceof StreamSource) { +// in = ((StreamSource) source).getInputStream(); +// } +// if (in == null && source.getSystemId() != null) { +// try { +// in = new java.net.URL(source.getSystemId()).openStream(); +// } catch (MalformedURLException e) { +// new FileNotFoundException( +// "File not found. URL could not be resolved: " +// + e.getMessage()); +// } +// } +// if (in == null) { +// return null; +// } +// //Make sure the InputStream is decorated with a BufferedInputStream +// if (!(in instanceof java.io.BufferedInputStream)) { +// in = new java.io.BufferedInputStream(in); +// } +// if (in == null) { +// return null; +// } else { +// try { +// AbstractPDFStream embeddedFont; +// if (desc.getFontType() == FontType.TYPE0) { +// MultiByteFont mbfont = (MultiByteFont)font; +// FontFileReader reader = new FontFileReader(in); +// +// TTFSubSetFile subset = new TTFSubSetFile(); +// byte[] subsetFont = subset.readFont(reader, +// mbfont.getTTCName(), mbfont.getUsedGlyphs()); +// // Only TrueType CID fonts are supported now +// +// embeddedFont = new PDFTTFStream(subsetFont.length); +// ((PDFTTFStream)embeddedFont).setData(subsetFont, subsetFont.length); +// } else if (desc.getFontType() == FontType.TYPE1) { +// PFBParser parser = new PFBParser(); +// PFBData pfb = parser.parsePFB(in); +// embeddedFont = new PDFT1Stream(); +// ((PDFT1Stream)embeddedFont).setData(pfb); +// } else { +// byte[] file = IOUtils.toByteArray(in); +// embeddedFont = new PDFTTFStream(file.length); +// ((PDFTTFStream)embeddedFont).setData(file, file.length); +// } +// +// /* +// embeddedFont.getFilterList().addFilter("flate"); +// if (getDocument().isEncryptionActive()) { +// getDocument().applyEncryption(embeddedFont); +// } else { +// embeddedFont.getFilterList().addFilter("ascii-85"); +// }*/ +// +// return embeddedFont; +// } finally { +// in.close(); +// } +// } +// } catch (IOException ioe) { +// log.error( +// "Failed to embed font [" + desc + "] " +// + desc.getFontName(), ioe); +// return (PDFStream) null; +// } } - private CustomFont getCustomFont(FontDescriptor desc) { - Typeface tempFont; - if (desc instanceof LazyFont) { - tempFont = ((LazyFont)desc).getRealFont(); - } else { - tempFont = (Typeface)desc; - } - if (!(tempFont instanceof CustomFont)) { - throw new IllegalArgumentException( - "FontDescriptor must be instance of CustomFont, but is a " - + desc.getClass().getName()); - } - return (CustomFont)tempFont; - } +// private CustomFont getCustomFont(FontDescriptor desc) { +// Typeface tempFont; +// if (desc instanceof LazyFont) { +// tempFont = ((LazyFont)desc).getRealFont(); +// } else { +// tempFont = (Typeface)desc; +// } +// if (!(tempFont instanceof CustomFont)) { +// throw new IllegalArgumentException( +// "FontDescriptor must be instance of CustomFont, but is a " +// + desc.getClass().getName()); +// } +// return (CustomFont)tempFont; +// } /* ========================= streams =================================== */ @@ -1322,6 +1302,21 @@ public class PDFFactory { /* ========================= misc. objects ============================= */ + /** + * Transform an array of short into an array of int. I wish there were a + * better mean to do that... + * + * @param array of short + * @return array with the same values stored as integers + */ + private static int[] shortArrayToIntArray(short[] shortArray) { + int[] intArray = new int[shortArray.length]; + for (int i = 0; i < shortArray.length; i++) { + intArray[i] = shortArray[i]; + } + return intArray; + } + /** * Makes a new ICCBased color space and registers it in the resource context. * @param res the PDF resource context to add the shading, may be null @@ -1345,6 +1340,7 @@ public class PDFFactory { } /** +>>>>>>> .r448139 * make an Array object (ex. Widths array for a font) * * @param values the int array values diff --git a/src/java/org/apache/fop/pdf/PDFFont.java b/src/java/org/apache/fop/pdf/PDFFont.java index 181636c65..83dfadcb3 100644 --- a/src/java/org/apache/fop/pdf/PDFFont.java +++ b/src/java/org/apache/fop/pdf/PDFFont.java @@ -19,8 +19,6 @@ package org.apache.fop.pdf; -import org.apache.fop.fonts.FontType; - /** * Class representing a /Font object. *

    @@ -32,6 +30,31 @@ import org.apache.fop.fonts.FontType; */ public class PDFFont extends PDFObject { + /* Copied from FOray PDFFont.java */ + /** Font subtype indicating a composite font. */ + public static final byte TYPE0 = 0; + + /** Font subtype indicating a Type 1 simple font. */ + public static final byte TYPE1 = 1; + + /** Font subtype indicating a Multiple Master Type 1 simple font. */ + public static final byte MMTYPE1 = 2; + + /** Font subtype indicating a Type 3 simple font. */ + public static final byte TYPE3 = 3; + + /** Font subtype indicating a TrueType simple font. */ + public static final byte TRUETYPE = 4; + + /** Unknown font type. */ + public static final byte OTHER = 5; + + /** Font subtype names as output in the PDF. */ + protected static final String[] TYPE_NAMES /* The order is important here. */ + = {"Type0", "Type1", "MMType1", "Type3", "TrueType", "Other" }; + /* End of copy from PDFFont.java */ + + /** * the internal name for the font (eg "F1") */ @@ -39,9 +62,9 @@ public class PDFFont extends PDFObject { /** * the font's subtype - * (as defined by the constants FontType: TYPE0, TYPE1, MMTYPE1, TYPE3, TRUETYPE) + * (as defined by the constants in PDFFont: TYPE0, TYPE1, MMTYPE1, TYPE3, TRUETYPE) */ - protected FontType subtype; + protected byte subtype; /** * the base font name (eg "Helvetica") @@ -70,7 +93,7 @@ public class PDFFont extends PDFObject { * @param basefont the base font name * @param encoding the character encoding schema used by the font */ - public PDFFont(String fontname, FontType subtype, + public PDFFont(String fontname, byte subtype, String basefont, Object encoding /* , PDFToUnicode mapping */) { @@ -89,29 +112,27 @@ public class PDFFont extends PDFObject { * factory method with the basic parameters * * @param fontname the internal name for the font - * @param subtype the font's subtype + * @param subtype the font's subtype (one of TYPE0, TYPE1, MMTYPE1, TYPE3 or TRUETYPE) * @param basefont the base font name * @param encoding the character encoding schema used by the font * @return the generated PDFFont object */ public static PDFFont createFont(String fontname, - FontType subtype, String basefont, + byte subtype, String basefont, Object encoding) { - if (subtype == FontType.TYPE0) { + if (subtype == TYPE0) { return new PDFFontType0(fontname, basefont, encoding); - } else if ((subtype == FontType.TYPE1) - || (subtype == FontType.MMTYPE1)) { - return new PDFFontType1(fontname, basefont, - encoding); - } else if (subtype == FontType.TYPE3) { - //return new PDFFontType3(number, fontname, basefont, encoding); + } else if ((subtype == TYPE1) + || (subtype == MMTYPE1)) { + return new PDFFontType1(fontname, basefont, encoding); + } else if (subtype == TYPE3) { +// //return new PDFFontType3(number, fontname, basefont, encoding); return null; //NYI - } else if (subtype == FontType.TRUETYPE) { - return new PDFFontTrueType(fontname, basefont, - encoding); + } else if (subtype == TRUETYPE) { + return new PDFFontTrueType(fontname, basefont, encoding); } else { - return null; // should not happend + return null; // should not happen } } @@ -120,7 +141,7 @@ public class PDFFont extends PDFObject { * for Type1, MMType1 and TrueType * * @param fontname the internal name for the font - * @param subtype the font's subtype + * @param subtype the font's subtype (one of TYPE0, TYPE1, MMTYPE1, TYPE3 or TRUETYPE) * @param basefont the base font name * @param encoding the character encoding schema used by the font * @param firstChar the first character code in the font @@ -130,27 +151,27 @@ public class PDFFont extends PDFObject { * @return the generated PDFFont object */ public static PDFFont createFont(String fontname, - FontType subtype, String basefont, + byte subtype, String basefont, Object encoding, int firstChar, int lastChar, PDFArray widths, PDFFontDescriptor descriptor) { PDFFontNonBase14 font; - if (subtype == FontType.TYPE0) { + if (subtype == TYPE0) { font = new PDFFontType0(fontname, basefont, encoding); font.setDescriptor(descriptor); return font; - } else if ((subtype == FontType.TYPE1) - || (subtype == FontType.MMTYPE1)) { + } else if ((subtype == TYPE1) + || (subtype == MMTYPE1)) { font = new PDFFontType1(fontname, basefont, encoding); font.setWidthMetrics(firstChar, lastChar, widths); font.setDescriptor(descriptor); return font; - } else if (subtype == FontType.TYPE3) { + } else if (subtype == TYPE3) { return null; //NYI, should not happend - } else if (subtype == FontType.TRUETYPE) { + } else if (subtype == TRUETYPE) { font = new PDFFontTrueType(fontname, basefont, encoding); font.setWidthMetrics(firstChar, lastChar, widths); @@ -174,19 +195,15 @@ public class PDFFont extends PDFObject { * @param fontType font type * @return String corresponding PDF name */ - protected String getPDFNameForFontType(FontType fontType) { - if (fontType == FontType.TYPE0) { - return fontType.getName(); - } else if (fontType == FontType.TYPE1) { - return fontType.getName(); - } else if (fontType == FontType.MMTYPE1) { - return fontType.getName(); - } else if (fontType == FontType.TYPE3) { - return fontType.getName(); - } else if (fontType == FontType.TRUETYPE) { - return fontType.getName(); - } else { - throw new IllegalArgumentException("Unsupported font type: " + fontType.getName()); + protected String getPDFNameForFontType(byte fontType) { + switch (fontType) { + case TYPE0: + case TYPE1: + case MMTYPE1: + case TYPE3: + case TRUETYPE: return TYPE_NAMES[fontType]; + default: + throw new IllegalArgumentException("Unsupported font type"); } } diff --git a/src/java/org/apache/fop/pdf/PDFFontDescriptor.java b/src/java/org/apache/fop/pdf/PDFFontDescriptor.java index db1e73ec0..ed60b1206 100644 --- a/src/java/org/apache/fop/pdf/PDFFontDescriptor.java +++ b/src/java/org/apache/fop/pdf/PDFFontDescriptor.java @@ -19,8 +19,6 @@ package org.apache.fop.pdf; -import org.apache.fop.fonts.FontType; - /** * Class representing a font descriptor (/FontDescriptor object). *

    @@ -48,7 +46,10 @@ public class PDFFontDescriptor extends PDFObject { private AbstractPDFStream cidSet; // private String charSet = null; - private FontType subtype; + /** + * Font type. One of PDFFont.TYPE0, TYPE1, MMTYPE1, TRUETYPE + */ + private byte subtype; /** * Create the /FontDescriptor object @@ -111,7 +112,7 @@ public class PDFFontDescriptor extends PDFObject { * @param subtype the font type defined in the font stream * @param fontfile the stream containing an embedded font */ - public void setFontFile(FontType subtype, AbstractPDFStream fontfile) { + public void setFontFile(byte subtype, AbstractPDFStream fontfile) { this.subtype = subtype; this.fontfile = fontfile; } @@ -185,7 +186,7 @@ public class PDFFontDescriptor extends PDFObject { p.append(leading); } if (fontfile != null) { - if (subtype == FontType.TYPE1) { + if (subtype == PDFFont.TYPE1) { p.append("\n/FontFile "); } else { p.append("\n/FontFile2 "); diff --git a/src/java/org/apache/fop/pdf/PDFFontNonBase14.java b/src/java/org/apache/fop/pdf/PDFFontNonBase14.java index e479e9222..4e508eccb 100644 --- a/src/java/org/apache/fop/pdf/PDFFontNonBase14.java +++ b/src/java/org/apache/fop/pdf/PDFFontNonBase14.java @@ -19,7 +19,6 @@ package org.apache.fop.pdf; -import org.apache.fop.fonts.FontType; /** * A common ancestor for Type1, TrueType, MMType1 and Type3 fonts @@ -51,11 +50,11 @@ public abstract class PDFFontNonBase14 extends PDFFont { * Create the /Font object * * @param fontname the internal name for the font - * @param subtype the font's subtype + * @param subtype the font's subtype (one of PDFont.TYPE0, TYPE1, MMTYPE1, TRUETYPE) * @param basefont the base font name * @param encoding the character encoding schema used by the font */ - public PDFFontNonBase14(String fontname, FontType subtype, + public PDFFontNonBase14(String fontname, byte subtype, String basefont, Object encoding) { diff --git a/src/java/org/apache/fop/pdf/PDFFontTrueType.java b/src/java/org/apache/fop/pdf/PDFFontTrueType.java index eb3a94a27..5fd68d84b 100644 --- a/src/java/org/apache/fop/pdf/PDFFontTrueType.java +++ b/src/java/org/apache/fop/pdf/PDFFontTrueType.java @@ -19,7 +19,6 @@ package org.apache.fop.pdf; -import org.apache.fop.fonts.FontType; /** * Class representing a TrueType font. @@ -41,7 +40,7 @@ public class PDFFontTrueType extends PDFFontNonBase14 { Object encoding) { /* generic creation of PDF object */ - super(fontname, FontType.TRUETYPE, basefont, encoding /* , mapping */); + super(fontname, PDFFont.TRUETYPE, basefont, encoding /* , mapping */); } } diff --git a/src/java/org/apache/fop/pdf/PDFFontType0.java b/src/java/org/apache/fop/pdf/PDFFontType0.java index 5467f12a5..a8ec9eda8 100644 --- a/src/java/org/apache/fop/pdf/PDFFontType0.java +++ b/src/java/org/apache/fop/pdf/PDFFontType0.java @@ -19,7 +19,6 @@ package org.apache.fop.pdf; -import org.apache.fop.fonts.FontType; /** * Class representing a Type0 font. @@ -50,7 +49,7 @@ public class PDFFontType0 extends PDFFontNonBase14 { Object encoding) { /* generic creation of PDF object */ - super(fontname, FontType.TYPE0, basefont, encoding /* , mapping */); + super(fontname, PDFFont.TYPE0, basefont, encoding /* , mapping */); /* set fields using paramaters */ this.descendantFonts = null; @@ -71,7 +70,7 @@ public class PDFFontType0 extends PDFFontNonBase14 { PDFCIDFont descendantFonts) { /* generic creation of PDF object */ - super(fontname, FontType.TYPE0, basefont, encoding /* , mapping */); + super(fontname, PDFFont.TYPE0, basefont, encoding /* , mapping */); /* set fields using paramaters */ this.descendantFonts = descendantFonts; diff --git a/src/java/org/apache/fop/pdf/PDFFontType1.java b/src/java/org/apache/fop/pdf/PDFFontType1.java index 8c9a7dc4d..bd9a046e8 100644 --- a/src/java/org/apache/fop/pdf/PDFFontType1.java +++ b/src/java/org/apache/fop/pdf/PDFFontType1.java @@ -19,7 +19,6 @@ package org.apache.fop.pdf; -import org.apache.fop.fonts.FontType; /** * Class representing a Type1 or MMType1 font (not necessary for the base 14). @@ -45,7 +44,7 @@ public class PDFFontType1 extends PDFFontNonBase14 { Object encoding) { /* generic creation of PDF object */ - super(fontname, FontType.TYPE1, basefont, encoding); + super(fontname, PDFFont.TYPE1, basefont, encoding); } } diff --git a/src/java/org/apache/fop/pdf/PDFFontType3.java b/src/java/org/apache/fop/pdf/PDFFontType3.java index 78238d1b8..85838f2c6 100644 --- a/src/java/org/apache/fop/pdf/PDFFontType3.java +++ b/src/java/org/apache/fop/pdf/PDFFontType3.java @@ -19,7 +19,6 @@ package org.apache.fop.pdf; -import org.apache.fop.fonts.FontType; /** * Class representing a Type3 font. @@ -63,7 +62,7 @@ public class PDFFontType3 extends PDFFontNonBase14 { Object encoding) { /* generic creation of PDF object */ - super(fontname, FontType.TYPE3, basefont, encoding /* , mapping */); + super(fontname, PDFFont.TYPE3, basefont, encoding /* , mapping */); this.fontBBox = null; this.fontMatrix = null; @@ -87,7 +86,7 @@ public class PDFFontType3 extends PDFFontNonBase14 { PDFCharProcs charProcs) { /* generic creation of PDF object */ - super(fontname, FontType.TYPE3, basefont, encoding /* , mapping */); + super(fontname, PDFFont.TYPE3, basefont, encoding /* , mapping */); this.fontBBox = fontBBox; this.fontMatrix = fontMatrix; diff --git a/src/java/org/apache/fop/pdf/PDFResources.java b/src/java/org/apache/fop/pdf/PDFResources.java index 232001001..a6bde857a 100644 --- a/src/java/org/apache/fop/pdf/PDFResources.java +++ b/src/java/org/apache/fop/pdf/PDFResources.java @@ -19,17 +19,17 @@ package org.apache.fop.pdf; -import org.apache.fop.fonts.FontInfo; -import org.apache.fop.fonts.Typeface; -import org.apache.fop.fonts.FontDescriptor; import org.apache.fop.util.ColorProfileUtil; -// Java +//Java +import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Set; -import java.util.HashMap; -import java.util.HashSet; + +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontUse; /** * class representing a /Resources object. @@ -94,20 +94,14 @@ public class PDFResources extends PDFObject { * Add the fonts in the font info to this PDF document's Font Resources. * * @param doc PDF document to add fonts to - * @param fontInfo font info object to get font information from + * @param fontMap pairs of font names and their associated internal names */ - public void addFonts(PDFDocument doc, FontInfo fontInfo) { - Map fonts = fontInfo.getUsedFonts(); - Iterator e = fonts.keySet().iterator(); - while (e.hasNext()) { - String f = (String)e.next(); - Typeface font = (Typeface)fonts.get(f); - FontDescriptor desc = null; - if (font instanceof FontDescriptor) { - desc = (FontDescriptor)font; - } - addFont(doc.getFactory().makeFont( - f, font.getFontName(), font.getEncoding(), font, desc)); + public void addFonts(PDFDocument doc, FontMap fontMap) { + FontConsumer fontConsumer = fontMap.getFontConsumer(); + FontUse[] usedFontUses = fontConsumer.getUsedFontUses(); + for (int i = 0; i < usedFontUses.length; i++) { + String internalName = (String) fontMap.getInternalName(usedFontUses[i]); + addFont(doc.getFactory().makeFont(usedFontUses[i], internalName, fontConsumer)); } } diff --git a/src/java/org/apache/fop/pdf/PDFText.java b/src/java/org/apache/fop/pdf/PDFText.java index a172bedf6..51c22d0a0 100644 --- a/src/java/org/apache/fop/pdf/PDFText.java +++ b/src/java/org/apache/fop/pdf/PDFText.java @@ -176,11 +176,11 @@ public class PDFText extends PDFObject { * @param c character to encode * @return the encoded character */ - public static final String toUnicodeHex(char c) { + public static final String toUnicodeHex(int c) { final StringBuffer buf = new StringBuffer(4); final byte[] uniBytes; try { - final char[] a = {c}; + final char[] a = {(char)c/*TODO vh*/}; uniBytes = new String(a).getBytes("UTF-16BE"); } catch (java.io.UnsupportedEncodingException uee) { throw new CascadingRuntimeException("Incompatible VM", uee); diff --git a/src/java/org/apache/fop/render/AbstractPathOrientedRenderer.java b/src/java/org/apache/fop/render/AbstractPathOrientedRenderer.java index 443d33bdb..ea343bcd9 100644 --- a/src/java/org/apache/fop/render/AbstractPathOrientedRenderer.java +++ b/src/java/org/apache/fop/render/AbstractPathOrientedRenderer.java @@ -35,11 +35,12 @@ import org.apache.fop.area.inline.ForeignObject; import org.apache.fop.area.inline.InlineArea; import org.apache.fop.area.inline.Viewport; import org.apache.fop.fo.Constants; -import org.apache.fop.fonts.FontMetrics; import org.apache.fop.image.FopImage; import org.apache.fop.traits.BorderProps; import org.w3c.dom.Document; +import org.axsl.fontR.FontUse; + /** * Abstract base class for renderers like PDF and PostScript where many painting operations * follow similar patterns which makes it possible to share some code. @@ -571,21 +572,21 @@ public abstract class AbstractPathOrientedRenderer extends PrintRenderer { /** * Paints the text decoration marks. - * @param fm Current typeface + * @param fu Current font use * @param fontsize Current font size * @param inline inline area to paint the marks for * @param baseline position of the baseline * @param startx start IPD */ - protected void renderTextDecoration(FontMetrics fm, int fontsize, InlineArea inline, + protected void renderTextDecoration(FontUse fu, int fontsize, InlineArea inline, int baseline, int startx) { boolean hasTextDeco = inline.hasUnderline() || inline.hasOverline() || inline.hasLineThrough(); if (hasTextDeco) { endTextObject(); - float descender = fm.getDescender(fontsize) / 1000f; - float capHeight = fm.getCapHeight(fontsize) / 1000f; + float descender = fu.getFont().getDescender(fontsize) / 1000f; + float capHeight = fu.getFont().getCapHeight(fontsize) / 1000f; float halfLineWidth = (descender / -8f) / 2f; float endx = (startx + inline.getIPD()) / 1000f; if (inline.hasUnderline()) { diff --git a/src/java/org/apache/fop/render/AbstractRenderer.java b/src/java/org/apache/fop/render/AbstractRenderer.java index 562666bdc..f7979228d 100644 --- a/src/java/org/apache/fop/render/AbstractRenderer.java +++ b/src/java/org/apache/fop/render/AbstractRenderer.java @@ -24,8 +24,8 @@ import java.awt.Rectangle; import java.awt.geom.Rectangle2D; import java.io.IOException; import java.io.OutputStream; -import java.util.List; import java.util.Iterator; +import java.util.List; import java.util.Set; // XML @@ -33,23 +33,25 @@ import org.w3c.dom.Document; // FOP import org.apache.fop.apps.FOPException; +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.BlockViewport; import org.apache.fop.area.BodyRegion; import org.apache.fop.area.CTM; -import org.apache.fop.area.NormalFlow; import org.apache.fop.area.Footnote; import org.apache.fop.area.LineArea; import org.apache.fop.area.MainReference; -import org.apache.fop.area.Span; +import org.apache.fop.area.NormalFlow; +import org.apache.fop.area.OffDocumentItem; import org.apache.fop.area.Page; import org.apache.fop.area.PageViewport; -import org.apache.fop.area.RegionViewport; import org.apache.fop.area.RegionReference; +import org.apache.fop.area.RegionViewport; +import org.apache.fop.area.Span; import org.apache.fop.area.Trait; -import org.apache.fop.area.OffDocumentItem; +import org.apache.fop.area.inline.Character; import org.apache.fop.area.inline.Character; import org.apache.fop.area.inline.Container; import org.apache.fop.area.inline.ForeignObject; @@ -59,13 +61,12 @@ import org.apache.fop.area.inline.InlineBlockParent; import org.apache.fop.area.inline.InlineParent; import org.apache.fop.area.inline.Leader; import org.apache.fop.area.inline.Space; +import org.apache.fop.area.inline.TextArea; import org.apache.fop.area.inline.Viewport; import org.apache.fop.area.inline.TextArea; import org.apache.fop.area.inline.WordArea; import org.apache.fop.area.inline.SpaceArea; -import org.apache.fop.apps.FOUserAgent; import org.apache.fop.fo.Constants; -import org.apache.fop.fonts.FontInfo; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -74,6 +75,8 @@ import org.apache.avalon.framework.configuration.Configurable; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.ConfigurationException; +import org.axsl.fontR.FontConsumer; + /** * Abstract base class for all renderers. The Abstract renderer does all the * top level processing of the area tree and adds some abstract methods to @@ -124,9 +127,9 @@ public abstract class AbstractRenderer } /** - * @see org.apache.fop.render.Renderer#setupFontInfo(FontInfo) + * @see org.apache.fop.render.Renderer#setupFontConsumer(Consumer) */ - public abstract void setupFontInfo(FontInfo fontInfo); + public abstract void setupFontConsumer(FontConsumer fontConsumer); /** * @see org.apache.fop.render.Renderer#setUserAgent(FOUserAgent) diff --git a/src/java/org/apache/fop/render/PrintRenderer.java b/src/java/org/apache/fop/render/PrintRenderer.java index ddb335564..eb76efe03 100644 --- a/src/java/org/apache/fop/render/PrintRenderer.java +++ b/src/java/org/apache/fop/render/PrintRenderer.java @@ -22,11 +22,6 @@ package org.apache.fop.render; // FOP import org.apache.fop.area.Area; import org.apache.fop.area.Trait; -import org.apache.fop.fonts.Font; -import org.apache.fop.fonts.FontInfo; -import org.apache.fop.fonts.FontResolver; -import org.apache.fop.fonts.FontSetup; -import org.apache.fop.fonts.FontTriplet; import org.w3c.dom.Document; // Java @@ -35,25 +30,26 @@ import java.awt.geom.Rectangle2D; import java.util.List; import java.util.Map; +// aXSL +import org.axsl.fontR.FontConsumer; + /** Abstract base class of "Print" type renderers. */ public abstract class PrintRenderer extends AbstractRenderer { - /** Font configuration */ - protected FontInfo fontInfo; - - /** list of fonts */ - protected List fontList = null; + /** Font consumer */ + protected FontConsumer fontConsumer; /** - * Set up the font info + * Set up the font consumer * - * @param inFontInfo font info to set up + * @param inFontConsumer font consumer to set up */ - public void setupFontInfo(FontInfo inFontInfo) { - this.fontInfo = inFontInfo; - FontResolver resolver = new DefaultFontResolver(userAgent); - FontSetup.setup(fontInfo, fontList, resolver, - userAgent.getFactory().isBase14KerningEnabled()); + public void setupFontConsumer(FontConsumer inFontConsumer) { + this.fontConsumer = inFontConsumer; + // TODO vh: adaptation needed +// FontResolver resolver = new DefaultFontResolver(userAgent); +// FontSetup.setup(fontInfo, fontList, resolver, +// userAgent.getFactory().isBase14KerningEnabled()); } /** @@ -61,9 +57,11 @@ public abstract class PrintRenderer extends AbstractRenderer { * @param area the area from which to retrieve the font triplet information * @return the internal font key (F1, F2 etc.) or null if not found */ + // TODO vh: re-enable protected String getInternalFontNameForArea(Area area) { - FontTriplet triplet = (FontTriplet)area.getTrait(Trait.FONT); - return fontInfo.getInternalFontKey(triplet); + return null; +// FontTriplet triplet = (FontTriplet)area.getTrait(Trait.FONT); +// return fontInfo.getInternalFontKey(triplet); } /** @@ -71,11 +69,12 @@ public abstract class PrintRenderer extends AbstractRenderer { * @param area the area from which to retrieve the font triplet information * @return the requested Font instance or null if not found */ - protected Font getFontFromArea(Area area) { - FontTriplet triplet = (FontTriplet)area.getTrait(Trait.FONT); - int size = ((Integer)area.getTrait(Trait.FONT_SIZE)).intValue(); - return fontInfo.getFontInstance(triplet, size); - } + // TODO vh: re-enable +// protected Font getFontFromArea(Area area) { +// FontTriplet triplet = (FontTriplet)area.getTrait(Trait.FONT); +// int size = ((Integer)area.getTrait(Trait.FONT_SIZE)).intValue(); +// return fontInfo.getFontInstance(triplet, size); +// } /** * Lightens up a color for groove, ridge, inset and outset border effects. diff --git a/src/java/org/apache/fop/render/Renderer.java b/src/java/org/apache/fop/render/Renderer.java index 0b763b996..ed840feb1 100644 --- a/src/java/org/apache/fop/render/Renderer.java +++ b/src/java/org/apache/fop/render/Renderer.java @@ -20,16 +20,17 @@ package org.apache.fop.render; // Java -import java.io.OutputStream; import java.io.IOException; +import java.io.OutputStream; // FOP import org.apache.fop.apps.FOPException; -import org.apache.fop.area.PageViewport; +import org.apache.fop.apps.FOUserAgent; import org.apache.fop.area.LineArea; import org.apache.fop.area.OffDocumentItem; -import org.apache.fop.fonts.FontInfo; -import org.apache.fop.apps.FOUserAgent; +import org.apache.fop.area.PageViewport; + +import org.axsl.fontR.FontConsumer; /** @@ -89,11 +90,11 @@ public interface Renderer { void setUserAgent(FOUserAgent agent); /** - * Set up the given FontInfo. + * Set up the font consumer. * - * @param fontInfo The font information + * @param fontConsumer The font consumer */ - void setupFontInfo(FontInfo fontInfo); + void setupFontConsumer(FontConsumer fontConsumer); /** * Reports if out of order rendering is supported.

    diff --git a/src/java/org/apache/fop/render/afp/AFPRenderer.java b/src/java/org/apache/fop/render/afp/AFPRenderer.java index 8f1636b18..5283b80af 100644 --- a/src/java/org/apache/fop/render/afp/AFPRenderer.java +++ b/src/java/org/apache/fop/render/afp/AFPRenderer.java @@ -54,14 +54,6 @@ 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.extensions.ExtensionAttachment; -import org.apache.fop.fonts.FontInfo; -import org.apache.fop.fonts.FontMetrics; -import org.apache.fop.fonts.FontTriplet; -import org.apache.fop.fonts.FontUtil; -import org.apache.fop.fonts.Typeface; -import org.apache.fop.fonts.base14.Courier; -import org.apache.fop.fonts.base14.Helvetica; -import org.apache.fop.fonts.base14.TimesRoman; import org.apache.fop.image.FopImage; import org.apache.fop.image.ImageFactory; import org.apache.fop.image.TIFFImage; diff --git a/src/java/org/apache/fop/render/java2d/Java2DGraphicsState.java b/src/java/org/apache/fop/render/java2d/Java2DGraphicsState.java index a24bdfbde..ca109e0d7 100644 --- a/src/java/org/apache/fop/render/java2d/Java2DGraphicsState.java +++ b/src/java/org/apache/fop/render/java2d/Java2DGraphicsState.java @@ -29,7 +29,9 @@ import java.awt.geom.Area; import java.awt.geom.GeneralPath; import org.apache.fop.fo.Constants; -import org.apache.fop.fonts.FontInfo; + +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontUse; /** * Keeps information about the current state of the Graphics2D currentGraphics. @@ -48,8 +50,8 @@ public class Java2DGraphicsState { private int currentStrokeStyle; - /** Font configuration, passed from AWTRenderer */ - private FontInfo fontInfo; + /** Font consumer, passed from AWTRenderer */ + private FontConsumer fontConsumer; /** Initial AffinTransform passed by the renderer, includes scaling-info */ private AffineTransform initialTransform; @@ -57,12 +59,12 @@ public class Java2DGraphicsState { /** * State for storing graphics state. * @param graphics the graphics associated with the BufferedImage - * @param fontInfo the FontInfo from the renderer + * @param fontConsumer the FontConsumer from the renderer * @param at the initial AffineTransform containing the scale transformation */ - public Java2DGraphicsState(Graphics2D graphics, FontInfo fontInfo, + public Java2DGraphicsState(Graphics2D graphics, FontConsumer fontConsumer, AffineTransform at) { - this.fontInfo = fontInfo; + this.fontConsumer = fontConsumer; this.currentGraphics = graphics; this.initialTransform = at; currentGraphics.setTransform(at); @@ -119,25 +121,42 @@ public class Java2DGraphicsState { } /** +<<<<<<< .mine + * @see org.apache.fop.render.java2d.RendererState#updateFont(org.axsl.font.FontUse, + * int, java.lang.StringBuffer) +======= * Set the current font name. Check if the font name will change and then * set the new name. * * @param name the new font name * @param size the font size * @return true if the new Font changes the current Font +>>>>>>> .r448139 */ +<<<<<<< .mine + public boolean updateFont(FontUse fontUse, int size, StringBuffer pdf) { +======= public boolean updateFont(String name, int size) { +>>>>>>> .r448139 +<<<<<<< .mine +======= FontMetricsMapper mapper = (FontMetricsMapper)fontInfo.getMetricsFor(name); boolean updateName = (!mapper.getFontName().equals( getGraph().getFont().getFontName())); boolean updateSize = (size != (getGraph().getFont().getSize() * 1000)); +>>>>>>> .r448139 - if (updateName || updateSize) { + java.awt.Font awtFont = fontUse.getFont().getAWTFont(fontConsumer, size); + if (!getGraph().getFont().equals(awtFont)) { // the font name and/or the font size have changed +<<<<<<< .mine + currentGraphics.setFont(awtFont); +======= java.awt.Font font = mapper.getFont(size); currentGraphics.setFont(font); +>>>>>>> .r448139 return true; } else { return false; diff --git a/src/java/org/apache/fop/render/java2d/Java2DRenderer.java b/src/java/org/apache/fop/render/java2d/Java2DRenderer.java index 64421b6ea..92fb0fc67 100644 --- a/src/java/org/apache/fop/render/java2d/Java2DRenderer.java +++ b/src/java/org/apache/fop/render/java2d/Java2DRenderer.java @@ -67,9 +67,6 @@ import org.apache.fop.area.inline.SpaceArea; import org.apache.fop.area.inline.TextArea; import org.apache.fop.area.inline.WordArea; import org.apache.fop.fo.Constants; -import org.apache.fop.fonts.Font; -import org.apache.fop.fonts.FontInfo; -import org.apache.fop.fonts.Typeface; import org.apache.fop.image.FopImage; import org.apache.fop.image.ImageFactory; import org.apache.fop.image.XMLImage; @@ -78,6 +75,11 @@ import org.apache.fop.render.AbstractPathOrientedRenderer; import org.apache.fop.render.Graphics2DAdapter; import org.apache.fop.render.RendererContext; import org.apache.fop.render.pdf.CTMHelper; + +import org.axsl.fontR.Font; +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontUse; + import org.apache.fop.util.CharUtilities; /** @@ -141,6 +143,13 @@ public abstract class Java2DRenderer extends AbstractPathOrientedRenderer implem private Stack stateStack = new Stack(); + /** Font consumer */ + protected FontConsumer fontConsumer; + + protected Map fontNames = new java.util.Hashtable(); + + protected Map fontStyles = new java.util.Hashtable(); + /** true if the renderer has finished rendering all the pages */ private boolean renderingDone; @@ -182,8 +191,12 @@ public abstract class Java2DRenderer extends AbstractPathOrientedRenderer implem } /** - * @see org.apache.fop.render.Renderer#setupFontInfo(org.apache.fop.fonts.FontInfo) + * @see org.apache.fop.render.Renderer#setupFontConsumer(org.axsl.font.FontConsumer) */ +<<<<<<< .mine + public void setupFontConsumer(FontConsumer fontConsumer) { + this.fontConsumer = fontConsumer; +======= public void setupFontInfo(FontInfo inFontInfo) { //Don't call super.setupFontInfo() here! Java2D needs a special font setup // create a temp Image to test font metrics on @@ -195,6 +208,7 @@ public abstract class Java2DRenderer extends AbstractPathOrientedRenderer implem g.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); FontSetup.setup(fontInfo, g); +>>>>>>> .r448139 } /** @see org.apache.fop.render.Renderer#getGraphics2DAdapter() */ @@ -347,7 +361,7 @@ public abstract class Java2DRenderer extends AbstractPathOrientedRenderer implem graphics.drawLine(0, pageHeight + 2, pageWidth + 2, pageHeight + 2); graphics.drawLine(1, pageHeight + 3, pageWidth + 3, pageHeight + 3); - state = new Java2DGraphicsState(graphics, this.fontInfo, at); + state = new Java2DGraphicsState(graphics, this.fontConsumer, at); try { // reset the current Positions currentBPPosition = 0; @@ -716,6 +730,11 @@ public abstract class Java2DRenderer extends AbstractPathOrientedRenderer implem int bl = currentBPPosition + text.getOffset() + text.getBaselineOffset(); int saveIP = currentIPPosition; +<<<<<<< .mine + FontUse fontUse = (FontUse) text.getTrait(Trait.FONT); + int size = ((Integer) text.getTrait(Trait.FONT_SIZE)).intValue(); + state.updateFont(fontUse, size, null); +======= Font font = getFontFromArea(text); state.updateFont(font.getFontName(), font.getFontSize()); saveGraphicsState(); @@ -727,11 +746,18 @@ public abstract class Java2DRenderer extends AbstractPathOrientedRenderer implem currentIPPosition = saveIP + text.getAllocIPD(); //super.renderText(text); +>>>>>>> .r448139 // rendering text decorations +<<<<<<< .mine + renderTextDecoration(fontUse.getFont(), size, text, y, x); + + super.renderText(text); +======= Typeface tf = (Typeface) fontInfo.getFonts().get(font.getFontName()); int fontsize = text.getTraitAsInteger(Trait.FONT_SIZE); renderTextDecoration(tf, fontsize, text, bl, rx); +>>>>>>> .r448139 } /** @@ -746,7 +772,13 @@ public abstract class Java2DRenderer extends AbstractPathOrientedRenderer implem Color col = (Color) text.getTrait(Trait.COLOR); g2d.setColor(col); +<<<<<<< .mine + FontUse fontUse = (FontUse) ch.getTrait(Trait.FONT); + int size = ((Integer) ch.getTrait(Trait.FONT_SIZE)).intValue(); + state.updateFont(fontUse, size, null); +======= float textCursor = 0; +>>>>>>> .r448139 Iterator iter = text.getChildAreas().iterator(); while (iter.hasNext()) { @@ -783,11 +815,24 @@ public abstract class Java2DRenderer extends AbstractPathOrientedRenderer implem + 2 * text.getTextLetterSpaceAdjust() : 0); +<<<<<<< .mine + String s = ch.getChar(); + state.getGraph().drawString(s, x / 1000f, y / 1000f); + + // getLogger().debug( "renderCharacter(): \"" + s + "\", x: " + // + x + ", y: " + y + state); + + // rendering text decorations + renderTextDecoration(fontUse.getFont(), size, ch, y, x); + + super.renderCharacter(ch); +======= textCursor += (font.getCharWidth(sp) + tws) / 1000f; } else { throw new IllegalStateException("Unsupported child element: " + child); } } +>>>>>>> .r448139 } private static int[] getGlyphOffsets(String s, Font font, TextArea text, @@ -799,15 +844,66 @@ public abstract class Java2DRenderer extends AbstractPathOrientedRenderer implem final char mapped = font.mapChar(c); int wordSpace; +<<<<<<< .mine + /** + * Paints the text decoration marks. + * + * @param fs Current font + * @param fontSize font size + * @param inline inline area to paint the marks for + * @param baseline position of the baseline + * @param startIPD start IPD + */ + protected void renderTextDecoration(Font fs, int fontSize, InlineArea inline, + float baseline, float startIPD) { + + boolean hasTextDeco = inline.hasUnderline() || inline.hasOverline() + || inline.hasLineThrough(); + + if (hasTextDeco) { + state.updateStroke((fs.getDescender(fontSize) / (-8 * 1000f)), + Constants.EN_SOLID); + float endIPD = startIPD + inline.getIPD(); + if (inline.hasUnderline()) { + ColorType ct = (ColorType) inline + .getTrait(Trait.UNDERLINE_COLOR); + state.updateColor(ct, false, null); + float y = baseline - fs.getDescender(fontSize) / 2; + line.setLine(startIPD / 1000f, y / 1000f, endIPD / 1000f, + y / 1000f); + state.getGraph().draw(line); +======= if (CharUtilities.isAdjustableSpace(mapped)) { wordSpace = text.getTextWordSpaceAdjust(); } else { wordSpace = 0; +>>>>>>> .r448139 + } +<<<<<<< .mine + if (inline.hasOverline()) { + ColorType ct = (ColorType) inline + .getTrait(Trait.OVERLINE_COLOR); + state.updateColor(ct, false, null); + float y = (float) (baseline - (1.1 * fs.getCapHeight(fontSize))); + line.setLine(startIPD / 1000f, y / 1000f, endIPD / 1000f, + y / 1000f); + state.getGraph().draw(line); + } + if (inline.hasLineThrough()) { + ColorType ct = (ColorType) inline + .getTrait(Trait.LINETHROUGH_COLOR); + state.updateColor(ct, false, null); + float y = (float) (baseline - (0.45 * fs.getCapHeight(fontSize))); + line.setLine(startIPD / 1000f, y / 1000f, endIPD / 1000f, + y / 1000f); + state.getGraph().draw(line); } +======= int cw = font.getWidth(mapped); int ladj = (letterAdjust != null && i < textLen - 1 ? letterAdjust[i + 1] : 0); int tls = (i < textLen - 1 ? text.getTextLetterSpaceAdjust() : 0); offsets[i] = cw + ladj + tls + wordSpace; +>>>>>>> .r448139 } return offsets; } @@ -998,9 +1094,15 @@ public abstract class Java2DRenderer extends AbstractPathOrientedRenderer implem } Graphics2D graphics = (Graphics2D) g; try { +<<<<<<< .mine + PageViewport viewport = getPageViewport(pageIndex); + AffineTransform at = graphics.getTransform(); + state = new Java2DGraphicsState(graphics, this.fontConsumer, at); +======= PageViewport viewport = getPageViewport(pageIndex); AffineTransform at = graphics.getTransform(); state = new Java2DGraphicsState(graphics, this.fontInfo, at); +>>>>>>> .r448139 // reset the current Positions currentBPPosition = 0; diff --git a/src/java/org/apache/fop/render/pdf/PDFGraphics2DAdapter.java b/src/java/org/apache/fop/render/pdf/PDFGraphics2DAdapter.java index ce8c23149..00a411aa3 100644 --- a/src/java/org/apache/fop/render/pdf/PDFGraphics2DAdapter.java +++ b/src/java/org/apache/fop/render/pdf/PDFGraphics2DAdapter.java @@ -86,9 +86,9 @@ public class PDFGraphics2DAdapter extends AbstractGraphics2DAdapter { pdfInfo.pdfContext = pdfInfo.pdfPage; } PDFGraphics2D graphics = new PDFGraphics2D(textAsShapes, - pdfInfo.fi, pdfInfo.pdfDoc, + renderer.getFontMap(), pdfInfo.pdfDoc, pdfInfo.pdfContext, pdfInfo.pdfPage.referencePDF(), - renderer.currentFontName, + renderer.currentFontUse, renderer.currentFontSize); graphics.setGraphicContext(new org.apache.xmlgraphics.java2d.GraphicContext()); diff --git a/src/java/org/apache/fop/render/pdf/PDFRenderer.java b/src/java/org/apache/fop/render/pdf/PDFRenderer.java index ae75b9290..a2a662266 100644 --- a/src/java/org/apache/fop/render/pdf/PDFRenderer.java +++ b/src/java/org/apache/fop/render/pdf/PDFRenderer.java @@ -48,6 +48,7 @@ import org.apache.commons.io.IOUtils; import org.apache.fop.apps.FOPException; import org.apache.fop.apps.FOUserAgent; import org.apache.fop.apps.MimeConstants; +import org.apache.fop.area.Area; import org.apache.fop.area.CTM; import org.apache.fop.area.LineArea; import org.apache.fop.area.OffDocumentExtensionAttachment; @@ -63,12 +64,10 @@ import org.apache.fop.area.inline.Leader; import org.apache.fop.area.inline.InlineParent; import org.apache.fop.area.inline.WordArea; import org.apache.fop.area.inline.SpaceArea; -import org.apache.fop.fonts.Typeface; -import org.apache.fop.fonts.Font; -import org.apache.fop.fonts.FontSetup; import org.apache.fop.image.FopImage; import org.apache.fop.image.ImageFactory; import org.apache.fop.image.XMLImage; +import org.apache.fop.pdf.FontMap; import org.apache.fop.pdf.PDFAMode; import org.apache.fop.pdf.PDFAnnotList; import org.apache.fop.pdf.PDFColor; @@ -105,6 +104,10 @@ import org.apache.xmlgraphics.xmp.Metadata; import org.apache.xmlgraphics.xmp.schemas.XMPBasicAdapter; import org.apache.xmlgraphics.xmp.schemas.XMPBasicSchema; +import org.axsl.fontR.Font; +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontUse; + /** * Renderer that renders areas to PDF. */ @@ -211,11 +214,16 @@ public class PDFRenderer extends AbstractPathOrientedRenderer { /** drawing state */ protected PDFState currentState = null; - /** Name of currently selected font */ - protected String currentFontName = ""; - /** Size of currently selected font */ + /** Currently selected FontUse */ + protected FontUse currentFontUse = null; + /** Size (in millipoints) of currently selected font */ protected int currentFontSize = 0; - /** page height */ + /** + * Font mappings of FontUse to internal name. + */ + protected FontMap fontMap; + + /** page height */ protected int pageHeight; /** Registry of PDF filters */ @@ -231,8 +239,31 @@ public class PDFRenderer extends AbstractPathOrientedRenderer { */ public PDFRenderer() { } - + + /** + * Setup the font consumer. + * @param fontConsumer the font consumer. + */ + public void setupFontConsumer(FontConsumer fontConsumer) { + super.setupFontConsumer(fontConsumer); + fontMap = new FontMap(fontConsumer); + } + /** + * Return the font map associated to this renderer. + * @return the mappings of FontUse to internal names + */ + public FontMap getFontMap() { + return fontMap; + } + + // TODO vh: refactor + protected String getInternalFontNameForArea(Area area) { + FontUse fontUse = (FontUse)area.getTrait(Trait.FONT); + return fontMap.getInternalName(fontUse); + } + + /** * Configure the PDF renderer. * Get the configuration to be used for pdf stream filters, * fonts etc. @@ -242,13 +273,6 @@ public class PDFRenderer extends AbstractPathOrientedRenderer { //PDF filters this.filterMap = PDFFilterList.buildFilterMapFromConfiguration(cfg); - //Font configuration - List cfgFonts = FontSetup.buildFontListFromConfiguration(cfg); - if (this.fontList == null) { - this.fontList = cfgFonts; - } else { - this.fontList.addAll(cfgFonts); - } String s = cfg.getChild(PDF_A_MODE, true).getValue(null); if (s != null) { @@ -479,7 +503,7 @@ public class PDFRenderer extends AbstractPathOrientedRenderer { * @see org.apache.fop.render.Renderer#stopRenderer() */ public void stopRenderer() throws IOException { - pdfDoc.getResources().addFonts(pdfDoc, fontInfo); + pdfDoc.getResources().addFonts(pdfDoc, fontMap); pdfDoc.outputTrailer(ostream); this.pdfDoc = null; @@ -494,7 +518,7 @@ public class PDFRenderer extends AbstractPathOrientedRenderer { currentContext = null; currentPage = null; currentState = null; - currentFontName = ""; + currentFontUse = null; } /** @@ -607,7 +631,6 @@ public class PDFRenderer extends AbstractPathOrientedRenderer { protected void beginTextObject() { if (!inTextMode) { currentStream.add("BT\n"); - currentFontName = ""; inTextMode = true; } } @@ -708,7 +731,7 @@ public class PDFRenderer extends AbstractPathOrientedRenderer { currentStream.add(CTMHelper.toPDFString(basicPageTransform, false) + " cm\n"); - currentFontName = ""; + currentFontUse = null; super.renderPage(page); @@ -757,7 +780,7 @@ public class PDFRenderer extends AbstractPathOrientedRenderer { * @param region the RegionViewport whose region is to be drawn */ protected void handleRegionTraits(RegionViewport region) { - currentFontName = ""; + currentFontUse = null; super.handleRegionTraits(region); } @@ -1141,14 +1164,15 @@ public class PDFRenderer extends AbstractPathOrientedRenderer { beginTextObject(); StringBuffer pdf = new StringBuffer(); - String fontName = getInternalFontNameForArea(text); + // TODO vh +// String fontName = getInternalFontNameForArea(text); + FontUse fontUse = (FontUse) text.getTrait(Trait.FONT); int size = ((Integer) text.getTrait(Trait.FONT_SIZE)).intValue(); // This assumes that *all* CIDFonts use a /ToUnicode mapping - Typeface tf = (Typeface) fontInfo.getFonts().get(fontName); - boolean useMultiByte = tf.isMultiByte(); - - updateFont(fontName, size, pdf); + boolean useMultiByte = fontUse.getFont().getFontComplexity() == Font.FONT_COMPOSITE; + + updateFont(fontUse, size, pdf); Color ct = (Color) text.getTrait(Trait.COLOR); updateColor(ct, true, pdf); @@ -1169,22 +1193,24 @@ public class PDFRenderer extends AbstractPathOrientedRenderer { currentStream.add("] TJ\n"); - renderTextDecoration(tf, size, text, bl, rx); + renderTextDecoration(fontUse, size, text, bl, rx); } /** * @see org.apache.fop.render.AbstractRenderer#renderWord(WordArea) */ public void renderWord(WordArea word) { - Font font = getFontFromArea(word.getParentArea()); - Typeface tf = (Typeface) fontInfo.getFonts().get(font.getFontName()); - boolean useMultiByte = tf.isMultiByte(); + // TODO vh +// Font font = getFontFromArea(word.getParentArea()); + FontUse fontUse = (FontUse) word.getParentArea().getTrait(Trait.FONT); + int size = ((Integer) word.getParentArea().getTrait(Trait.FONT_SIZE)).intValue(); + boolean useMultiByte = fontUse.getFont().getFontComplexity() == Font.FONT_COMPOSITE; StringBuffer pdf = new StringBuffer(); String s = word.getWord(); escapeText(s, word.getLetterAdjustArray(), - font, (AbstractTextArea)word.getParentArea(), useMultiByte, pdf); + fontUse, size, (AbstractTextArea)word.getParentArea(), useMultiByte, pdf); currentStream.add(pdf.toString()); @@ -1195,23 +1221,25 @@ public class PDFRenderer extends AbstractPathOrientedRenderer { * @see org.apache.fop.render.AbstractRenderer#renderSpace(SpaceArea) */ public void renderSpace(SpaceArea space) { - Font font = getFontFromArea(space.getParentArea()); - Typeface tf = (Typeface) fontInfo.getFonts().get(font.getFontName()); - boolean useMultiByte = tf.isMultiByte(); + // TODO vh +// Font font = getFontFromArea(space.getParentArea()); + FontUse fontUse = (FontUse) space.getParentArea().getTrait(Trait.FONT); + int size = ((Integer) space.getParentArea().getTrait(Trait.FONT_SIZE)).intValue(); + boolean useMultiByte = fontUse.getFont().getFontComplexity() == Font.FONT_COMPOSITE; String s = space.getSpace(); StringBuffer pdf = new StringBuffer(); AbstractTextArea textArea = (AbstractTextArea)space.getParentArea(); - escapeText(s, null, font, textArea, useMultiByte, pdf); + escapeText(s, null, fontUse, size, textArea, useMultiByte, pdf); if (space.isAdjustable()) { int tws = -((TextArea) space.getParentArea()).getTextWordSpaceAdjust() - 2 * textArea.getTextLetterSpaceAdjust(); if (tws != 0) { - pdf.append(format(tws / (font.getFontSize() / 1000f))); + pdf.append(format(tws / (size / 1000f))); pdf.append(" "); } } @@ -1225,46 +1253,46 @@ public class PDFRenderer extends AbstractPathOrientedRenderer { * Escapes text according to PDF rules. * @param s Text to escape * @param letterAdjust an array of widths for letter adjustment (may be null) - * @param fs Font state + * @param fontUse Font use * @param parentArea the parent text area to retrieve certain traits from * @param useMultiByte Indicates the use of multi byte convention * @param pdf target buffer for the escaped text */ public void escapeText(String s, int[] letterAdjust, - Font fs, AbstractTextArea parentArea, + FontUse fontUse, int fontSize, AbstractTextArea parentArea, boolean useMultiByte, StringBuffer pdf) { String startText = useMultiByte ? "<" : "("; String endText = useMultiByte ? "> " : ") "; /* boolean kerningAvailable = false; - Map kerning = fs.getKerning(); - if (kerning != null && !kerning.isEmpty()) { - //kerningAvailable = true; - //TODO Reenable me when the layout engine supports kerning, too - log.warn("Kerning support is disabled until it is supported by the layout engine!"); - } +// TODO vh: kerning is available differently from FOrayFont +// Map kerning = font.getKerning(); +// if (kerning != null && !kerning.isEmpty()) { +// //kerningAvailable = true; +// //TODO Reenable me when the layout engine supports kerning, too +// log.warn("Kerning support is disabled until it is supported by the layout engine!"); +// } */ int l = s.length(); - float fontSize = fs.getFontSize() / 1000f; boolean startPending = true; for (int i = 0; i < l; i++) { char orgChar = s.charAt(i); - char ch; + int ch; float glyphAdjust = 0; - if (fs.hasChar(orgChar)) { - ch = fs.mapChar(orgChar); + if (fontUse.glyphAvailable(orgChar)) { + ch = fontUse.encodeCharacter(orgChar); int tls = (i < l - 1 ? parentArea.getTextLetterSpaceAdjust() : 0); glyphAdjust -= tls; } else { if (CharUtilities.isFixedWidthSpace(orgChar)) { //Fixed width space are rendered as spaces so copy/paste works in a reader - ch = fs.mapChar(CharUtilities.SPACE); - glyphAdjust = fs.getCharWidth(ch) - fs.getCharWidth(orgChar); + ch = fontUse.encodeCharacter(CharUtilities.SPACE); + glyphAdjust = fontUse.getFont().width(ch, fontSize) - fontUse.getFont().width(orgChar, fontSize); } else { - ch = fs.mapChar(orgChar); + ch = fontUse.encodeCharacter(orgChar); } } if (letterAdjust != null && i < l - 1) { @@ -1288,13 +1316,13 @@ public class PDFRenderer extends AbstractPathOrientedRenderer { break; default: } - pdf.append(ch); + pdf.append((char)ch); } } else { pdf.append(PDFText.toUnicodeHex(ch)); } - float adjust = glyphAdjust / fontSize; + float adjust = glyphAdjust / (fontSize / 1000f/*TODO vh: refactor*/); if (adjust != 0) { pdf.append(endText).append(format(adjust)).append(' '); @@ -1318,7 +1346,7 @@ public class PDFRenderer extends AbstractPathOrientedRenderer { textOpen = false; prevWordX = 0; prevWordY = 0; - currentFontName = ""; + currentFontUse = null; }*/ } @@ -1370,14 +1398,15 @@ public class PDFRenderer extends AbstractPathOrientedRenderer { updateColor(col, fill, null); } - private void updateFont(String name, int size, StringBuffer pdf) { - if ((!name.equals(this.currentFontName)) + private void updateFont(FontUse fontUse, int size, StringBuffer pdf) { + if ((!fontUse.equals(this.currentFontUse)) || (size != this.currentFontSize)) { closeText(); - this.currentFontName = name; + this.currentFontUse = fontUse; this.currentFontSize = size; - pdf = pdf.append("/" + name + " " + format((float) size / 1000f) + String internalName = (String) this.fontMap.getInternalName(fontUse); + pdf = pdf.append("/" + internalName + " " + format((float) size / 1000f) + " Tf\n"); } } @@ -1512,8 +1541,9 @@ public class PDFRenderer extends AbstractPathOrientedRenderer { currentContext == null ? currentPage : currentContext); context.setProperty(PDFRendererContextConstants.PDF_CONTEXT, currentContext); context.setProperty(PDFRendererContextConstants.PDF_STREAM, currentStream); - context.setProperty(PDFRendererContextConstants.PDF_FONT_INFO, fontInfo); - context.setProperty(PDFRendererContextConstants.PDF_FONT_NAME, currentFontName); + // TODO vh: check + context.setProperty(PDFRendererContextConstants.PDF_FONT_CONSUMER, fontConsumer); + context.setProperty(PDFRendererContextConstants.PDF_FONT_USE, currentFontUse); context.setProperty(PDFRendererContextConstants.PDF_FONT_SIZE, new Integer(currentFontSize)); return context; diff --git a/src/java/org/apache/fop/render/pdf/PDFRendererContextConstants.java b/src/java/org/apache/fop/render/pdf/PDFRendererContextConstants.java index d3efa9667..52e7a1957 100644 --- a/src/java/org/apache/fop/render/pdf/PDFRendererContextConstants.java +++ b/src/java/org/apache/fop/render/pdf/PDFRendererContextConstants.java @@ -42,10 +42,10 @@ public interface PDFRendererContextConstants extends RendererContextConstants { String PDF_STREAM = "pdfStream"; /** The current font information for the pdf renderer. */ - String PDF_FONT_INFO = "fontInfo"; + String PDF_FONT_CONSUMER = "fontConsumer"; /** The current pdf font name. */ - String PDF_FONT_NAME = "fontName"; + String PDF_FONT_USE = "fontUse"; /** The current pdf font size. */ String PDF_FONT_SIZE = "fontSize"; diff --git a/src/java/org/apache/fop/render/pdf/PDFSVGHandler.java b/src/java/org/apache/fop/render/pdf/PDFSVGHandler.java index cca185a04..658d83553 100644 --- a/src/java/org/apache/fop/render/pdf/PDFSVGHandler.java +++ b/src/java/org/apache/fop/render/pdf/PDFSVGHandler.java @@ -33,16 +33,18 @@ import org.apache.fop.render.RendererContext; import org.apache.fop.render.RendererContextConstants; import org.apache.fop.pdf.PDFDocument; import org.apache.fop.pdf.PDFPage; +import org.apache.fop.pdf.PDFResourceContext; import org.apache.fop.pdf.PDFState; import org.apache.fop.pdf.PDFStream; -import org.apache.fop.pdf.PDFResourceContext; import org.apache.fop.svg.PDFAElementBridge; import org.apache.fop.svg.PDFBridgeContext; import org.apache.fop.svg.PDFGraphics2D; import org.apache.fop.svg.SVGUserAgent; import org.apache.fop.util.QName; import org.apache.fop.fo.extensions.ExtensionElementMapping; -import org.apache.fop.fonts.FontInfo; + +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontUse; // Commons-Logging import org.apache.commons.logging.Log; @@ -84,8 +86,8 @@ public class PDFSVGHandler extends AbstractGenericSVGHandler pdfi.currentStream = (PDFStream)context.getProperty(PDF_STREAM); pdfi.width = ((Integer)context.getProperty(WIDTH)).intValue(); pdfi.height = ((Integer)context.getProperty(HEIGHT)).intValue(); - pdfi.fi = (FontInfo)context.getProperty(PDF_FONT_INFO); - pdfi.currentFontName = (String)context.getProperty(PDF_FONT_NAME); + pdfi.fc = (FontConsumer) context.getProperty(PDF_FONT_CONSUMER); + pdfi.currentFontUse = (FontUse)context.getProperty(PDF_FONT_USE); pdfi.currentFontSize = ((Integer)context.getProperty(PDF_FONT_SIZE)).intValue(); pdfi.currentXPosition = ((Integer)context.getProperty(XPOS)).intValue(); pdfi.currentYPosition = ((Integer)context.getProperty(YPOS)).intValue(); @@ -119,10 +121,10 @@ public class PDFSVGHandler extends AbstractGenericSVGHandler public int width; /** see PDF_HEIGHT */ public int height; - /** see PDF_FONT_INFO */ - public FontInfo fi; - /** see PDF_FONT_NAME */ - public String currentFontName; + /** see PDF_FONT_CONSUMER */ + public FontConsumer fc; + /** see PDF_FONT_USE */ + public FontUse currentFontUse; /** see PDF_FONT_SIZE */ public int currentFontSize; /** see PDF_XPOS */ @@ -176,10 +178,11 @@ public class PDFSVGHandler extends AbstractGenericSVGHandler if (cfg != null) { strokeText = cfg.getChild("stroke-text", true).getValueAsBoolean(strokeText); } - - BridgeContext ctx = new PDFBridgeContext(ua, - (strokeText ? null : pdfInfo.fi), - new AffineTransform()); + + // TODO vh: re-enable + BridgeContext ctx = null/*new PDFBridgeContext(ua, + (strokeText ? null : pdfInfo.fc), + new AffineTransform())*/; GraphicsNode root; try { @@ -227,10 +230,11 @@ public class PDFSVGHandler extends AbstractGenericSVGHandler if (pdfInfo.pdfContext == null) { pdfInfo.pdfContext = pdfInfo.pdfPage; } - PDFGraphics2D graphics = new PDFGraphics2D(true, pdfInfo.fi, + // TODO vh: re-enable + PDFGraphics2D graphics = null/*new PDFGraphics2D(true, pdfInfo.fc, pdfInfo.pdfDoc, pdfInfo.pdfContext, pdfInfo.pdfPage.referencePDF(), - pdfInfo.currentFontName, pdfInfo.currentFontSize); + pdfInfo.currentFontUse, pdfInfo.currentFontSize)*/; graphics.setGraphicContext(new org.apache.xmlgraphics.java2d.GraphicContext()); if (!resolutionScaling.isIdentity()) { diff --git a/src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java b/src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java index 9795bd54a..94db6e302 100644 --- a/src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java +++ b/src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java @@ -77,7 +77,7 @@ public abstract class AbstractPSTranscoder extends AbstractFOPTranscoder { * Constructs a new AbstractPSTranscoder. */ public AbstractPSTranscoder() { - super(); + super(true); } protected abstract AbstractPSDocumentGraphics2D createDocumentGraphics2D(); diff --git a/src/java/org/apache/fop/render/ps/EPSTranscoder.java b/src/java/org/apache/fop/render/ps/EPSTranscoder.java index a6d6c12a2..ee972fa27 100644 --- a/src/java/org/apache/fop/render/ps/EPSTranscoder.java +++ b/src/java/org/apache/fop/render/ps/EPSTranscoder.java @@ -60,7 +60,7 @@ public class EPSTranscoder extends AbstractPSTranscoder { /** @see AbstractPSTranscoder#createDocumentGraphics2D() */ protected AbstractPSDocumentGraphics2D createDocumentGraphics2D() { - return new EPSDocumentGraphics2D(false); + return new EPSDocumentGraphics2D(false, getFontMap()); } } diff --git a/src/java/org/apache/fop/render/ps/PSFontUtils.java b/src/java/org/apache/fop/render/ps/PSFontUtils.java index 5ece1fae9..a363fc588 100644 --- a/src/java/org/apache/fop/render/ps/PSFontUtils.java +++ b/src/java/org/apache/fop/render/ps/PSFontUtils.java @@ -21,24 +21,20 @@ package org.apache.fop.render.ps; import java.io.FileNotFoundException; import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; import java.util.Iterator; import java.util.Map; import javax.xml.transform.Source; import javax.xml.transform.stream.StreamSource; -import org.apache.fop.fonts.CustomFont; -import org.apache.fop.fonts.Font; -import org.apache.fop.fonts.FontInfo; -import org.apache.fop.fonts.FontType; -import org.apache.fop.fonts.LazyFont; -import org.apache.fop.fonts.Typeface; import org.apache.xmlgraphics.ps.DSCConstants; import org.apache.xmlgraphics.ps.PSGenerator; import org.apache.xmlgraphics.ps.PSResource; +import org.axsl.fontR.Font; +import org.axsl.fontR.FontUse; +import org.axsl.psR.Encoding; + /** * Utility code for font handling in PostScript. */ @@ -47,87 +43,73 @@ public class PSFontUtils extends org.apache.xmlgraphics.ps.PSFontUtils { /** * Generates the PostScript code for the font dictionary. * @param gen PostScript generator to use for output - * @param fontInfo available fonts + * @param fontMap mappings of FontUses to their associated internal names * @return a Map of PSResource instances representing all defined fonts (key: font key) * @throws IOException in case of an I/O problem */ - public static Map writeFontDict(PSGenerator gen, FontInfo fontInfo) + public static Map writeFontDict(PSGenerator gen, FontMap fontMap) throws IOException { gen.commentln("%FOPBeginFontDict"); gen.writeln("/FOPFonts 100 dict dup begin"); // write("/gfF1{/Helvetica findfont} bd"); // write("/gfF3{/Helvetica-Bold findfont} bd"); - Map fonts = fontInfo.getFonts(); Map fontResources = new java.util.HashMap(); - Iterator iter = fonts.keySet().iterator(); + Iterator iter = fontMap.getMappings().iterator(); while (iter.hasNext()) { - String key = (String)iter.next(); - Typeface tf = (Typeface)fonts.get(key); - if (tf instanceof LazyFont) { - tf = ((LazyFont)tf).getRealFont(); - } - if (tf == null) { - //This is to avoid an NPE if a malconfigured font is in the configuration but not - //used in the document. If it were used, we wouldn't get this far. - String fallbackKey = fontInfo.getInternalFontKey(Font.DEFAULT_FONT); - tf = (Typeface)fonts.get(fallbackKey); - } - PSResource fontRes = new PSResource("font", tf.getFontName()); - fontResources.put(key, fontRes); + Map.Entry entry = (Map.Entry)iter.next(); + String internalName = (String)entry.getValue(); + FontUse fontUse = (FontUse)entry.getKey(); + PSResource fontRes = new PSResource(PSResource.TYPE_FONT, internalName); + fontResources.put(internalName, fontRes); boolean embeddedFont = false; - if (FontType.TYPE1 == tf.getFontType()) { - if (tf instanceof CustomFont) { - CustomFont cf = (CustomFont)tf; - InputStream in = getInputStreamOnFont(gen, cf); - if (in != null) { - gen.writeDSCComment(DSCConstants.BEGIN_RESOURCE, - fontRes); - embedType1Font(gen, in); - gen.writeDSCComment(DSCConstants.END_RESOURCE); - gen.notifyResourceUsage(fontRes, false); - embeddedFont = true; - } - } + Font font = fontUse.getFont(); + if (font.getFontFormat() == Font.FORMAT_TYPE1 + && font.isEmbeddable() + && !font.isPDFStandardFont()) { + gen.writeDSCComment(DSCConstants.BEGIN_RESOURCE, fontRes); + gen.writeByteArr(font.getContentsPostScriptHex(fontMap.getFontConsumer())); + gen.writeDSCComment(DSCConstants.END_RESOURCE); + gen.notifyResourceUsage(fontRes, false); + embeddedFont = true; } if (!embeddedFont) { gen.writeDSCComment(DSCConstants.INCLUDE_RESOURCE, fontRes); //Resource usage shall be handled by renderer //gen.notifyResourceUsage(fontRes, true); } - gen.commentln("%FOPBeginFontKey: " + key); - gen.writeln("/" + key + " /" + tf.getFontName() + " def"); + gen.commentln("%FOPBeginFontKey: " + internalName); + gen.writeln("/" + internalName + " /" + font.postscriptName() + " def"); gen.commentln("%FOPEndFontKey"); } gen.writeln("end def"); gen.commentln("%FOPEndFontDict"); gen.commentln("%FOPBeginFontReencode"); defineWinAnsiEncoding(gen); - + //Rewrite font encodings - iter = fonts.keySet().iterator(); + iter = fontMap.getMappings().iterator(); while (iter.hasNext()) { - String key = (String)iter.next(); - Typeface fm = (Typeface)fonts.get(key); - if (fm instanceof LazyFont && ((LazyFont)fm).getRealFont() == null) { - continue; - } else if (null == fm.getEncoding()) { + FontUse fontUse = (FontUse)((Map.Entry)iter.next()).getKey(); + Encoding encoding = fontUse.getEncoding(); + if (encoding == null) { //ignore (ZapfDingbats and Symbol run through here //TODO: ZapfDingbats and Symbol should get getEncoding() fixed! - } else if ("WinAnsiEncoding".equals(fm.getEncoding())) { - gen.writeln("/" + fm.getFontName() + " findfont"); + } else if (encoding.isPredefinedPS()) { + gen.writeln("/" + fontUse.postscriptName() + " findfont"); gen.writeln("dup length dict begin"); gen.writeln(" {1 index /FID ne {def} {pop pop} ifelse} forall"); - gen.writeln(" /Encoding " + fm.getEncoding() + " def"); + gen.writeln(" /Encoding " + encoding.getName() + " def"); gen.writeln(" currentdict"); gen.writeln("end"); - gen.writeln("/" + fm.getFontName() + " exch definefont pop"); + gen.writeln("/" + fontUse.postscriptName() + " exch definefont pop"); } else { gen.commentln("%WARNING: Only WinAnsiEncoding is supported. Font '" - + fm.getFontName() + "' asks for: " + fm.getEncoding()); + + fontUse.postscriptName() + "' asks for: " + encoding.getName()); } } gen.commentln("%FOPEndFontReencode"); + return fontResources; } diff --git a/src/java/org/apache/fop/render/ps/PSRenderer.java b/src/java/org/apache/fop/render/ps/PSRenderer.java index 75c3817f1..93069aece 100644 --- a/src/java/org/apache/fop/render/ps/PSRenderer.java +++ b/src/java/org/apache/fop/render/ps/PSRenderer.java @@ -55,13 +55,11 @@ import org.apache.fop.area.inline.WordArea; import org.apache.fop.apps.FOUserAgent; import org.apache.fop.fo.Constants; import org.apache.fop.fo.extensions.ExtensionAttachment; -import org.apache.fop.fonts.Font; -import org.apache.fop.fonts.FontSetup; -import org.apache.fop.fonts.Typeface; import org.apache.fop.image.EPSImage; import org.apache.fop.image.FopImage; import org.apache.fop.image.ImageFactory; import org.apache.fop.image.XMLImage; +import org.apache.fop.pdf.FontMap; import org.apache.fop.render.Graphics2DAdapter; import org.apache.fop.render.AbstractPathOrientedRenderer; import org.apache.fop.render.ImageAdapter; @@ -69,6 +67,8 @@ import org.apache.fop.render.RendererContext; import org.apache.fop.render.pdf.PDFRendererContextConstants; import org.apache.fop.render.ps.extensions.PSSetupCode; import org.apache.fop.util.CharUtilities; +import org.axsl.font.FontConsumer; +import org.axsl.font.FontUse; import org.apache.xmlgraphics.ps.DSCConstants; import org.apache.xmlgraphics.ps.PSGenerator; @@ -114,6 +114,8 @@ public class PSRenderer extends AbstractPathOrientedRenderer implements ImageAda private boolean inTextMode = false; private boolean firstPageSequenceReceived = false; + + private FontMap fontMap; /** Used to temporarily store PSSetupCode instance until they can be written. */ private List setupCodeList; @@ -121,20 +123,19 @@ public class PSRenderer extends AbstractPathOrientedRenderer implements ImageAda /** This is a map of PSResource instances of all fonts defined (key: font key) */ private Map fontResources; + /** Set up the font consumer. + * @param fontConsumer the font consumer. + */ + public void setupFontConsumer(FontConsumer fontConsumer) { + super.setupFontConsumer(fontConsumer); + fontMap = new FontMap(fontConsumer, true); + } /** * @see org.apache.avalon.framework.configuration.Configurable#configure(Configuration) */ public void configure(Configuration cfg) throws ConfigurationException { super.configure(cfg); this.autoRotateLandscape = cfg.getChild("auto-rotate-landscape").getValueAsBoolean(false); - - //Font configuration - List cfgFonts = FontSetup.buildFontListFromConfiguration(cfg); - if (this.fontList == null) { - this.fontList = cfgFonts; - } else { - this.fontList.addAll(cfgFonts); - } } /** @@ -408,12 +409,12 @@ public class PSRenderer extends AbstractPathOrientedRenderer implements ImageAda /** * Changes the currently used font. - * @param name name of the font + * @param fontUse the new font use * @param size font size */ - public void useFont(String name, int size) { + public void useFont(FontUse fontUse, int size) { try { - gen.useFont(name, size / 1000f); + gen.useFont(fontMap.getInternalName(fontUse), size / 1000f); } catch (IOException ioe) { handleIOTrouble(ioe); } @@ -631,12 +632,10 @@ public class PSRenderer extends AbstractPathOrientedRenderer implements ImageAda */ public void stopRenderer() throws IOException { //Notify resource usage for font which are not supplied - Map fonts = fontInfo.getUsedFonts(); - Iterator e = fonts.keySet().iterator(); - while (e.hasNext()) { - String key = (String)e.next(); - //Typeface font = (Typeface)fonts.get(key); - PSResource res = (PSResource)this.fontResources.get(key); + FontUse[] fontUses = fontConsumer.getFontServer().getUsedFontUses(fontConsumer); + for (int i = 0; i < fontUses.length; i++) { + PSResource res = (PSResource)this.fontResources.get( + fontMap.getInternalName(fontUses[i])); boolean supplied = gen.isResourceSupplied(res); if (!supplied) { gen.notifyResourceUsage(res, true); @@ -682,7 +681,7 @@ public class PSRenderer extends AbstractPathOrientedRenderer implements ImageAda //Setup gen.writeDSCComment(DSCConstants.BEGIN_SETUP); writeSetupCodeList(setupCodeList, "SetupCode"); - this.fontResources = PSFontUtils.writeFontDict(gen, fontInfo); + this.fontResources = PSFontUtils.writeFontDict(gen, fontMap); gen.writeln("FOPFonts begin"); gen.writeDSCComment(DSCConstants.END_SETUP); } catch (IOException ioe) { @@ -843,17 +842,21 @@ public class PSRenderer extends AbstractPathOrientedRenderer implements ImageAda */ public void renderText(TextArea area) { renderInlineAreaBackAndBorders(area); +<<<<<<< .mine + FontUse fontUse = (FontUse)area.getTrait(Trait.FONT); +======= String fontname = getInternalFontNameForArea(area); +>>>>>>> .r448139 int fontsize = area.getTraitAsInteger(Trait.FONT_SIZE); // This assumes that *all* CIDFonts use a /ToUnicode mapping - Typeface tf = (Typeface) fontInfo.getFonts().get(fontname); +// Typeface tf = (Typeface) fontInfo.getFonts().get(fontname); //Determine position int rx = currentIPPosition + area.getBorderAndPaddingWidthStart(); int bl = currentBPPosition + area.getOffset() + area.getBaselineOffset(); - useFont(fontname, fontsize); + useFont(fontUse, fontsize); Color ct = (Color)area.getTrait(Trait.COLOR); if (ct != null) { try { @@ -912,7 +915,7 @@ public class PSRenderer extends AbstractPathOrientedRenderer implements ImageAda sb.append("("); for (int i = 0; i < textLen; i++) { final char c = text.charAt(i); - final char mapped = tf.mapChar(c); + final char mapped = fontUse.encodeCharacter(fontConsumer, c); PSGenerator.escapeChar(mapped, sb); } sb.append(") t"); @@ -921,7 +924,7 @@ public class PSRenderer extends AbstractPathOrientedRenderer implements ImageAda int[] offsets = new int[textLen]; for (int i = 0; i < textLen; i++) { final char c = text.charAt(i); - final char mapped = tf.mapChar(c); + final char mapped = fontUse.encodeCharacter(fontConsumer, c); int wordSpace; if (CharUtilities.isAdjustableSpace(mapped)) { @@ -929,10 +932,15 @@ public class PSRenderer extends AbstractPathOrientedRenderer implements ImageAda } else { wordSpace = 0; } +<<<<<<< .mine + int cw = fontUse.getFont().width(c, fontsize) / 1000; + offsets[i] = cw + area.getTextLetterSpaceAdjust() + wordSpace; +======= int cw = tf.getWidth(mapped, font.getFontSize()) / 1000; int ladj = (letterAdjust != null && i < textLen - 1 ? letterAdjust[i + 1] : 0); int tls = (i < textLen - 1 ? area.getTextLetterSpaceAdjust() : 0); offsets[i] = cw + ladj + tls + wordSpace; +>>>>>>> .r448139 PSGenerator.escapeChar(mapped, sb); } sb.append(")" + PSGenerator.LF + "["); diff --git a/src/java/org/apache/fop/render/ps/PSSVGHandler.java b/src/java/org/apache/fop/render/ps/PSSVGHandler.java index 191fee5d9..9d79290e4 100644 --- a/src/java/org/apache/fop/render/ps/PSSVGHandler.java +++ b/src/java/org/apache/fop/render/ps/PSSVGHandler.java @@ -37,7 +37,6 @@ import org.apache.batik.dom.svg.SVGDOMImplementation; import org.apache.batik.gvt.GraphicsNode; // FOP -import org.apache.fop.fonts.FontInfo; import org.apache.fop.render.Renderer; import org.apache.fop.render.XMLHandler; import org.apache.fop.render.RendererContext; @@ -48,6 +47,7 @@ import org.apache.xmlgraphics.ps.PSGenerator; // Commons-Logging import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.axsl.fontR.FontConsumer; /** * PostScript XML handler for SVG. Uses Apache Batik for SVG processing. @@ -87,7 +87,8 @@ public class PSSVGHandler implements XMLHandler, PSRendererContextConstants { public static PSInfo getPSInfo(RendererContext context) { PSInfo psi = new PSInfo(); psi.psGenerator = (PSGenerator)context.getProperty(PS_GENERATOR); - psi.fontInfo = (org.apache.fop.fonts.FontInfo) context.getProperty(PS_FONT_INFO); + // TODO vh: re-enable +// psi.fontConsumer = (FontConsumer) context.getProperty(PS_FONT_CONSUMER); psi.width = ((Integer)context.getProperty(WIDTH)).intValue(); psi.height = ((Integer)context.getProperty(HEIGHT)).intValue(); psi.currentXPosition = ((Integer)context.getProperty(XPOS)).intValue(); @@ -103,8 +104,8 @@ public class PSSVGHandler implements XMLHandler, PSRendererContextConstants { /** see PS_GENERATOR */ private PSGenerator psGenerator; - /** see PS_FONT_INFO */ - private org.apache.fop.fonts.FontInfo fontInfo; + /** see PS_FONT_CONSUMER */ + private FontConsumer fontConsumer; /** see WIDTH */ private int width; /** see HEIGHT */ @@ -133,19 +134,19 @@ public class PSSVGHandler implements XMLHandler, PSRendererContextConstants { } /** - * Returns the fontInfo. - * @return FontInfo + * Returns the font consumer. + * @return the font consumer */ - public FontInfo getFontInfo() { - return fontInfo; + public FontConsumer getFontConsumer() { + return fontConsumer; } /** - * Sets the fontInfo. - * @param fontInfo The fontInfo to set + * Sets the font consumer. + * @param fontConsumer The font consumer to set */ - public void setFontInfo(FontInfo fontInfo) { - this.fontInfo = fontInfo; + public void setFontConsumer(FontConsumer fontConsumer) { + this.fontConsumer = fontConsumer; } /** @@ -261,7 +262,8 @@ public class PSSVGHandler implements XMLHandler, PSRendererContextConstants { NativeTextHandler nativeTextHandler = null; BridgeContext ctx = new BridgeContext(ua); if (!strokeText) { - nativeTextHandler = new NativeTextHandler(graphics, psInfo.getFontInfo()); + // TODO vh: re-enable + nativeTextHandler = null/*new NativeTextHandler(graphics, psInfo.getFontConsumer())*/; graphics.setCustomTextHandler(nativeTextHandler); PSTextPainter textPainter = new PSTextPainter(nativeTextHandler); ctx.setTextPainter(textPainter); diff --git a/src/java/org/apache/fop/render/ps/PSTextPainter.java b/src/java/org/apache/fop/render/ps/PSTextPainter.java index 78efd56b9..b6ba23b8e 100644 --- a/src/java/org/apache/fop/render/ps/PSTextPainter.java +++ b/src/java/org/apache/fop/render/ps/PSTextPainter.java @@ -50,8 +50,10 @@ import org.apache.batik.gvt.text.TextPaintInfo; import org.apache.batik.gvt.font.GVTFontFamily; import org.apache.batik.gvt.renderer.StrokingTextPainter; -import org.apache.fop.fonts.Font; -import org.apache.fop.fonts.FontInfo; +import org.axsl.font.Font; +import org.axsl.font.FontConsumer; +import org.axsl.font.FontException; +import org.axsl.font.FontUse; import org.apache.fop.fonts.FontTriplet; /** @@ -127,7 +129,8 @@ public class PSTextPainter implements TextPainter { boolean hasunsupported = false; String text = getText(aci); - Font font = makeFont(aci); + Float size = (Float)aci.getAttribute(TextAttribute.SIZE); + FontUse font = makeFont(aci, (size == null) ? 10000 : size.intValue() * 1000); if (hasUnsupportedGlyphs(text, font)) { log.trace("-> Unsupported glyphs found"); hasunsupported = true; @@ -280,10 +283,12 @@ public class PSTextPainter implements TextPainter { Paint strokePaint = tpi.strokePaint; Stroke stroke = tpi.strokeStroke; - Float fontSize = (Float)aci.getAttribute(TextAttribute.SIZE); - if (fontSize == null) { + Float size = (Float)aci.getAttribute(TextAttribute.SIZE); + if (size == null) { return loc; } + int fontSize = (size == null) ? 10000 : size.intValue() * 1000; + Float posture = (Float)aci.getAttribute(TextAttribute.POSTURE); Float taWeight = (Float)aci.getAttribute(TextAttribute.WEIGHT); @@ -294,13 +299,13 @@ public class PSTextPainter implements TextPainter { g2d.setPaint(foreground); g2d.setStroke(stroke); - Font font = makeFont(aci); - java.awt.Font awtFont = makeAWTFont(aci, font); + FontUse fontUse = makeFont(aci, fontSize); + java.awt.Font awtFont = makeAWTFont(aci, fontUse, fontSize / 1000); g2d.setFont(awtFont); String txt = getText(aci); - float advance = getStringWidth(txt, font); + float advance = fontUse.getFont().width(txt, fontSize, 0, 0) / 1000f; float tx = 0; if (anchor != null) { switch (anchor.getType()) { @@ -357,27 +362,29 @@ public class PSTextPainter implements TextPainter { } } - private String getStyle(AttributedCharacterIterator aci) { + private byte getStyle(AttributedCharacterIterator aci) { Float posture = (Float)aci.getAttribute(TextAttribute.POSTURE); return ((posture != null) && (posture.floatValue() > 0.0)) - ? "italic" - : "normal"; + ? Font.FONT_STYLE_ITALIC + : Font.FONT_STYLE_NORMAL; } - private int getWeight(AttributedCharacterIterator aci) { + private short getWeight(AttributedCharacterIterator aci) { Float taWeight = (Float)aci.getAttribute(TextAttribute.WEIGHT); return ((taWeight != null) && (taWeight.floatValue() > 1.0)) - ? Font.BOLD - : Font.NORMAL; + ? Font.FONT_WEIGHT_BOLD + : Font.FONT_WEIGHT_NORMAL; } - private Font makeFont(AttributedCharacterIterator aci) { - Float fontSize = (Float)aci.getAttribute(TextAttribute.SIZE); - if (fontSize == null) { - fontSize = new Float(10.0f); - } - String style = getStyle(aci); - int weight = getWeight(aci); + /** + * Make a font suitable for the given aci. + * @param aci + * @param fontSize font size in millipoints. + * @return a suitable font use. + */ + private FontUse makeFont(AttributedCharacterIterator aci, int fontSize) { + byte style = getStyle(aci); + short weight = getWeight(aci); boolean found = false; FontInfo fontInfo = nativeTextHandler.getFontInfo(); @@ -386,6 +393,8 @@ public class PSTextPainter implements TextPainter { GVTAttributedCharacterIterator.TextAttribute.GVT_FONT_FAMILIES); if (gvtFonts != null) { Iterator i = gvtFonts.iterator(); + String[] fontFamilies = new String[gvtFonts.size()]; + int index = 0; while (i.hasNext()) { GVTFontFamily fam = (GVTFontFamily) i.next(); /* (todo) Enable SVG Font painting @@ -393,6 +402,9 @@ public class PSTextPainter implements TextPainter { PROXY_PAINTER.paint(node, g2d); return; }*/ +<<<<<<< .mine + fontFamilies[index++] = fam.getFamilyName(); +======= fontFamily = fam.getFamilyName(); if (fontInfo.hasFont(fontFamily, style, weight)) { FontTriplet triplet = fontInfo.fontLookup( @@ -400,53 +412,83 @@ public class PSTextPainter implements TextPainter { int fsize = (int)(fontSize.floatValue() * 1000); return fontInfo.getFontInstance(triplet, fsize); } +>>>>>>> .r448139 } + int currentPos = aci.getIndex(); + try { + font = fontConsumer.getFontServer(). + selectFontXSL(fontConsumer, fontFamilies, style, weight, + Font.FONT_VARIANT_NORMAL, Font.FONT_STRETCH_NORMAL, + fontSize, aci.first()); + } catch (FontException f) { + try { + font = fontConsumer.getFontServer(). + selectFontXSL(fontConsumer, new String[] {"any"}, style, + Font.FONT_WEIGHT_ANY, + Font.FONT_VARIANT_ANY, + Font.FONT_STRETCH_ANY, + fontSize, aci.first()); + } catch (FontException e) { /* Should never happen */ } + } + aci.setIndex(currentPos); } +<<<<<<< .mine + return font; +======= FontTriplet triplet = fontInfo.fontLookup("any", style, Font.NORMAL); int fsize = (int)(fontSize.floatValue() * 1000); return fontInfo.getFontInstance(triplet, fsize); +>>>>>>> .r448139 } - private java.awt.Font makeAWTFont(AttributedCharacterIterator aci, Font font) { - final String style = getStyle(aci); - final int weight = getWeight(aci); + /** + * Make an AWT font corresponding to the given font use. + * @param aci + * @param fontUse the font use. + * @param fontSize the font size in points. + * @return the corresponding AWT font. + */ + private java.awt.Font makeAWTFont(AttributedCharacterIterator aci, + FontUse fontUse, + int fontSize) { + final byte style = getStyle(aci); + final short weight = getWeight(aci); int fStyle = java.awt.Font.PLAIN; - if (weight == Font.BOLD) { + if (weight == Font.FONT_WEIGHT_BOLD) { fStyle |= java.awt.Font.BOLD; } - if ("italic".equals(style)) { + if (style == Font.FONT_STYLE_ITALIC) { fStyle |= java.awt.Font.ITALIC; } - return new java.awt.Font(font.getFontName(), fStyle, - (int)(font.getFontSize() / 1000)); - } - - private float getStringWidth(String str, Font font) { - float wordWidth = 0; - float whitespaceWidth = font.getWidth(font.mapChar(' ')); - - for (int i = 0; i < str.length(); i++) { - float charWidth; - char c = str.charAt(i); - if (!((c == ' ') || (c == '\n') || (c == '\r') || (c == '\t'))) { - charWidth = font.getWidth(font.mapChar(c)); - if (charWidth <= 0) { - charWidth = whitespaceWidth; - } - } else { - charWidth = whitespaceWidth; - } - wordWidth += charWidth; - } - return wordWidth / 1000f; + return new java.awt.Font(fontUse.postscriptName(), fStyle, fontSize); } - private boolean hasUnsupportedGlyphs(String str, Font font) { +// private float getStringWidth(String str, Font font) { +// float wordWidth = 0; +// float whitespaceWidth = font.getWidth(font.mapChar(' ')); +// +// for (int i = 0; i < str.length(); i++) { +// float charWidth; +// char c = str.charAt(i); +// if (!((c == ' ') || (c == '\n') || (c == '\r') || (c == '\t'))) { +// charWidth = font.getWidth(font.mapChar(c)); +// if (charWidth <= 0) { +// charWidth = whitespaceWidth; +// } +// } else { +// charWidth = whitespaceWidth; +// } +// wordWidth += charWidth; +// } +// return wordWidth / 1000f; +// } + + private boolean hasUnsupportedGlyphs(String str, FontUse font) { for (int i = 0; i < str.length(); i++) { float charWidth; char c = str.charAt(i); if (!((c == ' ') || (c == '\n') || (c == '\r') || (c == '\t'))) { - if (!font.hasChar(c)) { + if (!font.glyphAvailable(c)) { return true; } } diff --git a/src/java/org/apache/fop/render/ps/PSTranscoder.java b/src/java/org/apache/fop/render/ps/PSTranscoder.java index bc33bae87..8d6c1c3e5 100644 --- a/src/java/org/apache/fop/render/ps/PSTranscoder.java +++ b/src/java/org/apache/fop/render/ps/PSTranscoder.java @@ -60,7 +60,7 @@ public class PSTranscoder extends AbstractPSTranscoder { /** @see AbstractPSTranscoder#createDocumentGraphics2D() */ protected AbstractPSDocumentGraphics2D createDocumentGraphics2D() { - return new PSDocumentGraphics2D(false); + return new PSDocumentGraphics2D(false, getFontMap()); } } diff --git a/src/java/org/apache/fop/render/rtf/RTFHandler.java b/src/java/org/apache/fop/render/rtf/RTFHandler.java index c751a424e..f18d56146 100644 --- a/src/java/org/apache/fop/render/rtf/RTFHandler.java +++ b/src/java/org/apache/fop/render/rtf/RTFHandler.java @@ -93,7 +93,6 @@ import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTableCell; import org.apache.fop.render.rtf.rtflib.rtfdoc.IRtfTableContainer; import org.apache.fop.render.rtf.rtflib.tools.BuilderContext; import org.apache.fop.render.rtf.rtflib.tools.TableContext; -import org.apache.fop.fonts.FontSetup; import org.apache.fop.image.FopImage; import org.apache.fop.image.ImageFactory; import org.apache.fop.image.XMLImage; @@ -138,8 +137,6 @@ public class RTFHandler extends FOEventHandler { super(userAgent); this.os = os; bDefer = true; - - FontSetup.setup(fontInfo, null, new DefaultFontResolver(userAgent)); } /** diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfListStyle.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfListStyle.java index 7ae121c3f..b7925a1a5 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfListStyle.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfListStyle.java @@ -87,4 +87,4 @@ public class RtfListStyle { public void writeLevelGroup(RtfElement element) throws IOException { } -} \ No newline at end of file +} diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfPageNumberCitation.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfPageNumberCitation.java index c7f455c70..c552316e6 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfPageNumberCitation.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfPageNumberCitation.java @@ -109,4 +109,4 @@ public class RtfPageNumberCitation extends RtfContainer { public boolean isEmpty() { return false; } -} \ No newline at end of file +} diff --git a/src/java/org/apache/fop/render/xml/XMLRenderer.java b/src/java/org/apache/fop/render/xml/XMLRenderer.java index fe2fdd2c5..99085d8bb 100644 --- a/src/java/org/apache/fop/render/xml/XMLRenderer.java +++ b/src/java/org/apache/fop/render/xml/XMLRenderer.java @@ -78,10 +78,9 @@ import org.apache.fop.area.inline.SpaceArea; import org.apache.fop.area.inline.TextArea; import org.apache.fop.area.inline.Viewport; import org.apache.fop.area.inline.WordArea; +import org.axsl.font.FontUse; import org.apache.fop.fo.Constants; import org.apache.fop.fo.extensions.ExtensionAttachment; -import org.apache.fop.fonts.FontInfo; -import org.apache.fop.fonts.FontSetup; import org.apache.fop.fonts.FontTriplet; import org.apache.fop.render.PrintRenderer; import org.apache.fop.render.Renderer; @@ -144,13 +143,6 @@ public class XMLRenderer extends PrintRenderer { */ public void configure(Configuration cfg) throws ConfigurationException { super.configure(cfg); - //Font configuration - List cfgFonts = FontSetup.buildFontListFromConfiguration(cfg); - if (this.fontList == null) { - this.fontList = cfgFonts; - } else { - this.fontList.addAll(cfgFonts); - } } /** @@ -346,10 +338,11 @@ public class XMLRenderer extends PrintRenderer { } Object value = traitEntry.getValue(); if (key == Trait.FONT) { - FontTriplet triplet = (FontTriplet)value; - addAttribute("font-name", triplet.getName()); - addAttribute("font-style", triplet.getStyle()); - addAttribute("font-weight", triplet.getWeight()); + FontUse fontUse = (FontUse) traitEntry.getValue(); + addAttribute("font-name", fontUse.postscriptName()); + // Style and weight should be present in the postscript name +// addAttribute("font-style", triplet.getStyle()); +// addAttribute("font-weight", triplet.getWeight()); } else if (clazz.equals(Background.class)) { Background bkg = (Background)value; //TODO Remove the following line (makes changes in the test checks necessary) diff --git a/src/java/org/apache/fop/svg/AbstractFOPTranscoder.java b/src/java/org/apache/fop/svg/AbstractFOPTranscoder.java index b11615853..d9130836a 100644 --- a/src/java/org/apache/fop/svg/AbstractFOPTranscoder.java +++ b/src/java/org/apache/fop/svg/AbstractFOPTranscoder.java @@ -19,10 +19,14 @@ package org.apache.fop.svg; +import java.net.MalformedURLException; + import org.xml.sax.EntityResolver; import org.apache.commons.logging.impl.SimpleLog; import org.apache.commons.logging.Log; +import org.apache.fop.pdf.FontMap; +import org.apache.fop.tools.CommonsLogger; import org.apache.batik.bridge.UserAgent; import org.apache.batik.dom.svg.SVGDOMImplementation; import org.apache.batik.dom.util.DocumentFactory; @@ -33,13 +37,17 @@ import org.apache.batik.transcoder.SVGAbstractTranscoder; import org.apache.batik.transcoder.image.ImageTranscoder; import org.apache.batik.transcoder.keys.BooleanKey; import org.apache.batik.util.SVGConstants; +import org.axsl.common.PseudoLogger; +import org.axsl.font.FontConsumer; +import org.axsl.font.FontException; +import org.axsl.font.FontServer; +import org.foray.font.FOrayFontServer; import org.w3c.dom.DOMImplementation; /** * This is the common base class of all of FOP's transcoders. */ -public abstract class AbstractFOPTranscoder extends SVGAbstractTranscoder - { +public abstract class AbstractFOPTranscoder extends SVGAbstractTranscoder implements FontConsumer { /** * The key to specify whether to stroke text instead of using text @@ -59,19 +67,88 @@ public abstract class AbstractFOPTranscoder extends SVGAbstractTranscoder protected UserAgent userAgent = createUserAgent(); private Log logger; + /** PseudoLogger wrapper around logger. For adaptation to the aXSL interface. */ + private PseudoLogger pseudoLogger; private EntityResolver resolver; + private FontMap fontMap; + + private FontServer fontServer; + /** * Constructs a new FOP-style transcoder. + * + * @param registerAllFonts if true, all the fonts know by font + * server will be given an internal font name (this is useful for the PS + * transcoder). Otherwise internal names will be assigned only when needed. */ - public AbstractFOPTranscoder() { + public AbstractFOPTranscoder(boolean registerAllFonts) { hints.put(KEY_DOCUMENT_ELEMENT_NAMESPACE_URI, SVGConstants.SVG_NAMESPACE_URI); hints.put(KEY_DOCUMENT_ELEMENT, SVGConstants.SVG_SVG_TAG); hints.put(KEY_DOM_IMPLEMENTATION, SVGDOMImplementation.getDOMImplementation()); + + try { + fontServer = new FOrayFontServer(getPseudoLogger()); + /* TODO vh: plug font config file */ + ((FOrayFontServer) fontServer).setBaseFontURL(new java.net.URL("file://")); + ((FOrayFontServer) fontServer).setup( +// new java.net.URL("file:///path/to/axsl-font-conf.xml"), null); + new java.net.URL(System.getProperty("font.config.file")), null); + } catch (MalformedURLException e) { + // Should never happen + } catch (FontException e) { + // TODO vh + e.printStackTrace(); + } + + fontMap = new FontMap(this, registerAllFonts); } + /** + * @see org.axsl.font.FontConsumer#getFontServer() + */ + public FontServer getFontServer() { + return fontServer; + } + + /** + * @see org.axsl.font.FontConsumer#getPseudoLogger() + */ + public PseudoLogger getPseudoLogger() { + return pseudoLogger; + } + + /** + * @see org.axsl.font.FontConsumer#isUsingFreeStandingFonts() + */ + public boolean isUsingFreeStandingFonts() { + return true; + } + + /** + * @see org.axsl.font.FontConsumer#isUsingSystemFonts() + */ + public boolean isUsingSystemFonts() { + return false; + } + + /** + * @see org.axsl.font.FontConsumer#preferFreeStandingFonts() + */ + public boolean preferFreeStandingFonts() { + return true; + } + + /** + * Return the mappings of FontUses to their associated internal names. + * @return the font map associated to this transcoder. + */ + protected FontMap getFontMap() { + return fontMap; + } + /** * Creates and returns the default user agent for this transcoder. Override * this method if you need non-default behaviour. @@ -83,6 +160,7 @@ public abstract class AbstractFOPTranscoder extends SVGAbstractTranscoder public void setLogger(Log logger) { this.logger = logger; + this.pseudoLogger = new CommonsLogger(logger); } /** diff --git a/src/java/org/apache/fop/svg/PDFBridgeContext.java b/src/java/org/apache/fop/svg/PDFBridgeContext.java index 3d5fc4e6d..606c42f7a 100644 --- a/src/java/org/apache/fop/svg/PDFBridgeContext.java +++ b/src/java/org/apache/fop/svg/PDFBridgeContext.java @@ -24,15 +24,16 @@ import java.awt.geom.AffineTransform; import org.apache.batik.bridge.BridgeContext; import org.apache.batik.bridge.DocumentLoader; import org.apache.batik.bridge.UserAgent; -import org.apache.fop.fonts.FontInfo; + +import org.axsl.font.FontConsumer; /** * BridgeContext which registers the custom bridges for PDF output. */ public class PDFBridgeContext extends BridgeContext { - /** The font list. */ - private final FontInfo fontInfo; + /** The font consumer. */ + private final FontConsumer fontConsumer; private AffineTransform linkTransform; @@ -40,51 +41,51 @@ public class PDFBridgeContext extends BridgeContext { * Constructs a new bridge context. * @param userAgent the user agent * @param loader the Document Loader to use for referenced documents. - * @param fontInfo the font list for the text painter, may be null + * @param fontConsumer the font consumer, may be null * in which case text is painted as shapes * @param linkTransform AffineTransform to properly place links, * may be null */ public PDFBridgeContext(UserAgent userAgent, DocumentLoader loader, - FontInfo fontInfo, + FontConsumer fontConsumer, AffineTransform linkTransform) { super(userAgent, loader); - this.fontInfo = fontInfo; + this.fontConsumer = fontConsumer; this.linkTransform = linkTransform; } /** * Constructs a new bridge context. * @param userAgent the user agent - * @param fontInfo the font list for the text painter, may be null + * @param fontConsumer the font consumer, may be null * in which case text is painted as shapes * @param linkTransform AffineTransform to properly place links, * may be null */ - public PDFBridgeContext(UserAgent userAgent, FontInfo fontInfo, + public PDFBridgeContext(UserAgent userAgent, FontConsumer fontConsumer, AffineTransform linkTransform) { super(userAgent); - this.fontInfo = fontInfo; + this.fontConsumer = fontConsumer; this.linkTransform = linkTransform; } /** * Constructs a new bridge context. * @param userAgent the user agent - * @param fontInfo the font list for the text painter, may be null + * @param fontConsumer the font consumer, may be null * in which case text is painted as shapes */ - public PDFBridgeContext(UserAgent userAgent, FontInfo fontInfo) { - this(userAgent, fontInfo, null); + public PDFBridgeContext(UserAgent userAgent, FontConsumer fontConsumer) { + this(userAgent, fontConsumer, null); } /** @see org.apache.batik.bridge.BridgeContext#registerSVGBridges() */ public void registerSVGBridges() { super.registerSVGBridges(); - if (fontInfo != null) { - putBridge(new PDFTextElementBridge(fontInfo)); + if (fontConsumer != null) { + putBridge(new PDFTextElementBridge(fontConsumer)); } PDFAElementBridge pdfAElementBridge = new PDFAElementBridge(); @@ -101,6 +102,6 @@ public class PDFBridgeContext extends BridgeContext { // Make sure any 'sub bridge contexts' also have our bridges. public BridgeContext createBridgeContext() { return new PDFBridgeContext(getUserAgent(), getDocumentLoader(), - fontInfo, linkTransform); + fontConsumer, linkTransform); } } diff --git a/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java b/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java index 0e699dec7..3049ce5a9 100644 --- a/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java +++ b/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java @@ -19,6 +19,7 @@ package org.apache.fop.svg; +import org.apache.fop.pdf.FontMap; import org.apache.fop.pdf.PDFDocument; import org.apache.fop.pdf.PDFFilterList; import org.apache.fop.pdf.PDFPage; @@ -28,8 +29,6 @@ import org.apache.fop.pdf.PDFNumber; import org.apache.fop.pdf.PDFResources; import org.apache.fop.pdf.PDFColor; import org.apache.fop.pdf.PDFAnnotList; -import org.apache.fop.fonts.FontSetup; -import org.apache.fop.fonts.FontInfo; import org.apache.avalon.framework.CascadingRuntimeException; import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.framework.configuration.Configurable; @@ -102,9 +101,10 @@ public class PDFDocumentGraphics2D extends PDFGraphics2D * * @param textAsShapes set this to true so that text will be rendered * using curves and not the font. + * @param fontMap mappings of FontUses to their associated internal names. */ - public PDFDocumentGraphics2D(boolean textAsShapes) { - super(textAsShapes); + public PDFDocumentGraphics2D(boolean textAsShapes, FontMap fontMap) { + super(textAsShapes, fontMap); this.pdfContext = new PDFContext(); if (!textAsShapes) { @@ -129,15 +129,16 @@ public class PDFDocumentGraphics2D extends PDFGraphics2D * * @param textAsShapes set this to true so that text will be rendered * using curves and not the font. + * @param fontMap mappings of FontUses to their associated internal names. * @param stream the stream that the final document should be written to. * @param width the width of the document * @param height the height of the document * @throws IOException an io exception if there is a problem * writing to the output stream */ - public PDFDocumentGraphics2D(boolean textAsShapes, OutputStream stream, + public PDFDocumentGraphics2D(boolean textAsShapes, FontMap fontMap, OutputStream stream, int width, int height) throws IOException { - this(textAsShapes); + this(textAsShapes, fontMap); setupDocument(stream, width, height); } @@ -148,9 +149,10 @@ public class PDFDocumentGraphics2D extends PDFGraphics2D * for the bridge before the document size is known. * The resulting document is written to the stream after rendering. * This constructor is Avalon-style. + * @param fontMap mappings of FontUses to their associated internal names. */ - public PDFDocumentGraphics2D() { - this(false); + public PDFDocumentGraphics2D(FontMap fontMap) { + this(false, fontMap); } /** @@ -158,7 +160,6 @@ public class PDFDocumentGraphics2D extends PDFGraphics2D */ public void configure(Configuration cfg) throws ConfigurationException { this.cfg = cfg; - this.pdfContext.setFontList(FontSetup.buildFontListFromConfiguration(cfg)); } /** @@ -212,14 +213,6 @@ public class PDFDocumentGraphics2D extends PDFGraphics2D return deviceDPI; } - /** - * Get the font info for this pdf document. - * @return the font information - */ - public FontInfo getFontInfo() { - return fontInfo; - } - /** * Get the pdf document created by this class. * @return the pdf document @@ -322,7 +315,7 @@ public class PDFDocumentGraphics2D extends PDFGraphics2D setClip(this.initialClip); } - currentFontName = ""; + currentFontUse = null; currentFontSize = 0; if (currentStream == null) { @@ -373,8 +366,8 @@ public class PDFDocumentGraphics2D extends PDFGraphics2D // restorePDFState(); closePage(); - if (fontInfo != null) { - pdfDoc.getResources().addFonts(pdfDoc, fontInfo); + if (fontMap.getSize() != 0) { + pdfDoc.getResources().addFonts(pdfDoc, fontMap); } this.pdfDoc.output(outputStream); pdfDoc.outputTrailer(outputStream); diff --git a/src/java/org/apache/fop/svg/PDFGraphics2D.java b/src/java/org/apache/fop/svg/PDFGraphics2D.java index 0e821975d..69f223b7f 100644 --- a/src/java/org/apache/fop/svg/PDFGraphics2D.java +++ b/src/java/org/apache/fop/svg/PDFGraphics2D.java @@ -19,6 +19,7 @@ package org.apache.fop.svg; +import org.apache.fop.pdf.FontMap; import org.apache.fop.pdf.PDFConformanceException; import org.apache.fop.pdf.PDFResourceContext; import org.apache.fop.pdf.PDFResources; @@ -34,13 +35,7 @@ import org.apache.fop.pdf.PDFDocument; import org.apache.fop.pdf.PDFLink; import org.apache.fop.pdf.PDFAnnotList; import org.apache.fop.pdf.BitmapImage; -import org.apache.fop.fonts.FontInfo; -import org.apache.fop.fonts.Font; -import org.apache.fop.fonts.FontSetup; -import org.apache.fop.fonts.FontTriplet; -import org.apache.fop.fonts.LazyFont; import org.apache.fop.image.JpegImage; -import org.apache.fop.fonts.CIDFont; import org.apache.fop.render.pdf.FopPDFImage; import org.apache.xmlgraphics.java2d.AbstractGraphics2D; @@ -53,6 +48,11 @@ import org.apache.batik.ext.awt.RenderingHintsKeyExt; import org.apache.batik.gvt.PatternPaint; import org.apache.batik.gvt.GraphicsNode; +import org.axsl.fontR.Font; +import org.axsl.fontR.FontConsumer; +import org.axsl.fontR.FontException; +import org.axsl.fontR.FontUse; + import java.text.AttributedCharacterIterator; import java.text.CharacterIterator; import java.awt.Graphics; @@ -141,15 +141,21 @@ public class PDFGraphics2D extends AbstractGraphics2D { protected int[] jpegCount = {0}; /** - * The current font information. + * The font map. */ - protected FontInfo fontInfo; + protected FontMap fontMap; /** * The override font state used when drawing text and the font cannot be * set using java fonts. */ - protected Font ovFontState = null; + protected FontUse ovFontUse = null; + + /** + * The override font size (in millipoint) used when drawing text and the font cannot be + * set using java fonts. + */ + protected int ovFontSize; /** * the current stream to add PDF commands to @@ -157,14 +163,14 @@ public class PDFGraphics2D extends AbstractGraphics2D { protected StringWriter currentStream = new StringWriter(); /** - * the current (internal) font name + * the current font use */ - protected String currentFontName; + protected FontUse currentFontUse; /** * the current font size in millipoints */ - protected float currentFontSize; + protected int currentFontSize; /** * The output stream for the pdf document. @@ -180,21 +186,20 @@ public class PDFGraphics2D extends AbstractGraphics2D { * existing document. * * @param textAsShapes if true then draw text as shapes - * @param fi the current font information + * @param fontMap the font map * @param doc the pdf document for creating pdf objects * @param page the current resource context or page * @param pref the PDF reference of the current page - * @param font the current font name - * @param size the current font size + * @param fontUse the current font use + * @param size the current font size in millipoints */ - public PDFGraphics2D(boolean textAsShapes, FontInfo fi, PDFDocument doc, - PDFResourceContext page, String pref, String font, float size) { - this(textAsShapes); + public PDFGraphics2D(boolean textAsShapes, FontMap fontMap, PDFDocument doc, + PDFResourceContext page, String pref, FontUse fontUse, int size) { + this(textAsShapes, fontMap); pdfDoc = doc; resourceContext = page; - currentFontName = font; + currentFontUse = fontUse; currentFontSize = size; - fontInfo = fi; pageRef = pref; graphicsState = new PDFState(); } @@ -203,9 +208,11 @@ public class PDFGraphics2D extends AbstractGraphics2D { * Create a new PDFGraphics2D. * * @param textAsShapes true if drawing text as shapes + * @param fontMap the mappings of fonts to their corresponding internal names */ - protected PDFGraphics2D(boolean textAsShapes) { + protected PDFGraphics2D(boolean textAsShapes, FontMap fontMap) { super(textAsShapes); + this.fontMap = fontMap; } /** @@ -218,17 +225,26 @@ public class PDFGraphics2D extends AbstractGraphics2D { super(g); this.pdfDoc = g.pdfDoc; this.resourceContext = g.resourceContext; - this.currentFontName = g.currentFontName; + this.currentFontUse = g.currentFontUse; this.currentFontSize = g.currentFontSize; - this.fontInfo = g.fontInfo; + this.fontMap = g.fontMap; this.pageRef = g.pageRef; this.graphicsState = g.graphicsState; this.currentStream = g.currentStream; this.jpegCount = g.jpegCount; this.outputStream = g.outputStream; - this.ovFontState = g.ovFontState; + this.ovFontUse = g.ovFontUse; + this.ovFontSize = g.ovFontSize; } + /** + * Return the font consumer associated to this document. + * @return the font consumer. + */ + public FontConsumer getFontConsumer() { + return fontMap.getFontConsumer(); + } + /** * Creates a new Graphics object that is * a copy of this Graphics object. @@ -312,15 +328,27 @@ public class PDFGraphics2D extends AbstractGraphics2D { } /** - * Set the override font state for drawing text. + * Set the override font use for drawing text. * This is used by the PDF text painter so that it can temporarily * set the font state when a java font cannot be used. * The next drawString will use this font state. * - * @param infont the font state to use + * @param infont the FontUse to use */ - public void setOverrideFontState(Font infont) { - ovFontState = infont; + public void setOverrideFontUse(FontUse infont) { + ovFontUse = infont; + } + + /** + * Set the override font size for drawing text. + * This is used by the PDF text painter so that it can temporarily + * set the font state when a java font cannot be used. + * The next drawString will use this font state. + * + * @param insize the font size to use + */ + public void setOverrideFontSize(int insize) { + ovFontSize = insize; } /** @@ -655,9 +683,9 @@ public class PDFGraphics2D extends AbstractGraphics2D { */ public void dispose() { pdfDoc = null; - fontInfo = null; + fontMap = null; currentStream = null; - currentFontName = null; + currentFontUse = null; } /** @@ -1056,14 +1084,11 @@ public class PDFGraphics2D extends AbstractGraphics2D { private boolean createPattern(PatternPaint pp, boolean fill) { preparePainting(); - FontInfo fontInfo = new FontInfo(); - FontSetup.setup(fontInfo, null, null); - PDFResources res = pdfDoc.getFactory().makeResources(); PDFResourceContext context = new PDFResourceContext(res); - PDFGraphics2D pattGraphic = new PDFGraphics2D(textAsShapes, fontInfo, + PDFGraphics2D pattGraphic = new PDFGraphics2D(textAsShapes, fontMap, pdfDoc, context, pageRef, - "", 0); + null, 0); pattGraphic.setGraphicContext(new GraphicContext()); pattGraphic.gc.validateTransformStack(); pattGraphic.setRenderingHints(this.getRenderingHints()); @@ -1127,7 +1152,7 @@ public class PDFGraphics2D extends AbstractGraphics2D { /** @todo see if pdfDoc and res can be linked here, (currently res <> PDFDocument's resources) so addFonts() can be moved to PDFDocument class */ - res.addFonts(pdfDoc, fontInfo); +// res.addFonts(pdfDoc, fontInfo); PDFPattern myPat = pdfDoc.getFactory().makePattern( resourceContext, 1, res, 1, 1, bbox, @@ -1413,35 +1438,49 @@ public class PDFGraphics2D extends AbstractGraphics2D { public void drawString(String s, float x, float y) { preparePainting(); - Font fontState; AffineTransform fontTransform = null; - if (ovFontState == null) { + FontUse fontUse = null; + int size; + if (ovFontUse == null) { + FontConsumer fontConsumer = fontMap.getFontConsumer(); java.awt.Font gFont = getFont(); fontTransform = gFont.getTransform(); String n = gFont.getFamily(); if (n.equals("sanserif")) { n = "sans-serif"; } - float siz = gFont.getSize2D(); - String style = gFont.isItalic() ? "italic" : "normal"; - int weight = gFont.isBold() ? Font.BOLD : Font.NORMAL; - FontTriplet triplet = fontInfo.fontLookup(n, style, weight); - fontState = fontInfo.getFontInstance(triplet, (int)(siz * 1000 + 0.5)); + // TODO adapt +// size = gFont.getSize() * 1000; + size = (int) gFont.getSize2D() * 1000; + byte style = gFont.isItalic() ? Font.FONT_STYLE_ITALIC : Font.FONT_STYLE_NORMAL; + short weight = gFont.isBold() ? Font.FONT_WEIGHT_BOLD : Font.FONT_WEIGHT_NORMAL; + try { + fontUse = fontConsumer.selectFontXSL(Font.FONT_SELECTION_AUTO, + new String[] {n}, style, weight, Font.FONT_VARIANT_NORMAL, + Font.FONT_STRETCH_NORMAL, size, s.charAt(0)); + } catch (FontException e) { + try { + fontUse = fontConsumer.selectFontXSL(Font.FONT_SELECTION_AUTO, + new String[] {"any"}, + Font.FONT_STYLE_ANY, + Font.FONT_WEIGHT_ANY, + Font.FONT_VARIANT_ANY, + Font.FONT_STRETCH_ANY, + size, s.charAt(0)); + } catch (FontException e1) { /* Should never happen */ } + } } else { - fontState = fontInfo.getFontInstance( - ovFontState.getFontTriplet(), ovFontState.getFontSize()); - ovFontState = null; + fontUse = ovFontUse; + ovFontUse = null; + size = ovFontSize; } - String name; - float size; - name = fontState.getFontName(); - size = (float)fontState.getFontSize() / 1000f; - - if ((!name.equals(this.currentFontName)) + + if ((!fontUse.equals(this.currentFontUse)) || (size != this.currentFontSize)) { - this.currentFontName = name; + this.currentFontUse = fontUse; this.currentFontSize = size; - currentStream.write("/" + name + " " + size + " Tf\n"); + String name = fontMap.getInternalName(fontUse); + currentStream.write("/" + name + " " + ((float)size) / 1000f + " Tf\n"); } @@ -1465,22 +1504,15 @@ public class PDFGraphics2D extends AbstractGraphics2D { Map kerning = null; boolean kerningAvailable = false; + /* TODO vh: kerning is yet unimplemented kerning = fontState.getKerning(); if (kerning != null && !kerning.isEmpty()) { kerningAvailable = true; } + */ // This assumes that *all* CIDFonts use a /ToUnicode mapping - boolean useMultiByte = false; - org.apache.fop.fonts.Typeface f = - (org.apache.fop.fonts.Typeface)fontInfo.getFonts().get(name); - if (f instanceof LazyFont) { - if (((LazyFont) f).getRealFont() instanceof CIDFont) { - useMultiByte = true; - } - } else if (f instanceof CIDFont) { - useMultiByte = true; - } + boolean useMultiByte = fontUse.getFont().getFontComplexity() == Font.FONT_COMPOSITE; // String startText = useMultiByte ? " 127) { @@ -1534,9 +1566,9 @@ public class PDFGraphics2D extends AbstractGraphics2D { } if (kerningAvailable && (i + 1) < l) { - addKerning(currentStream, (new Integer((int)ch)), - (new Integer((int)fontState.mapChar(s.charAt(i + 1)))), - kerning, startText, endText); +// addKerning(currentStream, (new Integer((int)ch)), +// (new Integer((int)fontState.mapChar(s.charAt(i + 1)))), +// kerning, startText, endText); } } @@ -1631,16 +1663,17 @@ public class PDFGraphics2D extends AbstractGraphics2D { ch = iterator.next()) { //Map attr = iterator.getAttributes(); - String name = fontState.getFontName(); - int size = fontState.getFontSize(); - if ((!name.equals(this.currentFontName)) - || (size != this.currentFontSize)) { - this.currentFontName = name; - this.currentFontSize = size; - currentStream.write("/" + name + " " + (size / 1000) - + " Tf\n"); - - } + // TODO vh: commented out because obsolete + // anyway it couldn't work (NPE because fontState == null) +// int size = fontState.getFontSize(); +// if ((!fontUse.equals(this.currentFontUse)) +// || (size != this.currentFontSize)) { +// this.currentFontUse = fontUse; +// this.currentFontSize = size; +// currentStream.write("/" + name + " " + (size / 1000) +// + " Tf\n"); +// +// } currentStream.write(PDFNumber.doubleOut(vals[0], DEC) + " " + PDFNumber.doubleOut(vals[1], DEC) + " " diff --git a/src/java/org/apache/fop/svg/PDFTextElementBridge.java b/src/java/org/apache/fop/svg/PDFTextElementBridge.java index cf9b7b7bd..28a3a4ccc 100644 --- a/src/java/org/apache/fop/svg/PDFTextElementBridge.java +++ b/src/java/org/apache/fop/svg/PDFTextElementBridge.java @@ -25,7 +25,7 @@ import org.apache.batik.bridge.BridgeContext; import org.apache.batik.bridge.TextUtilities; import org.apache.batik.gvt.GraphicsNode; -import org.apache.fop.fonts.FontInfo; +import org.axsl.font.FontConsumer; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -42,10 +42,10 @@ public class PDFTextElementBridge extends SVGTextElementBridge { /** * Constructs a new bridge for the <text> element. - * @param fi the font infomration + * @param fc the font consumer */ - public PDFTextElementBridge(FontInfo fi) { - pdfTextPainter = new PDFTextPainter(fi); + public PDFTextElementBridge(FontConsumer fc) { + pdfTextPainter = new PDFTextPainter(fc); } /** diff --git a/src/java/org/apache/fop/svg/PDFTextPainter.java b/src/java/org/apache/fop/svg/PDFTextPainter.java index eddd89d09..4c95c71a0 100644 --- a/src/java/org/apache/fop/svg/PDFTextPainter.java +++ b/src/java/org/apache/fop/svg/PDFTextPainter.java @@ -23,7 +23,7 @@ import java.awt.Graphics2D; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; /* java.awt.Font is not imported to avoid confusion with - org.apache.fop.fonts.Font */ + org.axsl.font.Font */ import java.text.AttributedCharacterIterator; import java.awt.font.TextAttribute; import java.awt.Shape; @@ -42,8 +42,11 @@ import org.apache.batik.gvt.font.GVTFontFamily; import org.apache.batik.bridge.SVGFontFamily; import org.apache.batik.gvt.renderer.StrokingTextPainter; -import org.apache.fop.fonts.Font; -import org.apache.fop.fonts.FontInfo; +import org.axsl.font.Font; +import org.axsl.font.FontConsumer; +import org.axsl.font.FontException; +import org.axsl.font.FontServer; +import org.axsl.font.FontUse; import org.apache.fop.fonts.FontTriplet; /** @@ -61,7 +64,7 @@ import org.apache.fop.fonts.FontTriplet; * @version $Id$ */ public class PDFTextPainter implements TextPainter { - private FontInfo fontInfo; + private FontConsumer fontConsumer; /** * Use the stroking text painter to get the bounds and shape. @@ -74,8 +77,8 @@ public class PDFTextPainter implements TextPainter { * Create a new PDF text painter with the given font information. * @param fi the fint info */ - public PDFTextPainter(FontInfo fi) { - fontInfo = fi; + public PDFTextPainter(FontConsumer fc) { + fontConsumer = fc; } /** @@ -115,10 +118,12 @@ public class PDFTextPainter implements TextPainter { Paint forg = tpi.fillPaint; Paint strokePaint = tpi.strokePaint; - Float size = (Float) aci.getAttribute(TextAttribute.SIZE); - if (size == null) { + Float fsize = (Float) aci.getAttribute(TextAttribute.SIZE); + if (fsize == null) { return; } + int size = (int) (fsize.floatValue() * 1000f); + Stroke stroke = tpi.strokeStroke; /* Float xpos = (Float) aci.getAttribute( @@ -157,18 +162,20 @@ public class PDFTextPainter implements TextPainter { return; } - String style = ((posture != null) && (posture.floatValue() > 0.0)) - ? "italic" : "normal"; - int weight = ((taWeight != null) - && (taWeight.floatValue() > 1.0)) ? Font.BOLD - : Font.NORMAL; + byte style = ((posture != null) && (posture.floatValue() > 0.0)) + ? Font.FONT_STYLE_ITALIC : Font.FONT_STYLE_NORMAL; + short weight = ((taWeight != null) + && (taWeight.floatValue() > 1.0)) ? Font.FONT_WEIGHT_BOLD + : Font.FONT_WEIGHT_NORMAL; - Font fontState = null; - FontInfo fi = fontInfo; - boolean found = false; + FontUse fontUse = null; + FontServer fs = fontConsumer.getFontServer(); + boolean found = true; String fontFamily = null; if (gvtFonts != null) { Iterator i = gvtFonts.iterator(); + String[] fontFamilies = new String[gvtFonts.size()]; + int index = 0; while (i.hasNext()) { GVTFontFamily fam = (GVTFontFamily) i.next(); if (fam instanceof SVGFontFamily) { @@ -185,44 +192,56 @@ public class PDFTextPainter implements TextPainter { break; } } + try { + fontUse = fs.selectFontXSL(fontConsumer, fontFamilies, style, weight, + Font.FONT_VARIANT_NORMAL, Font.FONT_STRETCH_NORMAL, size, ch); + fontFamily = fontUse.postscriptName(); + } catch (FontException f) { + found = false; + } } if (!found) { - FontTriplet triplet = fontInfo.fontLookup("any", style, Font.NORMAL); - int fsize = (int)(size.floatValue() * 1000); - fontState = fontInfo.getFontInstance(triplet, fsize); + try { + fontUse = fs.selectFontXSL(fontConsumer, new String[] {"any"}, + Font.FONT_STYLE_ANY, + Font.FONT_WEIGHT_ANY, + Font.FONT_VARIANT_ANY, + Font.FONT_STRETCH_ANY, + size, ch); + } catch (FontException e) { /* Should never happen */ } } else { if (g2d instanceof PDFGraphics2D) { - ((PDFGraphics2D) g2d).setOverrideFontState(fontState); + ((PDFGraphics2D) g2d).setOverrideFontUse(fontUse); + ((PDFGraphics2D) g2d).setOverrideFontSize(size); } } int fStyle = java.awt.Font.PLAIN; - if (weight == Font.BOLD) { - if (style.equals("italic")) { + if (weight == Font.FONT_WEIGHT_BOLD) { + if (style == Font.FONT_STYLE_ITALIC) { fStyle = java.awt.Font.BOLD | java.awt.Font.ITALIC; } else { fStyle = java.awt.Font.BOLD; } } else { - if (style.equals("italic")) { + if (style == Font.FONT_STYLE_ITALIC) { fStyle = java.awt.Font.ITALIC; } else { fStyle = java.awt.Font.PLAIN; } } - java.awt.Font font = new java.awt.Font(fontFamily, fStyle, - (int)(fontState.getFontSize() / 1000)); + java.awt.Font awtFont = new java.awt.Font(fontFamily, fStyle, size / 1000); - g2d.setFont(font); + g2d.setFont(awtFont); - float advance = getStringWidth(txt, fontState); + float advance = fontUse.getFont().width(txt, size, 0, 0) / 1000f; float tx = 0; if (anchor != null) { switch (anchor.getType()) { case TextNode.Anchor.ANCHOR_MIDDLE: - tx = -advance / 2; + tx = -advance / 2000f; // convert back into points break; case TextNode.Anchor.ANCHOR_END: - tx = -advance; + tx = -advance / 1000f; } } g2d.drawString(txt, (float)(loc.getX() + tx), (float)(loc.getY())); @@ -259,26 +278,6 @@ public class PDFTextPainter implements TextPainter { return hasunsupported; } - private float getStringWidth(String str, Font fontState) { - float wordWidth = 0; - float whitespaceWidth = fontState.getWidth(fontState.mapChar(' ')); - - for (int i = 0; i < str.length(); i++) { - float charWidth; - char c = str.charAt(i); - if (!((c == ' ') || (c == '\n') || (c == '\r') || (c == '\t'))) { - charWidth = fontState.getWidth(fontState.mapChar(c)); - if (charWidth <= 0) { - charWidth = whitespaceWidth; - } - } else { - charWidth = whitespaceWidth; - } - wordWidth += charWidth; - } - return wordWidth / 1000f; - } - /** * Get the outline shape of the text characters. * This uses the StrokingTextPainter to get the outline @@ -395,4 +394,3 @@ public class PDFTextPainter implements TextPainter { } } - diff --git a/src/java/org/apache/fop/svg/PDFTranscoder.java b/src/java/org/apache/fop/svg/PDFTranscoder.java index a90765a31..b5f401d6a 100644 --- a/src/java/org/apache/fop/svg/PDFTranscoder.java +++ b/src/java/org/apache/fop/svg/PDFTranscoder.java @@ -83,7 +83,7 @@ public class PDFTranscoder extends AbstractFOPTranscoder * Constructs a new ImageTranscoder. */ public PDFTranscoder() { - super(); + super(false); this.handler = new FOPErrorHandler(); } @@ -119,7 +119,7 @@ public class PDFTranscoder extends AbstractFOPTranscoder TranscoderOutput output) throws TranscoderException { - graphics = new PDFDocumentGraphics2D(); + graphics = new PDFDocumentGraphics2D(getFontMap()); try { if (this.cfg != null) { @@ -180,7 +180,7 @@ public class PDFTranscoder extends AbstractFOPTranscoder /** @see org.apache.batik.transcoder.SVGAbstractTranscoder#createBridgeContext() */ protected BridgeContext createBridgeContext() { - BridgeContext ctx = new PDFBridgeContext(userAgent, graphics.getFontInfo()); + BridgeContext ctx = new PDFBridgeContext(userAgent, graphics.getFontConsumer()); return ctx; } diff --git a/src/java/org/apache/fop/traits/SpaceVal.java b/src/java/org/apache/fop/traits/SpaceVal.java index 0dae92193..da5e214ad 100644 --- a/src/java/org/apache/fop/traits/SpaceVal.java +++ b/src/java/org/apache/fop/traits/SpaceVal.java @@ -23,7 +23,9 @@ import org.apache.fop.datatypes.PercentBaseContext; import org.apache.fop.fo.Constants; import org.apache.fop.fo.properties.Property; import org.apache.fop.fo.properties.SpaceProperty; -import org.apache.fop.fonts.Font; + +import org.axsl.fontR.Font; +import org.axsl.fontR.FontConsumer; /** * Store a single Space property value in simplified form, with all @@ -72,13 +74,15 @@ public class SpaceVal { this.iPrecedence = iPrecedence; } - static public SpaceVal makeWordSpacing(Property wordSpacing, - SpaceVal letterSpacing, - Font fs) { + public static SpaceVal makeWordSpacing(Property wordSpacing, + SpaceVal letterSpacing, + Font fs, + FontConsumer fontConsumer, + int fontSize) { if (wordSpacing.getEnum() == Constants.EN_NORMAL) { // give word spaces the possibility to shrink by a third, // and stretch by a half; - int spaceCharIPD = fs.getCharWidth(' '); + int spaceCharIPD = fs.width(' ', fontSize); MinOptMax space = new MinOptMax(-spaceCharIPD / 3, 0, spaceCharIPD / 2); //TODO Adding 2 letter spaces here is not 100% correct. Spaces don't have letter spacing return new SpaceVal( @@ -90,7 +94,7 @@ public class SpaceVal { } } - static public SpaceVal makeLetterSpacing(Property letterSpacing) { + public static SpaceVal makeLetterSpacing(Property letterSpacing) { if (letterSpacing.getEnum() == Constants.EN_NORMAL) { // letter spaces are set to zero (or use different values?) return new SpaceVal(new MinOptMax(0), true, true, 0); diff --git a/test/java/org/apache/fop/layoutengine/LayoutEngineTester.java b/test/java/org/apache/fop/layoutengine/LayoutEngineTester.java index a10bfa0e3..dd151e55b 100644 --- a/test/java/org/apache/fop/layoutengine/LayoutEngineTester.java +++ b/test/java/org/apache/fop/layoutengine/LayoutEngineTester.java @@ -154,6 +154,9 @@ public class LayoutEngineTester { //Setup FOP for area tree rendering FOUserAgent ua = effFactory.newFOUserAgent(); ua.setBaseURL(testFile.getParentFile().toURL().toString()); + File fontCfgFile = new File("conf/fonts.xconf"); +// File fontCfgFile = new File("../Tests/Config/axsl-font-conf.xml"); + ua.setFontCfgURL(fontCfgFile.toURL()); XMLRenderer atrenderer = new XMLRenderer(); atrenderer.setUserAgent(ua); atrenderer.setContentHandler(athandler); diff --git a/test/java/org/apache/fop/threading/FOProcessorImpl.java b/test/java/org/apache/fop/threading/FOProcessorImpl.java index b5b2ff57d..6fc9c592f 100644 --- a/test/java/org/apache/fop/threading/FOProcessorImpl.java +++ b/test/java/org/apache/fop/threading/FOProcessorImpl.java @@ -19,6 +19,7 @@ package org.apache.fop.threading; +import java.io.File; import java.io.InputStream; import java.io.OutputStream; @@ -107,4 +108,4 @@ public class FOProcessorImpl extends AbstractLogEnabled } } -} \ No newline at end of file +} -- 2.39.5