Кириллическая Р в юникоде состоит из двух байт - 32 и 4. Видимо поэтому метод GdipDrawString считает его пробелом и убирает из конца переданной ему для вывода строки. Если в StringFormat, передаваемый в метод, добавить флаг MeasureTrailingSpaces, то буква Р не обрезается. Этот дефект наблюдается в Alt Linux 9.2, который использует libgdiplus версии 5.6.1, в приложении для Mono.
Created attachment 19995 [details] Вывод работы тестовой программы libgdiplus На версии libgdiplus 6.2-alt1 не воспроизводится: без опции MeasureTrailingSpaces русская Р не обрезается. Прилагаю скриншот вывода тестовой программы, содержащий строку нарисованную DrawString с данной опцией и без неё, с выделением символов.
Created attachment 19996 [details] Тестовая программа Также прилагаю исходный код тестовой программы.
P9 больше не поддерживается, а в P10 и выше версия 6.2-alt1. В связи с этим закрываю баг.