Index: src/java/org/apache/fop/fonts/FontInfo.java
===================================================================
--- src/java/org/apache/fop/fonts/FontInfo.java	(revision 678650)
+++ src/java/org/apache/fop/fonts/FontInfo.java	(working copy)
@@ -5,9 +5,9 @@
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -40,8 +40,6 @@
  */
 public class FontInfo {
 
-    private static final FontTriplet[] TRIPLETS_TYPE = new FontTriplet[1];
-
     /** logging instance */
     protected static Log log = LogFactory.getLog(FontInfo.class);
 
@@ -58,7 +56,7 @@
     /** look up a font-name to get a font (that implements FontMetrics at least) */
     private Map/*<String,FontMetrics>*/ fonts = null; //(String = font key)
 
-    /** 
+    /**
      *  a collection of missing fonts; used to make sure the user gets
      *  a warning for a missing font only once (not every time the font is used)
      */
@@ -143,7 +141,7 @@
 
     /**
      * Log warning about duplicate font triplets.
-     * 
+     *
      * @param triplet the duplicate font triplet
      * @param replacing true iff the new font will replace the old one
      * @param oldKey the old internal font name
@@ -233,7 +231,7 @@
         if (key != null) {
             internalFontKey = getInternalFontKey(key);
         }
-        
+
         if (!substFont && internalFontKey == null) {
             return null;
         }
@@ -376,10 +374,10 @@
         if (families.length == 0) {
             throw new IllegalArgumentException("Specify at least one font family");
         }
-        
+
         // try matching without substitutions
         List/*<FontTriplet>*/ matchedTriplets = fontLookup(families, style, weight, false);
-        
+
         // if there are no matching font triplets found try with substitutions
         if (matchedTriplets.size() == 0) {
             matchedTriplets = fontLookup(families, style, weight, true);
@@ -397,11 +395,11 @@
             throw new IllegalStateException(
                         "fontLookup must return an array with at least one "
                         + "FontTriplet on the last call. Lookup: " + sb.toString());
-            
+
         }
 
         // found some matching fonts so return them
-        return (FontTriplet[]) matchedTriplets.toArray(TRIPLETS_TYPE);
+        return (FontTriplet[]) matchedTriplets.toArray(new FontTriplet[matchedTriplets.size()]);
     }
 
     private Set/*<FontTriplet>*/ getLoggedFontKeys() {
@@ -504,7 +502,7 @@
      * @param weight font weight
      * @return internal key
      */
-    public static synchronized FontTriplet createFontKey(String family, String style,
+    public static FontTriplet createFontKey(String family, String style,
                                        int weight) {
         return new FontTriplet(family, style, weight);
     }
