[JFWRus] Кодировки и JAWS.

Привет, JAWS!
Многие из нас сталкивались с проблемой, что вместо текста мы слышим Абракадабру.
Но, все же у большинства пользователей такая проблема не проявляется.
У меня эта проблема была в Outlook.
А также бывает проблема, что в буфере обмена оказывается абракадабра.
Причем бывают разные ньюансы мы слышим все нормально, но отображается набор всяких
значков.
Такое наблюдалось в Windows XP окне виртуального просмотра JAWS, вызываемого
по [Insert+F1].
Но, опять это не на всех машинах.
но тому у кого проблема одинаково, что у соседа всё в порядке, ему надо решать
свою проблему.
В общем случае это проблема кирилицы её кодовой страницы и шрифтов.
Я встречал два способа решения этой проблемы:
1.Подмена кодовых страниц в реестре
Об этом будет подробнее в конце письма.
Пользовался этим способом, помогало.
Но возникает вопрос, насколько это корректный способ, и не имеет ли он побочных
эффектов?
2. Подмена шрифтов
Подробнее также ниже.
Этим способом не пользовался.
По описанию этот способ более корректен.
Его использует Microsoft.
Кто-нибудь пользовался этим способом?
Работает ли он?
Может нам совместно разобраться с проблемой и найти оптимальный способ её решения.
Определить в каких версиях JAWS, Windows это проявляется.
Вот выдержки из статьи про решение этой проблемы.
Подмена шрифтов
Подмена шрифта является официальным способом борьбы с неотображением шрифтов:
именно этим способом компания Майкрософт добивается корректного отображения системных
шрифтов во всех версиях операционной системы Windows.Однако реализация этой подмены
различна на разных семействах операционок:Так на системах 9x (95/98/Me) подмена
шрифтов осуществлена через win.ini, раздел FontSubstitutes, а на NT-системах
(NT/2000/XP) раздел FontSubstitutes вынесен из win.ini в реестр, поэтому там
подмена осуществляется через реестр.Выясняется, какой шрифт не отображается.
Это можно сделать различными путями, от визуального определения, естественно
легче на оригинальном английском, нежели на абракадабре, и сравнивая, например,
со шрифтами в Блокноте, или с помощью такой разносторонней утилиты как Kleptomania.
Выясняется каким набором символов абракадабрит, т.е. за кого система считает
переведенный, и неверно отображаемый, текст. Это можно сделать в каком-нибудь
редакторе шрифтов, но я использую Microsoft Word. Есть в нем такая функция Вставка
выпадающий список) и найти характерные символы, которые наблюдаются в абракадабре.
В правом выпадающем списке отображаются Наборы символов, в которые тот или иной
символ входит (коды и кодировки см. в таблице ниже).После чего производится подмена:
Для Win 9x в win.ini в разделе FontSubstitutes прописывается строка вида:
название шрифта,X=название шрифта,Yнапример, Arial,0=Arial,204 (подмена английского
шрифта русским)
Для Win NT/XP в реестре, в разделе HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
прописывается новый строковый параметр:
Параметр: название шрифта,XЗначение: название шрифта,Yнапример, параметр: Arial,0
и значение: Arial,204где X - код шрифта к которому обращается программагде Y
- код шрифта на подмену (204 - кириллица)в подавляющем большинстве случаев X=0
т.е. программа считает текст английским, по умолчанию, в результате чего русский
текст отображается символами Латиницы 1.Но случается, что авторы умудряются прописать
в программе свой (!) национальный шрифт - в результате русский текст будет отображаться
не Латиницей 1, а национальными символами автора программы: греческими, арабскими
и т.д. В этом случае потребуется подмена этого национального шрифта:например,
Arial,178=Arial,204 (подмена арабского шрифта русским)
Частным случаем данного способа, является замена какого-нибудь редкого шрифта,
не имеющего русских символов, другим шрифтом.
например, Helvetica,0=Arial,204Минусы:Предлагать офисной секретарше, что-то там
прописать у себя в win.ini или реестре, по меньшей мере, не гуманно, а единственная
программка, выполняющая эту задачу для шрифта Arial, которая мне попадалась -
это SetFont <archive/setfont.zip>.
Таблица кодов и кодировок шрифтов
Вид кодировки (набор символов)
-Код
-Кодировка
центральноевропейский (латиница 2)-238-1250
кириллица-204-1251
западноевропейский (латиница 1)-000 (0)-1252
греческий-161-1253
турецкий (латиница 5)-162-1254
иврит-177-1255
арабский-178-1256
прибалтийский-186-1257
вьетнамский-163-1258
...-...-...
Подмена кодовых страниц в реестре
Подмена кодовых страниц в реестре работает только на старшем семействе операционок:
NT/2000/XP
В системном реестре в разделе HKLM\System\CurrentControlSet\Control\Nls\Codepage
содержится список кодировок и соответствующих им файлов, содержащих кодовые страницы.
Выглядит это так:
Параметр
-Значение (NT/XP)
1250-c_1250.nls
1251-c_1251.nls
1252-c_1252.nls
1253-c_1253.nls
1254-c_1254.nls
1255-c_1255.nls
...-...
Файлы, содержащие кодовые страницы, расположены в папке Windows\System, и в
семействах Windows 9x и NT/XP эти файлы называются по-разному.
в Windows 9x - cp_xxxx.nls
в Windows XP- c_xxxx.nlsгде xxxx - кодировка
Обычно требуется изменить значение параметра 1252 (западноевропейский Windows)
на название файла, содержащего русскую кодовую страницу (1251 - кириллица Windows),
как это показано ниже.
1252-c_1251.nls
В отдельных случаях могут потребоваться аналогичные изменения и для других кодировок.Однако
предлагать офисным секретаршам ковыряться в реестре - негоже, поэтому требуется
создать соответствующий файл реестра, который, будучи запущен пользователем,
изменит значение в его реестре.Плюс: этот способ не зависит от конкретных шрифтов,
и решает проблему раз и навсегда.Минус: не работает на Windows 95/98/Me.