как использовать Unicode шрифты в Verifone VX675

У меня проблема с написанием арабского текста на модели платных поз VeriFone vx675.
я пытаюсь эту строку кодов:

int ret=set_font("Tahoma.ttf");
if (ret!=0)
{
printf("con : %d, err: %s\n",ret,strerror(errno));
}
display_at(0,0,"سلام", NO_CLEAR);

но устройство показывает ошибку как

Недействительным аргумент

Кто-нибудь может сказать мне, как я должен решить эту проблему. или как я могу написать текст Unicode на арабском языке в модели Vx675.

Заранее спасибо

2

Решение

Отказ от ответственности: я не работал с Vx675 раньше, и я не пытался использовать арабский шрифт, но я думаю, что это будет работать …

Вы не можете использовать .ttf шрифты на терминалах VeriFone. Вместо этого вам нужно использовать VeriFone «Font Generation Tool», чтобы перерабатывать .ttf в файл .vft или .fon.

  1. Запустите «Инструмент создания шрифтов». Если вы установили DTK, он должен появиться в меню «Пуск» в разделе «VeriFone».
  2. Перейдите в пункт меню «Шрифт» и выберите «Преобразовать шрифт».
  3. Выберите «Шрифт Windows Unicode»
  4. Выберите «Арабский» в качестве «Пользовательских шрифтов Unicode». Установите любые другие стили, которые вы хотите.
  5. Пролистайте остальную часть мастера и сохраните файл шрифта где-нибудь.
  6. Загрузите этот новый файл шрифта в свой терминал вместе с остальной частью вашей программы (это обычно тот шаг, который я забыл сделать при первом запуске)
  7. Когда вы выполняете свою функцию «display_at», я отмечаю, что вы используете арабский символ (ы) напрямую. У меня нет опыта с этим относительно того, будет ли это работать или нет, но одну вещь, которую вы можете попробовать, если она не работает, это использовать printf с числовыми смещениями. Я не думаю, что вы захотите сделать это в долгосрочной перспективе, но это может помочь вам начать:

    printf("%c%c%c%c%c%c%c%c", 0, 1, 2, 3, 4, 5, 6, 7);
    
4

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector