我想在我的SWF应用程序中加载一些字体这些字体真的很胖,所以需要更多时间加载......
我有一些具体的想法 - >我可以加载这些字体加载我的应用程序之前?意味着当我的首页(只是HTML)到达浏览器时,我可以在后端加载字体SWF,以便我可以在应用程序中随时使用它:)
具体问题是: - flex是否在浏览器缓存或闪存缓存中加载字体?我可以使用来自另一个flash播放器实例的加载字体....
如果我可以在缓存中加载字体,我从另一个html页面和另一个Flash播放器实例加载它们:可以节省我的时间
加载的字体是否可用于整个网站上的其他swf,或只是加载字体的页面。
答案 0 :(得分:0)
您可以将字体嵌入到Flex应用程序中,这样就可以使用SWF文件下载字体。 这样您就可以在运行时轻松使用它们。
欲了解更多信息: Embed Fonts
[编辑] 我建议你将字体定义为一个样式声明,你可以使用styleManager在运行时加载它。
var url:String = "/pathTo/otherModule.swf"
var styleManager:IStyleManager2 = mx.styles.StyleManager.getStyleManager(null);
var dispatcher:IEventDispatcher = styleManager.loadStyleDeclarations2(url, true);
dispatcher.addEventListener(StyleEvent.COMPLETE, onReady);
dispatcher.addEventListener(StyleEvent.ERROR, onError);
dispatcher.addEventListener(StyleEvent.PROGRESS, onProgress);
答案 1 :(得分:0)
如何减少字体的文件大小?
我自己从未尝试过,但FontForge似乎是一种解决方案。
<强>加强>:
如果无法减少文件大小,运行时共享库(RSL)可能是您想要的解决方案。
RSL将单独下载并缓存在客户端上。(请注意,您也可以使用外部库,但RSL是更方便的版本。)
如果您使用的是Flash Builder,则可以在“项目&gt;属性&gt; Flex构建路径&gt;库路径&gt;(您的库)&gt;链接类型和RSL URL”中进行设置。
您可能需要在网络服务器上上传3个文件
有关详细信息,请参阅document。