Re: Area Tree vs. subsequent renderer (was Re: FO property expressions)
Peter's right. We've done some loud thinking a few months back (Dec/Jan, I think) about the possibility to create several output files from the same area tree. At the moment anyway, the renderer provides the fonts and the layout engine adjusts to that. So, that means that the area tree differs depending on the renderer used. That can be improved but only by making a central font registry. The renderer would then announce which font sources it supports. It's all in the archives. On 02.06.2003 14:27:07 Peter B. West wrote: For those output formats requiring an area tree (i.e., non-TXT, RTF, etc.), the area tree is independent of the renderer, correct? I.e., the area tree created for a document will be the same for all renderers, and the area tree is created without taking into account its subsequent renderer. In general, no. Most of the atoms composing the area tree are character glyphs. How they are composed on the page depends on their metrics. The font metrics may vary from renderer to renderer. For this reason, the target renderer (or at the very least the font metrics associated with the renderer) must be known. Jeremias, Victor and others have been concerned with factoring out a fonts subsystem, so they may be able to promise that for FOP this issue will be resolved. I know nothing at all about image rendering, but there may also be renderer dependencies in the composition of images. Jeremias Maerki - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
DO NOT REPLY [Bug 20411] - German hyphenation is ^H^H^Hwas missing
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20411. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20411 German hyphenation is ^H^H^Hwas missing [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||WONTFIX --- Additional Comments From [EMAIL PROTECTED] 2003-06-02 13:20 --- We've had german hyphenation files in FOP earlier but had to remove them because of license issues. See Release Notes (http://xml.apache.org/fop/relnotes.html). Unfortunately, your hyphenation file is based on a file released under the LPPL which is considered incompatible with the ASL. Therefore, we can't accept your contribution. I'm sorry. I've recently updated the documentation on this topic (http://xml.apache.org/fop/configuration.html). If the LPPL works for your environment, fine. You can even publish the file yourself as long as you respect the license of the original file. But Apache can't redistribute that file. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: Team page
Wow! My name in lights. I can feel my head getting better^H^H^H^H^H^Hbigger already. This was a pleasant, unexpected honor... Thanks! I have three volumes of text (only 150-300+ pages--just kidding!) to add: =-=-=-=-= (CL) is a web/WAP/Palm developer from Laguna Beach, California, USA. A recent XML/XSL-FO convert, he has been nit-picking FAQs assorted web pages since his first webmaster position @brain.com in 1996. Most important creation? Jeremy Logan Leeds was born June 18, 2002. =-=-=-=-= If you feel the need, you can start cutting sentences from the end. ;-p Thanks! Web Maestro Clay -- Clay Leeds - [EMAIL PROTECTED] Web Developer - Medata, Inc. - http://www.medata.com PGP Public Key: https://mail.medata.com/pgp/cleeds.asc - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/fonts Glyphs.java
jeremias2003/06/02 12:52:51 Modified:src/org/apache/fop/fonts Tag: fop-0_20_2-maintain Glyphs.java Log: Fix bug in WinAnsiEncoding: trademark was shown as bullet Financed by: CTB/McGraw-Hill Revision ChangesPath No revision No revision 1.7.2.3 +33 -22xml-fop/src/org/apache/fop/fonts/Attic/Glyphs.java Index: Glyphs.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fonts/Attic/Glyphs.java,v retrieving revision 1.7.2.2 retrieving revision 1.7.2.3 diff -u -r1.7.2.2 -r1.7.2.3 --- Glyphs.java 25 Feb 2003 13:13:21 - 1.7.2.2 +++ Glyphs.java 2 Jun 2003 19:52:50 - 1.7.2.3 @@ -3,34 +3,34 @@ * *The Apache Software License, Version 1.1 * - * + * * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without modifica- * tion, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, *this list of conditions and the following disclaimer. - * + * * 2. Redistributions in binary form must reproduce the above copyright notice, *this list of conditions and the following disclaimer in the documentation *and/or other materials provided with the distribution. - * + * * 3. The end-user documentation included with the redistribution, if any, must *include the following acknowledgment: This product includes software *developed by the Apache Software Foundation (http://www.apache.org/). *Alternately, this acknowledgment may appear in the software itself, if *and wherever such third-party acknowledgments normally appear. - * + * * 4. The names FOP and Apache Software Foundation must not be used to *endorse or promote products derived from this software without prior *written permission. For written permission, please contact *[EMAIL PROTECTED] - * + * * 5. Products derived from this software may not be called Apache, nor may *Apache appear in their name, without prior written permission of the *Apache Software Foundation. - * + * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -42,12 +42,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * + * * This software consists of voluntary contributions made by many individuals * on behalf of the Apache Software Foundation and was originally created by * James Tauber [EMAIL PROTECTED]. For more information on the Apache * Software Foundation, please see http://www.apache.org/. - */ + */ package org.apache.fop.fonts; public class Glyphs { @@ -195,30 +195,30 @@ '\u2022', // bullet '\u2013', // endash '\u2014', // emdash -'~', '\u2022', // bullet +'~', '\u2122', // trademark '\u0161', '\u203a', '\u0153', '\u2022', '\u017e', '\u0178', // 0xA0 - ' ', '\u00a1', '\u00a2', '\u00a3', '\u00a4', '\u00a5', - '\u00a6', '\u00a7', '\u00a8', '\u00a9', '\u00aa', '\u00ab', + ' ', '\u00a1', '\u00a2', '\u00a3', '\u00a4', '\u00a5', + '\u00a6', '\u00a7', '\u00a8', '\u00a9', '\u00aa', '\u00ab', '\u00ac', '\u00ad', '\u00ae', '\u00af', // 0xb0 '\u00b0', '\u00b1', '\u00b2', '\u00b3', '\u00b4', '\u00b5', // This is hand-coded, the rest is assumption '\u00b6', // and *might* not be correct... -'\u00b7', '\u00b8', '\u00b9', '\u00ba', '\u00bb', '\u00bc', '\u00bd', +'\u00b7', '\u00b8', '\u00b9', '\u00ba', '\u00bb', '\u00bc', '\u00bd', '\u00be', '\u00bf', // 0xc0 '\u00c0', '\u00c1', '\u00c2', '\u00c3', '\u00c4', '\u00c5', // Aring '\u00c6',// AE -'\u00c7', '\u00c8', '\u00c9', '\u00ca', '\u00cb', '\u00cc', +
cvs commit: xml-fop/src/org/apache/fop/render/ps PSRenderer.java
jeremias2003/06/02 12:55:09 Modified:src/org/apache/fop/render/ps Tag: fop-0_20_2-maintain PSRenderer.java Log: Fix character set problems with Type 1 fonts Establish WinAnsiEncoding in PS interpreter Reencodes all fonts except Symbol and ZapfDingbats as WinAnsiEncoding Removes an ugly hack for hyphen characters Financed by: CTB/McGraw-Hill Revision ChangesPath No revision No revision 1.15.2.18 +47 -14xml-fop/src/org/apache/fop/render/ps/Attic/PSRenderer.java Index: PSRenderer.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/render/ps/Attic/PSRenderer.java,v retrieving revision 1.15.2.17 retrieving revision 1.15.2.18 diff -u -r1.15.2.17 -r1.15.2.18 --- PSRenderer.java 15 May 2003 06:50:18 - 1.15.2.17 +++ PSRenderer.java 2 Jun 2003 19:55:08 - 1.15.2.18 @@ -61,6 +61,7 @@ import org.apache.fop.layout.inline.*; import org.apache.fop.datatypes.*; import org.apache.fop.fo.properties.*; +import org.apache.fop.fonts.Glyphs; import org.apache.fop.render.pdf.Font; import org.apache.fop.image.*; import org.apache.fop.apps.FOPException; @@ -310,22 +311,58 @@ } write(end def); write(%%EndResource); +defineWinAnsiEncoding(); //Rewrite font encodings enum = fonts.keySet().iterator(); while (enum.hasNext()) { String key = (String)enum.next(); Font fm = (Font)fonts.get(key); -write(/ + fm.fontName() + findfont); -write(dup length dict begin); -write( {1 index /FID ne {def} {pop pop} ifelse} forall); -write( /Encoding ISOLatin1Encoding def); -write( currentdict); -write(end); -write(/ + fm.fontName() + exch definefont pop); +if (null == fm.encoding()) { +//ignore (ZapfDingbats and Symbol run through here +//TODO: ZapfDingbats and Symbol should get getEncoding() fixed! +} else if (WinAnsiEncoding.equals(fm.encoding())) { +write(/ + fm.fontName() + findfont); +write(dup length dict begin); +write( {1 index /FID ne {def} {pop pop} ifelse} forall); +write( /Encoding + fm.encoding() + def); +write( currentdict); +write(end); +write(/ + fm.fontName() + exch definefont pop); +} else { +log.warn(Only WinAnsiEncoding is supported. Font ' ++ fm.fontName() + ' asks for: + fm.encoding()); +} } } +private void defineWinAnsiEncoding() { +write(/WinAnsiEncoding [); +StringBuffer sb = new StringBuffer(); +for (int i = 0; i Glyphs.winAnsiEncoding.length; i++) { +if (i 0) { +if ((i % 5) == 0) { +write(sb.toString()); +sb.setLength(0); +} else { +sb.append( ); +} +} +final char ch = Glyphs.winAnsiEncoding[i]; +final String glyphname = Glyphs.charToGlyphName(ch); +if (.equals(glyphname)) { +sb.append(/ + Glyphs.notdef); +} else { +sb.append(/); +sb.append(glyphname); +} +} +write(sb.toString()); +write(] def); +} + + + protected void movetoCurrPosition() { write(this.currentXPosition + + this.currentYPosition + M); } @@ -457,7 +494,7 @@ // and positive is down and to the right. (0,0) is where the // viewBox puts it. write(xOffset + + yOffset + translate); -write((at.getTranslateX() * 1000) + +write((at.getTranslateX() * 1000) + + (-at.getTranslateY() * 1000) + translate); write(sx * at.getScaleX() + + sy * at.getScaleY() + scale); @@ -740,11 +777,7 @@ char ch = s.charAt(i); char mch = fs.mapChar(ch); -/[EMAIL PROTECTED] Do this in a clean way */ -// temp fix abe: map ascii '-' to ISO latin 1 hyphen char -if (mch == '-') { - sb = sb.append(\\ + Integer.toOctalString(173)); -} else /* fix ends */ if (mch 127) { +if (mch 127) { sb = sb.append(\\ + Integer.toOctalString(mch)); } else { final String escape = \\()[]{}; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands,
cvs commit: xml-fop CHANGES
jeremias2003/06/02 12:58:08 Modified:.Tag: fop-0_20_2-maintain CHANGES Log: Update changes Revision ChangesPath No revision No revision 1.10.2.61 +3 -0 xml-fop/CHANGES Index: CHANGES === RCS file: /home/cvs/xml-fop/CHANGES,v retrieving revision 1.10.2.60 retrieving revision 1.10.2.61 diff -u -r1.10.2.60 -r1.10.2.61 --- CHANGES 27 May 2003 14:14:40 - 1.10.2.60 +++ CHANGES 2 Jun 2003 19:58:08 - 1.10.2.61 @@ -1,5 +1,8 @@ == Done since 0.20.4 release +- Fix for bad font encodings in the PS renderer (Fonts get reencoded as + WinAnsiEncoding, Symbol and ZapfDingbats show correctly now) (JM) + Financed by: CTB/McGraw-Hill - Fix for bug #20239 (Failure while generating XML metrics files from TT collections when names are in Unicode (JM) - Fix for bug #19797 (image elements in SVG may produce blank output) (JM) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/java/org/apache/fop/fonts/type1 PFMFile.java
jeremias2003/06/02 12:58:55 Modified:src/java/org/apache/fop/fonts/type1 PFMFile.java Log: Use Commons IO methods Revision ChangesPath 1.2 +5 -4 xml-fop/src/java/org/apache/fop/fonts/type1/PFMFile.java Index: PFMFile.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fonts/type1/PFMFile.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- PFMFile.java 11 Mar 2003 13:05:36 - 1.1 +++ PFMFile.java 2 Jun 2003 19:58:55 - 1.2 @@ -50,16 +50,17 @@ */ package org.apache.fop.fonts.type1; +// Java import java.io.IOException; import java.io.InputStream; import java.util.Map; -//Avalon +// Apache libs import org.apache.avalon.framework.logger.AbstractLogEnabled; +import org.apache.commons.io.IOUtil; -//FOP +// FOP import org.apache.fop.fonts.Glyphs; -import org.apache.fop.util.StreamUtilities; /** * This class represents a PFM file (or parts of it) as a Java object. @@ -100,7 +101,7 @@ * @throws IOException In case of an I/O problem */ public void load(InputStream inStream) throws IOException { -final byte[] buf = StreamUtilities.toByteArray(inStream, 8000); +final byte[] buf = IOUtil.toByteArray(inStream); final InputStream bufin = new java.io.ByteArrayInputStream(buf); PFMInputStream in = new PFMInputStream(bufin); /*final int version =*/ in.readShort(); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/java/org/apache/fop/fonts FontUtil.java
jeremias2003/06/02 12:59:43 Added: src/java/org/apache/fop/fonts FontUtil.java Log: Class with utility methods for fonts. Revision ChangesPath 1.1 xml-fop/src/java/org/apache/fop/fonts/FontUtil.java Index: FontUtil.java === /* * $Id: FontUtil.java,v 1.1 2003/06/02 19:59:42 jeremias Exp $ * *The Apache Software License, Version 1.1 * * * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without modifica- * tion, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, *this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, *this list of conditions and the following disclaimer in the documentation *and/or other materials provided with the distribution. * * 3. The end-user documentation included with the redistribution, if any, must *include the following acknowledgment: This product includes software *developed by the Apache Software Foundation (http://www.apache.org/). *Alternately, this acknowledgment may appear in the software itself, if *and wherever such third-party acknowledgments normally appear. * * 4. The names FOP and Apache Software Foundation must not be used to *endorse or promote products derived from this software without prior *written permission. For written permission, please contact *[EMAIL PROTECTED] * * 5. Products derived from this software may not be called Apache, nor may *Apache appear in their name, without prior written permission of the *Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- * DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * * This software consists of voluntary contributions made by many individuals * on behalf of the Apache Software Foundation and was originally created by * James Tauber [EMAIL PROTECTED]. For more information on the Apache * Software Foundation, please see http://www.apache.org/. */ package org.apache.fop.fonts; /** * Font utilities. */ public class FontUtil { /** * Parses an CSS2 (SVG and XSL-FO) font weight (normal, bold, 100-900) to * an integer. * See http://www.w3.org/TR/REC-CSS2/fonts.html#propdef-font-weight * TODO: Implement lighter and bolder. * @param text the font weight to parse * @return an integer between 100 and 900 (100, 200, 300...) */ public static int parseCSS2FontWeight(String text) { int weight = 400; try { weight = Integer.parseInt(text); weight = ((int)weight / 100) * 100; weight = Math.max(weight, 100); weight = Math.min(weight, 900); } catch (NumberFormatException nfe) { //weight is no number, so convert symbolic name to number if (text.equals(normal)) { weight = 400; } else if (text.equals(bold)) { weight = 700; } else { throw new IllegalArgumentException( Illegal value for font weight: ' + text + '. Use one of: 100, 200, 300, + 400, 500, 600, 700, 800, 900, + normal (=400), bold (=700)); } } return weight; } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/java/org/apache/fop/fonts Glyphs.java
jeremias2003/06/02 13:00:29 Modified:src/java/org/apache/fop/fonts Glyphs.java Log: Fix bug in WinAnsiEncoding: trademark was shown as bullet Financed by: CTB/McGraw-Hill Revision ChangesPath 1.2 +15 -1 xml-fop/src/java/org/apache/fop/fonts/Glyphs.java Index: Glyphs.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fonts/Glyphs.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Glyphs.java 11 Mar 2003 13:05:15 - 1.1 +++ Glyphs.java 2 Jun 2003 20:00:26 - 1.2 @@ -209,7 +209,8 @@ '\u2022', // bullet '\u2013', // endash '\u2014', // emdash -'~', '\u2022', // bullet +'~', +'\u2122', // trademark '\u0161', '\u203a', '\u0153', '\u2022', '\u017e', '\u0178', // 0xA0 ' ', '\u00a1', '\u00a2', '\u00a3', '\u00a4', '\u00a5', '\u00a6', '\u00a7', '\u00a8', '\u00a9', '\u00aa', '\u00ab', @@ -1296,11 +1297,24 @@ }; /** + * Return the glyphname from a character, + * eg, charToGlyphName('\\') returns backslash + * + * @param ch glyph to evaluate + * @return the name of the glyph + */ +public static final String charToGlyphName(char ch) { +return stringToGlyph(Character.toString(ch)); +} + +/** * Return the glyphname from a string, * eg, glyphToString(\\) returns backslash * * @param name glyph to evaluate * @return the name of the glyph + * TODO: javadocs for glyphToString and stringToGlyph are confused + * TODO: Improve method names */ public static final String glyphToString(String name) { for (int i = 0; i UNICODE_GLYPHS.length; i += 2) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/java/org/apache/fop/render/ps PSProcSets.java
jeremias2003/06/02 13:03:59 Modified:src/java/org/apache/fop/render/ps PSProcSets.java Log: Fix character set problems with Type 1 fonts Establish WinAnsiEncoding in PS interpreter Reencodes all fonts except Symbol and ZapfDingbats as WinAnsiEncoding Financed by: CTB/McGraw-Hill Revision ChangesPath 1.3 +41 -7 xml-fop/src/java/org/apache/fop/render/ps/PSProcSets.java Index: PSProcSets.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/ps/PSProcSets.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- PSProcSets.java 17 Apr 2003 15:35:20 - 1.2 +++ PSProcSets.java 2 Jun 2003 20:03:59 - 1.3 @@ -55,6 +55,7 @@ import java.util.Map; import org.apache.fop.fonts.Font; +import org.apache.fop.fonts.Glyphs; import org.apache.fop.layout.FontInfo; /** @@ -225,19 +226,52 @@ } gen.writeln(end def); gen.writeln(%%EndResource); +defineWinAnsiEncoding(gen); + +//Rewrite font encodings enum = fonts.keySet().iterator(); while (enum.hasNext()) { String key = (String)enum.next(); Font fm = (Font)fonts.get(key); -gen.writeln(/ + fm.getFontName() + findfont); -gen.writeln(dup length dict begin); -gen.writeln( {1 index /FID ne {def} {pop pop} ifelse} forall); -gen.writeln( /Encoding ISOLatin1Encoding def); -gen.writeln( currentdict); -gen.writeln(end); -gen.writeln(/ + fm.getFontName() + exch definefont pop); +if (null == fm.getEncoding()) { +//ignore (ZapfDingbats and Symbol run through here +//TODO: ZapfDingbats and Symbol should get getEncoding() fixed! +} else if (WinAnsiEncoding.equals(fm.getEncoding())) { +gen.writeln(/ + fm.getFontName() + findfont); +gen.writeln(dup length dict begin); +gen.writeln( {1 index /FID ne {def} {pop pop} ifelse} forall); +gen.writeln( /Encoding + fm.getEncoding() + def); +gen.writeln( currentdict); +gen.writeln(end); +gen.writeln(/ + fm.getFontName() + exch definefont pop); +} else { +System.out.println(Only WinAnsiEncoding is supported. Font ' ++ fm.getFontName() + ' asks for: + fm.getEncoding()); +} } } +private static void defineWinAnsiEncoding(PSGenerator gen) throws IOException { +gen.writeln(/WinAnsiEncoding [); +for (int i = 0; i Glyphs.WINANSI_ENCODING.length; i++) { +if (i 0) { +if ((i % 5) == 0) { +gen.newLine(); +} else { +gen.write( ); +} +} +final char ch = Glyphs.WINANSI_ENCODING[i]; +final String glyphname = Glyphs.charToGlyphName(ch); +if (.equals(glyphname)) { +gen.write(/ + Glyphs.NOTDEF); +} else { +gen.write(/); +gen.write(glyphname); +} +} +gen.newLine(); +gen.writeln(] def); +} } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/java/org/apache/fop/svg PDFImageElementBridge.java
jeremias2003/06/02 13:20:56 Modified:src/java/org/apache/fop/svg PDFImageElementBridge.java Log: Adjust to changes in Batik CVS Revision ChangesPath 1.2 +12 -0 xml-fop/src/java/org/apache/fop/svg/PDFImageElementBridge.java Index: PDFImageElementBridge.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/svg/PDFImageElementBridge.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- PDFImageElementBridge.java11 Mar 2003 13:05:07 - 1.1 +++ PDFImageElementBridge.java2 Jun 2003 20:20:56 - 1.2 @@ -176,6 +176,18 @@ } return null; } + +/** + * Returns the bounds of the sensitive area covered by this node, + * This includes the stroked area but does not include the effects + * of clipping, masking or filtering. + * @return the bounds of the sensitive area + */ +public Rectangle2D getSensitiveBounds() { +//No interactive features, just return primitive bounds +return getPrimitiveBounds(); +} + } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/svg PDFImageElementBridge.java
jeremias2003/06/02 13:21:28 Modified:src/org/apache/fop/svg Tag: fop-0_20_2-maintain PDFImageElementBridge.java Log: Adjust to changes in Batik CVS Revision ChangesPath No revision No revision 1.1.2.3 +16 -11xml-fop/src/org/apache/fop/svg/Attic/PDFImageElementBridge.java Index: PDFImageElementBridge.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/svg/Attic/PDFImageElementBridge.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -u -r1.1.2.2 -r1.1.2.3 --- PDFImageElementBridge.java25 Feb 2003 15:08:11 - 1.1.2.2 +++ PDFImageElementBridge.java2 Jun 2003 20:21:28 - 1.1.2.3 @@ -3,34 +3,34 @@ * *The Apache Software License, Version 1.1 * - * + * * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without modifica- * tion, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, *this list of conditions and the following disclaimer. - * + * * 2. Redistributions in binary form must reproduce the above copyright notice, *this list of conditions and the following disclaimer in the documentation *and/or other materials provided with the distribution. - * + * * 3. The end-user documentation included with the redistribution, if any, must *include the following acknowledgment: This product includes software *developed by the Apache Software Foundation (http://www.apache.org/). *Alternately, this acknowledgment may appear in the software itself, if *and wherever such third-party acknowledgments normally appear. - * + * * 4. The names FOP and Apache Software Foundation must not be used to *endorse or promote products derived from this software without prior *written permission. For written permission, please contact *[EMAIL PROTECTED] - * + * * 5. Products derived from this software may not be called Apache, nor may *Apache appear in their name, without prior written permission of the *Apache Software Foundation. - * + * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -42,12 +42,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * + * * This software consists of voluntary contributions made by many individuals * on behalf of the Apache Software Foundation and was originally created by * James Tauber [EMAIL PROTECTED]. For more information on the Apache * Software Foundation, please see http://www.apache.org/. - */ + */ package org.apache.fop.svg; import org.apache.batik.bridge.*; @@ -137,6 +137,11 @@ } return null; } + +public Rectangle2D getSensitiveBounds() { +return getPrimitiveBounds(); +} + } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop status.xml
jeremias2003/06/02 13:24:02 Modified:.status.xml Log: Update changes Revision ChangesPath 1.33 +4 -0 xml-fop/status.xml Index: status.xml === RCS file: /home/cvs/xml-fop/status.xml,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- status.xml27 May 2003 14:43:53 - 1.32 +++ status.xml2 Jun 2003 20:24:02 - 1.33 @@ -104,6 +104,10 @@ changes release version=2003 date=2003 +action context=code dev=JM type=fix due-to=CTB/McGraw-Hill + Fix for bad font encodings in the PS renderer (Fonts get reencoded as + WinAnsiEncoding, Symbol and ZapfDingbats show correctly now) +/action action context=code dev=JM type=fix Fix for bug #20239: Failure while generating XML metrics files from TT collections when names are in Unicode (JM) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/documentation/content/xdocs team.xml
jeremias2003/06/02 13:51:15 Modified:src/documentation/content/xdocs team.xml Log: Change Glen's email Add Clay's short description Revision ChangesPath 1.8 +6 -2 xml-fop/src/documentation/content/xdocs/team.xml Index: team.xml === RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/team.xml,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- team.xml 28 May 2003 08:57:10 - 1.7 +++ team.xml 2 Jun 2003 20:51:15 - 1.8 @@ -32,8 +32,12 @@ ul lilink href=mailto:[EMAIL PROTECTED]Marcelo Jaccoud Amaral/link/li lilink href=mailto:[EMAIL PROTECTED]Rhett Aultman/link/li -lilink href=mailto:[EMAIL PROTECTED]Clay Leeds/link/li -lilink href=mailto:[EMAIL PROTECTED]Glen Mazza/link/li +lilink href=mailto:[EMAIL PROTECTED]Clay Leeds/link (CL) + is a web/WAP/Palm developer from Laguna Beach, California, USA. A + recent XML/XSL-FO convert, he has been nit-picking FAQs amp; assorted web + pages since his first webmaster position @brain.com in 1996. Most + important creation? Jeremy Logan Leeds was born June 18, 2002./li +lilink href=mailto:[EMAIL PROTECTED]Glen Mazza/link/li lilink href=mailto:[EMAIL PROTECTED]Anton Tagunov/link/li lilink href=mailto:[EMAIL PROTECTED]Zhong (George) Yi/link/li /ul - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Team page
done. On 01.06.2003 22:46:49 Glen Mazza wrote: Looks good -- would you please update my email address to my work address on the team page: glen.mazza.at.eds.com. (.at. like all the other email addresses on that page to avoid spam concerns!) The anti-spam stuff is done automatically by Forrest btw. Jeremias Maerki - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: Team page
done. I found this funny so I just added it. Clay, our favourite nit-picker! :-) On 02.06.2003 16:52:45 Clay Leeds wrote: Wow! My name in lights. I can feel my head getting better^H^H^H^H^H^Hbigger already. This was a pleasant, unexpected honor... Thanks! I have three volumes of text (only 150-300+ pages--just kidding!) to add: =-=-=-=-= (CL) is a web/WAP/Palm developer from Laguna Beach, California, USA. A recent XML/XSL-FO convert, he has been nit-picking FAQs assorted web pages since his first webmaster position @brain.com in 1996. Most important creation? Jeremy Logan Leeds was born June 18, 2002. =-=-=-=-= If you feel the need, you can start cutting sentences from the end. ;-p Jeremias Maerki - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/fonts Glyphs.java
jeremias2003/06/02 14:38:39 Modified:src/org/apache/fop/fonts Tag: fop-0_20_2-maintain Glyphs.java Log: Reestablish JDK 1.3 compatibility. Sorry! Revision ChangesPath No revision No revision 1.7.2.4 +2 -2 xml-fop/src/org/apache/fop/fonts/Attic/Glyphs.java Index: Glyphs.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fonts/Attic/Glyphs.java,v retrieving revision 1.7.2.3 retrieving revision 1.7.2.4 diff -u -r1.7.2.3 -r1.7.2.4 --- Glyphs.java 2 Jun 2003 19:52:50 - 1.7.2.3 +++ Glyphs.java 2 Jun 2003 21:38:38 - 1.7.2.4 @@ -1287,7 +1287,7 @@ * @return the name of the glyph */ public static final String charToGlyphName(char ch) { -return stringToGlyph(Character.toString(ch)); +return stringToGlyph(new Character(ch).toString()); } /** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Team page
On 6/2/2003 1:55 PM, Jeremias Maerki wrote: done. I found this funny so I just added it. Clay, our favourite nit-picker! :-) Thanks Jeremias! I went looking, 'cuz I wanted to see learn, so I figured out where to go to check this (I remember Victor explaining how to find this info, but I wanted to discover it--thanks Victor for the help!)... BTW, while I was perusing, I came across this page: http://cvs.apache.org/viewcvs.cgi/xml-site/targets/fop/ On that page is this weird notation: [EMAIL PROTECTED] 1.1 3 days jefft Automatic publish at Fri May 30 20:37:22 CEST 2003 from http://forrestbot.cocoon... Clicking through as one is wont to do, when one sees one's name, brings up this: Cocoon 2 - Resource not Found type resource-not-found message Page Not Available. description The requested resource couldn't be found. sender org.apache.cocoon.Main source Cocoon commandline (Main.java) request-uri [EMAIL PROTECTED] missing-file /usr/serverlocal/forrestbot/scripts/work/build/bot/xml-fop/site/[EMAIL PROTECTED] I don't know what it means, but there it is... -- Clay Leeds - [EMAIL PROTECTED] Web Developer - Medata, Inc. - http://www.medata.com PGP Public Key: https://mail.medata.com/pgp/cleeds.asc - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
cvs commit: xml-fop/src/java/org/apache/fop/fonts Glyphs.java
jeremias2003/06/02 14:40:02 Modified:src/java/org/apache/fop/fonts Glyphs.java Log: Reestablish JDK 1.3 compatibility. Sorry! Revision ChangesPath 1.3 +1 -1 xml-fop/src/java/org/apache/fop/fonts/Glyphs.java Index: Glyphs.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fonts/Glyphs.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Glyphs.java 2 Jun 2003 20:00:26 - 1.2 +++ Glyphs.java 2 Jun 2003 21:40:02 - 1.3 @@ -1304,7 +1304,7 @@ * @return the name of the glyph */ public static final String charToGlyphName(char ch) { -return stringToGlyph(Character.toString(ch)); +return stringToGlyph(new Character(ch).toString()); } /** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Team page
That'll go away next time the site is updated. See my change: http://cvs.apache.org/viewcvs.cgi/xml-fop/src/documentation/content/xdocs/team.xml.diff?r1=1.5r2=1.6diff_format=h The mailto prefixes were missing and Forrest/Cocoon thought they were HTML pages. On 02.06.2003 23:39:55 Clay Leeds wrote: /usr/serverlocal/forrestbot/scripts/work/build/bot/xml-fop/site/[EMAIL PROTECTED] I don't know what it means, but there it is... Jeremias Maerki - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
cvs commit: xml-fop/src/java/org/apache/fop/apps Driver.java
jeremias2003/06/02 15:17:36 Modified:src/java/org/apache/fop/apps Driver.java Log: Make more dummy-safe (more verbose error messages). Reintroduce setLogger() method from maint-branch (deprecated, for backwards-compatibility) Revision ChangesPath 1.4 +34 -4 xml-fop/src/java/org/apache/fop/apps/Driver.java Index: Driver.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/Driver.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Driver.java 12 Mar 2003 11:00:21 - 1.3 +++ Driver.java 2 Jun 2003 22:17:36 - 1.4 @@ -261,11 +261,17 @@ this.stream = stream; } +private boolean isInitialized() { +return (treeBuilder != null); +} + /** * Initializes the Driver object. */ public void initialize() { -stream = null; +if (isInitialized()) { +throw new IllegalStateException(Driver already initialized); +} treeBuilder = new FOTreeBuilder(); treeBuilder.setUserAgent(getUserAgent()); setupDefaultMappings(); @@ -305,6 +311,15 @@ } } +/** + * Provide the Driver instance with a logger. + * @param log the logger. Must not be codenull/code. + * @deprecated Use #enableLogging(Logger) instead. + */ +public void setLogger(Logger log) { +enableLogging(log); +} + /** * Returns the logger for use by FOP. @@ -349,6 +364,12 @@ this.stream = stream; } +private void validateOutputStream() { +if (this.stream == null) { +throw new IllegalStateException(OutputStream has not been set); +} +} + /** * Set the source for the FO document. This can be a normal SAX * InputSource, or an DocumentInputSource containing a DOM document. @@ -553,10 +574,10 @@ * @return a content handler for handling the SAX events. */ public ContentHandler getContentHandler() { -if (treeBuilder == null) { -throw new NullPointerException(Driver isn't initialized. -+ You may have to call initialize() first.); +if (!isInitialized()) { +initialize(); } +validateOutputStream(); // TODO: - do this stuff in a better way // PIJ: I guess the structure handler should be created by the renderer. @@ -588,6 +609,9 @@ */ public synchronized void render(XMLReader parser, InputSource source) throws FOPException { +if (!isInitialized()) { +initialize(); +} parser.setContentHandler(getContentHandler()); try { parser.parse(source); @@ -610,6 +634,9 @@ */ public synchronized void render(Document document) throws FOPException { +if (!isInitialized()) { +initialize(); +} try { DocumentInputSource source = new DocumentInputSource(document); DocumentReader reader = new DocumentReader(); @@ -638,6 +665,9 @@ * @throws FOPException if anything else goes wrong. */ public synchronized void run() throws IOException, FOPException { +if (!isInitialized()) { +initialize(); +} if (renderer == null) { setRenderer(RENDER_PDF); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Team page
Jeremias Maerki wrote: That'll go away next time the site is updated. See my change: http://cvs.apache.org/viewcvs.cgi/xml-fop/src/documentation/conten t/xdocs/team.xml.diff?r1=1.5r2=1.6diff_format=h The mailto prefixes were missing and Forrest/Cocoon thought they were HTML pages. Oops. Thanks for fixing. Victor Mote - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
cvs commit: xml-fop/src/java/org/apache/fop/apps TraxInputHandler.java InputHandler.java XSLTInputHandler.java CommandLineOptions.java FOInputHandler.java
jeremias2003/06/02 15:24:02 Modified:src/java/org/apache/fop/apps TraxInputHandler.java InputHandler.java XSLTInputHandler.java CommandLineOptions.java FOInputHandler.java Log: Take over InputHandler code from maintenance branch. Makes the org.apache.fop.tools.xslt package superfluous. (#20398) Submitted by: Glen Mazza [EMAIL PROTECTED] Revision ChangesPath 1.2 +77 -13xml-fop/src/java/org/apache/fop/apps/TraxInputHandler.java Index: TraxInputHandler.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/TraxInputHandler.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- TraxInputHandler.java 11 Mar 2003 13:05:28 - 1.1 +++ TraxInputHandler.java 2 Jun 2003 22:24:02 - 1.2 @@ -54,6 +54,8 @@ import java.io.File; // Imported TraX classes +import javax.xml.transform.Source; +import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.stream.StreamSource; import javax.xml.transform.sax.SAXResult; @@ -71,23 +73,66 @@ */ public class TraxInputHandler extends InputHandler { -private File xmlfile, xsltfile; +private Transformer transformer; +private StreamSource xmlSource; +private Source xsltSource; /** - * Main constructor + * Constructor with files as input. * @param xmlfile XML file * @param xsltfile XSLT file + * @throws FOPException if initializing the Transformer fails */ -public TraxInputHandler(File xmlfile, File xsltfile) { -this.xmlfile = xmlfile; -this.xsltfile = xsltfile; +public TraxInputHandler(File xmlfile, File xsltfile) throws FOPException { +this.xmlSource = new StreamSource(xmlfile); +this.xsltSource = new StreamSource(xsltfile); +initTransformer(); +} + +/** + * Constructor with URIs/URLs as input. + * @param xmlURL XML URL + * @param xsltURL XSLT URL + * @throws FOPException if initializing the Transformer fails + */ +public TraxInputHandler(String xmlURL, String xsltURL) throws FOPException { +this.xmlSource = new StreamSource(xmlURL); +this.xsltSource = new StreamSource(xsltURL); +initTransformer(); +} + +/** + * Constructor with InputSources as input. + * @param xmlSource XML InputSource + * @param xsltSource XSLT InputSource + * @throws FOPException if initializing the Transformer fails + */ +public TraxInputHandler(InputSource xmlSource, InputSource xsltSource) +throws FOPException { +this.xmlSource = new StreamSource(xmlSource.getByteStream(), + xmlSource.getSystemId()); +this.xsltSource = new StreamSource(xsltSource.getByteStream(), + xsltSource.getSystemId()); +initTransformer(); +} + +private void initTransformer() throws FOPException { +try { +this.transformer = +TransformerFactory.newInstance().newTransformer(xsltSource); +} catch (Exception ex) { +throw new FOPException(ex); +} } /** * @see org.apache.fop.apps.InputHandler#getInputSource() */ public InputSource getInputSource() { -return fileInputSource(xmlfile); +InputSource is = new InputSource(); +is.setByteStream(xmlSource.getInputStream()); +is.setSystemId(xmlSource.getSystemId()); +return is; } /** @@ -96,7 +141,7 @@ * @see org.apache.fop.apps.InputHandler#getParser() */ public XMLReader getParser() throws FOPException { -return this.getXMLFilter(xmlfile, xsltfile); +return getXMLFilter(xsltSource); } /** @@ -104,14 +149,12 @@ * then can be used in a chain with the XMLReader passed to Driver. This way * during the conversion of the xml file + xslt stylesheet the resulting * data is fed into Fop. This should help to avoid memory problems - * @param xmlfile The xmlfile containing the text data - * @param xsltfile An xslt stylesheet + * @param xsltSource An xslt stylesheet * @return an XMLFilter which can be chained together with other * XMLReaders or XMLFilters * @throws FOPException if setting up the XMLFilter fails */ -public static XMLFilter getXMLFilter(File xmlfile, - File xsltfile) throws FOPException { +public static XMLFilter getXMLFilter(Source xsltSource) throws FOPException { try {
cvs commit: xml-fop/src/java/org/apache/fop/tools/xslt TraxTransform.java XSLTransform.java
jeremias2003/06/02 15:26:28 Removed: src/java/org/apache/fop/tools/xslt TraxTransform.java XSLTransform.java Log: Remove the org.apache.fop.tools.xslt package. (#20398) Submitted by: Glen Mazza [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 20398] - [PATCH] removing org.apache.fop.tools.xslt package
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20398. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20398 [PATCH] removing org.apache.fop.tools.xslt package [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2003-06-02 22:29 --- Applied. Thanks. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: [GUMP] Build Failure - xml-fop
On 02.06.2003 14:12:43 Thomas E Deweese wrote: JM == Jeremias Maerki [EMAIL PROTECTED] writes: JM However, I'm worrying about binary compatibility. At the moment we JM have to tell our users that they have to use the Batik-version JM delivered with FOP. I'd like to see Batik's API stabilize some JM more so people can just download the latest version of Batik and JM replace it in their installation. I realize that FOP is a somehat JM special Batik customer from an API-POV. But let's take Cocoon: It JM contains blocks for Batik and FOP (where FOP uses Batik for SVG JM support). If a Cocoon user needs to use Batik (for generating SVG) JM and FOP (for generating PDF containing SVG graphics) this user is JM constrained to use the Batik version that FOP was compiled JM with. He cannot simply upgrade his Batik version to avoid a bug, JM for example. The very least he has to do is recompile FOP with JM that specific version of Batik he wants to use. Hopefully it JM compiles. To illustrate: Clearly having no interfaces change is a good thing, but we also need to support SVG properly - the equivalent of this change was _required_ to properly support SVG. It could have been done other ways that (I think) would have preserved binary compatibility but they would have had significant drawbacks on performance, maintainability and robustness. I understand. We have similar problems with the transition from maintenance branch to redeign. FOP is a special customer and I am actually quite surprised that you are creating subclasses of GraphicsNode (I understand what is being done there but I could have suggested a couple of 'better' ways to do it I think). Well, it's the way it is done now. It would be great if you could outline better ways to do what we need to do. JM As I said before, the FOP teams produced similar problems in the JM past. After a recent problem between Cocoon and FOP I'm committed JM to watching over FOP's APIs. I'm hoping that the Batik team will JM similarly watch over what happens in their APIs. So you are now committed to not introducing any binary or source incompatibilities? I want to avoid them where possible. I want to help making sure that everyone thinks twice before changing an API. I'm not going to stand in the way of change. But we always have to be aware of our customers' needs. I don't think Batik is in a position to do this yet. I would say that when 1.5 goes final we might be willing to offer that assurance for releases in the '1.5' branch. But we still need at some point to support SMIL Animation I can guarantee you that this will involve incompatible API changes/extensions/etc. Sounds to me like some problems could be avoided by separating non-interactive and interactive APIs. Like subclassing AbstractGraphicsNode to AbstractInteractiveGraphicsNode (which contains the getSensitiveBound() method). Just a thought, I'm not familiar enough with Batik. BTW perhaps I'm missing the point of the 'maintence' build but shouldn't that be done off one of the release versions of Batik? JM I'm under the impression that Gump is intended to check JM code-compatibility between projects in CVS, not against released JM versions. This is to have an early warning about incompatible JM changes (before a release), so they can be resolved (hopefully JM with a compatibility layer) before the release. I guess as long as you can still make changes in the 'maintence' branch it isn't an issue - but I would have thought that a particular version of Batik would have already been targeted for the release of FOP - rather than tracking 'HEAD'. It just seems odd to me that a 'stable' version of FOP would track 'HEAD' on Batik. Not really stable. :-) The branch is more than 20 months old and has seen very active development. It's really two development tracks like Xalan 1 and 2. The older gets discarded eventually. JM With my findings above I think it would even make sense to have an JM additional mechanism to check binary compatibility (just some JM runtime tests using JUnit, for example) between projects (CVS of JM project 1 against release xy of project 2). Binary compatibility is really, really hard to ensure and I think it only makes sense on 'point' releases, so 1.5 and 1.5.1 _should_ be binary compatible, 1.5 and 1.6 may not be (and similarly 1.5b4 and 1.5b5 do not need to be) - all of course IMHO - other Batik developers may (and probably will :) disagree. Batik's in beta mode, FOP's in release candidate modefor a very long time. :-) That basically makes each beta/rc releases quite important. But you're right, except that I would expect compatibility over a full version (1.x). I think you're missing my point about that idea: Testing a project CVS against dependent releases may be a good way to make a developer think twice (TM). That's basically the only thing I ask. Anyway, it was just an idea. Jeremias
Re: [GUMP] Build Failure - xml-fop
JM == Jeremias Maerki [EMAIL PROTECTED] writes: FOP is a special customer and I am actually quite surprised that you are creating subclasses of GraphicsNode (I understand what is being done there but I could have suggested a couple of 'better' ways to do it I think). JM Well, it's the way it is done now. It would be great if you could JM outline better ways to do what we need to do. I would have simply attached the JpegImage as a rendering hint on the standard Batik RasterImageNode. Then the PDF Graphics can check if the hint is present when drawImage is called, if so use that hint. Alternately, I would have derived off the existing RasterImageNode (a known concrete class) rather than creating a new subclass of an abstract class. Both of these preserve the normal workings of the rendering engine yet enables you to annotate the GraphicsNode tree with your additional information. We also should have made the construction of the RasterImageGraphcisNode a method you could easily override. I don't think Batik is in a position to do this yet. I would say that when 1.5 goes final we might be willing to offer that assurance for releases in the '1.5' branch. But we still need at some point to support SMIL Animation I can guarantee you that this will involve incompatible API changes/extensions/etc. JM Sounds to me like some problems could be avoided by separating JM non-interactive and interactive APIs. Like subclassing JM AbstractGraphicsNode to AbstractInteractiveGraphicsNode (which JM contains the getSensitiveBound() method). Just a thought, I'm not JM familiar enough with Batik. If we had done this from the start this might have helped FOP in this particular case but the addition still would have hurt anyone extending the existing dynamic portion of Batik. So it might have limited the impact but it would not have eliminated it, and I had already considered the fact that the impact was limited to people who were extending GraphicsNode which is already a _very_small_ population AFAIK (as I said I was a bit surprised that even FOP, who I knew was pretty deeply involved with Batik, was extending Graphics Nodes). JM With my findings above I think it would even make sense to have an JM additional mechanism to check binary compatibility (just some JM runtime tests using JUnit, for example) between projects (CVS of JM project 1 against release xy of project 2). Binary compatibility is really, really hard to ensure and I think it only makes sense on 'point' releases, so 1.5 and 1.5.1 _should_ be binary compatible, 1.5 and 1.6 may not be (and similarly 1.5b4 and 1.5b5 do not need to be) - all of course IMHO - other Batik developers may (and probably will :) disagree. JM Batik's in beta mode, FOP's in release candidate modefor a JM very long time. :-) That basically makes each beta/rc releases JM quite important. But you're right, except that I would expect JM compatibility over a full version (1.x). This then just becomes a 'naming issue'. JM I think you're missing my point about that idea: Testing a project JM CVS against dependent releases may be a good way to make a JM developer think twice (TM). That's basically the only thing I JM ask. Anyway, it was just an idea. I think it's better of developers just think twice (TM). BTW I did think twice about about this change but it really is needed. I am sorry about the trouble. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]