//+------------------------------------------------------------------+
//|                                                        Fonts.mqh |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Класс для работы с шрифтом                                       |
//+------------------------------------------------------------------+
class CFonts
  {
private:
   //--- Массив шрифотов
   string            m_fonts[];
   //---
public:
                     CFonts(void);
                    ~CFonts(void);
   //--- Возвращает количество шрифтов
   int               FontsTotal(void) const { return(::ArraySize(m_fonts)); }
   //--- Возвращает шрифт по индексу
   string            FontsByIndex(const uint index);
   //---
private:
   //--- Инициализация массива шрифтов
   void              InitializeFontsArray(void);
  };
//+------------------------------------------------------------------+
//| Constructor                                                      |
//+------------------------------------------------------------------+
CFonts::CFonts(void)
  {
//--- Инициализация массива шрифтов
   InitializeFontsArray();
  }
//+------------------------------------------------------------------+
//| Destructor                                                       |
//+------------------------------------------------------------------+
CFonts::~CFonts(void)
  {
   ::ArrayFree(m_fonts);
  }
//+------------------------------------------------------------------+
//| Возвращает шрифт по индексу                                      |
//+------------------------------------------------------------------+
string CFonts::FontsByIndex(const uint index)
  {
//--- Размер массива
   uint array_size=FontsTotal();
//--- Корректировка в случае выхода из диапазона
   uint i=(index>=array_size)? array_size-1 : index;
//--- Вернуть шрифт
   return(m_fonts[i]);
  }
