 		 *  but higher layers like Flex can provide localized versions.
 		 */
 		GlobalSettings.resourceStringFunction = TextUtil.getResourceString;
-		
+
+        /**
+         *  Set the TLF hook used to specify the callback used for changing 
+         *  the FontLookup based on SWFContext.  
+         */
+        GlobalSettings.resolveFontLookupFunction = TextUtil.resolveFontLookup;
+
 		staticStringFactory = new StringTextLineFactory();
 		
 		staticTextFlowFactory = new TextFlowTextLineFactory();
-		
-		staticTextFormat = new TextFormat();
 		
 		staticPlainTextImporter =
 			TextConverter.getImporter(TextConverter.PLAIN_TEXT_FORMAT);

		return textFlow;
	}
	
    /**
     *  @private
     */
    private function getEmbeddedFontContext():IFlexModuleFactory
    {
        var moduleFactory:IFlexModuleFactory;
        
        var fontLookup:String = getStyle("fontLookup");
        if (fontLookup != FontLookup.DEVICE)
        {
            var font:String = getStyle("fontFamily");
            var bold:Boolean = getStyle("fontWeight") == "bold";
            var italic:Boolean = getStyle("fontStyle") == "italic";
            
            var localLookup:ISystemManager = 
                fontContext && fontContext is ISystemManager ? 
                ISystemManager(fontContext) : systemManager;
                
            moduleFactory = embeddedFontRegistry.getAssociatedModuleFactory(
                font, bold, italic, this, fontContext, localLookup, true);
        }
        
        if (!moduleFactory && fontLookup == FontLookup.EMBEDDED_CFF)
        {
            // if we couldn't find the font and somebody insists it is
            // embedded, try the default fontContext
            moduleFactory = fontContext;
        }
        
        return moduleFactory;
    }
		
	/**
	 *  @private
	 *  Uses TextLineFactory to compose the textFlow

 *  @playerversion AIR 1.5
 *  @productversion Flex 4
 */
public class RichText extends TextBase
{
    include "../core/Version.as";

