Re: svn commit: r585167 - /xmlgraphics/fop/trunk/src/java/org/apache/fop/render/PrintRendererConfigurator.java

2007-10-17 Thread Jeremias Maerki
Well, that's just the way it is implemented right now (with my fix or
without). I know exactly how expensive the operation is. Adrian has done
a good job with the new functionality but it's only half the way to the
ultimate goal. The whole font system has grown over the years and is now
just less than optimal.

PrintRendererConfigurator.buildFontListFromConfiguration() is called
each time a Renderer is instantiated and configured. That means the
whole font list is recreated each time. If we had the FontSource
idea/concept in place, this data could be attached to the FopFactory and
reused. This way, each Renderer has its own configuration and due to the
dynamic registration that is possible with Renderers, it's difficult to
attach the gathered information to the FopFactory for later reuse. I
don't remember exactly but maybe Adrian actually tried to do something
like that with statics and I told him I didn't want statics. Not
Adrian's fault at any rate.

The only optimization right now is the FontCache which saves us from
reparsing all the font files each time. And that's the major part in all
that. Still, 60ms on my machine each time for setting up the fonts is a
lot. That's currently the price to pay if you want to use auto-detect/.

My change really just fixed a bug. That static variable didn't work at
all. It would have had to work in concert with something else that kept
the gathered information but it didn't, so I removed it. I've stumbled
over it while testing SVG painting. I was running multiple SVGs through
the PDFTransformer and just couldn't explain why my Verdana text was
always painted as Times. When I found that it works the first time, but
not afterwards, I retested with XSL-FO and the same problem appeared.

The whole font refresh is less of a concern to me. Once we can properly
attach the data to the FopFactory it is easy to just forget it there
and let FOP recreate it. The problem lies deeper as I hope I was able to
show.

Jeremias Maerki



On 16.10.2007 17:33:17 Chris Bowditch wrote:
 [EMAIL PROTECTED] wrote:
 
  Author: jeremias
  Date: Tue Oct 16 08:12:45 2007
  New Revision: 585167
  
  URL: http://svn.apache.org/viewvc?rev=585167view=rev
  Log:
  Bugfix: If auto-detection is enabled, auto-detection didn't get done 
  starting with the second rendering run in the same JVM. Static variables 
  are dangerous!
 
 Hi Jeremias,
 
 auto detecting the Fonts is a very expensive operation. I'm not sure I 
 want it to happen everytime I create an instance of a Renderer object. 
 The way Adrian implemented it avoided calling this expensive operation 
 each time a Renderer was implemented. The drawback is that if the Fonts 
 are changing on a regular basis on the system then theres no way to tell 
 FOP to refresh its auto-detected Fonts without restarting the JVM. 
 Perhaps we need some sort of method which allows the auto-detected Fonts 
 to be refreshed.
 
 Chris
 



Re: [Xmlgraphics-fop Wiki] Update of TableLayout/KnownProblems by VincentHennebert

2007-10-17 Thread Vincent Hennebert
Hi,

 The following page has been changed by VincentHennebert:
 http://wiki.apache.org/xmlgraphics-fop/TableLayout/KnownProblems
 
 The comment on the change is:
 Documenting a problem with the merging algorithm for tables

I was planning to send a mail to fop-dev but since this is quite 
technical and requires some drawings to help understanding I thought I’d 
write a wiki page. The discussion can continue here.

Right now I have no solution in mind but I’m hoping to find one. In any 
case I’m afraid we will have to make choices among the set of layout 
possibilities, as it may be impossible to code them all in just one 
Knuth sequence.

More on this later,
Vincent


DO NOT REPLY [Bug 43405] - fo:table-row not rendered when cells begin with an empty block

2007-10-17 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=43405.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=43405


[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED




--- Additional Comments From [EMAIL PROTECTED]  2007-10-17 04:26 ---
Hi Pascal,

Thanks for reporting the bug. It appears to be fixed in the latest version of
the Trunk, probably thanks to revision 584699.
Please re-open this bug if you still have issues with real-life documents.

Thanks,
Vincent

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.


DO NOT REPLY [Bug 43633] - table-cell don't render when using number-rows-spanned

2007-10-17 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=43633.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=43633


[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
  Component|pdf |page-master/layout
 OS/Version|Windows 2000|All
Version|0.94|1.0dev




--- Additional Comments From [EMAIL PROTECTED]  2007-10-17 08:16 ---
Hi Guillaume,

Thanks for reporting the bug. Although your test table is a bit odd since it
contains an empty row (row 2). You can work around the problem by adding an
empty cell in the row that contains the spanning cell:
fo:table-cell
  fo:block/
/fo:table-cell
That way you will get the expected result.

For devs: at least this test is a showcase for the strange loop in
RowPainter.addAreasForCell ;-)
Since row 2 is empty (contains no cell ending on this row), no
TableContentPosition is created for this row. Thus, in
RowPainter.handleTableContentPosition, the first test is never triggered for row
2. So in addAreasAndFlushRow, the yoffset of row 2 is not recorded. And in
addAreasForCell, when the offset of the first row spanned by the spanning cell
is searched, it's not found so the while loop is triggered and the offset of the
previous row is returned instead.
As a consequence, the spanning cell, starting on row 2, gets the same offset as
cell 1.1, and overrides it.

I'll have a look at this later on, since the whole code handling empty/missing
cells needs some touch-up anyway.

Vincent

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.


DO NOT REPLY [Bug 43633] - table-cell don't render when using number-rows-spanned

2007-10-17 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=43633.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=43633





--- Additional Comments From [EMAIL PROTECTED]  2007-10-17 08:20 ---
Created an attachment (id=20998)
 -- (http://issues.apache.org/bugzilla/attachment.cgi?id=20998action=view)
A minimal file to reproduce the problem


-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.