2012-10-03 68 views
1

我正在使用Flash CS5.5並且想要指定設備字體,而不是嵌入。Flash CS5.5指定設備字體

問題是,雖然我知道設備上的字體的確切名稱,但我無法在Flash創作環境中輸入字體名稱。我擁有的是在創作機器中安裝的字體的下拉列表。選擇具有相同字體名稱的「使用設備字體」時,選擇的下拉菜單會導致電影在設備上默認爲_sans。

我不希望開始使用AS3指定文本框和分配字體。

在此先感謝。

回答

0

據我所知,沒有辦法做到這一點 - 這是我見過的一個功能,很多人哀嘆沒有!

您可以做的最好/唯一的事情就是使用嵌入設置來只嵌入您需要的字符(如果找不到這些字符是不實際的,那麼'基本拉丁字母'是99%的時間 - 如果我'教你在這裏吸雞蛋),並限制你使用的字體數量,從設計的角度來看,這也許是一個好主意。

重新輸入您的最後一個句子,您只需要嵌入一次字體 - 每個帶有該字體的文本框都可以引用它。

對不起,我沒有更多的幫助,但我不認爲你想要做什麼可以做。

PS作爲替代方案,你可以在一個單獨的SWF文件中嵌入字體,並從中動態加載它們,所以你不必使用字體臃腫的主文件,你並不需要:

http://www.mokisystems.com/blog/flash-as3-loading-fonts/

0

AFAIK這隻能用AS3完成。我知道你說過你不想使用AS3,但它非常簡單。下面的代碼:

要知道字體的確切名稱使用此

var f:Font; 
var fonts:Array = Font.enumerateFonts(true); 
for(var i:int = 0; i < fonts.length; i++) { 
    f = fonts[i]; 
    trace(f.fontName + "," + f.fontStyle + "," + f.fontType); 
} 

使用的字體首先創建一個TextFormat對象,這樣

var myFormat:TextFormat = new TextFormat(); 
myFormat.font = "Helvetica"; //use your own font here 

那麼你可以申請這種格式到由AS3創建的任何文本字段,或在Flash IDE中手動創建。

myTextfield.setTextFormat(myFormat); 

如果您的TextFormat是全球訪問,例如使用一個單例模式,那麼你就可以在你的代碼的任何地方使用它。但這是另一回事......