字体未显示项目符号

时间:2010-03-08 12:49:54

标签: flex actionscript-3 flex3

我使用embed元标记嵌入了我的字体,整个Unicode字符范围......这里是我的CustomTextField类:

    [Embed(source='../assets/fonts/Arial.ttf',fontName='CustomFont',fontWeight='regular',
        unicodeRange='U+0020-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E,U+0080-U+00FF,U+0100-U+017F,U+0400-U+04FF,U+0370-U+03FF,U+1E00-U+1EFF',
        mimeType='application/x-font-truetype'
        )]
    public static var MY_FONT:Class;
    [Embed(source='../assets/fonts/Arial Bold.ttf',fontName='CustomFont',fontWeight='bold',
        unicodeRange='U+0020-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E,U+0080-U+00FF,U+0100-U+017F,U+0400-U+04FF,U+0370-U+03FF,U+1E00-U+1EFF',
        mimeType='application/x-font-truetype'
        )]
    public static var MY_FONT_BOLD:Class;

    public static const DEFAULT_FONT:String = "CustomFont";
    public static const DEFAULT_TEXT_COLOUR:int = 0x000000;
    public static const DEFAULT_TEXT_SIZE:int = 14;

    private var _tf:TextFormat = new TextFormat(DEFAULT_FONT, DEFAULT_TEXT_SIZE, DEFAULT_TEXT_COLOUR);

    public function CustomTextField():void
    {
        Font.registerFont(CustomTextField.MY_FONT);
        Font.registerFont(CustomTextField.MY_FONT_BOLD);    

        _tf.size = 16;

        antiAliasType = AntiAliasType.ADVANCED;
        sharpness = 0;
        defaultTextFormat = _tf;
        autoSize = TextFieldAutoSize.LEFT;
        embedFonts = true;
    }

    public override function set htmlText(value:String):void
    {
        super.htmlText = value;
        setTextFormat(_tf);
    }

出于某种原因,使用<li>标签会完美地使用文本,但我没有看到任何要点。字体只是标准的Arial,因此不是字体缺少子弹字符的情况。

有没有人知道为什么Flex没有显示子弹点字符?

2 个答案:

答案 0 :(得分:1)

我认为BULLET角色是U + 2022 ...尝试在你的unicodeRange中包含它。

答案 1 :(得分:0)

我有同样的问题,我放了一系列“U + 2019-U + 2022”,它解决了我的问题。

谢谢!