2009-08-02 77 views
0

雖然有許多方法可以將字體加載爲swf文件,但我更加關注的是加載字體文件本身的方式,比如用戶上傳字體文件,我如何使用該字體文件應用程序本身的字體文件?在Flex/AS3中動態加載字體

感謝, 費薩爾阿比德

回答

1

不幸的是我敢肯定這是不可能的,至少在任何正常的方式。 您無法加載ttf文件的bytearray並將其傳遞給Font.registerFont(),爲了使用該字體,需要調用該Font.registerFont()。

但是,即使我不具備所有的知識去做,但我知道這絕對不是不可能的。

正如你所說的,字體可以從SWF的加載,和SWF的可以可以爲ByteArray動態創建和裝載塊。

我不知道這是否會是一個選擇都適合你,我不確定它真的有多難。 我會讀到這裏的swf文件格式規格: http://www.adobe.com/devnet/swf/ 然後研究一個空的swf的字節碼,然後嵌入一個字體的swf的字節碼,並找到字體的數據在哪裏,這就是必須用用戶提供的字體替換。 我想知道是否所有的文件內容都是在嵌入swf時未觸及的。在這種情況下,它實際上只是將字體數據插入模板swf的正確位置,這不應該太難。但它可能比這更難,我懷疑它也被壓縮以及... 有可能是關於以編程方式創建SWF的一些信息,如果你谷歌周圍..

對不起,我不能給你一個更多方便的答案=)

+2

那麼給了我一個主意。也許我可以做的事情(因爲我們的虛擬主機託管這個)是創建一個模板作爲文件,並使用ColdFusion填寫模板,並將其傳遞給mxmlc,並獲得該SWF加載到我們的應用程序。 理論上應該工作 謝謝! – 2009-08-03 01:16:04