//+------------------------------------------------------------------+
//| Инициализация массива шрифтов                                    |
//+------------------------------------------------------------------+
void CFonts::InitializeFontsArray(void)
  {
   ::ArrayResize(m_fonts,187);
   m_fonts[0]="@Malgun Gothic";
   m_fonts[1]="@Malgun Gothic Semilight";
   m_fonts[2]="@Microsoft JhengHei";
   m_fonts[3]="@Microsoft JhengHei Light";
   m_fonts[4]="@Microsoft JhengHei UI";
   m_fonts[5]="@Microsoft JhengHei UI Light";
   m_fonts[6]="@Microsoft YaHei";
   m_fonts[7]="@Microsoft YaHei Light";
   m_fonts[8]="@Microsoft YaHei UI";
   m_fonts[9]="@Microsoft YaHei UI Light";
//---
   m_fonts[10]="@MingLiU_HKSCS-ExtB";
   m_fonts[11]="@MingLiU-ExtB";
   m_fonts[12]="@MS Gothic";
   m_fonts[13]="@MS PGothic";
   m_fonts[14]="@MS UI Gothic";
   m_fonts[15]="@NSimSun";
   m_fonts[16]="@PMingLiU-ExtB";
   m_fonts[17]="@SimSun";
   m_fonts[18]="@SimSun-ExtB";
   m_fonts[19]="@Yu Gothic";
//---
   m_fonts[20]="@Yu Gothic Light";
   m_fonts[21]="@Yu Gothic Medium";
   m_fonts[22]="@Yu Gothic UI";
   m_fonts[23]="@Yu Gothic UI Light";
   m_fonts[24]="@Yu Gothic UI Semibold";
   m_fonts[25]="@Yu Gothic UI Semilight";
   m_fonts[26]="Algerian";
   m_fonts[27]="Arial";
   m_fonts[28]="Arial Black";
   m_fonts[29]="Arial Narrow";
//---
   m_fonts[30]="Baskerville Old Face";
   m_fonts[31]="Bauhaus 93";
   m_fonts[32]="Bell MT";
   m_fonts[33]="Berlin Sans FB";
   m_fonts[34]="Berlin Sans FB Demi";
   m_fonts[35]="Bernard MT Condensed";
   m_fonts[36]="Bodoni MT Poster Compressed";
   m_fonts[37]="Book Antiqua";
   m_fonts[38]="Bookman Old Style";
   m_fonts[39]="Bookshelf Symbol 7";
//---
   m_fonts[40]="Britannic Bold";
   m_fonts[41]="Broadway";
   m_fonts[42]="Brush Script MT";
   m_fonts[43]="Calibri";
   m_fonts[44]="Calibri Light";
   m_fonts[45]="Californian FB";
   m_fonts[46]="Cambria";
   m_fonts[47]="Cambria Math";
   m_fonts[48]="Candara";
   m_fonts[49]="Centaur";
//---
   m_fonts[50]="Century";
   m_fonts[51]="Century Gothic";
   m_fonts[52]="Chiller";
   m_fonts[53]="Colonna MT";
   m_fonts[54]="Comic Sans MS";
   m_fonts[55]="Consolas";
   m_fonts[56]="Constantia";
   m_fonts[57]="Cooper Black";
   m_fonts[58]="Corbel";
   m_fonts[59]="Courier";
//---
   m_fonts[60]="Courier New";
   m_fonts[61]="Ebrima";
   m_fonts[62]="Fixedsys";
   m_fonts[63]="Footlight MT Light";
   m_fonts[64]="Franklin Gothic Medium";
   m_fonts[65]="Freestyle Script";
   m_fonts[66]="Gabriola";
   m_fonts[67]="Gadugi";
   m_fonts[68]="Garamond";
   m_fonts[69]="Georgia";
//---
   m_fonts[70]="Harlow Solid Italic";
   m_fonts[71]="Harrington";
   m_fonts[72]="High Tower Text";
   m_fonts[73]="Impact";
   m_fonts[74]="Informal Roman";
   m_fonts[75]="Javanese Text";
   m_fonts[76]="Jokerman";
   m_fonts[77]="Juice ITC";
   m_fonts[78]="Kristen ITC";
   m_fonts[79]="Kunstler Script";
//---
   m_fonts[80]="Leelawadee UI";
   m_fonts[81]="Leelawadee UI Semilight";
   m_fonts[82]="Lucida Bright";
   m_fonts[83]="Lucida Calligraphy";
   m_fonts[84]="Lucida Console";
   m_fonts[85]="Lucida Fax";
   m_fonts[86]="Lucida Handwriting";
   m_fonts[87]="Lucida Sans Unicode";
   m_fonts[88]="Magneto";
   m_fonts[89]="Malgun Gothic";
//---
   m_fonts[90]="Malgun Gothic Semilight";
   m_fonts[91]="Marlett";
   m_fonts[92]="Matura MT Script Capitals";
   m_fonts[93]="Microsoft Himalaya";
   m_fonts[94]="Microsoft JhengHei";
   m_fonts[95]="Microsoft JhengHei Light";
   m_fonts[96]="Microsoft JhengHei UI";
   m_fonts[97]="Microsoft JhengHei UI Light";
   m_fonts[98]="Microsoft New Tai Lue";
   m_fonts[99]="Microsoft PhagsPa";
//---
   m_fonts[100]="Microsoft Sans Serif";
   m_fonts[101]="Microsoft Tai Le";
   m_fonts[102]="Microsoft Uighur";
   m_fonts[103]="Microsoft YaHei";
   m_fonts[104]="Microsoft YaHei Light";
   m_fonts[105]="Microsoft YaHei UI";
   m_fonts[106]="Microsoft YaHei UI Light";
   m_fonts[107]="Microsoft Yi Baiti";
   m_fonts[108]="MingLiU_HKSCS-ExtB";
   m_fonts[109]="MingLiU-ExtB";
//---
   m_fonts[110]="Mistral";
   m_fonts[111]="Modern";
   m_fonts[112]="Modern No. 20";
   m_fonts[113]="Mongolian Baiti";
   m_fonts[114]="Monotype Corsiva";
   m_fonts[115]="MS Gothic";
   m_fonts[116]="MS PGothic";
   m_fonts[117]="MS Reference Sans Serif";
   m_fonts[118]="MS Reference Specialty";
   m_fonts[119]="MS Sans Serif";
//---
   m_fonts[120]="MS Serif";
   m_fonts[121]="MS UI Gothic";
   m_fonts[122]="MT Extra";
   m_fonts[123]="MV Boli";
   m_fonts[124]="Myanmar Text";
   m_fonts[125]="Niagara Engraved";
   m_fonts[126]="Niagara Solid";
   m_fonts[127]="Niagara UI";
   m_fonts[128]="Niagara UI Semilight";
   m_fonts[129]="NSimSun";
//---
   m_fonts[130]="Old English Text MT";
   m_fonts[131]="Onix";
   m_fonts[132]="Palatino Linotype";
   m_fonts[133]="Parchment";
   m_fonts[134]="Playbill";
   m_fonts[135]="PMingLiU-ExtB";
   m_fonts[136]="Poor Richard";
   m_fonts[137]="Ravie";
   m_fonts[138]="Roman";
   m_fonts[139]="Script";
//---
   m_fonts[140]="Segoe MDL2 Assets";
   m_fonts[141]="Segoe Print";
   m_fonts[142]="Segoe Script";
   m_fonts[143]="Segoe UI";
   m_fonts[144]="Segoe UI Black";
   m_fonts[145]="Segoe UI Emoji";
   m_fonts[146]="Segoe UI Historic";
   m_fonts[147]="Segoe UI Light";
   m_fonts[148]="Segoe UI Semibold";
   m_fonts[149]="Segoe UI Semilight";
//---
   m_fonts[150]="Segoe UI Symbol";
   m_fonts[151]="Showcard Gothic";
   m_fonts[152]="SimSun";
   m_fonts[153]="SimSun-ExtB";
   m_fonts[154]="Sitka Banner";
   m_fonts[155]="Sitka Display";
   m_fonts[156]="Sitka Heading";
   m_fonts[157]="Sitka Small";
   m_fonts[158]="Sitka Subheading";
   m_fonts[159]="Sitka Text";
//---
   m_fonts[160]="Small Fonts";
   m_fonts[161]="Snap ITC";
   m_fonts[162]="Stencil";
   m_fonts[163]="Sylfaen";
   m_fonts[164]="Symbol";
   m_fonts[165]="System";
   m_fonts[166]="Tahoma";
   m_fonts[167]="Tempus Sans ITC";
   m_fonts[168]="Terminal";
   m_fonts[169]="Times New Roman";
//---
   m_fonts[170]="Trebuchet MS";
   m_fonts[171]="Verdana";
   m_fonts[172]="Viner Hand ITC";
   m_fonts[173]="Vivaldi";
   m_fonts[174]="Vladimir Script";
   m_fonts[175]="Webdings";
   m_fonts[176]="Wide Latin";
   m_fonts[177]="Wingdings";
   m_fonts[178]="Wingdings 2";
   m_fonts[179]="Wingdings 3";
//---
   m_fonts[180]="Yu Gothic";
   m_fonts[181]="Yu Gothic Light";
   m_fonts[182]="Yu Gothic Medium";
   m_fonts[183]="Yu Gothic UI";
   m_fonts[184]="Yu Gothic UI Light";
   m_fonts[185]="Yu Gothic UI Semibold";
   m_fonts[186]="Yu Gothic UI Semilight";
  }
//+------------------------------------------------------------------+
