vhardy 02/02/06 08:43:03 Modified: sources/org/apache/batik/bridge SVGFontUtilities.java sources/org/apache/batik/gvt/font FontFamilyResolver.java Log: Made font-family selection case-insensitive to match other implementation's behavior. See new test case in samples/tests/spec/font Revision Changes Path 1.9 +3 -3 xml-batik/sources/org/apache/batik/bridge/SVGFontUtilities.java Index: SVGFontUtilities.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/SVGFontUtilities.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- SVGFontUtilities.java 18 Oct 2001 12:30:22 -0000 1.8 +++ SVGFontUtilities.java 6 Feb 2002 16:43:02 -0000 1.9 @@ -28,7 +28,7 @@ * Utility class for SVG fonts. * * @author <a href="mailto:[EMAIL PROTECTED]">Bella Robinson</a> - * @version $Id: SVGFontUtilities.java,v 1.8 2001/10/18 12:30:22 hillion Exp $ + * @version $Id: SVGFontUtilities.java,v 1.9 2002/02/06 16:43:02 vhardy Exp $ */ public abstract class SVGFontUtilities implements SVGConstants { @@ -74,7 +74,7 @@ currentDocument = textElement.getOwnerDocument(); } - String fontKeyName = fontFamilyName + " " + fontWeight + " " + fontStyle; + String fontKeyName = fontFamilyName.toLowerCase() + " " + fontWeight + " " + fontStyle; // check fontFamilyMap to see if we have already created an FontFamily // that matches @@ -96,7 +96,7 @@ String elemFamilyName = fontFaceElement.getAttribute(SVG_FONT_FAMILY_ATTRIBUTE); - if (elemFamilyName.indexOf(fontFamilyName) == 0) { // found one + if (elemFamilyName.toLowerCase().indexOf(fontFamilyName.toLowerCase()) == 0) { // found one // find matching font element 1.6 +11 -10 xml-batik/sources/org/apache/batik/gvt/font/FontFamilyResolver.java Index: FontFamilyResolver.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/gvt/font/FontFamilyResolver.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- FontFamilyResolver.java 29 Jan 2002 16:19:00 -0000 1.5 +++ FontFamilyResolver.java 6 Feb 2002 16:43:03 -0000 1.6 @@ -20,7 +20,7 @@ * The is a utility class that is used for resolving UnresolvedFontFamilies. * * @author <a href="mailto:[EMAIL PROTECTED]">Bella Robinson</a> - * @version $Id: FontFamilyResolver.java,v 1.5 2002/01/29 16:19:00 deweese Exp $ + * @version $Id: FontFamilyResolver.java,v 1.6 2002/02/06 16:43:03 vhardy Exp $ */ public class FontFamilyResolver { @@ -45,13 +45,13 @@ static { fonts.put("sans-serif", "SansSerif"); fonts.put("serif", "Serif"); - fonts.put("Times", "Serif"); - fonts.put("Times New Roman", "Serif"); + fonts.put("times", "Serif"); + fonts.put("times new roman", "Serif"); fonts.put("cursive", "Dialog"); fonts.put("fantasy", "Symbol"); fonts.put("monospace", "Monospaced"); fonts.put("monospaced", "Monospaced"); - fonts.put("Courier", "Monospaced"); + fonts.put("courier", "Monospaced"); // // Load all fonts. Work around @@ -62,7 +62,7 @@ String fontNames[] = env.getAvailableFontFamilyNames(); int nFonts = fontNames != null ? fontNames.length : 0; for(int i=0; i<nFonts; i++){ - fonts.put(fontNames[i], fontNames[i]); + fonts.put(fontNames[i].toLowerCase(), fontNames[i]); // also add the font name with the spaces removed StringTokenizer st = new StringTokenizer(fontNames[i]); @@ -70,12 +70,12 @@ while (st.hasMoreTokens()) { fontNameWithoutSpaces += st.nextToken(); } - fonts.put(fontNameWithoutSpaces, fontNames[i]); + fonts.put(fontNameWithoutSpaces.toLowerCase(), fontNames[i]); // also add the font name with spaces replaced by dashes String fontNameWithDashes = fontNames[i].replace(' ', '-'); if (!fontNameWithDashes.equals(fontNames[i])) { - fonts.put(fontNameWithDashes, fontNames[i]); + fonts.put(fontNameWithDashes.toLowerCase(), fontNames[i]); } } @@ -121,16 +121,16 @@ // first see if this font family has already been resolved String familyName = fontFamily.getFamilyName(); - GVTFontFamily resolvedFontFamily = (GVTFontFamily)resolvedFontFamilies.get(familyName); + GVTFontFamily resolvedFontFamily = (GVTFontFamily)resolvedFontFamilies.get(familyName.toLowerCase()); if (resolvedFontFamily == null) { // hasn't been resolved yet // try to find a matching family name in the list of available fonts - String awtFamilyName = (String) fonts.get(familyName); + String awtFamilyName = (String) fonts.get(familyName.toLowerCase()); if (awtFamilyName != null) { resolvedFontFamily = new AWTFontFamily(awtFamilyName); } - resolvedFontFamilies.put(familyName, resolvedFontFamily); + resolvedFontFamilies.put(familyName.toLowerCase(), resolvedFontFamily); } // if (resolvedFontFamily != null) { // System.out.println("resolved " + fontFamily.getFamilyName() + " to " + resolvedFontFamily.getFamilyName()); @@ -149,6 +149,7 @@ return fontFamily; } } + return null; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]