Собственно, проблема в том, что украинская "i" (и еще пара букв) в консольных
приложениях (примеры - FAR, GoldED) отображается в виде вопросительного знака.
Из-за этого FAR отказывается копировать файлы, в названии которых есть эта
буква, а в GoldED'е украинские тексты становятся трудночитаемыми.
Где и что поковырять, чтобы решить эту проблему?
И ведь я где-то встречал ее решение, но сейчас перерыл несколько ФАК'ов - и так
и не нашел.
И еще по ходу один вопрос (тоже касающийся украинского языка) - как проще всего
настроить раскладку, чтобы при наборе украинского текста по нажатию кнопочки
"~" (тильда) вводился апостроф (который очень часто встречается в украинских
словах) вместо буквы "йо" (которой в украинском нет вообще).
P.S. Забыл самое главное: Win2K Pro RUS SP3, язык по умолчанию - английский,
дополнительные языки - русский и украинский.
Igor
IB> Собственно, проблема в том, что украинская "i" (и еще пара букв) в
IB> консольных приложениях (примеры - FAR, GoldED) отображается в виде
IB> вопросительного знака.
IB> Из-за этого FAR отказывается копировать файлы, в названии которых
IB> есть эта буква, а в GoldED'е украинские тексты становятся
IB> трудночитаемыми.
Ниже даю почти полный readme.txt из патча сделаного мной года 4
назад еще для НТ 4.0. Английский вариант несколько раз высылался
в Майкрософт. Но кроме ответа "Обратитесь к своему продавцу", я
ничего не получил. Потому пользуюсь патчем с успехом на НТ линейке
(4.0, 2000, ХР). Сдесь дано полное описание проблемы, а также пути
ее решения. В патч также входят исправленные шрифты, позволяющие
пользоваться "скрытой" буквой в фаре в любом режиме.
===========================================================================
Хотел бы обратить Ваше внимание на недостаток Windows. Когда создавали
локализированные таблицы для OEM украинские символы забыли, и затем
вставили в 866 таблицу. Отсутствие стандартизации в этой области привело
к тому, что появилось несколько таблиц, отличавшихся положением нескольких
символов специфичных для украинского алфавита. После создания 1251 таблицы
положение улучшилось, поскольку она имела украинские символы. Тоже можно
сказать и о таблице Unicode. Однако возникла проблема с символами имеющими
следующие коды:
1251 Unicode
0xB2 0x0406
0xB3 0x0456
Это украинские буквы (?) и (?). В таблицах 866 как для Windows NT 4.0,
W2k, так и для Windows 9x отсутствуют коды для этих символов.
Поэтому при выполнении функций AnsiToOem и OemToAnsi, а также
некоторых других использующих таблицу 866 символ заменяется на ?
или _ в зависимости от системы. В результате все программы выполняющие
по тем или иным причинам перекодировку работают неправильно. При работе
с текстом особых проблем кроме неудобств не возникает. Однако MSOffice
любит создавать названия файлов из первой строки файла, кроме того
заставить пользователей не использовать неправильных символов
в названиях практически невозможно. Вот лишь небольшой перечень проблем
возникающих в результате использования файлов с названиями содержащими
неизвестный системе символ:
1. При переписывании файла с NTFS раздела на FAT или наоборот;
2. При использовании программ архивации работающих в DOS окне или
пакетном режиме (любая програма работающая в DOS производит
перекодировку для вывода);
3. При использовании NC like commander (например популярный сейчас FAR).
4. При использовании баз данных с информацией в OEM кодировке
(например 1С бухгалтерия использует файлы в формате DBASE).
Конечно можно не пользоваться всеми этими программами, но я лично
люблю Far и архиватор Jar, да и другие пакетные программы. Мне удалось
решить эту проблему в Windows NT путем изменения 866 таблицы:
866 Unicode old Unicode new
0xF6 0x040E 0x0406
0xF7 0x045E 0x0456
Теперь совет:
Воспользоваться патчем который прилагается.
После этого будет работать все.
Ну и конечно после каждой установки Service Pack ставить патч.
===========================================================================
Выкачать патч можно по адресу:
www.inserv.kiev.ua/downloads/866ukr.zip
Есть также патч ruskii. Он есть в двух версиях: под НТ системы и под
9х. Но он в сущности не правит ошибку, а повторяет ее возникновение.
Заменяет украинскую букву английской аналогичного начертания.
Мой работает только под НТ. Но зато исправляет ошибку в корне.
Успешно работает уже 4 года на разных машинах, количество сказать
затрудняюсь. Жалоб пока не было не одной.
IB> И еще по ходу один вопрос (тоже касающийся украинского языка) - как
IB> проще всего настроить раскладку, чтобы при наборе украинского текста
IB> по нажатию кнопочки "~" (тильда) вводился апостроф (который очень
IB> часто встречается в украинских словах) вместо буквы "йо" (которой в
IB> украинском нет вообще).
Есть драйвер клавиатуры переделанный под это. Но тут уже нарушение, а
не починка стандартов. Поэтому я им не пользуюсь. В офисе можно
перенастроить. Если тебе приспичит пользоваться этим везде - пиши
в мыло вышлю и для клавиатуры.
With best regards, Serhiy Savychenko. E-mail: save...@i.com.ua
Посмотри, может поможет - у меня есть подборка на эту тему:
http://ourworld.compuserve.com/homepages/PaulGor/urk.htm
(данную дискуссию я тоже только что туда вставил :) - пунктом 4)
А в ответ на твой 2-й вопрос:
>
> И еще по ходу один вопрос (тоже касающийся украинского языка) - как проще всего
> настроить раскладку, чтобы при наборе украинского текста по нажатию кнопочки
> "~" (тильда) вводился апостроф (который очень часто встречается в украинских
> словах) вместо буквы "йо" (которой в украинском нет вообще).
Можно использовать программу "Keyboard Layout Manager". Я её для
другой цели использую, но принцип тот же:
http://ourworld.compuserve.com/homepages/PaulGor/mod.htm
Подробнее можно посмотреть в недавней дискуссии на эту тему:
http://forum.ru-board.com/topic.cgi?forum=5&topic=5347&start=60#13
--
С уважением,
Павел Городянский
"Cyrillic (Russian): instructions for Windows and Internet":
http://ourworld.compuserve.com/homepages/PaulGor/
Wed, 4 Jun 2003 21:57:39 +0000 (UTC) ты писал к Igor Belikov:
[Skip]
PG> Посмотри, может поможет - у меня есть подборка на эту тему:
PG> http://ourworld.compuserve.com/homepages/PaulGor/urk.htm (данную
PG> дискуссию я тоже только что туда вставил :) - пунктом 4)
Микрософт выпустил утилиту для редактирования любых раскладок:
http://www.winbase.org/modules/news/article.php?storyid=50
--
Саша.
"Alexander Sheiko" <ad...@i.com.ua> wrote in message
news:<004301c32d4e$6383b1e0$0200a8c0@Pentium>...
> Привет Paul!
>
> Wed, 4 Jun 2003 21:57:39 +0000 (UTC) ты писал к Igor Belikov:
>
> [Skip]
>
>
> PG> Посмотри, может поможет - у меня есть подборка на эту тему:
> PG> http://ourworld.compuserve.com/homepages/PaulGor/ukr.htm (данную
> PG> дискуссию я тоже только что туда вставил :) - пунктом 4)
>
> Микрософт выпустил утилиту для редактирования любых раскладок:
>
> http://www.winbase.org/modules/news/article.php?storyid=50
Ой, у меня оказывается очепятка была в URL - конечно, там в конце
ukr.htm а не urk.htm
Ты ответил не на тот абзац :) Тот, который ты отквотил был
совсем не о раскладке. Следующий был о раскладке.
Кстати, мне предложили пару месяцев назад и я согласился быть
Бета-тестером той Микрософтовской утилиты, о которой ты
написал. Она *не* для редактирования существующей раскладки
(не получится это, в принципе запрещено),
она - для создания *новых* раскладок.
В любом случае, KLM, о котором я написал, намного удобнее
(хорошо ещё я Микрософтовцев - на примере KLM - уговорил
drug-and-drop сделать, а то они предлагали _коды_ вписывать).
Когда я им говорил, что KLM удобнее, они отвечали, что цели
разные, например, KLM не позволит создать раскладку для
спец. региона Unicode для некоего языка Индии. Типа, читайте
наш Readme, там про это сказано...