Простой фикс любого шрифта, для того чтобы он отображался в списке шрифтов в консоли windows:
Наиболее подходит для typewriter шрифтов, которые моноширинные, но не помечены как моноширинные
для примера берем LucidaTypewriterBold.ttf и LucidaTypewriterRegular.ttf из "C:\Program Files\Java\jre1.8.0_31\lib\fonts\"
1) любым hex редактором открываем шрифт
2) с начала файла ищем таблицу "OS/2", после неё 4 байта контрольной суммы, после нее смещение в нашем случае "00 00 00 DC"
3) прибавляем волшебную константу 35 (0x23), получим адрес 0xFF, по которому в нашем случае записано 0x02
4) это поле bProportion структуры PANOSE которое у этих шрифтов например равно PAN_PROP_OLD_STYLE
5) меняем 0x02 по этому адресу на 0x09 (PAN_PROP_MONOSPACED)
6) сохраняем файл, ставим в систему, заменяем если он уже есть
7) добавляем в реестр что-нибудь типа
Code: Select all
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont]
"0"="Andale Mono"
"00"="Consolas"
"000"="Courier New"
"0000"="Lucida Console"
"00000"="Lucida Sans Typewriter"
после перезагрузки, а практически после перезапуска консоли этот шрифт можно выбирать из списка