]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Fix font registration (normal and bold work again, invalid values get barked at)
authorJeremias Maerki <jeremias@apache.org>
Thu, 3 Apr 2003 12:51:27 +0000 (12:51 +0000)
committerJeremias Maerki <jeremias@apache.org>
Thu, 3 Apr 2003 12:51:27 +0000 (12:51 +0000)
Make the kerning and embedding-url attributes optional as it should be

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@196204 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/render/pdf/FontSetup.java

index d2bd02e12a7f8eba773f739a2d63b780899d658a..3da3d472f6011598c9df61d87b92f85edb26073f 100644 (file)
@@ -233,11 +233,24 @@ public class FontSetup {
                     try {
                         weight = Integer.parseInt(triplet.getWeight());
                         weight = ((int)weight / 100) * 100;
-                        weight = Math.min(weight, 100);
-                        weight = Math.max(weight, 900);
+                        weight = Math.max(weight, 100);
+                        weight = Math.min(weight, 900);
                     } catch (NumberFormatException nfe) {
-                        /**@todo log this exception */
+                        //weight is no number, so convert smybolic name to number
+                        if (triplet.getWeight().equals("normal")) {
+                            weight = 400;
+                        } else if (triplet.getWeight().equals("bold")) {
+                            weight = 700;
+                        } else {
+                            throw new IllegalArgumentException(
+                                "Illegal value for font weight: '" 
+                                + triplet.getWeight()
+                                + "'. Use one of: 100, 200, 300, "
+                                + "400, 500, 600, 700, 800, 900, "
+                                + "normal (=400), bold (=700)");
+                        }
                     }
+                    //System.out.println("Registering: "+triplet+" weight="+weight);
                     fontInfo.addFontProperties(internalName,
                                                triplet.getName(),
                                                triplet.getStyle(),
@@ -291,8 +304,8 @@ public class FontSetup {
 
             EmbedFontInfo efi;
             efi = new EmbedFontInfo(font[i].getAttribute("metrics-url"),
-                                    font[i].getAttributeAsBoolean("kerning"),
-                                    tripleList, font[i].getAttribute("embed-url"));
+                                    font[i].getAttributeAsBoolean("kerning", false),
+                                    tripleList, font[i].getAttribute("embed-url", null));
 
             fontList.add(efi);
         }