logo       

Re: Test failures: msg#00026

Subject: Re: Test failures
Hi Cameron,

Cameron McCormack <cam@xxxxxxxxx> wrote on 02/09/2007 08:40:35 AM:

> Cameron McCormack:
> > >   ? flowBidi, which generates a StackOverflowException in some
> > >     java.awt.font and sun.font methods
> 
> Thomas DeWeese:
> >    Since the other flow tests work, can you sort out what
> > method is causing the problem?
> 
> It looks to be a bug in the 1.6 beta JRE.  The call from Batik?s code
> is BidiAttributedCharacterIterator:121, where it creates a
> java.awt.font.TextLayout object.  The AttributedString that?s passed to
> it is "Some (embedded bidi) of text.", where the text run in the
> parentheses has a BIDI_EMBEDDING attributed on it.  I?ve filed a bug on
> Apple?s JRE.

   Ok, sounds like it isn't a common enough case to warrant
too much digging around for a workaround (especially since it
may be fixed by the time it is released).

> > >   ? batik70 (sample problem)

> >    Second remove the use of the pattern and try
> > putting a few copies of the pattern directly
> > over the circles (to avoid rendering to a pattern
> > buffer that is then composited).
> 
> Ok so it seems to be something to do with the going to a buffer for the
> pattern.  Here?s a reduced test case:
> 
> I tried to trace through the code to determine what
> ColorModel/WritableRaster/SampleModel are used so I could reproduce the
> rendering in a small test case.  In the end I couldn?t, though.  Do you
> have a Mac to test with?

  I have a Mac but not Mac OS 10.4.

> > >   ? masking-mask-BE-0[56] (same problem)
> > >   ? histogramNormalization (same problem)
> > >   ? feConvolveMatrix (same problem)
> > 
> >    So there is something funny going on with
> > alpha handling.
> 
> I found the main BufferedImage that the whole document is rendered to is
> TYPE_INT_ARGB_PRE, and the pattern BufferedImage is TYPE_INT_ARGB.  In
> my standalone test I tried painting a semi-opaque TYPE_INT_ARGB
> BufferedImage to a TYPE_INT_ARGB_PRE one, but it worked properly.

   I would guess that this is related.  IIRC we switched to ARGB_PRE
on Mac since it was much faster.  I may try and see if ARGB_PRE on
Windows has the same issues.

> > > The text ones all give correct rendering with a small rotation.
> > 
> >    I suppose it would be an option to add a small rotation to
> > 'complex' texts (anything that adjusts individual glyph positions),
> > on Mac OS X. However since this is fixed in Java 6 I'd rather just
> > recommend people upgrade the JVM...
> 
> Maybe we could set the rendering hint that corresponds to
> text-rendering="geometricPrecision" when rendering certain (or all)
> text.

   This fixes it?  It would be a simpler fix, but I'm not sure how
it would impact general performance. 

> The 1.6 JRE isn?t released yet for OS X though, it?s just a beta (which
> can only be downloaded by signing up for Apple?s Developer Centre
> thingo).

   Ok, still it shouldn't be that long before it get's rolled out
I would guess.


> 
> > > > >     http://mcc.id.au/temp/t/show?mac,linearGradientRepeat
> > > > 
> > > >    This looks to me like it's rendering the gradient at
> > > > lower resolution than the reference.
> > > > 
> > > > >     http://mcc.id.au/temp/t/show?mac,gradientLimit
> > > > >     Top right gradient wrong.
> > > > 
> > > >    Once again I wonder if it's rendering at lower resolution...
> > > 
> > > Anything that could be done about these?
> > 
> >    I don't know, someone must be scaling the buffer we give
> > them for display.  I don't know where that would be happening.
> 
> Is it enough of a corner case to ignore?

   I think so.


> > > >    Hmm, looks like the gradient opacity is being interpreted
> > > > 'backwards'.
> > > 
> > > Strange that it?s got opacity 1 on the top scan line.
> > 
> >    Well it's not uncommon to have a special case for opacity==1
> > since you don't need to do compositing just copy.  But that
> > would indicate that there was something a little wonky inside
> > their own code.
> 
> Could be part of the same compositing problem I guess. 

   I would guess so.

> I?m not really sure where to look though for this and the other 
> alpha related problems.

   Neither am I really.  This code is fairly complex as it tries
to avoid Legacy problems and maintain good performance.

   I'll try and reproduce it on Windows by making the destination 
ARGB_PRE.  If that causes the same problem then it's probably in 
our code and it will give me a better idea where to look.


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
boot-loaders.gr...    php.pear.genera...    debugging.valgr...    kde.redhat.user...    text.xml.xsl.ge...    culture.languag...    hardware.microc...    java.servicemix...    redhat.release....    web.zope.plone....    user-groups.lin...    opendarwin.webk...    video.mjpeg.use...    sysutils.bcfg2....    encryption.gpg....    lx-office.devel...    xfree86.forum/2...    mail.mutt.devel...    acpi.devel/2003...    qnx.openqnx.dev...    network.irc.irs...    freebsd.devel.m...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe