I've a collection of SVG documents that were written (generated actually, but 
nevermind that) with the use of the Batik <flowText> element in mind, and would 
like to find a sensible way of breaking them up into individual <text>s or 
<tspan>s as they now need to be used by some non-Batik SVG apps.  I found the 
following in the mailing list archives:

http://thread.gmane.org/gmane.text.xml.batik.user/3257/focus=3257



Indicating two alternatives: modifying GlyphLayout, and the somewhat more 
enigmatic suggestion of post-processing the layout code's output.  I'd prefer 
the latter to the former, as I'd rather not have to maintain a (trivial) branch 
of the Batik codebase.  I have, however, had a rather difficult time figuring 
out just what is meant by the latter suggestion.  After some time with the 
javadoc, my best guess is as follows:



1. Build a DOM for the document

2. Get a GVTBuilder

3. build(), and get the gvtRoot

4. Traverse the GVT Tree, looking for instaceof TextNodes?

5. getTextRuns() on the TextNode(s)?

6. getLayout.getGlyphVector() on the TextRuns??

7. getNumGlyphs(), then getGlyphPosition() looking for "newlines" (x2 <= x1 && 
y2 > y1)??

8. Use the getGlyphPositions to write

out <tspan>s

9. Recover the character data corresponding to the elements of the GlyphVector 
via--magic?? Does getGlyphCode() help here?



As one can see, the uncertainty in this procedure begins at a middling level 
and  quickly progresses to high intensity confusion.  I would appreciate any 
suggestions that persons more familiar with the Batik code may have.



-- 

HH

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to