Index: trunk/src/com/kitfox/svg/util/FontSystem.java
===================================================================
--- trunk/src/com/kitfox/svg/util/FontSystem.java	(revision 14328)
+++ trunk/src/com/kitfox/svg/util/FontSystem.java	(revision 14331)
@@ -48,4 +48,5 @@
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Locale;
 
 /**
@@ -58,7 +59,7 @@
     FontMetrics fm;
 
-    HashMap<String, Glyph> glyphCache = new HashMap<String, Glyph>();
+    HashMap<String, Glyph> glyphCache = new HashMap<>();
     
-    static HashSet<String> sysFontNames = new HashSet<String>();
+    static HashSet<String> sysFontNames = new HashSet<>();
 
     public static boolean checkIfSystemFontExists(String fontName)
@@ -66,5 +67,5 @@
         if (sysFontNames.isEmpty())
         {
-            for (String name: GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames())
+            for (String name: GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames(Locale.ENGLISH))
             {
                 sysFontNames.add(name);
@@ -80,11 +81,24 @@
         for (String fontName: families)
         {
-            if (checkIfSystemFontExists(fontName))
+            String javaFontName = mapJavaFontName(fontName);
+            if (checkIfSystemFontExists(javaFontName))
             {
-                return new FontSystem(fontName, fontStyle, fontWeight, fontSize);
+                return new FontSystem(javaFontName, fontStyle, fontWeight, fontSize);
             }
         }
 
         return null;
+    }
+
+    private static String mapJavaFontName(String fontName) {
+        if ("serif".equals(fontName)) {
+            return java.awt.Font.SERIF;
+        } else if ("sans-serif".equals(fontName)) {
+            return java.awt.Font.SANS_SERIF;
+        } else if ("monospace".equals(fontName)) {
+            return java.awt.Font.MONOSPACED;
+        } else {
+            return fontName;
+        }
     }
 
