[FOray-commit] SF.net SVN: foray: [10135] trunk/foray
Modular XSL-FO Implementation for Java.
Status: Alpha
Brought to you by:
victormote
|
From: <vic...@us...> - 2007-07-30 14:01:32
|
Revision: 10135
http://foray.svn.sourceforge.net/foray/?rev=10135&view=rev
Author: victormote
Date: 2007-07-30 07:01:32 -0700 (Mon, 30 Jul 2007)
Log Message:
-----------
1. Add test for font-size-adjust.
2. Add test for resolved font-family.
Modified Paths:
--------------
trunk/foray/foray-app/src/javatest/org/foray/app/fo/TestFont.java
trunk/foray/foray-fotree/src/java/org/foray/fotree/FObj.java
trunk/foray/resource/test/fo/font-family-001.fo
trunk/foray/resource/test/fo/font-size-001.fo
Modified: trunk/foray/foray-app/src/javatest/org/foray/app/fo/TestFont.java
===================================================================
--- trunk/foray/foray-app/src/javatest/org/foray/app/fo/TestFont.java 2007-07-29 00:58:20 UTC (rev 10134)
+++ trunk/foray/foray-app/src/javatest/org/foray/app/fo/TestFont.java 2007-07-30 14:01:32 UTC (rev 10135)
@@ -34,6 +34,8 @@
import org.foray.fotree.fo.obj.Block;
import org.foray.fotree.fo.obj.Flow;
+import org.axsl.font.Font;
+
/**
* Tests of various font properties at the FO Tree level.
*/
@@ -62,7 +64,10 @@
block = (Block) node;
fontFamilies = block.traitFontFamily(null);
assertEquals(1, fontFamilies.length);
- assertEquals("Courier", fontFamilies[0]);
+ assertEquals("Base14-Courier", fontFamilies[0]);
+
+ final Font font = block.getPrimaryFont(null).getFont();
+ assertEquals("Courier", font.getFontName());
}
/**
@@ -86,6 +91,23 @@
block = (Block) node;
fontSize = block.traitFontSize(null);
assertEquals(8000, fontSize);
+
+ node = flow.getChildAt(2);
+ assertTrue(node instanceof Block);
+ block = (Block) node;
+ final Font font = node.getPrimaryFont(null).getFont();
+ assertEquals("Courier", font.getFamilyName());
+ assertEquals(426, font.getXHeight(1000));
+ final int nominalFontSize = block.traitFontSize(null);
+ /* The nominal font-size is 10 pts. */
+ assertEquals(10000, nominalFontSize);
+ /* The font-size-adjust is .6. */
+ final double fontSizeAdjust = block.traitFontSizeAdjust(null);
+ assertEquals(.6, fontSizeAdjust, .001);
+ /* Actual font size computation, using a basis factor of 1000.
+ * 600 / 426 * 10000 = 14085. */
+ fontSize = block.traitFontSizeActual(null, font);
+ assertEquals(14085, fontSize);
}
}
Modified: trunk/foray/foray-fotree/src/java/org/foray/fotree/FObj.java
===================================================================
--- trunk/foray/foray-fotree/src/java/org/foray/fotree/FObj.java 2007-07-29 00:58:20 UTC (rev 10134)
+++ trunk/foray/foray-fotree/src/java/org/foray/fotree/FObj.java 2007-07-30 14:01:32 UTC (rev 10135)
@@ -3762,7 +3762,8 @@
return nominalFontSize;
}
final int xHeight = font.getXHeight(nominalFontSize);
- final double fontAspectRatio = xHeight / nominalFontSize;
+ final double fontAspectRatio = (float) xHeight
+ / (float) nominalFontSize;
return (int) Math.round(fontSizeAdjust / fontAspectRatio
* nominalFontSize);
}
Modified: trunk/foray/resource/test/fo/font-family-001.fo
===================================================================
--- trunk/foray/resource/test/fo/font-family-001.fo 2007-07-29 00:58:20 UTC (rev 10134)
+++ trunk/foray/resource/test/fo/font-family-001.fo 2007-07-30 14:01:32 UTC (rev 10135)
@@ -20,7 +20,7 @@
<fo:block>The default font.</fo:block>
<fo:block
- font-family="Courier">font-family: Courier.</fo:block>
+ font-family="Base14-Courier">font-family: Base14-Courier.</fo:block>
</fo:flow>
Modified: trunk/foray/resource/test/fo/font-size-001.fo
===================================================================
--- trunk/foray/resource/test/fo/font-size-001.fo 2007-07-29 00:58:20 UTC (rev 10134)
+++ trunk/foray/resource/test/fo/font-size-001.fo 2007-07-30 14:01:32 UTC (rev 10135)
@@ -22,10 +22,17 @@
flow-name="xsl-region-body">
<fo:block>This block is the default font size and default font.</fo:block>
+
<fo:block
font-family="Courier"
font-size="8pt">This block is Courier, 8 points.</fo:block>
+<fo:block font-family="Base14-Courier" font-size="10pt"
+ font-size-adjust=".6">This block is Base14-Courier, font-size="10 points",
+and font-size-adjust=".6". Since the x-height for Courier is 426, the actual
+font-size for this block should be</fo:block>
+
+
</fo:flow>
</fo:page-sequence>
</fo:root>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|