我們有一個大的Flash網站,它被翻譯成11種語言。我們有一個字體加載系統,所有用來顯示每種語言的站點所需的字符都嵌入到外部swfs中(所以11個swfs)。無法在運行時在外部SWF中加載CFF嵌入字體
對網站的最新更新要求我們爲文本顯示的一個區域使用文本佈局框架(TLF),這當然只支持嵌入新CFF格式的字體。我試圖使用標記embedAsCFF="true"
嵌入第二個字體實例,並且在加載字體SWF後,我可以看到該字體正確註冊,因爲它顯示在由Font.enumerateFonts
返回的數組中。
我使用的TextFlow實例具有以下屬性設置:
textFlow.fontLookup = FontLookup.EMBEDDED_CFF;
textFlow.renderingMode = RenderingMode.CFF;
textFlow.fontFamily = "HeadingFontCFF";
但是所顯示沒有找到嵌入字體的文本。它以Times New Roman設備字體顯示。我很確定我的TLF設置正確,因爲當我將[Embed]
標記放入與我的TLF代碼相同的類(即嵌入相同的SWF)時,字體顯示正確。所以它似乎只涉及在外部SWF中加載的字體。
我認爲這個問題與這裏列出的問題有關:Example of using embedded fonts loaded at runtime Flex 4 runtime loaded modules,雖然這篇文章是指Flex 4版本,而我們的版本是純Flash 10版本。
還有一個我上面引用的Adobe鏈接的更新版本:http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7e09.html – geo 2010-11-30 16:53:24