Apache flex 无法绘制值为>;的Unicode字符;Flex中的0xFFFF

Apache flex 无法绘制值为>;的Unicode字符;Flex中的0xFFFF,apache-flex,Apache Flex,我试图从Unicode字体中绘制一个值为0x1d11e的字符(这是Sonata字体中的高音谱号字符) 我在一篇文章中读到,我必须将Unicode字符>0xFFFF转换为使用UTF-16代理项对,但这似乎不起作用 这是我的密码: [Embed(source='C:/WINDOWS/Fonts/SonataStd.otf', fontName="Sonata__", mimeType="application/x-font")] private var font1:Class; public

我试图从Unicode字体中绘制一个值为0x1d11e的字符(这是Sonata字体中的高音谱号字符)

我在一篇文章中读到,我必须将Unicode字符>0xFFFF转换为使用UTF-16代理项对,但这似乎不起作用

这是我的密码:

[Embed(source='C:/WINDOWS/Fonts/SonataStd.otf',
  fontName="Sonata__", mimeType="application/x-font")]
private var font1:Class;


public function draw():void {
  var txt:TextField = new TextField();
  var fmt:TextFormat = new TextFormat("Sonata__", 40);
  var clefChar:uint = 0x1d11e

  var p1:uint = (((clefChar - 0x10000) >> 10) & 0x3ff) + 0xd800;
  var p2:uint = ((clefChar - 0x10000) & 0x3ff ) + 0xdc00;


  txt.text = String.fromCharCode(p1, p2);


  txt.setTextFormat(fmt);
  txt.embedFonts = true;
  addChild(txt);
当我运行这段代码时,不会绘制任何内容。如果我尝试绘制一个2字节的Unicode字符,它会工作

这是在Flex3上,在Flash Player 10上运行

谢谢。

可能的副本