     }
     
     /**
+     *  @private
+     *  The static embeddedFonts property is initialized lazily. 
+     */
+    private static var  _embeddedFontRegistryExists:Boolean = false;
+    private static var embeddedFontRegistryExistsInitialized:Boolean = false;
+    
+    /**
+     *  @private
+     *  True if an embedded font registry singleton exists.
+     */
+    private static function get embeddedFontRegistryExists():Boolean
+    {
+        if (!embeddedFontRegistryExistsInitialized)
+        {
+            embeddedFontRegistryExistsInitialized = true;
+            try
+            {
+                _embeddedFontRegistryExists = Singleton.getInstance("mx.core::IEmbeddedFontRegistry") != null;
+            }
+            catch (e:Error)
+            {
+                _embeddedFontRegistryExists = false;
+            }
+        }
+        
+        return _embeddedFontRegistryExists;
+    }
+    
+    /**
      *  Convert the specified dataProvider item to a column-specific item renderer factory.
      *  By default this method calls the <code>itemRendererFunction</code> if it's 
      *  non-null, otherwise it just returns the value of the column's <code>itemRenderer</code> 

    //----------------------------------

    private var _itemRenderer:IFactory = null;
    
    [Bindable("itemRendererChanged")]
    

import flash.events.Event;
import flash.events.EventDispatcher;

import mx.core.ClassFactory;
import mx.core.IFactory;
import mx.core.mx_internal;
import mx.core.Singleton;

import spark.components.Grid;

