Author: phancock
Date: Wed Jan 9 09:51:11 2013
New Revision: 1430752
URL: http://svn.apache.org/viewvc?rev=1430752&view=rev
Log:
JIRA#FOP-2180: TTFReader outputs bounding box information for glyphs.
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/apps/TTFReader.java
xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/truetype/TTFFile.java
xmlgraphics/fop/trunk/status.xml
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/apps/TTFReader.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/apps/TTFReader.java?rev=1430752&r1=1430751&r2=1430752&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/apps/TTFReader.java
(original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/apps/TTFReader.java Wed
Jan 9 09:51:11 2013
@@ -408,6 +408,11 @@ public class TTFReader extends AbstractF
for (int i = 0; i < wx.length; i++) {
Element wxel = doc.createElement("wx");
wxel.setAttribute("w", String.valueOf(wx[i]));
+ int[] bbox = ttf.getBBox(i);
+ wxel.setAttribute("xMin", String.valueOf(bbox[0]));
+ wxel.setAttribute("yMin", String.valueOf(bbox[1]));
+ wxel.setAttribute("xMax", String.valueOf(bbox[2]));
+ wxel.setAttribute("yMax", String.valueOf(bbox[3]));
el.appendChild(wxel);
}
}
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/truetype/TTFFile.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/truetype/TTFFile.java?rev=1430752&r1=1430751&r2=1430752&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/truetype/TTFFile.java
(original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/truetype/TTFFile.java
Wed Jan 9 09:51:11 2013
@@ -981,6 +981,21 @@ public class TTFFile {
}
/**
+ * Returns an array (xMin, yMin, xMax, yMax) for a glyph.
+ *
+ * @param glyphIndex the index of the glyph
+ * @return int[] Array defining bounding box.
+ */
+ public int[] getBBox(int glyphIndex) {
+ int[] bboxInTTFUnits = mtxTab[glyphIndex].getBoundingBox();
+ int[] bbox = new int[4];
+ for (int i = 0; i < 4; i++) {
+ bbox[i] = (int) convertTTFUnit2PDFUnit(bboxInTTFUnits[i]);
+ }
+ return bbox;
+ }
+
+ /**
* Returns the width of a given character.
* @param idx Index of the character
* @return int Standard width
Modified: xmlgraphics/fop/trunk/status.xml
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/status.xml?rev=1430752&r1=1430751&r2=1430752&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/status.xml (original)
+++ xmlgraphics/fop/trunk/status.xml Wed Jan 9 09:51:11 2013
@@ -59,6 +59,9 @@
documents. Example: the fix of marks layering will be such a case when
it's done.
-->
<release version="FOP Trunk" date="TBD">
+ <action context="Fonts" dev="PH" type="add" fixes-bug="FOP-1069"
due-to="Alexey Neyman">
+ TTFReader: Output bounding box information for glyphs.
+ </action>
<action context="Code" dev="PH" type="fix" fixes-bug="FOP-1069"
due-to="Robert Meyer">
Warn instead or error on invalid property values.
</action>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]