Извиняюсь, я на таких форумах новичок, не уверен как лучше сформулировать свою проблему и реально ли получить помощь от местной публики
Предыстория: у меня огромная прога (учетная система для торговли) созданная на C с нуля еще до эпохи Windows. Потом переделана как консольное приложение Win32, теперь вот есть идея для Linux адаптировать. Фактически только модуль ввода-вывода и требуется переделать.
И вот уже неделю я парюсь с выводом кириллицы. В теории (описания и маны) все понятно очевидно и легко. При выводе латинских букв - тоже все соответствует описанию, как только выводятся кириллические (кодируемые в UTF 2ми байтиками) - какие-то глюки
Стал смотреть тогда дамп экрана (scr_dump) Во-первых, оказалось его размер -8К . т.е. разработчики отводят 4байта на знакоместо. Ну это я понимаю. ОК. 3 знака на код символа UTF + байт цветового атрибута. Ан нет! при выводе кириллицы 4байта отводится на кадый байт кодировки!!! т.е. 8 байт на символ Но тогда буфер экрана в 8К не хватит, если достаточно много кириллических символов И его таки не хватает На каждой строке экрана корректно выводится 40 кириллических знаков, а не 80 как хотелось бы!
Подозреваю, у меня как-то криво собрана библиотека ncurses, либо она не соответствует UTF кодировке И сразу вдогонку вопрос - может UTF и ни к чему? Вообще-то меня бы вполне устроила кодировка 866 кодовой таблицы.