I am trying to use Batik to perform an SVG conversion and it is going alright 
except that I can't seem to find out where the value of the fill attribute for 
the original SVG document is stored on the Batik TextNode element. So in my SVG 
I have the following:

<text x="276.1875" y="120.390625" text-anchor="middle" font="10px 
&quot;Arial&quot;"
      stroke="none" fill="#ffffff" style="-webkit-tap-highlight-color: rgb(0, 
0, 0); text-anchor: middle; font-style: normal; font-variant: normal; 
font-weight: normal; font-stretch: normal; font-size: 10px; line-height: 
normal; font-family: Arial;"
      font-size="10px" font-family="Arial">
     <tspan dy="3.5" >Proportion </tspan>
</text>

This works fine, but when I am using my custom TextPainter ( through a generic 
Bridge ) to try and process the TextNode I find the following:

   public void paint(TextNode node, Graphics2D g2d )
   {
      AttributedCharacterIterator aci = node.getAttributedCharacterIterator();
      Paint colourInfo = (Paint)aci.getAttribute(TextAttribute.FOREGROUND); 
//null
      Paint bgInfo = (Paint)aci.getAttribute(TextAttribute.BACKGROUND); //null
      // do actual painting
   }

In fact most of the attributes relating to colour that I can find looking 
through the TextAttribute and GVT custom text attributes are coming back null. 
The aci object does have a list of non-null attributes but I can't figure out 
what the keys are from the debugger as they're all keyed off attribute lists.

The existing paint property of the Graphics2D object is usually set to the 
colour of the block that it has just drawn, meaning if I don't change things, I 
just get all my text appearing the same colour as the background, making it 
hard to read.

How can I find the colour for these text nodes that they are provided with in 
the original SVG?

If you prize reputation over mailing list kudos, I have also asked this 
question on StackOverflow.

-----------------------------------------------------------------------------------------------------------------------------------------
This email message has been delivered safely and archived online by Mimecast.
For more information please visit http://www.mimecast.com 
-----------------------------------------------------------------------------------------------------------------------------------------

Reply via email to