IME, UNICODE & Korean
От: Pepper Украина  
Дата: 03.07.03 12:13
Оценка:
Народ, помогите советом по такой проблеме:
Мне нужно выцеплять Unicode коды символов, которые юзер набирает с клавы. Для примера, с агнглийским/русским все хорошо, по WM_CHAR в Unicode-window мне сваливаются правильные значения (проверял, все верно). Вот с корейским — проблема: при наборе любого иероглифа приходит мне вместо полноценного Unicode всего лишь 1 значение — 0x3f, причом для любого иероглифа. Окей. Пробую получить нужный результат через IME, в итоге, после всех инициализаций и прочих телодвижений, при сообшении WM_IME_COMPOSITION, ImmGetCompositionString стыдливо возвращает мне тот же 0x3f...
Может у кого есть какие-то идеи в чем проблема? Два разных (почти ) интерфейса возвращают одно и то-же... Я уже и setlocale(LC_ALL, "Korean") ему делал и для IME корейский уснанавливал текущим языком и с ASCII/UNICODE окнами пробовал — ничего не помогает... Если что, могу поточнее описать, что я делаю и выслать исходники (MSCV++ 6.0) на посмотреть, где я не прав...


03.07.03 20:58: Перенесено модератором из 'C/C++' — ПК
Re: IME, UNICODE & Korean
От: Pepper Украина  
Дата: 03.07.03 21:41
Оценка:
Вроде бы, все Окей, уже сделал (завтра точно оттещу). Но все-же, если у кого есть готовый код, можем поменятсья, обмен опытом, так сказать... А то у меня как-то громоздко и коряво все получилось...
Re[2]: IME, UNICODE & Korean
От: Дмитро  
Дата: 04.07.03 10:30
Оценка:
Здравствуйте, Pepper, Вы писали:

P>Вроде бы, все Окей, уже сделал (завтра точно оттещу). Но все-же, если у кого есть готовый код, можем поменятсья, обмен опытом, так сказать... А то у меня как-то громоздко и коряво все получилось...


А что ты сделал? У меня с сообщениями WM_IME_CHAR/WM_CHAR нормально приходят юникодные символы. (Правда, проект тоже юникоднный).
--
Дмитрий
Re[3]: IME, UNICODE & Korean
От: Pepper Украина  
Дата: 04.07.03 12:25
Оценка:
Здравствуйте, Дмитро, Вы писали:

Д>Здравствуйте, Pepper, Вы писали:


P>>Вроде бы, все Окей, уже сделал (завтра точно оттещу). Но все-же, если у кого есть готовый код, можем поменятсья, обмен опытом, так сказать... А то у меня как-то громоздко и коряво все получилось...


Д>А что ты сделал? У меня с сообщениями WM_IME_CHAR/WM_CHAR нормально приходят юникодные символы. (Правда, проект тоже юникоднный).

Ну у меня окно тоже юникодное было (проверял через IsWindowUnicode), но WM_CHAR работает нормально для всех языков, исключая те, в которых IME для ввода используется... WM_IME_CHAR выдает 0x3f, хоть стреляйсь.
Я отрабатывал WM_IME_COMPOSITION, юзал ImmGetContext, ImmAssociateContext, ImmGetCompositionString и т.п.... Вроде бы все окей, выдает те же коды, что и в Word-е, при сохраненни документа как "Unicode text"...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.