Hi Peter, I have installed the patch to the 0.20.2RC version and tested with the fonts.fo example. There are two problems (see attached file fonts.pdf):
First, the euro sign is not displayed, because of a bug in the class CodePointMapping. Not all of the unicode characters with value greater 256 are entered in the characters and codepoints arrays (see the attached patch file). Second, the distance in the pdf-file of the last character of a line and the second character of the next line of the fo-file is twice of the distance between the other characters. You can see this very good in the section with the ZapfDingbats font between the digits. This prevents me from using your patch. Rainer Garus
<?xml version="1.0" ?> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> <!-- defines the layout master --> <fo:layout-master-set> <fo:simple-page-master master-name="first" page-height="29.7cm" page-width="21cm" margin-top="1cm" margin-bottom="2cm" margin-left="2.5cm" margin-right="2.5cm"> <fo:region-body margin-top="3cm"/> <fo:region-before extent="3cm"/> <fo:region-after extent="1.5cm"/> </fo:simple-page-master> </fo:layout-master-set> <!-- starts actual layout --> <fo:page-sequence master-name="first"> <fo:flow flow-name="xsl-region-body"> <fo:block font-family="Helvetica" font-size="14pt"> Helvetica </fo:block> <fo:block space-after.optimum="10pt" font-family="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 { | } ~ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ Œ œ Š š Ÿ Ž ž ƒ ˜ – — ‘ ’ ‚ “ ” „ † ‡ • … ‰ ‹ › ™ </fo:block> <fo:block font-family="Helvetica" font-size="14pt"> Times Roman </fo:block> <fo:block space-after.optimum="10pt" font-family="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 { | } ~ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ Œ œ Š š Ÿ Ž ž ƒ ˜ – — ‘ ’ ‚ “ ” „ † ‡ • … ‰ ‹ › ™ </fo:block> <fo:block font-family="Helvetica" font-size="14pt"> Courier </fo:block> <fo:block space-after.optimum="10pt" font-family="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 { | } ~ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ Œ œ Š š Ÿ Ž ž ƒ ˜ – — ‘ ’ ‚ “ ” „ † ‡ • … ‰ ‹ › ™ </fo:block> <fo:block font-family="Helvetica" font-size="14pt"> ZapfDingbats: </fo:block> <fo:block space-after.optimum="10pt" font-family="ZapfDingbats"> ✁ ✂ ✃ ✄ ☎ ✆ ✇ ✈ ✉ ☛ ☞ ✌ ✍ ✎ ✏ ✐ ✑ ✒ ✓ ✔ ✕ ✖ ✗ ✘ ✙ ✚ ✛ ✜ ✝ ✞ ✟ ✠ ✡ ✢ ✣ ✤ ✥ ✦ ✧ ★ ✩ ✪ ✫ ✬ ✭ ✮ ✯ ✰ ✱ ✲ ✳ ✴ ✵ ✶ ✷ ✸ ✹ ✺ ✻ ✼ ✽ ✾ ✿ ❀ ❁ ❂ ❃ ❄ ❅ ❆ ❇ ❈ ❉ ❊ ❋ ● ❍ ■ ❏ ❐ ❑ ❒ ▲ ▼ ◆ ❖ ◗ ❘ ❙ ❚ ❛ ❜ ❝ ❞ ❡ ❢ ❣ ❤ ❥ ❦ ❧ ♣ ♦ ♥ ♠ ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ❶ ❷ ❸ ❹ ❺ ❻ ❼ ❽ ❾ ❿ ➀ ➁ ➂ ➃ ➄ ➅ ➆ ➇ ➈ ➉ ➊ ➋ ➌ ➍ ➎ ➏ ➐ ➑ ➒ ➓ ➔ → ↔ ↕ ➘ ➙ ➚ ➛ ➜ ➝ ➞ ➟ ➠ ➡ ➢ ➣ ➤ ➥ ➦ ➧ ➨ ➩ ➪ ➫ ➬ ➭ ➮ ➯ ➱ ➲ ➳ ➴ ➵ ➶ ➷ ➸ ➹ ➺ ➻ ➼ ➽ ➾               </fo:block> <fo:block font-family="Helvetica" font-size="14pt"> Symbol: </fo:block> <fo:block space-after.optimum="10pt" font-family="Symbol"> ! # % & ( ) + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? [ ] _ m { | } ¬ ° ± µ × ÷ ƒ Α Β Γ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ α β γ δ ε ζ η θ ι κ λ ν ξ ο π ρ ς σ τ υ φ χ ψ ω ϑ ϒ ϕ ϖ • … ′ ″ ⁄ ℑ ℘ ℜ Ω ℵ ← ↑ → ↓ ↔ ↵ ⇐ ⇑ ⇒ ⇓ ⇔ ∀ ∂ ∃ ∅ ∆ ∇ ∈ ∉ ∋ ∏ ∑ − ∗ √ ∝ ∞ ∠ ∧ ∨ ∩ ∪ ∫ ∴ ∼ ≅ ≈ ≠ ≡ ≤ ≥ ⊂ ⊃ ⊄ ⊆ ⊇ ⊕ ⊗ ⊥ ⋅ ⌠ ⌡ 〈 〉 ◊ ♠ ♣ ♥ ♦                              </fo:block> <fo:block font-family="Helvetica" font-size="12pt"> Some special characters: </fo:block> <fo:block space-after.optimum="10pt" font-family="Helvetica"> Euro ( dec 8364, hex 20AC): € </fo:block> <fo:block space-after.optimum="10pt" font-family="Helvetica"> </fo:block> </fo:flow> </fo:page-sequence> </fo:root>
--- Fop1/src/codegen/code-point-mapping.xsl Mon Nov 12 23:37:19 2001 +++ Fop2/src/codegen/code-point-mapping.xsl Sat Dec 8 23:04:13 2001 @@ -28,8 +28,8 @@ char c = (char) table[i+1]; if(c >= 256) { ++top; - for(int j = top - 1; j > 0; --j) { - if(characters[j-1] >= c) { + for(int j = top - 1; j >= 0; --j) { + if(j > 0 && characters[j-1] >= c) { characters[j] = characters[j-1]; codepoints[j] = codepoints[j-1]; } else {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]