You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-dev@xmlgraphics.apache.org by de...@apache.org on 2002/04/25 02:45:42 UTC
cvs commit: xml-batik/sources/org/apache/batik/gvt/text GlyphIterator.java
deweese 02/04/24 17:45:42
Modified: sources/org/apache/batik/bridge
AbstractGraphicsNodeBridge.java
sources/org/apache/batik/gvt/font SVGGVTGlyphVector.java
sources/org/apache/batik/gvt/text GlyphIterator.java
Log:
1) Fixed a bug where elements without update handlers would cause an exception
2) Fixed an off by one bug in GlyphIterator.
Revision Changes Path
1.24 +3 -2 xml-batik/sources/org/apache/batik/bridge/AbstractGraphicsNodeBridge.java
Index: AbstractGraphicsNodeBridge.java
===================================================================
RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/AbstractGraphicsNodeBridge.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- AbstractGraphicsNodeBridge.java 23 Apr 2002 17:10:13 -0000 1.23
+++ AbstractGraphicsNodeBridge.java 25 Apr 2002 00:45:42 -0000 1.24
@@ -44,7 +44,7 @@
* </ul>
*
* @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: AbstractGraphicsNodeBridge.java,v 1.23 2002/04/23 17:10:13 tkormann Exp $
+ * @version $Id: AbstractGraphicsNodeBridge.java,v 1.24 2002/04/25 00:45:42 deweese Exp $
*/
public abstract class AbstractGraphicsNodeBridge extends AbstractSVGBridge
implements SVGContext,
@@ -207,7 +207,8 @@
if (node instanceof SVGOMElement) {
SVGOMElement elt = (SVGOMElement)node;
BridgeUpdateHandler h = (BridgeUpdateHandler)elt.getSVGContext();
- h.dispose();
+ if (h != null)
+ h.dispose();
}
for (Node n = node.getFirstChild(); n!=null; n = n.getNextSibling()) {
disposeTree(n);
1.11 +2 -2 xml-batik/sources/org/apache/batik/gvt/font/SVGGVTGlyphVector.java
Index: SVGGVTGlyphVector.java
===================================================================
RCS file: /home/cvs/xml-batik/sources/org/apache/batik/gvt/font/SVGGVTGlyphVector.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- SVGGVTGlyphVector.java 7 Mar 2002 22:07:44 -0000 1.10
+++ SVGGVTGlyphVector.java 25 Apr 2002 00:45:42 -0000 1.11
@@ -29,7 +29,7 @@
* A GVTGlyphVector class for SVG fonts.
*
* @author <a href="mailto:bella.robinson@cmis.csiro.au">Bella Robinson</a>
- * @version $Id: SVGGVTGlyphVector.java,v 1.10 2002/03/07 22:07:44 deweese Exp $
+ * @version $Id: SVGGVTGlyphVector.java,v 1.11 2002/04/25 00:45:42 deweese Exp $
*/
public final class SVGGVTGlyphVector implements GVTGlyphVector {
@@ -62,7 +62,7 @@
for (int i = 0; i < glyphs.length; i++) {
glyphVisible[i] = true;
}
-
+
endPos = glyphs[glyphs.length-1].getPosition();
endPos = new Point2D.Float
((float)(endPos.getX()+glyphs[glyphs.length-1].getHorizAdvX()),
1.4 +10 -8 xml-batik/sources/org/apache/batik/gvt/text/GlyphIterator.java
Index: GlyphIterator.java
===================================================================
RCS file: /home/cvs/xml-batik/sources/org/apache/batik/gvt/text/GlyphIterator.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- GlyphIterator.java 12 Apr 2002 14:36:48 -0000 1.3
+++ GlyphIterator.java 25 Apr 2002 00:45:42 -0000 1.4
@@ -174,24 +174,27 @@
public float getMaxFontSize() {
if (aciIdx >= fontStart) {
- updateLineMetrics(aciIdx);
- fontStart = aciIdx + gv.getCharacterCount(idx,idx);
+ int newFS = aciIdx + gv.getCharacterCount(idx,idx);
+ updateLineMetrics(newFS);
+ fontStart = newFS;
}
return maxFontSize;
}
public float getMaxAscent() {
if (aciIdx >= fontStart) {
- updateLineMetrics(aciIdx);
- fontStart = aciIdx + gv.getCharacterCount(idx,idx);
+ int newFS = aciIdx + gv.getCharacterCount(idx,idx);
+ updateLineMetrics(newFS);
+ fontStart = newFS;
}
return maxAscent;
}
public float getMaxDescent() {
if (aciIdx >= fontStart) {
- updateLineMetrics(aciIdx);
- fontStart = aciIdx + gv.getCharacterCount(idx,idx);
+ int newFS = aciIdx + gv.getCharacterCount(idx,idx);
+ updateLineMetrics(newFS);
+ fontStart = newFS;
}
return maxDescent;
}
@@ -263,14 +266,13 @@
}
}
- int preIncACIIdx = aciIdx;
aciIdx += gv.getCharacterCount(idx,idx);
ch = aci.setIndex(aciIdx);
idx++;
if (idx == numGlyphs) return;
if (aciIdx >= runLimit) {
- updateLineMetrics(preIncACIIdx);
+ updateLineMetrics(aciIdx);
runLimit = aci.getRunLimit(TEXT_COMPOUND_DELIMITER);
font = (GVTFont)aci.getAttribute(GVT_FONT);
if (font == null) {
---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org