s-lang, ncurses и прочие... (как у этих библиотек с поддержкой Unicode?)

Модератор: Модераторы разделов

demidrol
Сообщения: 47
ОС: Gentoo Linux

s-lang, ncurses и прочие...

Сообщение demidrol »

...что стоит заботать для написания консольных программ?
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: s-lang, ncurses и прочие...

Сообщение wzrd »

можно поконкретнее чуть? и что подразумевается под "заботать"?
Спасибо сказали:
demidrol
Сообщения: 47
ОС: Gentoo Linux

Re: s-lang, ncurses и прочие...

Сообщение demidrol »

хотелось бы узнать, как подружить, например, ncurses с юникодом... или найти удобные заголовочные файлы для создания оконного интерфейса на базе s-lang(просто в нем юникодные строки заработали сразу - после поверхностного прочтения документации). А "заботать" - ну, просто "подучить")))
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: s-lang, ncurses и прочие...

Сообщение wzrd »

попробуй использовать разширенную библиотеку ncursesw.

Код: Выделить всё

#include <ncursesw/ncurses.h>
Спасибо сказали:
demidrol
Сообщения: 47
ОС: Gentoo Linux

Re: s-lang, ncurses и прочие...

Сообщение demidrol »

main.c

Код: Выделить всё

#include <ncursesw/ncurses.h>
#include <stdlib.h>
#include <stdio.h>

int main()
{
   initscr();
   printw("Превед\n");
   refresh();
   getch();
   endwin();
   return 0;
}


Makefile

Код: Выделить всё

CC=gcc -g -Wall
all:
    ${CC} -o nc -lncursesw main.c

clean:
    rm -rf nc


В результате на экране "Ð~_Ñ~@евед"
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: s-lang, ncurses и прочие...

Сообщение wzrd »

может поможет вызов setlocale (LC_ALL,"") в начале main'а?
Спасибо сказали:
demidrol
Сообщения: 47
ОС: Gentoo Linux

Re: s-lang, ncurses и прочие...

Сообщение demidrol »

Код: Выделить всё

23:45 ~ $ locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC=POSIX
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: s-lang, ncurses и прочие...

Сообщение wzrd »

прошу прошения. не так тебя понял. странная вещь локали стоят правильные а юникода нету...
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5456
ОС: Gentoo

Re: s-lang, ncurses и прочие...

Сообщение /dev/random »

Ну когда люди научатся гуглом пользоваться? Вводим ncurses + utf8 и по первой же ссылке видим такой текст:
First of all, at least on my FC1 box, there are two ncurses
installations. One in <ncurses/ncurses.h> and one in
<ncursesw/ncurses.h> you must make sure you include the latter, or the
unicode stuff will not work at all. I have absolutely no idea why this
version is not the default.

You have to remember to link with -lncursesw instead of -lncurses.
Спасибо сказали:
demidrol
Сообщения: 47
ОС: Gentoo Linux

Re: s-lang, ncurses и прочие...

Сообщение demidrol »

Сам-то пробовал сии советы?! 1. Ни х... не работает. 2. Погляди то, что я запостил немного выше - и source, и Makefile.
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: s-lang, ncurses и прочие...

Сообщение wzrd »

ты это кому? да ради бога хочешь тебе вообще никто ничего не будет говорить...
Спасибо сказали:
demidrol
Сообщения: 47
ОС: Gentoo Linux

Re: s-lang, ncurses и прочие...

Сообщение demidrol »

to wzrd: точно не тебе... это тому гуглотыкателю.
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: s-lang, ncurses и прочие...

Сообщение wzrd »

а... с setlocale поэкспериментируй. и попробуй еще пока присвоить переменной (указатель на char или wchar_t). Тут обсуждют такую же проблему, возможно поможет.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5456
ОС: Gentoo

Re: s-lang, ncurses и прочие...

Сообщение /dev/random »

demidrol писал(а):
14.02.2008 21:01
и source, и Makefile.

Мда, это я проглядел. Если честно, сначала не поверил, и даже залез в кэш браузера - проверить, не было ли сообщение отредактировано. Оказалось, действительно, лопухнулся.
Только вот без "х..." все равно можно было обойтись.
Кстати, как ни странно, у меня все работает. Хотя дистр вроде тот же.
Версия ncurses какая? И с какими флагами собран? Короче, если установлен eix, то хотелось бы посмотреть на вывод команды "eix s/ncu"
Спасибо сказали:
demidrol
Сообщения: 47
ОС: Gentoo Linux

Re: s-lang, ncurses и прочие...

Сообщение demidrol »

Код: Выделить всё

21:05 ~ $ eix -I ncurses
[U] sys-libs/ncurses
     Available versions:  (5)  5.4-r6 5.5-r3 5.6 5.6-r1 5.6-r2
    {bootstrap build debug doc gpm minimal nocxx profile trace unicode}
     Installed versions:  5.6-r1(5)(04:22:25 29.11.2007)(gpm unicode -bootstrap -build -debug -doc -minimal -nocxx -trace)
     Homepage:            http://www.gnu.org/software/ncurses/ http://dickey.his.com/ncurses/
     Description:         console display library


Да я на него пока что забил. Пишу на том, что работает))
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: s-lang, ncurses и прочие...

Сообщение wzrd »

если найдешь решение проблемы, отпишись. мне тоже интересно стало)
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: s-lang, ncurses и прочие...

Сообщение rm_ »

Проверил ради интереса - у меня такой же результат, как и у автора. Имею:

Код: Выделить всё

$ dpkg -l | grep libncurses
ii  libncurses5                          5.6+20071215-1               Shared libraries for terminal handling
ii  libncurses5-dev                      5.6+20071215-1               Developer's libraries and docs for ncurses
ii  libncursesw5                         5.6+20071215-1               Shared libraries for terminal handling (wide
ii  libncursesw5-dev                     5.6+20071215-1               Developer's libraries for ncursesw

$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Спасибо сказали:
demidrol
Сообщения: 47
ОС: Gentoo Linux

Re: s-lang, ncurses и прочие...

Сообщение demidrol »

Думаю, что проблема в том, что ncursesw работает с wchar_t, а не с многобайтными строками, как s-lang. Потому и поддержка юникода не такая прозрачная, как в s-lang'e. короче говоря, надо покурить манулы по функциям для работы с wchar_t.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5456
ОС: Gentoo

Re: s-lang, ncurses и прочие...

Сообщение /dev/random »

demidrol писал(а):
16.02.2008 11:38
Думаю, что проблема в том, что ncursesw работает с wchar_t, а не с многобайтными строками, как s-lang. Потому и поддержка юникода не такая прозрачная, как в s-lang'e. короче говоря, надо покурить манулы по функциям для работы с wchar_t.

У меня прекрасно работает с обычным utf8
Спасибо сказали: