Highlighted

Chinese characters are displayed as blank box on the TextField in Taiwan Android 4.4.2/AIR4.0

New Here ,
Feb 27, 2014

Copy link to clipboard

Copied

Chinese characters are displayed as blank box on the TextField in Taiwan Android 4.4.2/AIR4.0, such as Nexus7, HTC One,  but in mainland China Nexus7(Android 4.4.2/AIR4.0) showed normal

AIR SDK is 4.0.0.1628.

Hope it can be fixed as soon as possible.

Here is test code:

package

{

          import flash.display.Sprite;

          import flash.display.StageAlign;

          import flash.display.StageScaleMode;

          import flash.text.Font;

          import flash.text.TextField;

          import flash.text.TextFieldAutoSize;

          import flash.text.TextFormat;

 

          public class TestFont extends Sprite

          {

 

                    public function TestFont()

                    {

 

                              stage.scaleMode = StageScaleMode.NO_SCALE;

                              stage.align = StageAlign.TOP_LEFT;

 

                              var sprite:Sprite = new Sprite();

 

                              var value1:String = "简体中文测试";

                              var value2:String = "繁體中文測試";

 

                              var txt11:TextField = createTextField(null, "11 "+value1);

                              txt11.x = 10;

                              txt11.y = 10;

                              sprite.addChild(txt11);

 

                              var txt12:TextField = createTextField(null, "12 "+value2);

                              txt12.x = txt11.x + txt11.width;

                              txt12.y = txt11.y;

                              sprite.addChild(txt12);

                              ///

                              var txt21:TextField = createTextField("STHeitiTC-Medium","21 "+value1);

                              txt21.x = 10;

                              txt21.y = txt11.y + txt11.height;

                              sprite.addChild(txt21);

                              var txt22:TextField = createTextField("MSYH","22 "+value2);

                              txt22.x = txt21.x + txt21.width;

                              txt22.y = txt21.y;

                              sprite.addChild(txt22);

                              var lastY:int = txt22.y + txt22.height;

                              var fonts:Array = Font.enumerateFonts(true);

 

                              var index:int = 0;

                              for each (var font1:Font in fonts)

                              {

                                        index++;

                                        var txtF:TextField = createTextField(font1.fontName, index + "/" + fonts.length + " " + font1.fontName + " "+value1 +" " + value2);

                                        txtF.x = 10;

                                        txtF.y = lastY;

                                        sprite.addChild(txtF);

 

                                        lastY += txtF.height;

                              }

 

                              addChild(sprite);

 

                    }

 

                    public function createTextField(font:String, value:String):TextField{

                              var txt:TextField = new TextField();

                              txt.autoSize = TextFieldAutoSize.LEFT;

 

                              var format:TextFormat = new TextFormat();

                              if(font != null){

                                        format.font = font;

                                        txt.defaultTextFormat = format;

                                        txt.setTextFormat(format);

                              }

 

                              txt.text = value;

                              var dformat:TextFormat = txt.defaultTextFormat;

                              if(dformat != null){

                                        txt.text = value + " |" + dformat.font;

                              }

 

                              if(font != null){

                                        txt.setTextFormat(format);

                              }

 

                              return txt;

                    }

          }

}

TOPICS
Performance issues

Views

505

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

Chinese characters are displayed as blank box on the TextField in Taiwan Android 4.4.2/AIR4.0

New Here ,
Feb 27, 2014

Copy link to clipboard

Copied

Chinese characters are displayed as blank box on the TextField in Taiwan Android 4.4.2/AIR4.0, such as Nexus7, HTC One,  but in mainland China Nexus7(Android 4.4.2/AIR4.0) showed normal

AIR SDK is 4.0.0.1628.

Hope it can be fixed as soon as possible.

Here is test code:

package

{

          import flash.display.Sprite;

          import flash.display.StageAlign;

          import flash.display.StageScaleMode;

          import flash.text.Font;

          import flash.text.TextField;

          import flash.text.TextFieldAutoSize;

          import flash.text.TextFormat;

 

          public class TestFont extends Sprite

          {

 

                    public function TestFont()

                    {

 

                              stage.scaleMode = StageScaleMode.NO_SCALE;

                              stage.align = StageAlign.TOP_LEFT;

 

                              var sprite:Sprite = new Sprite();

 

                              var value1:String = "简体中文测试";

                              var value2:String = "繁體中文測試";

 

                              var txt11:TextField = createTextField(null, "11 "+value1);

                              txt11.x = 10;

                              txt11.y = 10;

                              sprite.addChild(txt11);

 

                              var txt12:TextField = createTextField(null, "12 "+value2);

                              txt12.x = txt11.x + txt11.width;

                              txt12.y = txt11.y;

                              sprite.addChild(txt12);

                              ///

                              var txt21:TextField = createTextField("STHeitiTC-Medium","21 "+value1);

                              txt21.x = 10;

                              txt21.y = txt11.y + txt11.height;

                              sprite.addChild(txt21);

                              var txt22:TextField = createTextField("MSYH","22 "+value2);

                              txt22.x = txt21.x + txt21.width;

                              txt22.y = txt21.y;

                              sprite.addChild(txt22);

                              var lastY:int = txt22.y + txt22.height;

                              var fonts:Array = Font.enumerateFonts(true);

 

                              var index:int = 0;

                              for each (var font1:Font in fonts)

                              {

                                        index++;

                                        var txtF:TextField = createTextField(font1.fontName, index + "/" + fonts.length + " " + font1.fontName + " "+value1 +" " + value2);

                                        txtF.x = 10;

                                        txtF.y = lastY;

                                        sprite.addChild(txtF);

 

                                        lastY += txtF.height;

                              }

 

                              addChild(sprite);

 

                    }

 

                    public function createTextField(font:String, value:String):TextField{

                              var txt:TextField = new TextField();

                              txt.autoSize = TextFieldAutoSize.LEFT;

 

                              var format:TextFormat = new TextFormat();

                              if(font != null){

                                        format.font = font;

                                        txt.defaultTextFormat = format;

                                        txt.setTextFormat(format);

                              }

 

                              txt.text = value;

                              var dformat:TextFormat = txt.defaultTextFormat;

                              if(dformat != null){

                                        txt.text = value + " |" + dformat.font;

                              }

 

                              if(font != null){

                                        txt.setTextFormat(format);

                              }

 

                              return txt;

                    }

          }

}

TOPICS
Performance issues

Views

506

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Feb 27, 2014 0
Feb 27, 2014

Copy link to clipboard

Copied

Hi BanyLee,

I tried on Nexus 7 with OS 4.4.2 by changing device locale to Taiwan(zh_TW) but could not replicate the issue.

Thanks,

Ankit

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Feb 27, 2014 0
BanyLee LATEST
New Here ,
Feb 27, 2014

Copy link to clipboard

Copied

I am in mainland China, my Nexus7 can display chinese characters, but my friend in Taiwan, his android4.4.2 display chinese characters as blank.

I don't understand the reason.

By the way, TextFormat.font don't work, whatever I set any fonts, display are the same.

My screenshots:

Screenshot_2014-02-28-11-43-05.png

Taiwan's screenshots:

QQ图片20140228114434.jpg

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Feb 27, 2014 0