Thomas,

I've just tried to implement that approach you outlined but the problem
is that this init() method is not accepted by the compiler. You can't
access member variables before Object's constructor is called. I guess
we'll have to wait until the next Batik release to fix this. Or did you
actually try it and managed to get it to work?

On 14.12.2005 15:13:49 thomas.deweese wrote:
> Hi Jeremias,
> 
> Jeremias Maerki <[EMAIL PROTECTED]> wrote on 12/14/2005 08:33:47 AM:
> 
> > Given the number of bugs fixed and the feedback we got, I think it 
> > should be safe to do another release tagged "beta". 
> 
>    If you want to do this, then we should 'fix' the PDFTranscoder
> for SVG text.  It appears that the main problem with Batik 1.6 is
> that it calls 'registerBridges' in the base class constructor before
> the subclass can 'record' it's updated bridges.  I believe it is 
> possible to fix this by replacing:
> 
>         super(userAgent);
> 
> with:
>         super(init(userAgent, fontInfo, linkTransform))
> 
> Where init is more or less:
> 
>         UserAgent init(UserAgent ua, FontInfo fi, AffineTransform lt) {
>           this.fontInfo      = fi;
>         this.linkTransform = lt;
>           return ua;
>         }
> 
> This will not fix all cases (if a new BridgeContext is constructed,
> for example to handle an internal SVG image, it will not inherit the
> 'updated' bridges, for that to work properly people will need the SVN
> Batik).
> 
> [Having to employ such ugly tactics to get subclass code run before
>  baseclass constructor code demonstrates how silly the 'super' must
>  be first - compiler restriction is].



Jeremias Maerki

Reply via email to