# 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.