今天早上我花了很多时间尝试在整个网站中找到的多种解决方案,但不幸的是,他们中没有一个真正起作用。这是问题。我相信我的字体嵌入过程是有效的,因为我故意从我的机器中删除了字体,并且我看到它们出现在flash播放器中。但是,它们不会显示在我们的Windows测试机器上(无论是IE还是FF),我似乎无法弄清楚为什么。正如我所提到的,我尝试了整个网站中找到的几个解决方案,但它似乎没有什么区别。这里是类和构造的节选,我已经建立:AS3和IE中的嵌入字体:语法是否正确?
public class MyClass {
[Embed(source = "../../fonts/DroidSans.ttf",
fontName = "DroidSans",
mimeType = "application/x-font-truetype",
fontWeight = "normal",
fontStyle = "normal",
unicodeRange = "U+0041-U+005A, U+0061-U+007A, U+0030-U+0039, U+002E-U+002E",
embedAsCFF = "false")]
private var droidSansFont:Class;
[Embed(source = "../../fonts/DroidSans-Bold.ttf",
fontName = "DroidSansBold",
mimeType = "application/x-font-truetype",
fontWeight = "normal",
fontStyle = "normal",
unicodeRange = "U+0041-U+005A, U+0061-U+007A, U+0030-U+0039, U+002E-U+002E",
embedAsCFF = "false")]
private var droidSansBoldFont:Class;
.
.
.
public function MyClass() {
_flVersion = String(flash.system.Capabilities.version);
_baseFont = (_flVersion.indexOf("10,") != -1) ? "Arial" : "DroidSans";
_boldFont = (_flVersion.indexOf("10,") != -1) ? "Arial" : "DroidSansBold";
buttonFormat = new TextFormat();
buttonFormat.font = _baseFont;
buttonFormat.size = 10;
buttonFormat.color = 0x000000;
buttonFormat.bold = false;
buttonFormat.align = "center";
.
.
.
}
}
如果任何人都可以提供一个解决方案或点我在正确的方向,这将是最有帮助的。
所以只是一个快速更新;似乎字体嵌入在我测试的任何浏览器中都不起作用(即代码完全失败)。 – 2012-02-21 16:16:00
你在TextField上设置embedFonts = true吗?版本10测试有什么?你只使用Flash Player 10的嵌入式字体? (但要小心这个测试 - 它可以匹配版本12,10,115) – 2012-02-21 17:05:53
该死,我没有设置embedFont = true。我错误地认为这不是必需的。让我尝试一下。 – 2012-02-22 13:47:44