You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by sp...@apache.org on 2008/01/09 21:47:35 UTC

svn commit: r610559 [1/4] - in /xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking: ./ lib/ src/documentation/content/xdocs/trunk/ src/java/org/apache/fop/area/ src/java/org/apache/fop/fo/flow/ src/java/org/apache/fop/fo/properties/ src/java/...

Author: spepping
Date: Wed Jan  9 12:46:29 2008
New Revision: 610559

URL: http://svn.apache.org/viewvc?rev=610559&view=rev
Log:
Merged revisions 598746-603942 via svnmerge from 
https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk

........
  r599536 | vhennebert | 2007-11-29 19:31:13 +0100 (Thu, 29 Nov 2007) | 4 lines
  
  Added fixes-bug attributes for:
  - wrong element generation in table when glues are produced
  - border-resolution on row-spanning cells
........
  r599746 | jeremias | 2007-11-30 10:04:54 +0100 (Fri, 30 Nov 2007) | 2 lines
  
  Bugzilla #37993:
  Bugfix: allow multiple bookmarks to point at the same destination.
........
  r600195 | adelmelle | 2007-12-01 22:11:53 +0100 (Sat, 01 Dec 2007) | 1 line
  
  Correction and simplification of the PropertyCache: subclass WeakReference and remove internal threading
........
  r600467 | jeremias | 2007-12-03 11:16:27 +0100 (Mon, 03 Dec 2007) | 2 lines
  
  Log RuntimeExceptions during rendering so that they are at least visible somewhere if someone doesn't set an ErrorListener on the XSLT processor (this could lead to exceptions being swallowed). This is a temporary measure until we have time to improve the exception handling in FOP.
  The original problem that led to this change was: "The number of this PDFNumber must not be empty" while producing a PDF/A with customized filter entries in the PDF configuration. The exception was a follow-up exception after a PDFConformanceException that was swallowed by a default ErrorListener.
........
  r600521 | jeremias | 2007-12-03 14:21:06 +0100 (Mon, 03 Dec 2007) | 1 line
  
  Added a possibility to rerun the whole run a defined number of times to test for possible issues outside a single rendering run.
........
  r600529 | jeremias | 2007-12-03 14:32:04 +0100 (Mon, 03 Dec 2007) | 1 line
  
  Oops.
........
  r601413 | vhennebert | 2007-12-05 17:56:47 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Typo in property: svn:kewords -> svn:keywords
........
  r601415 | acumiskey | 2007-12-05 18:11:44 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Corrected javadocs
........
  r601416 | acumiskey | 2007-12-05 18:12:54 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Corrected javadoc
........
  r601417 | acumiskey | 2007-12-05 18:13:31 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Corrected javadoc
........
  r601419 | acumiskey | 2007-12-05 18:15:46 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Improved use of logging
........
  r601423 | acumiskey | 2007-12-05 18:19:43 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Corrected javadoc, fixed checkstyle issues, and now also correctly caters for negative number conversions
........
  r601424 | acumiskey | 2007-12-05 18:21:15 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Fixed checkstyle issues
........
  r601426 | acumiskey | 2007-12-05 18:24:15 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601427 | acumiskey | 2007-12-05 18:25:07 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601428 | acumiskey | 2007-12-05 18:25:58 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601429 | acumiskey | 2007-12-05 18:27:06 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601430 | acumiskey | 2007-12-05 18:28:03 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601431 | acumiskey | 2007-12-05 18:28:48 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601432 | acumiskey | 2007-12-05 18:29:31 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601433 | acumiskey | 2007-12-05 18:30:04 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601434 | acumiskey | 2007-12-05 18:31:20 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601435 | acumiskey | 2007-12-05 18:32:29 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601436 | acumiskey | 2007-12-05 18:34:44 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601437 | acumiskey | 2007-12-05 18:35:31 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601438 | acumiskey | 2007-12-05 18:36:12 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes and cleanup
........
  r601439 | acumiskey | 2007-12-05 18:37:40 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601440 | acumiskey | 2007-12-05 18:39:54 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601442 | acumiskey | 2007-12-05 18:42:13 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601443 | acumiskey | 2007-12-05 18:42:48 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601444 | acumiskey | 2007-12-05 18:43:46 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601445 | acumiskey | 2007-12-05 18:44:36 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601446 | acumiskey | 2007-12-05 18:45:20 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601447 | acumiskey | 2007-12-05 18:47:44 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601448 | acumiskey | 2007-12-05 18:48:56 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601449 | acumiskey | 2007-12-05 18:49:46 +0100 (Wed, 05 Dec 2007) | 2 lines
  
  Checkstyle fixes
