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

[PATCH] Full-featured TextPainter for PS output

    Details

    • Type: Improvement
    • Status: Closed
    • Resolution: Fixed
    • Affects Version/s: trunk
    • Fix Version/s: None
    • Component/s: renderer/ps
    • Labels:
    • Environment:
      Operating System: All
      Platform: All
    • External issue ID:
      47000

      Description

      This patch adds a full-featured Batik TextPainter for PostScript/EPS output, so text is no longer painted as shapes but using PostScript text operators. All SVG text variants including flow text are supported. The old, incomplete PSTextPainter is completely replaced. The old one was inactive anyway due to a bug.

      As with the PDFTextPainter, the PSTextPainter relies on Batik font subsystem (which uses Java2D/AWT fonts) for font availability and tries to map those to internally configured fonts. Since PS output currently only supports Type 1 fonts, there might be difficulties matching the fonts as not all JVMs properly support and report Type 1 fonts installed in the operating systems. Furthermore, not all glyphs in the Type 1 font may be available as a result.

      Some numbers to illustrate the improvement (size of EPS files generated by EPSTranscoder):
      W3C SVG test suite, text-path-01-b.svg, old: 103KB, new 17KB
      W3C SVG test suite, text-deco-01-b.svg, old: 123KB, new 20KB
      batik/samples/extensions/flowText.svg, old: 413KB, new 24KB

        Attachments

        1. PSTextPainter.diff
          115 kB
          Jeremias Maerki

          Issue Links

            Activity

              People

              • Assignee:
                fop-dev@xmlgraphics.apache.org fop-dev
                Reporter:
                jeremias@apache.org Jeremias Maerki
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: