@romanbelfer

C# sharpGL рендеринг текста как вывести кириллицу?

Конвертирую текст для адекватного отображения. Все хорошо виводится кроме буквы "я". Буква имеет 255 номер в таблице АСКИ кодов. В чем может быть проблема? Как вывести ее в SharpGL?

private string ConvertText(string str)
        {
            string result = "";

            byte[] asci = Encoding.Default.GetBytes(str);

            foreach (byte c in asci)
                result += Convert.ToChar(c+1).ToString();

            return result;
        }

.......

gl.DrawText(x, y, r, g, b, "Arial", 20, ConvertText(s));
  • Вопрос задан
  • 1291 просмотр
Пригласить эксперта
Ответы на вопрос 2
Nipheris
@Nipheris Куратор тега C#
может быть когда в c код буквы "я", она в операции с+1 превращается в ноль? Вы бы объяснили сначала цель этого преобразования (+1 ко всем байтам).
Ответ написан
Комментировать
@romanbelfer Автор вопроса
Это проблема в переобразованиях в самом sharpGL. Когда в проекте разные выполняются переобразования, то происходит смещение - когда я ввожу текст "вбг" после конвертации становится "абв" - по-этому приходится инкрементировать чтоб вывод был адекватным. Но в любом случае - отображаются все символы - только не буква "я".

Без трансформаций такой код рабочий - но все равно не выводится буква "я".
private string ConvertText(string str)
        {
            string result = "";

            byte[] asci = Encoding.Default.GetBytes(str);

            foreach (byte c in asci)
                result += Convert.ToChar(c).ToString();

            return result;
        }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы