У меня проблема с написанием арабского текста на модели платных поз 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.
Заранее спасибо
Отказ от ответственности: я не работал с Vx675 раньше, и я не пытался использовать арабский шрифт, но я думаю, что это будет работать …
Вы не можете использовать .ttf шрифты на терминалах VeriFone. Вместо этого вам нужно использовать VeriFone «Font Generation Tool», чтобы перерабатывать .ttf в файл .vft или .fon.
Когда вы выполняете свою функцию «display_at», я отмечаю, что вы используете арабский символ (ы) напрямую. У меня нет опыта с этим относительно того, будет ли это работать или нет, но одну вещь, которую вы можете попробовать, если она не работает, это использовать printf с числовыми смещениями. Я не думаю, что вы захотите сделать это в долгосрочной перспективе, но это может помочь вам начать:
printf("%c%c%c%c%c%c%c%c", 0, 1, 2, 3, 4, 5, 6, 7);
Других решений пока нет …