Skip navigation
Currently Being Moderated

Not all chinese characters display correctly with non-embedded text

Jan 21, 2010 3:14 AM

Hi all,

 

  I've updated to the last beta 2 of Flash Player 10.1 (10,1,51,66) and compiled this simple Flex application to illustrate the fact that not all chinese characters can be displayed correctly with non-embedded text (device font).

 


<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/halo" 
               minWidth="1024" minHeight="768"
               creationComplete="resourceManager.localeChain = ['zh_CN'];"
               layout="{new VerticalLayout()}">            
    <fx:Script>
        <![CDATA[
            import spark.layouts.VerticalLayout;
        ]]>
    </fx:Script>
    <s:Label text="伜-伞伟传伡伢伣伤伥伦伧伨伩伪伫伬伭-伝">

    </s:Label>
    <mx:Label text="伜-伞伟传伡伢伣伤伥伦伧伨伩伪伫伬伭-伝"/>        
</s:Application>



 

  Notice that characters from the Unicode range 0x4F1E .. 0x4А2D are not displayed within <s:Label> component that uses Flash Text Engine (FTE) by default to display the text, but at the same time those characters display just fine within older <mx:Label> component that relies on flash.text.TextField instance to render the text.

 
Replies
  • Currently Being Moderated
    Jan 21, 2010 1:56 PM   in reply to JabbyPandaUA

    When I compile your code with a relatively recent Flash Builder 4.0 install and open in 10.1 beta 2, I see both labels with the same glyphs. Could you give a picture of your results?

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 22, 2010 11:49 AM   in reply to JabbyPandaUA

    OK - I can see the problem in XP. In Vista, Win 7 and the Mac it renders correctly. I'm asking around why font fallback isn't working in this case for XP.

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 22, 2010 12:11 PM   in reply to Alan Stearns

    Do you have simsun.ttf in your C:\WINDOWS\fonts directory? The new FTE font fallback feature expects to be able to use that font, which appears on the list of fonts installed in XP here: http://www.microsoft.com/typography/fonts/winxp.htm.

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 25, 2010 9:42 AM   in reply to JabbyPandaUA

    I've forwarded this problem to the person in control of the Player fallback list. He's investigating whether we could use one of the fonts in the minimal XP install instead of simsun.ttf.

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 26, 2010 5:26 PM   in reply to Alan Stearns

    It turns out that the minimum XP install does not include any fonts that we could use to display those glyphs. My own XP install included Office, so it had Arial Unicode MS, which looks like the only font the FP9 text could have been drawn with.

     

    Could you post a list of your fonts (and their sizes)? The result of a "dir" command on your c:\Windows\Fonts directory would give us the information we need.

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 27, 2010 10:26 AM   in reply to JabbyPandaUA

    Adding Arial Unicode MS to your font family list is probably the way to go - and it's likely that a substantial portion of the 37.5% that do not have that font and are interested in viewing Chinese text will have East Asian language support enabled. So they would be able to view the text in SimSun.

     
    |
    Mark as:
  • Currently Being Moderated
    Feb 3, 2010 7:56 AM   in reply to JabbyPandaUA

    Another thing to check is to make sure you have supplemental language support installed. Go to Control Panel > Regional and Language Options > Languages (tab) and check the box for Install files for East Asian languages. Hope this helps.

     

    Marc

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (1)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points