Пишем на русском в Native Mode

Недавно у меня возникла необходимость писать на русском в нативном приложении, но, как оказалось, добиться этого не так-то просто.
Для того, чтобы получить возможность вывода русских букв, нужно разобраться, где и в каком формате хранятся глифы символов, которые отображаются на экране. Если подробнее рассмотреть функцию winx_printf (в своем проекте я использовал ZenWINX и NDK для упрощения разработки приложения), то мы увидим, что она в свою очередь вызывает winx_print, далее вызывается NtDisplayString, которая преобразует входящую строку с помощью RtlUnicodeStringToOemString, далее идет вызов функции InbvDisplayString, которая обращается к VGA Boot Driver (bootvid.dll).
Читать далее «Пишем на русском в Native Mode»