我已经设计了一个项目,需要重新设置样式以用于另一家公司,但我在使用Helvetica Neue更改当前嵌入的字体DIN Next LT Pro时遇到问题
我是闪存和AS3的新手,所以真的从头开始学习。说我花了最后一天在谷歌上研究这个问题,并尝试了多种解决方案无济于事。
以下是闪光灯的设置方式。
反馈.fla嵌入了以下字体:
- DIN 下一页 LT 专业版 粗体浓缩
- DIN 下一页 LT 专业版聚光灯
- DIN 下一页 LT 专业版 常规
- Helvetica Neue LT Std 45 Light
- Helvetica Neue LT Std 55 Roman
- Helvetica Neue LT Std 75 Bold
已安装 DIN 字体。我通过单击嵌入添加了Helvetica字体,添加了与字体相同但没有空格的字体名称,例如:HelveticaNeueLTStd75Bold。
FeedbackPage.as 似乎指定了要使用的字体并将其应用于标签:
public class FeedbackPage extends AbstractPage {
public static const FONT_BOLD : String = "DIN Next LT Pro Bold Condensed";
public static const FONT_LIGHT : String = "DIN Next LT Pro Light Condensed";
public static const FONT_REGULAR : String = "DIN Next LT Pro";
etc.. etc..
FeedbackPage.as 还会导入另一个 .as 文件:
import dk.electric.synoptik.components.feedbackelements.PercentFeedback;
PercentFeedback.as 此文件创建文本文件并应用字体:
var tfmtPercent : TextFormat = new TextFormat(FeedbackPage.FONT_BOLD, fontSize, 0x0a9fda);
_tfPercent = TextFieldUtils.createTextField(6, yPos, 150, 95, Math.abs(pctDif).toString() + "%", tfmtPercent, false, TextFieldAutoSize.NONE);
_sprContainer.addChild(_tfPercent);
将我的新字体 Helvetica Neue LT Std 75 粗体嵌入到 fla 文件后,我将 FeedbackPage.as 更改为:
public static const FONT_BOLD : String = "Helvetica Neue LT Std 75 Bold";
导出我的fla,上传并查看,文本已消失。我尝试使用您在嵌入时分配的名称(HelveticaNeueLTStd75Bold(,但这也不起作用。
有什么想法,因为我被大量困住了?
TextFieldUtils
package com.madsb.utils {
import flash.text.TextField;
import flash.text.TextFormat;
public class TextFieldUtils {
public static function createTextField(x : Number = 0,
y : Number = 0,
width : Number = 100,
height : Number = 100,
text : String = "",
textFormat : TextFormat = null,
multilineWordWrap : Boolean = false,
autoSize : String = "none",
embedFonts : Boolean = true,
antiAliasType : String = "advanced",
selectable : Boolean = false) : TextField {
var tf : TextField = new TextField();
tf.x = x;
tf.y = y;
tf.width = width;
tf.height = height;
tf.embedFonts = embedFonts;
tf.selectable = selectable;
tf.multiline = tf.wordWrap = multilineWordWrap;
tf.autoSize = autoSize;
tf.antiAliasType = antiAliasType;
tf.defaultTextFormat = textFormat;
tf.htmlText = text;
return tf;
}
}
}
尝试使用嵌入字体,方法是将其放入库中(这样,如果计算机上没有安装该字体,人们也可以看到它(并从中创建一个变量。然后将字体设置为该名称(myFormat.font = myFont.fontName;
其中myFormat的名称是TextFormat的名称,myFont是字体的变量名称。
另外,我不确定,但我认为因为"Helvetica Neue LT Std 75 Bold"和"HelveticaNeueLTStd75Bold"不一样(因为一个有空格(,flash可能不明白你指的是哪种字体。