........
  r601712 | acumiskey | 2007-12-06 12:57:14 +0100 (Thu, 06 Dec 2007) | 2 lines
  
  Temporary fix to the build
........
  r602045 | jeremias | 2007-12-07 10:20:28 +0100 (Fri, 07 Dec 2007) | 1 line
  
  Avoid a NPE in toString().
........
  r602125 | maxberger | 2007-12-07 16:36:53 +0100 (Fri, 07 Dec 2007) | 6 lines
  
  Updated xmlgraphics from SVN
  Added autodetection of fonts in jar files (x-font and x-font-truetype)
  Added files needed for testcase
  Please note: Actual testcase is still missing!
........
  r602898 | maxberger | 2007-12-10 14:35:33 +0100 (Mon, 10 Dec 2007) | 2 lines
  
  Added documentation for font-in-jar-files
........
  r603590 | acumiskey | 2007-12-12 13:24:10 +0100 (Wed, 12 Dec 2007) | 4 lines
  
  * Added an SVG handler and Graphics2D implementation for AFP which injects AFP GOCA structured fields into the AFPDataStream.
  * Fixed many checkstyle problems.
  * Updated xmlgraphics-commons-1.3svn.jar to include changes to TextHandler
........
  r603592 | acumiskey | 2007-12-12 13:26:39 +0100 (Wed, 12 Dec 2007) | 2 lines
  
  Updated status with SVG support for AFP.
........
  r603890 | vhennebert | 2007-12-13 12:35:17 +0100 (Thu, 13 Dec 2007) | 2 lines
  
  Fixed @throws statements in javadoc
........
  r603926 | adelmelle | 2007-12-13 15:43:08 +0100 (Thu, 13 Dec 2007) | 4 lines
  
  Minor tweaks:
  * only add text to a fo:wrapper if it is not a direct flow-descendant
  * error if an fo:wrapper that is a direct flow-descendant contains inline-level children
........

Added:
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPGraphics2D.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/AFPGraphics2D.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPGraphicsConfiguration.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/AFPGraphicsConfiguration.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPGraphicsDevice.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/AFPGraphicsDevice.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPInfo.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/AFPInfo.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPPageFonts.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/AFPPageFonts.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPState.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/AFPState.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPTextElementBridge.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/AFPTextElementBridge.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPTextHandler.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/AFPTextHandler.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPTextPainter.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/AFPTextPainter.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/AbstractDataObject.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/AbstractDataObject.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/AbstractStructuredAFPObject.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/AbstractStructuredAFPObject.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/GraphicsDataDescriptor.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/GraphicsDataDescriptor.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/GraphicsObject.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/GraphicsObject.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/PreparedAFPObject.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/PreparedAFPObject.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/
      - copied from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/AbstractGraphicsContainer.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/AbstractGraphicsContainer.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/AbstractGraphicsCoord.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/AbstractGraphicsCoord.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/AbstractPreparedAFPObject.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/AbstractPreparedAFPObject.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsArea.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsArea.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsBox.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsBox.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsChainedSegment.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsChainedSegment.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsData.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsData.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsFillet.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsFillet.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsFullArc.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsFullArc.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsImageBegin.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsImageBegin.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsImageData.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsImageData.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsImageEnd.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsImageEnd.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsLine.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsLine.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsSetArcParameters.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsSetArcParameters.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsSetCharacterSet.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsSetCharacterSet.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsSetCurrentPosition.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsSetCurrentPosition.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsSetLineType.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsSetLineType.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsSetLineWidth.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsSetLineWidth.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsSetPatternSymbol.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsSetPatternSymbol.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsSetProcessColor.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsSetProcessColor.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/goca/GraphicsString.java
      - copied unchanged from r603926, xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/modca/goca/GraphicsString.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/layoutengine/standard-testcases/bookmarks_2.xml
      - copied unchanged from r603926, xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/bookmarks_2.xml
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/resources/META-INF/
      - copied from r603926, xmlgraphics/fop/trunk/test/resources/META-INF/
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/resources/META-INF/MANIFEST.MF
      - copied unchanged from r603926, xmlgraphics/fop/trunk/test/resources/META-INF/MANIFEST.MF
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/resources/fonts/DejaVuLGCSerif.LICENSE
      - copied unchanged from r603926, xmlgraphics/fop/trunk/test/resources/fonts/DejaVuLGCSerif.LICENSE
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/resources/fonts/DejaVuLGCSerif.ttf
      - copied unchanged from r603926, xmlgraphics/fop/trunk/test/resources/fonts/DejaVuLGCSerif.ttf
