It's a bug ? In New platform font.It is correct?

 

If I set up using this as shown in the figure, apply the regional language to English.bug?

 

But,If I changed the locale language as shown below.It is not right. 

 How is this if i send a program to someone else i can not ask him to change the system settings.

 

Interestingly if I edit the script with the old platform code editor, it will do so. 

 

In fact if you try to edit it again, just click on a sure you will find he will be so.

 

 

 

Is  very interesting ?If i apply the following code to my computer so show.

//+------------------------------------------------------------------+
//|                                                    testASCII.mq4 |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property description "ASCII set code test indicator, which draws all ASCII set characters (include extended ASCII set) and it's codes on label objects."
#define OBJ_PREFIX "ASCII Test #"

input string FontName="Wingdings";
input color FontColor=White;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   ushort code=0;
   string text=" ";
   string name="";
//--- create objects of character image
   for(int y=0;y<16;y++)
      for(int x=0;x<16;x++)
        {
         if(code==0)
            text=" ";
           text =ShortToString(code); //text=CharToStr(code);
        //   Print(text," ",code);
         name=OBJ_PREFIX+(string)code+" Image";
         ObjectCreate(0,name,OBJ_LABEL,0,0,0);
         ObjectSetInteger(0,name,OBJPROP_COLOR,FontColor);
         ObjectSetInteger(0,name,OBJPROP_FONTSIZE,16);
         ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x*70);
         ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y*25);
         ObjectSetString(0,name,OBJPROP_FONT,FontName);
         ObjectSetString(0,name,OBJPROP_TEXT,text);
         code++;      
         }
        
  
        
//--- create objects of character code
   code=0;
   for(  y=0;y<16;y++)
      for( x=0;x<16;x++)
        {
         text=(string)code;
         name=OBJ_PREFIX+(string)code+" Code";
         ObjectCreate(0,name,OBJ_LABEL,0,0,0);
         ObjectSetInteger(0,name,OBJPROP_COLOR,FontColor);
         ObjectSetInteger(0,name,OBJPROP_FONTSIZE,9);
         ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x*70+30);
         ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y*25+5);
         ObjectSetString(0,name,OBJPROP_FONT,"Consolas");
         ObjectSetString(0,name,OBJPROP_TEXT,text);
         code++;
        }
   ChartRedraw();
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- delete objects
   int len=StringLen(OBJ_PREFIX);
   for(int i=ObjectsTotal(0,0,OBJ_LABEL)-1;i>=0;i--)
     {
      string name=ObjectName(0,i,0,OBJ_LABEL);
      if(StringSubstr(name,0,len)==OBJ_PREFIX)
         ObjectDelete(0,name);
     }
   ChartRedraw();
   return;
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime& time[],
                const double& open[],
                const double& high[],
                const double& low[],
                const double& close[],
                const long& tick_volume[],
                const long& volume[],
                const int& spread[])
  {
   return(rates_total);
  }
//+------------------------------------------------------------------+


 

 

 As shown in the figure 0-127 is correct.The other is not right. I think this is caused by the character set encoding.

600 version of the previous is ascii coding, 600 + is followed by unicode.Not just the Wingdings font, other fonts have a similar situation.

Of course, all the cases are in the case of regional languages set to oriental language, but I think the regional language set for

the Western language will also encounter problems that do not recognize oriental language characters .By Google automatically translated.Please understand.

 
no body?