]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Bugzilla #50492: Removing experimental feature that violates XSL-FO and Unicode seman...
authorGlenn Adams <gadams@apache.org>
Sat, 21 Apr 2012 04:03:58 +0000 (04:03 +0000)
committerGlenn Adams <gadams@apache.org>
Sat, 21 Apr 2012 04:03:58 +0000 (04:03 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1328579 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/fonts/truetype/TTFFile.java
status.xml

index bcbd73a6fe625862bee1dae597d9149fe2fec397..d8716c99f63c89a7c4f4d670937514f978211b8d 100644 (file)
@@ -420,6 +420,19 @@ public class TTFFile {
                             unicodeMappings.add(new UnicodeMapping(glyphIdx, j));
                             mtxTab[glyphIdx].getUnicodeIndex().add(new Integer(j));
 
+                            /*
+                             * Removing this feature, since it violates XSL-FO and Unicode
+                             * semantics. All characters used in an XSL-FO file (once decoded from
+                             * the document encoded) are interpreted as Unicode code points.
+                             * This precludes using Unicode code points in the Basic Latin range
+                             * for any purpose other than use as Basic Latin characters. In
+                             * order to use characters in the Wingding or Symbols font, then
+                             * the user must use the specific Unicode code point that is mapped
+                             * to the desired glyph via the font's cmap tables. What this means
+                             * is that the user must use an appropriate private use character
+                             * as defined by the font manufacturer and supported by some cmap
+                             * provided in the font. [GA] 2012-04-20
+                             * 
                             if (encodingID == 0 && j >= 0xF020 && j <= 0xF0FF) {
                                 //Experimental: Mapping 0xF020-0xF0FF to 0x0020-0x00FF
                                 //Tested with Wingdings and Symbol TTF fonts which map their
@@ -431,6 +444,7 @@ public class TTFFile {
                                     mtxTab[glyphIdx].getUnicodeIndex().add(new Integer(mapped));
                                 }
                             }
+                            */
 
                             // Also add winAnsiWidth
                             List v = (List)ansiIndex.get(new Integer(j));
index 13c5bc36f91e30a0cbe9977d7fbaca09676e3ea6..84708802e3e70980bfc6ff6bbd3ba014fd4c3fc1 100644 (file)
       documents. Example: the fix of marks layering will be such a case when it's done.
     -->
     <release version="FOP Trunk" date="TBD">
+      <action context="Fonts" dev="GA" type="update">
+        Removing experimental feature that violates XSL-FO and Unicode semantics by misinterpreting Basic Latin code points. Users must use private use codepoints to access font specific
+        character mappings that have no assigned Unicode code point. See bug 50492.
+      </action>
       <action context="Code" dev="GA" type="fix" fixes-bug="53103" due-to="Matthias Reischenbacher">
         Ensure that table cell spanning works in right-to-left writing mode.
       </action>