【问题标题】:Flex 4: detect unsupported glyphs (non-embedded fonts)Flex 4:检测不支持的字形(非嵌入字体)
【发布时间】:2012-02-29 20:45:24
【问题描述】:

我的应用执行以下操作:

  1. 枚举客户端计算机上安装的字体,并用它们填充下拉列表
  2. 呈现带有特殊字符(如 äöü)的 s:TextArea
  3. 将 TextArea 的字体系列更新为下拉列表中选择的字体系列

更新后,似乎有三种可能的结果:正确的字形、空格或设备字体中的后备字形(似乎是 _serif,尽管 CSS 样式是 _typewriter)。 我的目标是以编程方式检测设备字体是否支持所选用户字体中的所有字形。

我尝试过 getBounds 对各种子级(以检测 0 宽度等),获取有关原子的信息,并将 fontFamily 的正确字形与 fontFamily 的空白或后备字形进行比较。对于调度 UpdateCompleteEvent 或 CompositionCompleteEvent 的格式更改,我总是在它完成后进行检查。

还有其他方法可以解决这个问题,还是我错过了什么?

谢谢。

【问题讨论】:

    标签: apache-flex fonts flex4


    【解决方案1】:

    【讨论】:

    • hasGlyphs 看起来很有希望,但我如何从 enumerateFonts(true) 创建字体实例?我不使用嵌入字体。
    • 查看文档底部的cmets,有人说它不适用于设备字体,关于如何加载字体,看起来你可以使用加载器,更多信息在这里:labs.tomasino.org/2009/07/16/flash-as3-runtime-font-manager
    • 这些仍然是需要显式嵌入的字体,对吧?我正在阅读客户端计算机上的设备字体列表。
    • 我认为它是基于这个位的嵌入式和设备字体:_enumerated = Font.enumerateFonts(true);
    • 啊回想起来我可能错了,看起来你是对的发布。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-07
    • 1970-01-01
    • 2019-12-27
    • 2012-07-31
    相关资源
    最近更新 更多