Re: Bug#288009: batik 1.5.1 would break fop
Hi Michael,
Michael Koch wrote:
I would prefer to just add a patch to fop to make it work with batik
1.5.1 and just depend on batik >= 1.5.1. Putting a second batik copy
into fop should be avoided.
You are right - there is only one compile error - but I have absolutely
no experience with awt programming.
The error is in the org.apache.fop.svg.PDFTextPainter class in the
method "protected Point2D paintACI(AttributedCharacterIterator aci,
Graphics2D g2d, Point2D loc)"
Stroke stroke =
(Stroke)aci.getAttribute(GVTAttributedCharacterIterator.TextAttribute.STROKE);
GVTAttributedCharacterIterator.TextAttribute.STROKE is no more existent
in batik 1.5.1 - I found the following hint on the batik-dev list
(please have a look):
http://koala.ilog.fr/batik/mlists/batik-dev/archives/msg04290.html
I therefore replaced it as said with
TextPaintInfo pi = (TextPaintInfo)aci.getAttribute
(GVTAttributedCharacterIterator.TextAttribute.PAINT_INFO);
The Stroke instance is used later in this method:
g2d.setStroke( stroke );
The TextPaintInfo class has several Stroke variables:
public java.awt.Stroke strokeStroke;
public java.awt.Stroke underlineStroke;
public java.awt.Stroke overlineStroke;
public java.awt.Stroke strikethroughStroke;
Which one to use ?
g2d.setStroke( pi.strokeStroke ); ??
As said, I have no knowledge with awt - so if anyone can provide
the "right" solution I would prepare a new fop upload with the
patch. A batik 1.5.1 is already prepared.
Regards,
Wolfgang
Reply to: