(06.07.2012 18:55)Sav Wrote: Я всё-таки разобрался со шрифтами. Вот патч: PHP Code: // Исправляем обработку отрицательного отступа шрифта (ошибку приведения типов)._PI->WriteByte(0x4B5349 + 1, 0xB6); // (mov)zx_PI->WriteByte(0x4B53E5 + 1, 0xB6); // (mov)zx Ошибка эта была не в алгоритме, а в приведении типов, поэтому её не видно в выложенном мной декомпилированном коде. Патч правит movsx на movzx, в результате чего знак игнорируется и для русских букв генерируются нормальные индексы.
// Исправляем обработку отрицательного отступа шрифта (ошибку приведения типов)._PI->WriteByte(0x4B5349 + 1, 0xB6); // (mov)zx_PI->WriteByte(0x4B53E5 + 1, 0xB6); // (mov)zx