LINUX.ORG.RU
ФорумTalks

Motif, terminus и UTF-8

 ,


0

5

Есть старый ребус про Motif и UTF-8. Motif UTF-8 поддерживает, но как задействовать эту поддержку, по ходу, знают единицы. Частично она включается через локаль UTF-8, но это только часть дела. Код тоже должен быть приведён к соответствующему виду.

Вот рабочий пример helloworld'а на Motif'е, который при локали UTF-8 выведет строку в UTF-8 terminus'ом:

#include <Xm/PushB.h>

int main(argc, argv)
int argc;
char *argv[];
{
    Widget        toplevel, button;
    XtAppContext  app;
    void          button_pushed();
    XmString 	  label;

    String mydefaults[] = { "*fontList:-xos4-terminus-bold-r-normal--28-*-*-*-*-*-iso10646-1", NULL };

    XtSetLanguageProc (NULL, NULL, NULL);

    toplevel = XtVaAppInitialize (&app, "Hello", NULL, 0,
        &argc, argv, mydefaults, NULL);

    label = XmStringCreateLocalized ("Push здесь to say hello"); 
    button = XtVaCreateManagedWidget ("pushme",
        xmPushButtonWidgetClass, toplevel,
        XmNlabelString, label,
        NULL);
    XmStringFree (label);
    XtAddCallback (button, XmNactivateCallback, button_pushed, NULL);

    XtRealizeWidget (toplevel);
    XtAppMainLoop (app);
}

void button_pushed(widget, client_data, call_data)
Widget widget;
XtPointer client_data;
XtPointer call_data;
{
    printf ("Hello Yourself!\n");
}
Собирать, напоминаю, так:
gcc -o hello hello.c -lXm -lXt -lX11

★★★★★
Ответ на: комментарий от Harald

Его изнасиловал японец. Ему понравилось, теперь пытается списаться, а в koi8-r иероглифов нет.

Deleted
()
Ответ на: комментарий от Harald

Я всё-таки настаиваю на изнасиловании японцем. Это так романтично.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.