Modified:
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/   (props changed)
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/lib/xmlgraphics-commons-1.3svn.jar
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/documentation/content/xdocs/trunk/fonts.xml
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/BookmarkData.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/RenderPagesModel.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/Wrapper.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/properties/ColorProperty.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/properties/PropertyCache.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fonts/MutableFont.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/pdf/PDFObject.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/PrintRendererConfigurator.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPFontAttributes.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPRenderer.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPRendererConfigurator.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPRendererContextConstants.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPSVGHandler.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/exceptions/NestedRuntimeException.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/extensions/AFPAttribute.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/extensions/AFPElementMapping.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/extensions/AFPExtensionHandler.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/fonts/AFPFontReader.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/fonts/CharacterSet.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/fonts/CharacterSetOrientation.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/fonts/FopCharacterSet.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/fonts/OutlineFont.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/fonts/RasterFont.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/AFPConstants.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/AFPDataStream.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/AbstractAFPObject.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/AbstractDescriptor.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/AbstractNamedAFPObject.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/AbstractPageObject.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/ActiveEnvironmentGroup.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/ImageCellPosition.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/ImageContent.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/ImageDataDescriptor.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/ImageInputDescriptor.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/ImageObject.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/ImageOutputControl.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/ImageRasterData.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/ImageRasterPattern.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/ImageSegment.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/ImageSizeParameter.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/MapCodedFont.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/MapPageOverlay.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/MaximumSizeExceededException.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/ObjectAreaDescriptor.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/ObjectAreaPosition.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/ObjectEnvironmentGroup.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/PageDescriptor.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/PageObject.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/PresentationTextData.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/PresentationTextDescriptor.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/PresentationTextObject.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/TagLogicalElement.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/modca/TagLogicalElementBean.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/tools/BinaryUtils.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/tools/DTDEntityResolver.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/tools/StructuredFieldReader.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/pdf/PDFSVGHandler.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/ps/NativeTextHandler.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/ps/PSTextPainter.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/svg/PDFGraphicsDevice.java
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/status.xml
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/fotree/unittests/table/RowGroupBuilder_no-row_simple.fo   (props changed)
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/fotree/unittests/table/RowGroupBuilder_no-row_spans.fo   (props changed)
    xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/test/java/org/apache/fop/memory/MemoryEater.java

