Browse Source

Bugzilla #50492: 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.

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1328579 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-1_1rc1old
Glenn Adams 12 years ago
parent
commit
c5ea5054c7
2 changed files with 18 additions and 0 deletions
  1. 14
    0
      src/java/org/apache/fop/fonts/truetype/TTFFile.java
  2. 4
    0
      status.xml

+ 14
- 0
src/java/org/apache/fop/fonts/truetype/TTFFile.java View 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));

+ 4
- 0
status.xml View File

@@ -62,6 +62,10 @@
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>

Loading…
Cancel
Save