LINUX.ORG.RU

кроссплатформенный ncurses + юникод


0

0

Нужно написать консольное приложение - сверху строка состояния, снизу строка для ввода, посередине - прокручивающееся окно. Нужно вводить и выводить русский текст. Нужно, чтобы приложение работало как под *nix, так и под windows. Какая библиотека умеет все это?

ncurses поддержку юникода с какой-то версии умеет, но как там с поддержкой windows? Еще хотелось бы док и примеров, ибо последние мои ковыряния с русским не кончились ничем (хотя это был libncurses, а не libncursesw).

anonymous

> под *nix, так и под windows

боюсь, что никакая :-/
хотя, было бы неплохо.

// wbr

klalafuda ★☆☆
()

хм, ну судя по тому что mc работает как в *nix, так и в win32 (cygwin), то как минимум кросплатформенное решение есть... что насчёт utf-8, тут надо смотреть, поддерживается ли он в win32 в mc, этого я не помню...

Cy6erBr4in ★★★
()
Ответ на: комментарий от Cy6erBr4in

> хм, ну судя по тому что mc работает как в *nix, так и в win32 (cygwin), то как минимум кросплатформенное решение есть...

цигвин очень сложно назвать кроссплатформенным решением, а mc в нём термином "работает" :-/

> что насчёт utf-8, тут надо смотреть, поддерживается ли он в win32 в mc, этого я не помню...

в win32 API есть замечательное API для работы консольных приложение. ATM IMHO на порядок лучше, чем аналоги в *NIX. если бы был какой-то пакет, который бы нативно с ним работал, было бы замечательно. но я пока что такого не видел.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от klalafuda

> в win32 API есть замечательное API для работы консольных приложение.

API-то у них, конечно, замечательное.. Но вот есть мнение, что одновременно вывести на консоль русские и какие-нить другие, допустим арабские, буквы вам всё равно не удастся.

anonymous
()
Ответ на: комментарий от klalafuda

> цигвин очень сложно назвать кроссплатформенным решением, а mc в нём термином "работает" :-/

Ещё сложнее назвать глисту ОС, а виртуальную шину устройств - технологией. Но всё же огромное количество идиотов называет это термином "работает".

anonymous
()

Уникод как таковой не нужен, просто нужно корректно выводить русский текст. Я так и не понял, как это сделать, пожтому прошу доков. Собственно, является ли использование libncursesw для этого необходимым?

И есть ли тогда под windows что-то, более-менее аналогичное ncurses? В смысле текстовых окон, цветов и т.д.

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

> И есть ли тогда под windows что-то, более-менее аналогичное ncurses? В смысле текстовых окон, цветов и т.д.

не уверен, но вполне возможно, что turbo vision был таки портирован на win32.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от anonymous

>В смысле текстовых окон, цветов и т.д.

Visual Basic for DOS был самой крутой подобной системой. Только это под DOS...

Вопрос — а зачем это нужно? Не лучше ли нормальный GUI?

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

Специфика программы. Портируется текстовый квест под DOS, в gui будет не Ъ. Turbo vision - тяжеловато. Окно имелось в виду в терминах ncurses - т.е. просто область экрана, которая прокручивается независимо от верхней и нижних строк (в данном случае).

А что, в mingw нет ncurses? Кажется мне, что я видел много консольного софта в windows окнах, centerim, например.

anonymous
()
Ответ на: комментарий от naryl

> PDcurses есть под Win и *nix.

О, вот за это спасибо. Будем посмотреть.

anonymous
()

Создаёшь OpenGL окно и в нём рисушь терминал, и со шрифтами нет проблем, и портируется даже на солярис, Саныч будет доволен.

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

Про жопенгл - это пять. А вообще iconv в руки.

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