Propchange: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Wed Jan  9 12:46:29 2008
@@ -1 +1 @@
-/xmlgraphics/fop/trunk:1-598745
+/xmlgraphics/fop/trunk:1-603942

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/lib/xmlgraphics-commons-1.3svn.jar
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/lib/xmlgraphics-commons-1.3svn.jar?rev=610559&r1=610558&r2=610559&view=diff
==============================================================================
Binary files - no diff available.

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/documentation/content/xdocs/trunk/fonts.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/documentation/content/xdocs/trunk/fonts.xml?rev=610559&r1=610558&r2=610559&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/documentation/content/xdocs/trunk/fonts.xml (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/documentation/content/xdocs/trunk/fonts.xml Wed Jan  9 12:46:29 2008
@@ -25,6 +25,7 @@
       <person name="Jeremias Märki" email=""/>
       <person name="Tore Engvig" email=""/>
       <person name="Adrian Cumiskey" email=""/>
+      <person name="Max Berger" email=""/>
     </authors>
   </header>
   <body>
@@ -301,6 +302,16 @@
           </li>
         </ul>
         <!--note>Cocoon users will need to setup the config, see FOPSerializer for more information.</note-->
+      </section>
+      <section id="autodetect">
+        <title>Auto-Detect and auto-embedd feature</title>
+      <p>When the "auto-detect" flag is set in the configuration, FOP will automatically search for fonts in the default paths for your operating system.</p>
+      <p>FOP will also auto-detect fonts which are available in the classpath, if they are described as "application/x-font" in the MANIFEST.MF file. For example, if your .jar file contains font/myfont.ttf:</p>
+      <source>Manifest-Version: 1.0
+
+Name: font/myfont.ttf
+Content-Type: application/x-font</source>
+      <p>This feature allows you to create JAR files containing fonts. The JAR files can be added to fop by providem them in the classpath, e.g. copying them into the lib/ directory.</p>
       </section>
       <section id="embedding">
         <title>Embedding</title>

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/BookmarkData.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/BookmarkData.java?rev=610559&r1=610558&r2=610559&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/BookmarkData.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/BookmarkData.java Wed Jan  9 12:46:29 2008
@@ -19,11 +19,13 @@
  
 package org.apache.fop.area;
 
+import java.util.Collection;
+import java.util.Iterator;
 import java.util.List;
-import java.util.HashMap;
+import java.util.Map;
 
-import org.apache.fop.fo.pagination.bookmarks.BookmarkTree;
 import org.apache.fop.fo.pagination.bookmarks.Bookmark;
+import org.apache.fop.fo.pagination.bookmarks.BookmarkTree;
 
 /**
  * An instance of this class is either a PDF bookmark-tree and
@@ -31,6 +33,7 @@
  * child bookmark-items under it.
  */
 public class BookmarkData extends AbstractOffDocumentItem implements Resolvable {
+    
     private List subData = new java.util.ArrayList();
 
     // bookmark-title for this fo:bookmark
@@ -46,7 +49,7 @@
     private PageViewport pageRef = null;
 
     // unresolved idrefs by this bookmark and child bookmarks below it
-    private HashMap unresolvedIDRefs = new HashMap();
+    private Map unresolvedIDRefs = new java.util.HashMap();
 
     /**
      * Create a new bookmark data object.
@@ -79,9 +82,17 @@
         bookmarkTitle = bookmark.getBookmarkTitle();
         bShow = bookmark.showChildItems();
         this.idRef = bookmark.getInternalDestination();
-        unresolvedIDRefs.put(idRef, this);
     }
 
+    private void putUnresolved(String id, BookmarkData bd) {
+        List refs = (List)unresolvedIDRefs.get(id);
+        if (refs == null) {
+            refs = new java.util.ArrayList();
+            unresolvedIDRefs.put(id, refs);
+        }
+        refs.add(bd);
+    }
+    
     /**
      * Create a new bookmark data root object.
      * This constructor is called by the AreaTreeParser when the
@@ -128,10 +139,10 @@
     public void addSubData(BookmarkData sub) {
         subData.add(sub);
         if (sub.pageRef == null || sub.pageRef.equals("")) {
-            unresolvedIDRefs.put(sub.getIDRef(), sub);
+            putUnresolved(sub.getIDRef(), sub);
             String[] ids = sub.getIDRefs();
             for (int count = 0; count < ids.length; count++) {
-                unresolvedIDRefs.put(ids[count], sub);
+                putUnresolved(ids[count], sub);
             }
         }
     }
@@ -212,9 +223,13 @@
      */
     public void resolveIDRef(String id, List pages) {
         if (!id.equals(idRef)) {
-            BookmarkData bd = (BookmarkData) unresolvedIDRefs.get(id);
-            if (bd != null) {
-                bd.resolveIDRef(id, pages);
+            Collection refs = (Collection)unresolvedIDRefs.get(id);
+            if (refs != null) {
+                Iterator iter = refs.iterator();
+                while (iter.hasNext()) {
+                    BookmarkData bd = (BookmarkData)iter.next();
+                    bd.resolveIDRef(id, pages);
+                }
                 unresolvedIDRefs.remove(id);
             }
         } else {

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/RenderPagesModel.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/RenderPagesModel.java?rev=610559&r1=610558&r2=610559&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/RenderPagesModel.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/area/RenderPagesModel.java Wed Jan  9 12:46:29 2008
@@ -22,13 +22,11 @@
 // Java
 import java.io.IOException;
 import java.io.OutputStream;
-import java.util.List;
 import java.util.Iterator;
+import java.util.List;
 
-// XML
 import org.xml.sax.SAXException;
 
-// FOP
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.fonts.FontInfo;
@@ -119,6 +117,8 @@
             try {
                 renderer.renderPage(page);
             } catch (RuntimeException re) {
+                String err = "Error while rendering page " + page.getPageNumberString(); 
+                log.error(err, re);
                 throw re;
             } catch (Exception e) {
                 //TODO use error handler to handle this FOP or IO Exception or propagate exception

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/Wrapper.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/Wrapper.java?rev=610559&r1=610558&r2=610559&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/Wrapper.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/flow/Wrapper.java Wed Jan  9 12:46:29 2008
@@ -19,9 +19,12 @@
 
 package org.apache.fop.fo.flow;
 
+import org.apache.fop.apps.FOPException;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.fo.FObjMixed;
+import org.apache.fop.fo.PropertyList;
 import org.apache.fop.fo.ValidationException;
+import org.apache.fop.fo.pagination.Flow;
 import org.xml.sax.Locator;
 
 /**
@@ -35,12 +38,24 @@
     
     // used for FO validation
     private boolean blockOrInlineItemFound = false;
+    private boolean isFlowChild = false;
 
     /**
      * @param parent FONode that is the parent of this object
      */
     public Wrapper(FONode parent) {
         super(parent);
+        /* Check if the fo:wrapper is a child of an fo:flow or fo:static-content
+         * (or a descendant in nested fo:wrapper sequence, the first of which
+         *  is a child of an fo:flow or fo:static-content */
+        FONode ancestor = this.parent;
+        while (!(ancestor instanceof Flow)
+                && ancestor instanceof Wrapper) {
+            ancestor = ancestor.getParent();
+        }
+        if (ancestor instanceof Flow) {
+            this.isFlowChild = true;
+        }
     }
 
     /**
@@ -49,6 +64,7 @@
      * Additionally (unimplemented): "An fo:wrapper that is a child of an 
      * fo:multi-properties is only permitted to have children that would 
      * be permitted in place of the fo:multi-properties."
+     * 
      */
     protected void validateChildNode(Locator loc, String nsURI, String localName) 
         throws ValidationException {
@@ -58,9 +74,30 @@
                     "(#PCDATA|%inline;|%block;)");
             }
         } else if (isBlockOrInlineItem(nsURI, localName)) {
+            if (isFlowChild
+                    && isInlineItem(nsURI, localName)
+                    && !isNeutralItem(nsURI, localName)) {
+                invalidChildError(loc, nsURI, localName,
+                        "fo:" + localName + " not allowed as child of an fo:wrapper "
+                        + "that is a child of an fo:flow or fo:static-content");
+            }
             blockOrInlineItemFound = true;
         } else {
             invalidChildError(loc, nsURI, localName);
+        }
+    }
+
+    /** {@inheritDoc} */
+    protected void addCharacters(
+                char[] data, 
+                int start, 
+                int end, 
+                PropertyList pList, 
+                Locator locator) throws FOPException {
+        /* Only add text if the fo:wrapper is not a child of an fo:flow 
+         * or fo:static-content */
+        if (!this.isFlowChild) {
+            super.addCharacters(data, start, end, pList, locator);
         }
     }
 

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/properties/ColorProperty.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/properties/ColorProperty.java?rev=610559&r1=610558&r2=610559&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/properties/ColorProperty.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/properties/ColorProperty.java Wed Jan  9 12:46:29 2008
@@ -103,12 +103,12 @@
     }
 
     /**
-     * 
-     * @param value
-     * @return
+     * Returns an instance of a color property given a color
+     * @param color the color value
+     * @return the color property
      */
-    public static ColorProperty getInstance(Color value) {
-        return (ColorProperty) cache.fetch(new ColorProperty(value));
+    public static ColorProperty getInstance(Color color) {
+        return (ColorProperty) cache.fetch(new ColorProperty(color));
     }
     
     /**

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/properties/PropertyCache.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/properties/PropertyCache.java?rev=610559&r1=610558&r2=610559&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/properties/PropertyCache.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fo/properties/PropertyCache.java Wed Jan  9 12:46:29 2008
@@ -19,6 +19,7 @@
 
 package org.apache.fop.fo.properties;
 
+import java.lang.ref.ReferenceQueue;
 import java.lang.ref.WeakReference;
 
 /**
@@ -41,10 +42,15 @@
     /** the table of hash-buckets */
     private CacheEntry[] table = new CacheEntry[8];
     
+    boolean[] votesForRehash = new boolean[SEGMENT_MASK + 1];
+    
     /* same hash function as used by java.util.HashMap */
     private static int hash(Object x) {
-        int h = x.hashCode();
-
+        return hash(x.hashCode());
+    }
+    
+    private static int hash(int hashCode) {
+        int h = hashCode;
         h += ~(h << 9);
         h ^= (h >>> 14);
         h += (h << 4);
@@ -58,90 +64,79 @@
     }
     
     /* Class modeling a cached entry */
-    private final class CacheEntry {
-        final CacheEntry next;
-        volatile WeakReference ref;
+    private final class CacheEntry extends WeakReference {
+        volatile CacheEntry nextEntry;
         final int hash;
         
         /* main constructor */
-        CacheEntry(Object p, CacheEntry next) {
-            this.next = next;
-            this.ref = new WeakReference(p);
+        public CacheEntry(Object p, CacheEntry nextEntry, ReferenceQueue refQueue) {
+            super(p, refQueue);
+            this.nextEntry = nextEntry;
             this.hash = p.hashCode();
         }
         
-        /* clone constructor */
-        CacheEntry(CacheEntry old, CacheEntry next) {
-            this.next = next;
-            this.ref = old.ref;
-            this.hash = old.hash;
-        }
-
-        public boolean isCleared() {
-            return (ref == null || ref.get() == null);
-        }
-        
     }
     
     /* Wrapper objects to synchronize on */
     private final class CacheSegment {
         private int count = 0;
-    }
+        private ReferenceQueue staleEntries = new ReferenceQueue();
+    }    
     
-    /*
-     * Class modeling a cleanup thread.
-     * 
-     * Once run() is called, the segment is locked and the hash-bucket
-     * will be traversed, removing any obsolete entries.
-     * If the cleanup has no effect, rehash() is called.
-     */
-    private final class CacheCleaner implements Runnable {
-        
-        private int hash;
-        
-        CacheCleaner(int hash) {
-            this.hash = hash;
+    private final void cleanSegment(int segmentIndex) {
+        CacheEntry entry;
+        CacheSegment segment = segments[segmentIndex];
+        int bucketIndex;
+        int oldCount = segment.count;
+
+        while ((entry = (CacheEntry) segment.staleEntries.poll()) != null) {
+            bucketIndex = hash(entry.hash) & (table.length - 1);
+            /* remove obsolete entry */
+            /* 1. move to the corresponding entry */
+            CacheEntry prev = null;
+            CacheEntry e = table[bucketIndex];
+            while (e != null
+                    && e.nextEntry != null
+                    && e.hash != entry.hash) {
+                prev = e;
+                e = e.nextEntry;
+            }
+            if (e != null) {
+                /* 2. remove reference from the chain */
+                if (prev == null) {
+                    table[bucketIndex] = e.nextEntry;
+                } else {
+                    prev.nextEntry = e.nextEntry;
+                }
+                segment.count--;
+            }
         }
-        
-        public void run() {
-            //System.out.println("Cleaning segment " + this.segment);
-            CacheSegment segment = segments[this.hash & SEGMENT_MASK];
-            int oldCount;
-            int newCount;
-            synchronized (segment) {
-                oldCount = segment.count;
-                /* check first to see if another cleaner thread already
-                 * pushed the number of entries back below the threshold
-                 * if so, return immediately
-                 */
-                if (segment.count < (2 * table.length)) {
-                    return;
+        synchronized (votesForRehash) {
+            if (oldCount > segment.count) {
+                if (votesForRehash[segmentIndex]) {
+                    votesForRehash[segmentIndex] = false;
                 }
-                
-                int index = this.hash & (table.length - 1);
-                CacheEntry first = table[index];
-                for (CacheEntry e = first; e != null; e = e.next) {
-                    if (e.isCleared()) {
-                        /* remove obsolete entry
-                        /* 1. clear value, cause interference for non-blocking get() */
-                        e.ref = null;
-                        
-                        /* 2. clone the segment, without the obsolete entry */
-                        CacheEntry head = e.next;
-                        for (CacheEntry c = first; c != e; c = c.next) {
-                            if (!c.isCleared()) {
-                                head = new CacheEntry(c, head);
-                            }
+                return;
+            } else {
+                /* cleanup had no effect */
+                if (!votesForRehash[segmentIndex]) {
+                    /* first time for this segment */
+                    votesForRehash[segmentIndex] = true;
+                    int voteCount = 0;
+                    for (int i = SEGMENT_MASK + 1; --i >= 0; ) {
+                        if (votesForRehash[i]) {
+                            voteCount++;
                         }
-                        table[index] = head;
-                        segment.count--;
+                    }
+                    if (voteCount > SEGMENT_MASK / 4) {
+                        rehash(SEGMENT_MASK);
+                        /* reset votes */
+                        for (int i = SEGMENT_MASK + 1; --i >= 0;) {
+                            votesForRehash[i] = false;
+                        }
+    
                     }
                 }
-                newCount = segment.count;
-            }
-            if (oldCount == newCount) {
-                /* cleanup had no effect, try rehashing */
-                rehash(SEGMENT_MASK);
             }
         }
     }
@@ -150,7 +145,7 @@
      * Puts a new instance in the cache.
      * If the total number of entries for the corresponding
      * segment exceeds twice the amount of hash-buckets, a
-     * cleanup thread will be launched to remove obsolete
+     * cleanup will be performed to try and remove obsolete
      * entries.
      */
     private final void put(Object o) {
@@ -163,26 +158,22 @@
             CacheEntry entry = table[index];
             
             if (entry == null) {
-                entry = new CacheEntry(o, null);
+                entry = new CacheEntry(o, null, segment.staleEntries);
                 table[index] = entry;
                 segment.count++;
             } else {
-                WeakReference ref = entry.ref;
-                if (ref != null && eq(ref.get(), o)) {
+                Object p = entry.get();
+                if (eq(p, o)) {
                     return;
                 } else {
-                    CacheEntry newEntry = new CacheEntry(o, entry);
+                    CacheEntry newEntry = new CacheEntry(o, entry, segment.staleEntries);
                     table[index] = newEntry;
                     segment.count++;
                 }
             }
             
             if (segment.count > (2 * table.length)) {
-                /* launch cleanup in a separate thread, 
-                 * so it acquires its own lock, and put()
-                 * can return immediately */
-                Thread cleaner = new Thread(new CacheCleaner(hash), "FOP PropertyCache Cleaner");
-                cleaner.start();
+                cleanSegment(hash & SEGMENT_MASK);
             }
         }
     }
@@ -195,14 +186,12 @@
         int index = hash & (table.length - 1);
         
         CacheEntry entry = table[index];
-        WeakReference r;
         Object q;
         
         /* try non-synched first */
-        for (CacheEntry e = entry; e != null; e = e.next) {
+        for (CacheEntry e = entry; e != null; e = e.nextEntry) {
             if (e.hash == o.hashCode()
-                    && (r = e.ref) != null
-                    && (q = r.get()) != null
+                    && (q = e.get()) != null
                     &&  eq(q, o)) {
                 return q;
             }
@@ -214,10 +203,9 @@
         CacheSegment segment = segments[hash & SEGMENT_MASK];
         synchronized (segment) {
             entry = table[index];
-            for (CacheEntry e = entry; e != null; e = e.next) {
+            for (CacheEntry e = entry; e != null; e = e.nextEntry) {
                 if (e.hash == o.hashCode()
-                        && (r = e.ref) != null
-                        && (q = r.get()) != null
+                        && (q = e.get()) != null
                         &&  eq(q, o)) {
                     return q;
                 }
@@ -228,16 +216,8 @@
     
     /*
      * Recursively acquires locks on all 32 segments,
-     * then performs a check on the segments first to see `
-     * how many precisely exceed the threshold ( 2 x table.length ). 
-     * If this number exceeds half the amount of buckets, 
      * extends the cache and redistributes the entries.
      * 
-     * Example:
-     * For a cache with default size of 8 buckets, each bucket is
-     * a segment, and as such, rehash() will only have effect
-     * if more than 4 buckets exceed the size of 16 entries.
-     * 
      */
     private final void rehash(int index) {
         
@@ -250,40 +230,24 @@
                 /* double the amount of buckets */
                 int newLength = table.length << 1;
                 if (newLength > 0) { //no overflow?
-                    /* Check segmentcounts first */
-                    int countSegments = 0;
-                    int threshold = table.length * 2;
+                    /* reset segmentcounts */
                     for (int i = segments.length; --i >= 0;) {
-                        if (segments[i].count > threshold) {
-                            countSegments++;
-                        }
-                    }
-                    
-                    if (countSegments <= (table.length / 2)) {
-                        return;
-                    } else {
-                        /* reset segmentcounts */
-                        for (int i = segments.length; --i >= 0;) {
-                            segments[i].count = 0;
-                        }
+                        segments[i].count = 0;
                     }
                     
                     CacheEntry[] newTable = new CacheEntry[newLength];
                     
                     int hash, idx;
-                    WeakReference ref;
                     Object o;
                     newLength--;
                     for (int i = table.length; --i >= 0;) {
-                        for (CacheEntry c = table[i]; c != null; c = c.next) {
-                            ref = c.ref;
-                            if (ref != null) {
-                                if ((o = ref.get()) != null) {
-                                    hash = hash(o);
-                                    idx = hash & newLength;
-                                    newTable[idx] = new CacheEntry(c, newTable[idx]);
-                                    segments[hash & SEGMENT_MASK].count++;
-                                }
+                        for (CacheEntry c = table[i]; c != null; c = c.nextEntry) {
+                            if ((o = c.get()) != null) {
+                                hash = c.hash;
+                                idx = hash & newLength;
+                                newTable[idx] = new CacheEntry(o, newTable[idx], 
+                                        segments[hash & SEGMENT_MASK].staleEntries);
+                                segments[hash & SEGMENT_MASK].count++;
                             }
                         }
                     }

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fonts/MutableFont.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fonts/MutableFont.java?rev=610559&r1=610558&r2=610559&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fonts/MutableFont.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/fonts/MutableFont.java Wed Jan  9 12:46:29 2008
@@ -43,7 +43,7 @@
 
     /**
      * Sets the font's family names (Example: "Helvetica").
-     * @param name the font's family names (a Set of Strings)
+     * @param names the font's family names (a Set of Strings)
      */
     void setFamilyNames(Set names);
     

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java?rev=610559&r1=610558&r2=610559&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java Wed Jan  9 12:46:29 2008
@@ -19,21 +19,22 @@
 
 package org.apache.fop.layoutmgr;
 
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.fop.fo.FObj;
-import org.apache.fop.fo.FONode;
+
 import org.apache.fop.area.Area;
 import org.apache.fop.area.PageViewport;
 import org.apache.fop.fo.Constants;
+import org.apache.fop.fo.FONode;
+import org.apache.fop.fo.FObj;
 import org.apache.fop.fo.flow.RetrieveMarker;
 
-import java.util.LinkedList;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.ListIterator;
-import java.util.Map;
-
 /**
  * The base class for most LayoutManagers.
  */
@@ -427,7 +428,7 @@
 
     /** {@inheritDoc} */
     public String toString() {
-        return (super.toString() + "[fobj=" + fobj.toString() + "]");
+        return (super.toString() + (fobj != null ? "[fobj=" + fobj.toString() + "]" : ""));
     }
     
 }

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/pdf/PDFObject.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/pdf/PDFObject.java?rev=610559&r1=610558&r2=610559&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/pdf/PDFObject.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/pdf/PDFObject.java Wed Jan  9 12:46:29 2008
@@ -83,7 +83,9 @@
      */
     public void setObjectNumber(int objnum) {
         this.objnum = objnum;
-        log.trace("Assigning " + this + " object number " + objnum);
+        if (log.isTraceEnabled()) {
+            log.trace("Assigning " + this + " object number " + objnum);
+        }
     }
 
     /**

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/PrintRendererConfigurator.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/PrintRendererConfigurator.java?rev=610559&r1=610558&r2=610559&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/PrintRendererConfigurator.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/PrintRendererConfigurator.java Wed Jan  9 12:46:29 2008
@@ -50,6 +50,7 @@
 import org.apache.fop.fonts.autodetect.FontFileFinder;
 import org.apache.fop.fonts.autodetect.FontInfoFinder;
 import org.apache.fop.util.LogUtil;
+import org.apache.xmlgraphics.util.ClasspathResource;
 
 /**
  * Base Print renderer configurator (mostly handles font configuration)
@@ -159,6 +160,16 @@
                 } catch (IOException e) {
                     LogUtil.handleException(log, e, strict);
                 }
+
+                // load fonts from classpath
+                addFontInfoListFromFileList(ClasspathResource.getInstance()
+                        .listResourcesOfMimeType("application/x-font"),
+                        fontInfoList, fontResolver, fontCache);
+                addFontInfoListFromFileList(
+                        ClasspathResource.getInstance()
+                                .listResourcesOfMimeType(
+                                        "application/x-font-truetype"),
+                        fontInfoList, fontResolver, fontCache);
             }
 
             // directory (multiple font) configuration

Modified: xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPFontAttributes.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPFontAttributes.java?rev=610559&r1=610558&r2=610559&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPFontAttributes.java (original)
+++ xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking/src/java/org/apache/fop/render/afp/AFPFontAttributes.java Wed Jan  9 12:46:29 2008
@@ -20,10 +20,9 @@
 package org.apache.fop.render.afp;
 
 import org.apache.fop.render.afp.fonts.AFPFont;
-import org.apache.fop.render.afp.tools.BinaryUtils;
 
 /**
- * This class encapsulates the font atributes that need to be included
+ * This class encapsulates the font attributes that need to be included
  * in the AFP data stream. This class does not assist in converting the
  * font attributes to AFP code pages and character set values.
  *
@@ -31,24 +30,24 @@
 public class AFPFontAttributes {
 
     /**
-     * The font reference byte
+     * The font reference
      */
-    private byte _fontReference;
+    private int fontReference;
 
     /**
      * The font key
      */
-    private String _fontKey;
+    private String fontKey;
 
     /**
      * The font
      */
-    private AFPFont _font;
+    private AFPFont font;
 
     /**
      * The point size
      */
-    private int _pointSize;
+    private int pointSize;
 
     /**
      * Constructor for the AFPFontAttributes
@@ -56,45 +55,38 @@
      * @param font the font
      * @param pointSize the point size
      */
-    public AFPFontAttributes(
-
-        String fontKey,
-        AFPFont font,
-        int pointSize) {
-
-        _fontKey = fontKey;
-        _font = font;
-        _pointSize = pointSize;
-
+    public AFPFontAttributes(String fontKey, AFPFont font, int pointSize) {
+        this.fontKey = fontKey;
+        this.font = font;
+        this.pointSize = pointSize;
     }
+
     /**
      * @return the font
      */
     public AFPFont getFont() {
-        return _font;
+        return font;
     }
 
     /**
      * @return the FontKey attribute
      */
     public String getFontKey() {
-
-        return _fontKey + _pointSize;
-
+        return fontKey + pointSize;
     }
 
     /**
      * @return the point size attribute
      */
     public int getPointSize() {
-        return _pointSize;
+        return pointSize;
     }
 
     /**
      * @return the FontReference attribute
      */
-    public byte getFontReference() {
-        return _fontReference;
+    public int getFontReference() {
+        return fontReference;
     }
 
     /**
@@ -102,10 +94,7 @@
      * @param fontReference the FontReference to set
      */
     public void setFontReference(int fontReference) {
-
-        String id = String.valueOf(fontReference);
-        _fontReference = BinaryUtils.convert(id)[0];
-
+        this.fontReference = fontReference;
     }
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org