Download MetaTrader 5

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

To add comments, please log in or register
8502596
69
8502596  

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.

8502596
69
8502596  
no body?
To add comments, please log in or register