Когда же наконец можно будет интегрировать свои шрифты в MQL программу (или странная ошибка у китайского пользователя)

 

Уже второй раз вынужден поднимать тему интеграции шрифтов в MQL программу. Первый раз поднял этот вопрос более года назад. В итоге, воз и ныне там. Но все бы ничего, как вдруг позавчера со мной связался пользователь моего продукта из Китая. Привожу наш диалог:

guguqiaqia:

hi,

in demo название_панели pannel ,how to close a order ?

no sign "x" .

 

Я удивился, увидев на его скриншоте символов, которых быть не должно (пишущая рука). А должно быть вот так:

 

Возможно, подумал я,  шрифт wingdings (который кстати является системным) установлен не тот, или его нет вовсе. Я ему написал следующее: 

If you have "Wingdings" check it in character map:

 

Selected icon must have code 0xFB and 0xFC. If at these places the other icons, uninstall the wingdings font and install true wingdings font (attach in  this message). This should help:) 

На что он ответил мне, что шрифт Wingdings у него в системе имеется, и более того, он в точности соответствует моему:

thanks so much.

but,the problem still exists. My computer already installed "Wingdings" .Selected icon have code 0xFB and 0xFC

I suspec the demo version of the reason,right ?

 

 Здесь я попал в прострацию. Увидев что символы соответствуют, я полез в исходный код панели, что бы убедиться что ошибки нет:

if(TableType() == TABLE_POSACTIVE)
{
    element = new Line(el.Name(), GetPointer(this));
    element.AlignType(LINE_ALIGN_CELLBUTTON);
    Label* profit = new Label(el.Name(), element);
            
    profit.BorderColor(Settings.ColorTheme.GetSystemColor2());
    comby.value = profit;
    ButtonClosePos* btnClose = new ButtonClosePos("btnClosePos.", element);
    btnClose.BorderColor(Settings.ColorTheme.GetSystemColor2());
    btnClose.Font("Wingdings");
    btnClose.FontSize(12);
    btnClose.Text(CharToString(251));
    element.Add(profit);
    element.Add(btnClose);
    element.OptimalWidth(el.OptimalWidth());
    element.ConstWidth(el.ConstWidth());
    comby.element = element;
}

 Видно, что устанавливается шрифт Wingdings и символ под номером 251 или FB или значок крестика. Но его у нашего китайского друга нет. А есть непонятный символ 0x3F из этого же замечу шрифта (пишущая рука).

Данное поведение встречается впервые, на машинах других пользователей выявлено не было. На моем компьютере также не проявляется. Возможно проблема именно в китайской windows. Но с другой стороны, почему эти проблемы должны решать разработчики приложений для маркета и нести репутационные издержки? Почему наконец не сделать в общем-то простую вещь: наконец-то интегрировать шрифты в mql программу, оградив разработчика от подобных неприятных разбирательств с заказчиками?

Я не знаю что мне сказать этому китайскому пользователю и как исправить его не воспроизводящийся у меня баг. Если кто-то сможет помочь советом - буду признателен.  

 
Vasiliy Sokolov:

...

Если кто-то сможет помочь советом - буду признателен. 

Отказаться от Wingdings. Использовать в таких случаях картинки.
 
Anatoli Kazharski:
Отказаться от Wingdings. Использовать в таких случаях картинки.
Да, это ИМХО лучшее решение. Сделал у себя именно так, поскольку были глюки с этим шрифтом.
 
Anatoli Kazharski:
Отказаться от Wingdings. Использовать в таких случаях картинки.

Сразу же перейду на картинки, как только их можно будет:

  • Свободно масштабировать
  • Динамически менять цвет, в т.ч. подложки 
  • Компактно хранить

Также кому-нибудь придется переписать (абсолютно бесплатно естественно), для меня мой движок панели, что бы я смог не затрачивая усилий перейти на картинки.
 
Vasiliy Sokolov:

Также кому-нибудь придется переписать (абсолютно бесплатно естественно), для меня мой движок панели, что бы я смог не затрачивая усилий перейти на картинки.

Разве пользователи Вам не платят за Ваш продукт? )

 
Alexandr Bryzgalov:

Разве пользователи Вам не платят за Ваш продукт? )

Платят и...?
 
По поводу перехода на картинки добавлю, что по мимо wingdings в панели используется жирное написание. По непонятным причинам, в mql нет возможности установить жирность и наклон шрифта, поэтому приходится использовать специальный шрифт Arial MT Bold. Потенциально, завтра ко мне может обратится кто-то, у кого этот шрифт будет также отображаться некорректно. Можно конечно и его попытаться лепить из какой-нибудь картинки, как советуют здесь (во жесть-то будет), но гораздо проще и эффективнее писать именно шрифтом. Иными словами, от использования шрифтов, ну никуда не деться. Без картинок обойтись можно, а без шрифтов нет. Потому что MetaTrader 5 - это терминал для трейдинга, где используются различные таблицы, графики и текст. Так может быть наладить работу со шрифтами на 100%, а не пытаться вести МТ5 в сторону Photoshop (как некоторые к слову, это делают:)
 
Vasiliy Sokolov:
Платят и...?

Ну Вы говорите что Вам нужно бесплатно переписать движок, думаю почему же бесплатно, ведь продукт платный,

т.е. получится за счёт пользователей которые купили продукт и которые хотят что бы продукт работал нормально.

 
Vasiliy Sokolov:
По поводу перехода на картинки добавлю, что по мимо wingdings в панели используется жирное написание. По непонятным причинам, в mql нет возможности установить жирность и наклон шрифта, поэтому приходится использовать специальный шрифт Arial MT Bold. Потенциально, завтра ко мне может обратится кто-то, у кого этот шрифт будет также отображаться некорректно. Можно конечно и его попытаться лепить из какой-нибудь картинки, как советуют здесь (во жесть-то будет), но гораздо проще и эффективнее писать именно шрифтом. Иными словами, от использования шрифтов, ну никуда не деться. Без картинок обойтись можно, а без шрифтов нет. Потому что MetaTrader 5 - это терминал для трейдинга, где используются различные таблицы, графики и текст. Так может быть наладить работу со шрифтами на 100%, а не пытаться вести МТ5 в сторону Photoshop (как некоторые к слову, это делают:)

так терминал и превратится текстовый редактор.

 
Alexandr Bryzgalov:

так терминал и превратится текстовый редактор.

Уважаемый, тебе есть что сказать по существу-то? Иди пиши код в джобе.
 
Vasiliy Sokolov:
Уважаемый, тебе есть что сказать по существу-то? Иди пиши код в джобе.

конечно )

проблема на китайской стороне

шрифты не нужны, тот минимум что есть достаточен.

сам иди в джопу

Причина обращения: