Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Oтображение украинской "i" в консольных приложениях (под Win2K)

335 views
Skip to first unread message

Igor Belikov

unread,
May 29, 2003, 1:14:44 AM5/29/03
to
Hello everybody.

Собственно, проблема в том, что украинская "i" (и еще пара букв) в консольных
приложениях (примеры - FAR, GoldED) отображается в виде вопросительного знака.

Из-за этого FAR отказывается копировать файлы, в названии которых есть эта
буква, а в GoldED'е украинские тексты становятся трудночитаемыми.

Где и что поковырять, чтобы решить эту проблему?

И ведь я где-то встречал ее решение, но сейчас перерыл несколько ФАК'ов - и так
и не нашел.

И еще по ходу один вопрос (тоже касающийся украинского языка) - как проще всего
настроить раскладку, чтобы при наборе украинского текста по нажатию кнопочки
"~" (тильда) вводился апостроф (который очень часто встречается в украинских
словах) вместо буквы "йо" (которой в украинском нет вообще).

P.S. Забыл самое главное: Win2K Pro RUS SP3, язык по умолчанию - английский,
дополнительные языки - русский и украинский.

Igor

Serhiy Savychenko

unread,
May 29, 2003, 6:04:03 AM5/29/03
to
Hello, Igor!
You wrote to All on Thu, 29 May 2003 09:14:44 +0400:

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


Paul Gorodyansky

unread,
Jun 4, 2003, 5:57:39 PM6/4/03
to
Igor Belikov wrote:
>
> Hello everybody.
>
> Собственно, проблема в том, что украинская "i" (и еще пара букв) в консольных
> приложениях (примеры - FAR, GoldED) отображается в виде вопросительного знака.
>
> Из-за этого FAR отказывается копировать файлы, в названии которых есть эта
> буква, а в GoldED'е украинские тексты становятся трудночитаемыми.
>
> Где и что поковырять, чтобы решить эту проблему?
>
> И ведь я где-то встречал ее решение, но сейчас перерыл несколько ФАК'ов - и так
> и не нашел.

Посмотри, может поможет - у меня есть подборка на эту тему:
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/

Alexander Sheiko

unread,
Jun 7, 2003, 7:43:55 PM6/7/03
to
Привет Paul!

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

--
Саша.


Paul Gorodyansky

unread,
Jun 8, 2003, 6:45:04 PM6/8/03
to
Привет!

"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, там про это сказано...

0 new messages