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