Цитата Сообщение от hobot Посмотреть сообщение
Что там такое в УК-НЦ барахлит, в способе загрузки шрифта в памят УК-НЦ? Или программы сами виноваты? (для надёжности выходит - не трогать системный (прошитый) шрифт. - но хочется же, раз возможность есть)
В УКНЦ шрифты можно загружать двумя способами:
1. С помощью Esc-последовательности Esc P. Эта Esc-последовательность программирует клавиши-ключи и загружает новые шрифты. Так вот при загрузке шрифтов в этой Esc-последовательности есть большой баг - при вычислении адреса загрузки в ОЗУ ПП умножение кода символа производится не на 11 (высота символа), а на 9 (девять). Из-за этого могут быть искажения, если загрузить часть таблицы (например только кириллицу), если уже был загружен другой шрифт. Ошибки не будет в двух случаях - 1) используется стандартный системный шрифт, рисунки символов которого находятся в ПЗУ, 2) грузится вся таблица с кода 0 до кода 255 включительно.
2. Шрифты можно загружать непосредственно в ОЗУ ПП, соответственно надо загрузить и таблицу адресов начала рисунков символов. В ОЗУ ПП выделены две области - для адресов начала рисунков символов (014142-015141, 256 слов) и для рисунков символов (015142-022541, 256*11 байт).

Редактор FNT использует второй способ и грузит всю таблицу. Естественно если после редактора FNT какая-то программа поменяет часть символов в знакогенераторе с помощью Esc-последовательности, то и возникнут искажения. Так что как вариант - с такими программами лучше использовать стандартный системный шрифт из ПЗУ, кстати на диске sysimage.dsk программа UKFONT.SAV возвращает стандартный шрифт из ПЗУ, переписывая только таблицу начала рисунков символов адресами в ПЗУ.