Отправляет email-рассылки с помощью сервиса Sendsay

Знатокам Си: прикрутить UTF8 в XOrg к языку Icon

Доброй ночи !

Раз есть затишье в конфе - задам актуальный вопрос.

Мой друг раскопал в своё время и теперь осваивает и использует довольно необычный
и богатый язык Icon.
Но есть в нём большой минус - он не юникодный совсем. Но если в консоль или в
файл выводит напрямую буквы UTF8,
то в X уже всё - квадраты.

http://www.cs.arizona.edu/icon/
Есть ещё форк с разными расширениями (но также не с Юникодом): http://unicon.org/

Выход на автора показал, что в Юникоде он не заинтересован.

Взялся я поковырять проблему с графическим выводом и нашёл главного виновника:
функцию XDrawString.
Нашёл подходящий юникодный вариант этой функции: Xutf8DrawString.

Внаглую махнул все вхождения, но компилятор обругался на неверное число аргументов.

Тогда нашёл здесь http://xopendisplay.hilltopia.ca/2009/Feb/Xlib-tutorial-part-7----FontSets.html
работающий пример:
http://xopendisplay.hilltopia.ca/xtut7.c

который при запуске с юникодным шрифтом дал русские буквы (шрифт взял отсюда:
http://osdir.com/ml/internationalization.linux/2003-01/msg00053.html):
./a.out -font -*-fixed-*-*-*-*-24-*-*-*-*-*-iso10646-1

В Си понимаю мало - основной язык FreePascal. А вхождения функции XDrawString
были и в неких *.r файлах,
назначение которых не совсем понятно (видимо что-то препроцессорное). На том
пока и заткнулся.

Отсюда вопросы знатокам Си: есть ли где внятная документация по тем же *.r файлам
(пока почему-то не нашёл)
и может кто сам заинтересован и возьмётся прикрутить работающий пример к Икону
?

Удачи,
Александр.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37916; Возраст листа: 3671; Участников: 1539
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/2802853

Ответить   Mon, 12 Aug 2013 23:15:00 +0400 (#2802853)