我正在使用Flash CS5.5並且想要指定設備字體,而不是嵌入。Flash CS5.5指定設備字體
問題是,雖然我知道設備上的字體的確切名稱,但我無法在Flash創作環境中輸入字體名稱。我擁有的是在創作機器中安裝的字體的下拉列表。選擇具有相同字體名稱的「使用設備字體」時,選擇的下拉菜單會導致電影在設備上默認爲_sans。
我不希望開始使用AS3指定文本框和分配字體。
在此先感謝。
我正在使用Flash CS5.5並且想要指定設備字體,而不是嵌入。Flash CS5.5指定設備字體
問題是,雖然我知道設備上的字體的確切名稱,但我無法在Flash創作環境中輸入字體名稱。我擁有的是在創作機器中安裝的字體的下拉列表。選擇具有相同字體名稱的「使用設備字體」時,選擇的下拉菜單會導致電影在設備上默認爲_sans。
我不希望開始使用AS3指定文本框和分配字體。
在此先感謝。
據我所知,沒有辦法做到這一點 - 這是我見過的一個功能,很多人哀嘆沒有!
您可以做的最好/唯一的事情就是使用嵌入設置來只嵌入您需要的字符(如果找不到這些字符是不實際的,那麼'基本拉丁字母'是99%的時間 - 如果我'教你在這裏吸雞蛋),並限制你使用的字體數量,從設計的角度來看,這也許是一個好主意。
重新輸入您的最後一個句子,您只需要嵌入一次字體 - 每個帶有該字體的文本框都可以引用它。
對不起,我沒有更多的幫助,但我不認爲你想要做什麼可以做。
PS作爲替代方案,你可以在一個單獨的SWF文件中嵌入字體,並從中動態加載它們,所以你不必使用字體臃腫的主文件,你並不需要:
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是全球訪問,例如使用一個單例模式,那麼你就可以在你的代碼的任何地方使用它。但這是另一回事......