Uploaded image for project: 'FOP'
  1. FOP
  2. FOP-1969

Support for unicode Surrogate pairs

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Resolution: Fixed
    • 2.5
    • 2.3
    • unqualified
    • None
    • Operating System: All
      Platform: All
    • 51843

    Description

      unicode codepoints outside of the BMP (base multilingual plane), i.e., whose scalar value is greater than 0xFFFF (65535), are coded as UTF-16 surrogate pairs in Java strings, which pair should be treated as a single codepoint for the purpose of mapping to a glyph in a font (that supports extra-BMP mappings);

      at present, FOP does not correctly handle this case in simple (non complex script) rendering paths;

      furthermore, though some support has been added to handle this in the complex script rendering path, it has not yet been tested, so is not necessarily working there either;

       

      fop test.fo -c fop.xconf out.pdf

      Glyphs should be rendered

      Attachments

        1. testing.xsl
          0.9 kB
          ngkit
        2. testing.pdf
          5 kB
          ngkit
        3. testing.xml
          0.0 kB
          ngkit
        4. testing.fo
          0.8 kB
          ngkit
        5. testing.fo
          0.6 kB
          ngkit
        6. testing.pdf
          5 kB
          ngkit
        7. pcltest.zip
          0.7 kB
          Simon Steiner
        8. Urdu.zip
          2 kB
          Simon Steiner
        9. tiffttc.zip
          0.7 kB
          Simon Steiner
        10. single-byte.zip
          2 kB
          Simon Steiner
        11. fop.xconf
          0.7 kB
          Simon Steiner
        12. test.fo
          0.7 kB
          Simon Steiner
        13. AndroidEmoji.ttf
          438 kB
          Simon Steiner

        Issue Links

          Activity

            People

              ssteiner Simon Steiner
              gadams Glenn Adams
              Votes:
              6 Vote for this issue
              Watchers:
              14 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: