]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Take leading derived space before/after into account when computing rows for TXT...
authorGlenn Adams <gadams@apache.org>
Thu, 12 Apr 2012 17:31:41 +0000 (17:31 +0000)
committerGlenn Adams <gadams@apache.org>
Thu, 12 Apr 2012 17:31:41 +0000 (17:31 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1325394 13f79535-47bb-0310-9956-ffa450edef68

src/documentation/content/xdocs/trunk/output.xml
src/java/org/apache/fop/render/txt/TXTRenderer.java
status.xml

index 8597ab7879bde91700d8d53256a7a63e3ee8c63a..65a09dde564317e8e9cd32334b655f596624805e 100644 (file)
@@ -1337,8 +1337,8 @@ Note that the value of the encoding attribute in the example is the double-byte
   </p>
   <ul>
     <li>font-family="Courier"</li>
-    <li>font-size="7.3pt"</li>
-    <li>line-height="10.5pt"</li>
+    <li>font-size="10pt"</li>
+    <li>line-height="10pt"</li>
   </ul>
 </section>
 <section id="sandbox">
@@ -1388,4 +1388,4 @@ Note that the value of the encoding attribute in the example is the double-byte
 </section>
 
   </body>
-</document>
\ No newline at end of file
+</document>
index 6c58561a8b549efa63eee9bc28353df64bfe7669..dd3d883f661d7c6736ce490b13bd5f2ee8b35385 100644 (file)
@@ -72,6 +72,9 @@ public class TXTRenderer extends AbstractPathOrientedRenderer {
     /** Buffer for background and images. */
     private StringBuffer[] decoData;
 
+    /** Leading of line containing Courier font size of 10pt. */
+    public static final int LINE_LEADING = 1070;
+
     /** Height of one symbol in Courier font size of 10pt. */
     public static final int CHAR_HEIGHT = 7860;
 
@@ -192,7 +195,7 @@ public class TXTRenderer extends AbstractPathOrientedRenderer {
      */
     protected void renderText(TextArea area) {
         int col = Helper.ceilPosition(this.currentIPPosition, CHAR_WIDTH);
-        int row = Helper.ceilPosition(this.currentBPPosition, CHAR_HEIGHT);
+        int row = Helper.ceilPosition(this.currentBPPosition - LINE_LEADING, CHAR_HEIGHT + 2*LINE_LEADING);
 
         String s = area.getText();
 
@@ -216,7 +219,7 @@ public class TXTRenderer extends AbstractPathOrientedRenderer {
         double height = bounds.getHeight();
 
         pageWidth = Helper.ceilPosition((int) width, CHAR_WIDTH);
-        pageHeight = Helper.ceilPosition((int) height, CHAR_HEIGHT);
+        pageHeight = Helper.ceilPosition((int) height, CHAR_HEIGHT + 2*LINE_LEADING);
 
         // init buffers
         charData = new StringBuffer[pageHeight];
@@ -460,9 +463,9 @@ public class TXTRenderer extends AbstractPathOrientedRenderer {
      */
     public void renderImage(Image image, Rectangle2D pos) {
         int x1 = Helper.ceilPosition(currentIPPosition, CHAR_WIDTH);
-        int y1 = Helper.ceilPosition(currentBPPosition, CHAR_HEIGHT);
+        int y1 = Helper.ceilPosition(currentBPPosition - LINE_LEADING, CHAR_HEIGHT + 2*LINE_LEADING);
         int width = Helper.ceilPosition((int) pos.getWidth(), CHAR_WIDTH);
-        int height = Helper.ceilPosition((int) pos.getHeight(), CHAR_HEIGHT);
+        int height = Helper.ceilPosition((int) pos.getHeight(), CHAR_HEIGHT + 2*LINE_LEADING);
 
         fillRect(x1, y1, width, height, IMAGE_CHAR);
     }
@@ -559,9 +562,9 @@ public class TXTRenderer extends AbstractPathOrientedRenderer {
     protected void drawBackAndBorders(Area area, float startx, float starty,
             float width, float height) {
         bm.setWidth(Helper.ceilPosition(toMilli(width), CHAR_WIDTH));
-        bm.setHeight(Helper.ceilPosition(toMilli(height), CHAR_HEIGHT));
+        bm.setHeight(Helper.ceilPosition(toMilli(height), CHAR_HEIGHT + 2*LINE_LEADING));
         bm.setStartX(Helper.ceilPosition(toMilli(startx), CHAR_WIDTH));
-        bm.setStartY(Helper.ceilPosition(toMilli(starty), CHAR_HEIGHT));
+        bm.setStartY(Helper.ceilPosition(toMilli(starty), CHAR_HEIGHT + 2*LINE_LEADING));
 
         super.drawBackAndBorders(area, startx, starty, width, height);
     }
index 105b80fbd1957845979502429eb4e57416873f4d..df13b8fe62b8ab6b33b4a6c8041d462b46429cec 100644 (file)
       documents. Example: the fix of marks layering will be such a case when it's done.
     -->
     <release version="FOP Trunk" date="TBD">
-      <action context="Code" dev="PH" type="add" fixes-bug="49893">
-        A global setting to wrap F11 images in page segments.
-    </action>
+      <action context="Code" dev="GA" type="fix" fixes-bug="52114">
+        Take leading derived space before/after into account when computing rows for TXT renderer.
+      </action>
+      <action context="Code" dev="GA" type="fix" fixes-bug="52763">
+        Support list-block in marker, thus preventing NPE.
+      </action>
       <action context="Code" dev="GA" type="fix" fixes-bug="52763">
         Support list-block in marker, thus preventing NPE.
       </action>