motofan logo
       
> 

Добавление русского словаря T9, в стандартный драйвер ввода

Eugene
сообщение 21.4.2005, 16:20


Эксперт
***

Группа: Разработчики
Сообщений: 111
Регистрация: 15.3.2004
Из: Сергиев Посад
Пользователь №: 2 143
Модель телефона: SLVR L7
Прошивка: R4513_G_08.B7.DCR_RB

Рейтинг: 60.5



Все сторонние длл-ки для русского ввода очень глючные (интеркей не работает в опере, с qime не везде работает backspace), и я решил попробовать интегрировать русский T9 в стандартный драйвер ввода.

Вот что нашёл:
Код
[HKEY_LOCAL_MACHINE\T9 Input Method\LDBs]
"0406"="T9DanishLdb.dll"
"0407"="T9GermanLdb.dll"
"0409"="T9EnglishLdb.dll"
"040A"="T9SpanishLdb.dll"
"040C"="T9FrenchLdb.dll"
"0410"="t9italianldb.dll"
"0413"="T9DutchLdb.dll"
"0414"="T9NorwegianLdb.dll"
"0416"="T9PortugueseLdb.dll"
"041D"="T9SwedishLdb.dll"

Это список словарей для T9. К сожалению, это не просто LDB-файлы, а DLL-ки. В них записан LDB файл и функции для работы с ним (ldb начинается со строки "Copyright © 1999 Tegic Comm.", в dll тоже есть текст "Copyright © 2004 Tegic Comm.").
У меня есть файл ldb русского словаря T9 (не помню где нашёл), и длл-ки: Czech, Finnish, Hungarian, Norwegian, Portugese, Swedish и Romanian.
Может, кто-нибудь разберётся в структуре dll, и сделает подобную для русского языка?

Ещё в реестре есть:
Код
[HKEY_LOCAL_MACHINE\T9 Input Method\MUI\LDBS]
"0406"="Danish"
"0407"="German"
"0409"="English"
"040A"="Spanish"
"040C"="French"
"0410"="Italian"
"0413"="Dutch"
"0414"="Norwegian"
"0416"="Portuguese"
"041D"="Swedish"

Это названия языков в меню ввода (долгое нажатие *, -> Languages).

Попробовал добавить язык (русский - 0419) - появляется в меню (даже без перезагрузки).

В архивах:
Russian.ldb - Русский словарь T9
T9FinnishLdb.dll - Dll для финского языка.
Прикрепленный файл Russian.zip   ( 122.05 килобайт ) Кол-во скачиваний: 288
Прикрепленный файл T9FinnishLdb.zip   ( 90.84 килобайт ) Кол-во скачиваний: 143
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
biosM
сообщение 21.4.2005, 16:23


Интересующийся
**

Группа: Пользователи
Сообщений: 58
Регистрация: 16.1.2005
Пользователь №: 34 471
Модель телефона: Rover M1

Рейтинг: 5



что то архив у тебя глючный!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Eugene
сообщение 21.4.2005, 16:29


Эксперт
***

Группа: Разработчики
Сообщений: 111
Регистрация: 15.3.2004
Из: Сергиев Посад
Пользователь №: 2 143
Модель телефона: SLVR L7
Прошивка: R4513_G_08.B7.DCR_RB

Рейтинг: 60.5



Инет глючит, скоро закачаю.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
biosM
сообщение 21.4.2005, 16:33


Интересующийся
**

Группа: Пользователи
Сообщений: 58
Регистрация: 16.1.2005
Пользователь №: 34 471
Модель телефона: Rover M1

Рейтинг: 5



напиши инструкцию по установке, че да как!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Eugene
сообщение 21.4.2005, 17:24


Эксперт
***

Группа: Разработчики
Сообщений: 111
Регистрация: 15.3.2004
Из: Сергиев Посад
Пользователь №: 2 143
Модель телефона: SLVR L7
Прошивка: R4513_G_08.B7.DCR_RB

Рейтинг: 60.5



Объясняю.
Чтобы добавить язык T9, нужен специальный Dll-файл словаря.
Этот файл содержит сам словарь (ldb), и функции для работы с ним.
Для русского языка такого dll нет, зато есть словарь ldb, и dll для другого языка.
Нужно, чтобы кто-нибудь разобрался, как работает этот длл, и сделал такой же, но с русским словарем.
Этот dll-файл нужно затем скопировать в смарт (например, в \Storage\Windows\T9RussianLdb.dll).
Затем в реестре создать значения:
В HKEY_LOCAL_MACHINE\T9 Input Method\LDBs -- параметр "0419" со значением "\Storage\Windows\T9RussianLdb.dll"
И в HKEY_LOCAL_MACHINE\T9 Input Method\MUI\LDBS -- "0419" = "Russian"
Тогда в меню Languages появится пункт Russian - T9 с русским словарем.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
tsume
сообщение 21.4.2005, 19:20


Новичок
*

