Не отображаются русские шрифты

Busenka76

В некоторых игрушках типа NOLF2 или NFS:U вместо русских букв в меню отображаются "квадратики", также при просмотре некоторых шрифтов, которые по идее должны поддерживать кириллицу (о чем явно свидетельствует "cyr" в названии, вместо русских букв те же квадратики). Виндуса XP-Rus SP1, dx8.1(присутствовал в системе по умолчанию)

В реестре \HKLM\System\CurrentControlSet\Control\Nls\CodePage для параметров 1251-1254 выставлено значение c_1251.nls
Помогите плиз разобраться в чем здесь может быть проблема.

loks-po

Я где-то читал, что такое решение проблемы не совсем корректно и давая "положительный" результат в одном, может исказить другие шрифты.
А в настройках язык и региональные стандарты > дополнительно > списке кодировок стоит галочка в пункте:
20880 (IBM EBCDIC) - Cyrillic (Russian).

Мне это помогло без выставления в реестре этого значения.

Busenka76

Взято с http://www.ama-press.ru/News/V_004/v_004.htm
Хорошо забытое старое
После перехода на Windows2000 или XP многие любимые TTF-шрифты стали отображаться квадратиками? Есть два решения проблемы:
1. Избавиться от TrueType, как от ночного кошмара, и работать только со шрифтами Type 1.
2. Если вы привязаны к ним ностальгическими воспоминаниями, обработать их программой TTFConv.
Эта программа читает любой русский TTF, имя которого она получает из командной строки, и дописывает к содержащимся в шрифте русским буквам их UNICODE-соответствия. На выходе она пишет в тот же самый файл, имя которого получила на входе. Программа уважает атрибут read-only (всегда присущий файлам, скопированным с компакт-диска) поэтому перед конверсией шрифтов, взятых с CD, следует сделать их writable.
Cкопируйте конвертер в директорию Windows/fonts. Потом запустите сеанс MS-DOS, зайдите в ту директорию, куда был скопирован конвертер и в командной строке наберите ttfconv.exe *.ttf , нажмите Enter. Потом желательно (но не обязательно) перезагрузить машину.
Перед конвертацией сделайте резервную копию папки со шрифтами (обычно это папка "Windows/Fonts"). Если по каким-то причинам результат вас не удовлетворит, то всегда можно вернуться к первоначальному состоянию.

Великий и могучий 1251
Поддержка кириллицы всегда была головной болью пользователей, и, хотя в Windows XP этот вопрос решен гораздо лучше, чем в альтернативных ОС, может оказаться, что при установке в нелокализованной Windows русских программ все меню с кириллицей будут искажены либо она будет недоступна в DOS-приложениях.
Чтобы получить полную поддержку русского языка, необходимо в диалоге Control Panel > Regional and Language Options > Advanced ("Панель управления" > "Язык и региональные стандарты" > "Дополнительно") поставить флажок в длинном списке кодировок Code page conversion tables ("Кодовые страницы таблиц преобразования") на строке "20880 (IBM EBCDIC - Cyrillic (Russian" и установить параметр Language for non-Unicode programs ("Язык программ, не поддерживающих юникод") в положение Russian ("Русский"). На вкладке Regional Оptions ("Региональные параметры") также нужно установить поддержку русского языка - это параметры Standards and formats, Location ("Языковые стандарты и форматы", "Расположение" а в разделе Languages > Text services and input languages ("Языки" > "Языки и службы текстового ввода") нужно добавить русскую раскладку клавиатуры.
Если это не помогло, в редакторе реестра откройте ветвь HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\WindowsNT\CurrentVersion\FontSubstitutes и исправьте параметры шрифта, "отвечающего" за окна с искаженными символами:
"MS Shell Dlg"="Tahoma",
"MS Shell Dig 2"="Tahoma" на "MS Shell Dlg"="Tahoma, 204"
"MS Shell Dig 2"="Tahoma, 204" либо на "MS Shell Dlg"="Lucida Sans Unicode"
"MS Shell Dig 2"="Lucida Sans Unicode".
Для других шрифтов тоже можно выбрать кириллическое подмножество, по аналогии дописав к ним цифры "204".
Также в ветви HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\FontMapper установите:
"ARIAL"=dword:000000СС
"DEFAULT"=dword:000000СС
И, наконец, в ветви: HKEY_LOCAL_MACHlNE\SYSTEM\CurrentControlSet\Control\Nls\CodePage сделайте следующее:
"1251"="C_1251.NLS"
"1252"="C_1251.NLS"
"866"="C_866.NLS"
"АСР"="1251"
"ОЕМСР"="866"
"МАССР"="10007"
"OEMHAL"="vga866.fon"
@="C_1251.NLS"
После изменений следует перезагрузить Windows. Установка параметра "1252"="C_1251.NLS" помогает во многих сложных ситуациях. Но, строго говоря, она не совсем корректна и может, в свою очередь, привести к искажениям некоторых шрифтов. В этом случае от нее придется отказаться.
Если избавиться от проблем с DOS-приложениями все же не удается, то вставьте в файл
WlNNT\SYSTEM32\AUTOEXEC.NT вызов любого DOS-русификатора или команду "KB16RU,866, C:\WINNT\SYSTEM32\KEYBOARD.SYS".
А в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\KeyboardLayout\ DosKeybCodes установите значение параметра "00000409" равным "ru".
Если же какие-то системные шрифты стали отображаться некорректно (а к шрифтам относятся даже символы "Минимизировать", "Закрыть" "Восстановить", отображаемые на кнопках правого верхнего угла окон при использовании классического интерфейса в меню "Выполнить" (Run) кнопки "Пуск" введите команду "SFC.EXE /SCANNOW". Windows проверит защищенные системные файлы (exe, sys, dll, ocx, ttf, fon) и восстановит те из них, которые были подменены или повреждены.

Программулина ttfconv теперь валяется и на
А вот, собственно, и результат:
Оставить комментарий
Имя или ник:
Комментарий: