Можно ли интегрировать шрифт с свою ex5 программу? И если можно то как это сделать?

 

К сожалению документация по данному вопросу неоднозначна. С одной стороны в документации по функции TextSetFont есть интригующее примечание:

Примечание

Если в имени шрифта используется "::", то шрифт загружается из ресурса EX5. Если имя шрифта name указано с расширением, то шрифт загружается из файла, при этом – если путь начинается с "\" или "/", то файл ищется относительно каталога MQL5, иначе ищется относительно пути EX5-файла, вызвавшего функцию TextSetFont().

С другой стороны, в справке по включаемым ресурсам нет ни слова о том, что наряду с картинками и звуками можно интегрировать свои шрифты:

Для работы mql5-программы может потребоваться множество разнообразных загружаемых ресурсов в виде файлов изображений и звуков...

Я попробывал включить шрифт как ресурс по аналогии с картинками и звуками, однако у меня ничего не вышло.

Мое приложение использует различные шрифты для эмитации пользовательского графического интерфейса и мне очень важно единое представление шрифтов на всех машинах пользователей. К тому же когда шрифт зашит внутрь ex5 программы, исчезает необходимость в лицензировании шрифтов, ведь не все шрифты являются свободно распространяемыми. Ведь не совсем ясно на каком основании пользователь будет устанавливать шрифты со сторонних ресурсов, только что бы внешний вид программы соответствовал задумке автора. 

 
Добавление шрифта в ресурсы в планах.
 
В Windows перед использованием шрифта его необходимо установить через панель управления -> шрифты. Затем его можно использовать.
 
Ilyas:
Добавление шрифта в ресурсы в планах.
@Ilyas, как насчёт этих планов? Три года прошло. Есть подвижки?
 
Да, да, что с шрифтами ???
 
Vladimir Pastushak:
Да, да, что с шрифтами ???
Сделали
 
Slawa:
Сделали
Когда ??? В текущих версии МТ 4 / 5 или в следующей ??? И как подключить там же несколько файлов с ttf ??
 
MT5, билд 1510

//+------------------------------------------------------------------+
//|                                                         Font.mq5 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property script_show_inputs
#resource "\\Files\\a_LCDNova3DCmObl.ttf"

#include <Canvas\Canvas.mqh>
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
input string InpMessage="Hello world!";   // message
input uint   InpSeconds=10;               // time in seconds
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   ChartSetInteger(0,CHART_SHOW,0);
  
   CCanvas graph;
  
   graph.CreateBitmapLabel(0,0,"FONT",10,30,1320,200,COLOR_FORMAT_ARGB_NORMALIZE);
   graph.FontSet("::Files\\a_LCDNova3DCmObl.ttf",-240);
  
   uint timeout=GetTickCount()+InpSeconds*1000;
  
   while(!IsStopped())
     {
      graph.Erase(0);
      graph.TextOut(0,0,InpMessage + " ("+string((timeout-GetTickCount())/1000)+")",XRGB(255,255,255));
      graph.Update();
      
      if(GetTickCount()>timeout)
         break;
     }
    
   graph.Destroy();
  
   ChartSetInteger(0,CHART_SHOW,1);
  }
//+------------------------------------------------------------------+

Результат:


Архив со шрифтом необходимо распаковать в папку MQL5\Files
Устанавливать шрифт не нужно.

Файлы:
 
Slawa:
Сделали
@Slawa А будет такое же для МТ4?
 
А можно ли подключать ресурсы для продуктов, предназначенных для маркета? В МТ4, например, ничего нельзя include, в маркет не пропускает. 
 
Evgeniy Zhdan:
А можно ли подключать ресурсы для продуктов, предназначенных для маркета? В МТ4, например, ничего нельзя include, в маркет не пропускает. 
Так include и resource - разные вещи. Ресурсом можно, маркет пропускает. Но не всякий файл можно подключить ресурсом, ДЛЛ нельзя, например.
Причина обращения: