Показать сообщение отдельно
Старый 28.02.2006, 16:30     # 6
CaptainFlint
Full Member
 
Аватар для CaptainFlint
 
Регистрация: 19.12.2003
Адрес: Москва
Пол: Male
Сообщения: 514

CaptainFlint Гурее всех гурых :-)
CaptainFlint Гурее всех гурых :-)CaptainFlint Гурее всех гурых :-)
korotetsky
Шрифты тут ни при чём. Эти ковыряния в реестре нужны для исправления одного весьма неприятного бага, который присутствует во всех XP, независимо от того, русская она, муёвая или английская. (Возможно, и в более старых виндах есть та же ошибка - не знаю, не проверял.) В некоторых приложениях (предположительно - в тех, которые не являются юникодными) копирование русского текста в буфер обмена возможно только в том случае, если включена русская раскладка клавиатуры. В противном случае копируются кракозяблы. Т.е. винда пытается копировать неюникодный текст в той кодовой странице, которой соответствует текущая раскладка, а не в той, которая реально используется приложением. Избежать этого бага можно двумя способами: либо каждый раз перед копированием текста в буфер переключать раскладку на русскую, либо внедрить в реестр вышеописанный хак, который сообщает винде, что 1252-й кодовой странице (английский, немецкий, французский и куча других языков) соответствует файл c_1251.nls (от 1251-й кодовой страницы - русской). Соответственно, винда продолжает копировать текст в 1252-й кодировке, но при этом считывает файл от 1251-й, и в результате русский текст копируется правильно, независимо от того, русская раскладка включена или английская.

Разумеется, этот хак имеет свои побочные эффекты, поэтому применять его надо с осторожностью.
__________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
CaptainFlint вне форума