是否可以将 `[Embed source=`... 与 Flash CS3 一起使用?

发布于 2024-09-12 01:31:33 字数 1570 浏览 3 评论 0原文

是否可以使用 AS3 和 Flash CS3 IDE 执行以下操作?仅当在 IDE 中创建 txt TextField 并且删除 txt.embedFonts 行时,以下内容才有效。如果我使用 AS3 而不是使用 IDE 创建 TextField,则这不起作用。通过代码嵌入字体只能在 Flex 中使用吗?

package mtm.EmbedFonts
{
    import flash.display.MovieClip;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.text.AntiAliasType;
    import flash.text.TextFieldAutoSize;

    public class EmbedFonts extends MovieClip
    {
        public var txt:TextField; //References stage instance created in Flash CS3 IDE
        [Embed(source='C:/WINDOWS/Fonts/Arial.TTF', fontName='_Arial', unicodeRange='U+0020-U+002F,U+0030-U+0039,U+003A-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E')]
        protected var format:TextFormat = new TextFormat();

        public function EmbedFonts():void
        {   
            initTextFormat();
            initTextField();
            txt.text = 'Hello World!';
        }

        protected function initTextFormat():void
        {
            format.letterSpacing = 1;
            format.size = 14;
            format.font = "Arial";
        }

        protected function initTextField():void
        {
            txt.multiline = true;
            txt.wordWrap = true;
            txt.border = true;
            txt.selectable = true;
            txt.autoSize = TextFieldAutoSize.LEFT;
            txt.condenseWhite = true;
            txt.embedFonts = true;
            txt.setTextFormat(format);
            txt.antiAliasType = AntiAliasType.ADVANCED;
        }
    }
}

Is it possible to do the following using AS3 and Flash CS3 IDE? The following only works if the txt TextField is created in the IDE and if the txt.embedFonts line is removed. This does not work if I create a TextField with AS3 instead of using the IDE. Is embedding a font via code only available in Flex?

package mtm.EmbedFonts
{
    import flash.display.MovieClip;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.text.AntiAliasType;
    import flash.text.TextFieldAutoSize;

    public class EmbedFonts extends MovieClip
    {
        public var txt:TextField; //References stage instance created in Flash CS3 IDE
        [Embed(source='C:/WINDOWS/Fonts/Arial.TTF', fontName='_Arial', unicodeRange='U+0020-U+002F,U+0030-U+0039,U+003A-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E')]
        protected var format:TextFormat = new TextFormat();

        public function EmbedFonts():void
        {   
            initTextFormat();
            initTextField();
            txt.text = 'Hello World!';
        }

        protected function initTextFormat():void
        {
            format.letterSpacing = 1;
            format.size = 14;
            format.font = "Arial";
        }

        protected function initTextField():void
        {
            txt.multiline = true;
            txt.wordWrap = true;
            txt.border = true;
            txt.selectable = true;
            txt.autoSize = TextFieldAutoSize.LEFT;
            txt.condenseWhite = true;
            txt.embedFonts = true;
            txt.setTextFormat(format);
            txt.antiAliasType = AntiAliasType.ADVANCED;
        }
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤芳又自赏 2024-09-19 01:31:33

遗憾的是,[Embed] 元标记仅在 Flex 中可用。

The [Embed] metatag is only available in Flex sadly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文