SVG To do List List of things To do for SVG rendering in FOP. To do

SVG in FOP is currently in the early stages. As FOP is aiming to be the reference implementation for an FO parser, this is aiming to be the reference implmenetation for an "instream-foreign-object" in the fo document. Namely an implementation of SVG as a foreign xml document embedded in the fo document.

The aim for SVG itself is to implement as much of the svg as is meaningful for the output of the FOP.

This generally means that things such as animation are out of scope.

Bugs

This list is for things that have been done but do not work properly.

  1. gradients - the coordinates need to be altered to the bounds of the object being drawn
  2. text - dy is not fully functional, alignments are not correct.
  3. the transform angles are wrong (degree - radians) when using the java functions

Not yet Implemented

These are all the features that are currently not handled in any useful way.

Implemented

The currently implemented things.

SVG

This list is for things that have been done but do not work properly.

Elements

  1. rect
  2. circle
  3. line
  4. text - tref, tspan
  5. path
  6. polygon
  7. polyline
  8. ellipse
  9. g
  10. svg (inside)
  11. image
  12. use
  13. defs (including referenced items not in defs element)
  14. linearGradient
  15. radialGradient
  16. stop

Properties

  1. x
  2. y
  3. x1
  4. y1
  5. x2
  6. y2
  7. r
  8. cx
  9. cy
  10. x (list)
  11. y (list)
  12. dx
  13. dy
  14. d
  15. id
  16. width
  17. height
  18. xlink:href (what about the XMLLink namespace)
  19. refX
  20. refY
  21. offset
  22. points
  23. fx
  24. fy

Style

  1. fill
  2. stroke
  3. stroke-width
  4. stroke-dasharray
  5. stroke-offset
  6. stroke-linecap
  7. stroke-linejoin
  8. stroke-miterlimit
  9. stop-color
  10. color
  11. font
  12. font-size
  13. font-family
  14. font-weight
  15. font-style

These are currently only supported in the style attribute.

Transform

  1. translate
  2. rotate
  3. scale
  4. skew X
  5. skew Y
  6. matrix

FO interaction

  1. Implement the fo:instream-foreign-object formatting object
  2. Separate the property lists by namespace.

Miscellaneous

  1. Fix the dtd (or use xml schema) for the docs so there are no validation errors
  2. Update the docs.