Группа: Пользователи
Сообщений: 4
Регистрация: 24.12.2004
Пользователь №: 29 312
Модель телефона: mpx 200

Рейтинг: 0



А объясни пожалуйста, чем он лучше или хуже обычного прикрученного Т9 ??
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Eugene
сообщение 22.4.2005, 13:24


Эксперт
***

Группа: Разработчики
Сообщений: 111
Регистрация: 15.3.2004
Из: Сергиев Посад
Пользователь №: 2 143
Модель телефона: SLVR L7
Прошивка: R4513_G_08.B7.DCR_RB

Рейтинг: 60.5



tsume,
Он не глючит, и можно использовать несколько языков T9, не меняя драйвер.
Вот список глюков qime.dll :) :
1. Во многих программах (например, Resco Explorer, Resco Registry и т.д.) в полях ввода нельзя стереть символы, выделение xBar-ом тоже не работает.
2. Нельзя изменить время перехода к вводу следующего символа.
3. Иконка в трее всегда белого цвета, в некоторых темах не видна.
4. Что-то ещё...
InterKey работает чуть лучше, но он без T9, да и глюки 2 и 3 присутствуют. А ещё он не работает в браузере Опера.
Так что, думаю, этот вариант лучше прикручивания T9.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
slick
сообщение 22.4.2005, 14:09


Опытный
***

Группа: Пользователи
Сообщений: 147
Регистрация: 9.10.2004
Пользователь №: 15 935
Модель телефона: motorola mpx200

Рейтинг: 1



Вопрос: а не будет ли это работать и в 2002-м? unsure.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Eugene
сообщение 22.4.2005, 14:38


Эксперт
***

Группа: Разработчики
Сообщений: 111
Регистрация: 15.3.2004
Из: Сергиев Посад
Пользователь №: 2 143
Модель телефона: SLVR L7
Прошивка: R4513_G_08.B7.DCR_RB

Рейтинг: 60.5



slick,
не знаю, я почти сразу 2003 поставил..
там при долгом нажатии * в меню есть пункт languages или t9?
есть ли в реестре "HKEY_LOCAL_MACHINE\T9 Input Method\"?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
slick
сообщение 22.4.2005, 14:53


Опытный
***

Группа: Пользователи
Сообщений: 147
Регистрация: 9.10.2004
Пользователь №: 15 935
Модель телефона: motorola mpx200

Рейтинг: 1



В реестре такой ветки нет. А при удержании *, переключается цифры - буквы. Но это на Кварте. На Лэнге, по-моему, выходит меню, в котором выбираешь метод ввода. Но я Лэнгом не пользовался, поэтому точно не знаю.
unsure.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Eugene
сообщение 22.4.2005, 16:38


Эксперт
***

Группа: Разработчики
Сообщений: 111
Регистрация: 15.3.2004
Из: Сергиев Посад
Пользователь №: 2 143
Модель телефона: SLVR L7
Прошивка: R4513_G_08.B7.DCR_RB

Рейтинг: 60.5



slick,
Я имел в виду стандартный драйвер T9Ime. Насколько я знаю, там язык ввода зависит от выбранного locale (языка интерфейса). То есть можно вводить только на одном языке. Ещё есть прога T9 Config Utility для 2002, которая позволяет выбрать нужный словарь (dll). Так что, наверно, работать будет.

2All
Посмотрел структуру этого dll-файла:
Код
Exports table:

  Name:            T9RomanianLdb.dll
  Characteristics: 00000000
  TimeDateStamp:   4107D054 -> Wed Jul 28 20:12:04 2004
  Version:         0.00
  Ordinal base:    00000001
  # of functions:  00000002
  # of Names:      00000002

  Entry Pt  Ordn  Name
  00001000     1   T9GetVersionString
  00001048     2   T9ReadLdbData

То есть в нём есть 2 функции:
T9GetVersionString - возвращает версию ("T9 LDB: v06.17.03.00")
T9ReadLdbData - читает данные словаря ldb.

Теперь нужно узнать, какие параметры у этих функций.
У первой наверно нет параметров, а вот со второй нужно разобраться.
Хорошо, если она просто читает весь файл словаря (один раз, при загрузке), а дальше система сама работает с ним. Тогда написать свой dll будет несложно. А вот если она выбирает слова из базы, то это уже сложнее...
Итог: нужен программист, который разберётся в структуре dll, и напишет на eVC такой же.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
usermpx
сообщение 31.8.2005, 7:46


Новичок
*

Группа: Пользователи
Сообщений: 1
Регистрация: 5.8.2005
Пользователь №: 47 867
Модель телефона: motorola mpx200
Прошивка: 4.20.0

Рейтинг: 0



А где в архивах лежит "Russian.ldb - Русский словарь T9"?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Добавление русского словаря T9, в стандартный драйвер ввода · Motorola на Windows Mobile OS: MPx100, MPx200, MPx220, MPx300, Q, Q8, Q9c, Q9h, Q9m, Q11, SURF A3x00, ES400 · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 16.6.2025, 10:58

Форум живёт: