williamr@2
|
1 |
/*
|
williamr@2
|
2 |
* Copyright (c) 2003-2006 Nokia Corporation and/or its subsidiary(-ies).
|
williamr@2
|
3 |
* All rights reserved.
|
williamr@2
|
4 |
* This component and the accompanying materials are made available
|
williamr@2
|
5 |
* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
|
williamr@2
|
6 |
* which accompanies this distribution, and is available
|
williamr@2
|
7 |
* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
|
williamr@2
|
8 |
*
|
williamr@2
|
9 |
* Initial Contributors:
|
williamr@2
|
10 |
* Nokia Corporation - initial contribution.
|
williamr@2
|
11 |
*
|
williamr@2
|
12 |
* Contributors:
|
williamr@2
|
13 |
*
|
williamr@2
|
14 |
* Description: Global PtiEngine definitions
|
williamr@2
|
15 |
*
|
williamr@2
|
16 |
*/
|
williamr@2
|
17 |
|
williamr@2
|
18 |
|
williamr@2
|
19 |
|
williamr@2
|
20 |
|
williamr@2
|
21 |
|
williamr@2
|
22 |
|
williamr@2
|
23 |
|
williamr@2
|
24 |
|
williamr@2
|
25 |
|
williamr@2
|
26 |
|
williamr@2
|
27 |
|
williamr@2
|
28 |
|
williamr@2
|
29 |
|
williamr@2
|
30 |
|
williamr@2
|
31 |
#ifndef _PTI_DEFS_H
|
williamr@2
|
32 |
#define _PTI_DEFS_H
|
williamr@2
|
33 |
|
williamr@2
|
34 |
#include <e32keys.h>
|
williamr@2
|
35 |
|
williamr@2
|
36 |
#ifdef RD_HINDI_PHONETIC_INPUT
|
williamr@2
|
37 |
/* Indic Phonetic input */
|
williamr@2
|
38 |
|
williamr@2
|
39 |
/*
|
williamr@2
|
40 |
* Defines the state of the syllable. This is used by FEP for either committing
|
williamr@2
|
41 |
* the inline text or updating the inline text.
|
williamr@2
|
42 |
*/
|
williamr@2
|
43 |
|
williamr@2
|
44 |
enum TSyllableState
|
williamr@2
|
45 |
{
|
williamr@2
|
46 |
EIndicSyllableStateFirst,
|
williamr@2
|
47 |
EIndicSyllableStateInsideSyllable,
|
williamr@2
|
48 |
EIndicSyllableStateSyllableBroken,
|
williamr@2
|
49 |
EIndicSyllableStateLast
|
williamr@2
|
50 |
};
|
williamr@2
|
51 |
|
williamr@2
|
52 |
|
williamr@2
|
53 |
/*
|
williamr@2
|
54 |
* This is a structure that abstracts the phonetic argument and the response
|
williamr@2
|
55 |
* from the Indic phonetic core in a structure.
|
williamr@2
|
56 |
*/
|
williamr@2
|
57 |
|
williamr@2
|
58 |
typedef struct
|
williamr@2
|
59 |
{
|
williamr@2
|
60 |
TChar iChar;
|
williamr@2
|
61 |
TDes *iDest;
|
williamr@2
|
62 |
TSyllableState iState;
|
williamr@2
|
63 |
}TPhoneticArg;
|
williamr@2
|
64 |
|
williamr@2
|
65 |
#endif
|
williamr@2
|
66 |
const TInt KMaxLanguageNameLength = 50;
|
williamr@2
|
67 |
const TInt KMaxAutoSubstStringLength = 32;
|
williamr@2
|
68 |
|
williamr@2
|
69 |
const TInt KErrPtiEngineBase = (-1000); //based on the value of leave in PtiEngine
|
williamr@2
|
70 |
|
williamr@2
|
71 |
|
williamr@2
|
72 |
enum TPtiError
|
williamr@2
|
73 |
{
|
williamr@2
|
74 |
KErrNoActiveLanguage = KErrPtiEngineBase-1,
|
williamr@2
|
75 |
KErrLanguageNotFound = KErrPtiEngineBase-2,
|
williamr@2
|
76 |
KErrNoSuitableCore = KErrPtiEngineBase-3,
|
williamr@2
|
77 |
KErrNotAllowed = KErrPtiEngineBase-4,
|
williamr@2
|
78 |
KErrTooLongWord = KErrPtiEngineBase-5,
|
williamr@2
|
79 |
KErrInvalidWord = KErrPtiEngineBase-6,
|
williamr@2
|
80 |
KErrTooLongReading = KErrPtiEngineBase-7,
|
williamr@2
|
81 |
KErrInvalidReading = KErrPtiEngineBase-8,
|
williamr@2
|
82 |
KErrUserDic = KErrPtiEngineBase-9,
|
williamr@2
|
83 |
KErrInternalCoreError = KErrPtiEngineBase-10,
|
williamr@2
|
84 |
KErrLengthMismatch = KErrPtiEngineBase-11
|
williamr@2
|
85 |
};
|
williamr@2
|
86 |
|
williamr@2
|
87 |
|
williamr@2
|
88 |
/**
|
williamr@2
|
89 |
* Enumerations for all the possible input modes supported by PtiEngine.
|
williamr@2
|
90 |
* The modes actually available in the device depend on core object, resource
|
williamr@2
|
91 |
* and keyboard configuration.
|
williamr@2
|
92 |
* Here are short descriptions:
|
williamr@2
|
93 |
*
|
williamr@2
|
94 |
* EPtiEngineMultitapping
|
williamr@2
|
95 |
* Traditional text input method for latin-like languages, where
|
williamr@2
|
96 |
* a list of characters is associated to each keypad keys
|
williamr@2
|
97 |
* and user cycles through associated characters by consecutive key presses.
|
williamr@2
|
98 |
*
|
williamr@2
|
99 |
* EPtiEnginePredictive
|
williamr@2
|
100 |
* Predictive text input mode, where user presses only one key press per
|
williamr@2
|
101 |
* character and the prediction engine provides a list of candidate words
|
williamr@2
|
102 |
* associated top that key sequence.
|
williamr@2
|
103 |
*
|
williamr@2
|
104 |
* EPtiEngineWordCompletion
|
williamr@2
|
105 |
* This is same as EPtiEnginePredictive, except that prediction engine
|
williamr@2
|
106 |
* will include also complete words containing more characters than
|
williamr@2
|
107 |
* the number of key presses in current key sequence.
|
williamr@2
|
108 |
*
|
williamr@2
|
109 |
* EPtiEngineNumeric
|
williamr@2
|
110 |
* This is numeric input mode. All the languages suppor it, since it uses
|
williamr@2
|
111 |
* static keymappings built directly into PtiEngine. It works in same way
|
williamr@2
|
112 |
* as EPtiEngineMultitapping, except that keymapping data contains
|
williamr@2
|
113 |
* only number mode characters.
|
williamr@2
|
114 |
*
|
williamr@2
|
115 |
* EPtiEngineQwerty
|
williamr@2
|
116 |
* Standard qwerty-keyboard input mode for latin-like languages.
|
williamr@2
|
117 |
*
|
williamr@2
|
118 |
* EPtiEnginePinyin
|
williamr@2
|
119 |
* Chinese PinYin input mode for ITU-T keypad.
|
williamr@2
|
120 |
*
|
williamr@2
|
121 |
* EPtiEngineStroke
|
williamr@2
|
122 |
* Chinese Strokes input mode for ITU-T keypad.
|
williamr@2
|
123 |
*
|
williamr@2
|
124 |
* EPtiEngineStroke
|
williamr@2
|
125 |
* Chinese ZhuYin input mode for ITU-T keypad.
|
williamr@2
|
126 |
*
|
williamr@2
|
127 |
* EPtiEngineHirakanaKanji
|
williamr@2
|
128 |
* Japanese Hiragana/Kanji input mode.
|
williamr@2
|
129 |
*
|
williamr@2
|
130 |
* EPtiEngineHirakanaKanjiPredictive
|
williamr@2
|
131 |
* Predictive Japanese Hiragana/Kanji input mode.
|
williamr@2
|
132 |
*
|
williamr@2
|
133 |
* EPtiEngineKatakana
|
williamr@2
|
134 |
* Japanese Katakana input mode.
|
williamr@2
|
135 |
*
|
williamr@2
|
136 |
* EPtiEngineFullWitdthKatakana
|
williamr@2
|
137 |
* Japanese full width Katakana input mode.
|
williamr@2
|
138 |
*
|
williamr@2
|
139 |
* EPtiEngineFullWitdthKatakana
|
williamr@2
|
140 |
* Japanese full width numeric input mode.
|
williamr@2
|
141 |
*
|
williamr@2
|
142 |
* EPtiEngineFullWitdthAlphabet
|
williamr@2
|
143 |
* Japanese full width alphabet input mode.
|
williamr@2
|
144 |
*
|
williamr@2
|
145 |
* EPtiEngineHiragana
|
williamr@2
|
146 |
* Japanese Hiragana input mode.
|
williamr@2
|
147 |
*
|
williamr@2
|
148 |
* EPtiEnginePinyinByPhrase
|
williamr@2
|
149 |
* Chinese Pinyin phrase input. This is same as EPtiEnginePinyin, execpt that
|
williamr@2
|
150 |
* input string may contain pinyin words for several chinese characters.
|
williamr@2
|
151 |
*
|
williamr@2
|
152 |
* EPtiEngineZhuyinByPhrase
|
williamr@2
|
153 |
* Chinese Zinyin phrase input. This is same as EPtiEngineZhuyin, execpt that
|
williamr@2
|
154 |
* input string may contain zhuyin sequences for several chinese characters.
|
williamr@2
|
155 |
*
|
williamr@2
|
156 |
* EPtiEngineZhuyinQwerty
|
williamr@2
|
157 |
* Chinese Zhuyin input for qwerty keyboard.
|
williamr@2
|
158 |
*
|
williamr@2
|
159 |
* EPtiEngineZhuyinPhraseQwerty
|
williamr@2
|
160 |
* Chinese Zinyin phrase input for qwerty keyboard. This is same as EPtiEngineZhuyinQwerty,
|
williamr@2
|
161 |
* execpt that input string may contain zhuyin sequences for several chinese characters.
|
williamr@2
|
162 |
*
|
williamr@2
|
163 |
* EPtiEnginePinyinQwerty
|
williamr@2
|
164 |
* Chinese Pinyin input for qwerty keyboard.
|
williamr@2
|
165 |
*
|
williamr@2
|
166 |
* PtiEnginePinyinPhraseQwerty
|
williamr@2
|
167 |
* Same as EPtiEnginePinyinByPhrase but for qwerty keyboard
|
williamr@2
|
168 |
*
|
williamr@2
|
169 |
* EPtiEngineStrokeQwerty
|
williamr@2
|
170 |
* Same as EPtiEngineStroke but for qwerty keyboard
|
williamr@2
|
171 |
*
|
williamr@2
|
172 |
* EPtiEngineNormalCangjieQwerty
|
williamr@2
|
173 |
* Normal Chinese CangJie input for qwerty keyboard
|
williamr@2
|
174 |
* (CangJie is available only for qwerty).
|
williamr@2
|
175 |
*
|
williamr@2
|
176 |
* EPtiEngineEasyCangjieQwerty
|
williamr@2
|
177 |
* Easy Chinese CangJie input for qwerty keyboard
|
williamr@2
|
178 |
* (CangJie is available only for qwerty).
|
williamr@2
|
179 |
*
|
williamr@2
|
180 |
* EPtiEngineAdvCangjieQwerty
|
williamr@2
|
181 |
* Advanced Chinese CangJie input for qwerty keyboard
|
williamr@2
|
182 |
* (CangJie is available only for qwerty).
|
williamr@2
|
183 |
*
|
williamr@2
|
184 |
* EPtiEngineHiraganaKanjiQwerty
|
williamr@2
|
185 |
* Japanese Hiragana/Kanji input for qwerty keyboard.
|
williamr@2
|
186 |
*
|
williamr@2
|
187 |
* EPtiEngineHiraganaKanjiPredictiveQwerty
|
williamr@2
|
188 |
* Japanese predictive Hiragana/Kanji input for qwerty keyboard
|
williamr@2
|
189 |
*
|
williamr@2
|
190 |
* EPtiEngineKatakanaQwerty
|
williamr@2
|
191 |
* Japanese Half-width Katakana input for qwerty keyboard.
|
williamr@2
|
192 |
*
|
williamr@2
|
193 |
* EPtiEngineFullWidthKatakanaQwerty
|
williamr@2
|
194 |
* Japanese Full-width Katakana input for qwerty keyboard.
|
williamr@2
|
195 |
*
|
williamr@2
|
196 |
* EPtiEngineFullWidthNumericQwerty
|
williamr@2
|
197 |
* Japanese Full-width Alphabet input for qwerty keyboard.
|
williamr@2
|
198 |
*
|
williamr@2
|
199 |
* EPtiEngineFullWidthAlphabetQwerty
|
williamr@2
|
200 |
* Japanese Full-width Alphabet input for qwerty keyboard.
|
williamr@2
|
201 |
*
|
williamr@2
|
202 |
* EPtiEngineHiraganaQwerty
|
williamr@2
|
203 |
* Japanese Hiragana input for qwerty keyboard.
|
williamr@2
|
204 |
*
|
williamr@2
|
205 |
* EPtiEngineStrokeByPhrase, // Stroke phrase input.
|
williamr@2
|
206 |
* Chinese Stroke input for ITU-T keypad. Phrasal version.
|
williamr@2
|
207 |
*
|
williamr@2
|
208 |
* EPtiEngineStrokePhraseQwerty
|
williamr@2
|
209 |
* Chinese Stroke input for qwerty keyboard. Phrasal version.
|
williamr@2
|
210 |
*
|
williamr@2
|
211 |
* EPtiEngineQwertyPredictive, // "Sloppy type" input for qwerty keyboard.
|
williamr@2
|
212 |
* Intelligent qwerty input. Used for word completion and spell
|
williamr@2
|
213 |
* correction features for qwerty keyboard.
|
williamr@2
|
214 |
*
|
williamr@2
|
215 |
* EPtiEngineHalfQwerty
|
williamr@2
|
216 |
* Basic multitaping style text input for half-qwerty keyboard. The functionality
|
williamr@2
|
217 |
* of half-qwerty keyboard is same as conventional itu-t phone keypad, except that
|
williamr@2
|
218 |
* each key is associated with two basic characters (instead of three or four
|
williamr@2
|
219 |
* as in itu-t keypad). Character mapping is also organized to follow qwerty
|
williamr@2
|
220 |
* layout (instead of alphabetical order as in itu-t keypad).
|
williamr@2
|
221 |
*
|
williamr@2
|
222 |
* EPtiEngineHalfQwertyPredictive,
|
williamr@2
|
223 |
* Predictive text input for half-qwerty keyboard. The functionality
|
williamr@2
|
224 |
* of half-qwerty keyboard is same as conventional itu-t phone keypad, except that
|
williamr@2
|
225 |
* each key is associated with two basic characters(instead of three or four
|
williamr@2
|
226 |
* as in itu-t keypad). . Character mapping is also organized to follow qwerty
|
williamr@2
|
227 |
* layout (instead of alphabetical order as in itu-t keypad). This input mode
|
williamr@2
|
228 |
* is essentially same as EPtiEngineWordCompletion but uses half-qwerty keyboard.
|
williamr@2
|
229 |
*
|
williamr@2
|
230 |
* EPtiEngineInputModeIndicPhoneticMultitap
|
williamr@2
|
231 |
* Hindi phonetic input for itu-t keypad.
|
williamr@2
|
232 |
*
|
williamr@2
|
233 |
* EPtiEngineInputModeIndicPhoneticQwerty
|
williamr@2
|
234 |
* Hindi phonetic input for qwerty keyboard.
|
williamr@2
|
235 |
*
|
williamr@2
|
236 |
* EPtiEngineInputModeZhuyinMiniQwertyFind
|
williamr@2
|
237 |
* Zhuyin multitap input method for mini qwerty symbol find.
|
williamr@2
|
238 |
*
|
williamr@2
|
239 |
*/
|
williamr@2
|
240 |
enum TPtiEngineInputMode
|
williamr@2
|
241 |
{
|
williamr@2
|
242 |
EPtiEngineInputModeNone = 0,
|
williamr@2
|
243 |
EPtiEngineMultitapping, // Basic multitapping input for latin languages.
|
williamr@2
|
244 |
EPtiEnginePredictive, // Predictive input for latin languages.
|
williamr@2
|
245 |
EPtiEngineWordCompletion, // Predictive input with word completion for latin languages.
|
williamr@2
|
246 |
EPtiEngineNumeric, // Latin numeric input mode.
|
williamr@2
|
247 |
EPtiEngineQwerty, // Basic qwerty input mode.
|
williamr@2
|
248 |
EPtiEnginePinyin, // Chinese pinyin mode.
|
williamr@2
|
249 |
EPtiEngineStroke, // Chinese stroke mode.
|
williamr@2
|
250 |
EPtiEngineZhuyin, // Chinese zhuyin mode.
|
williamr@2
|
251 |
EPtiEngineHiraganaKanji, // Hiragana/Kanji mode.
|
williamr@2
|
252 |
EPtiEngineHiraganaKanjiPredictive, // Predictive Hiragana/Kanji mode.
|
williamr@2
|
253 |
EPtiEngineKatakana, // Half-width Katakana mode.
|
williamr@2
|
254 |
EPtiEngineFullWidthKatakana, // Full-width Katakana mode.
|
williamr@2
|
255 |
EPtiEngineFullWidthNumeric, // Full-width Alphabet mode (for Japanese input).
|
williamr@2
|
256 |
EPtiEngineFullWidthAlphabet, // Full-width Alphabet mode (for Japanese input).
|
williamr@2
|
257 |
EPtiEngineHiragana, // Hiragana only mode.
|
williamr@2
|
258 |
EPtiEnginePinyinByPhrase, // Pinyin phrase input.
|
williamr@2
|
259 |
EPtiEngineZhuyinByPhrase, // Zhuyin phrase input.
|
williamr@2
|
260 |
EPtiEngineZhuyinQwerty, // Zhuyin qwerty input.
|
williamr@2
|
261 |
EPtiEngineZhuyinPhraseQwerty, // Zhuyin phrase qwerty input.
|
williamr@2
|
262 |
EPtiEnginePinyinQwerty, // Pinyin qwerty input.
|
williamr@2
|
263 |
EPtiEnginePinyinPhraseQwerty, // Pinyin phrase qwerty input.
|
williamr@2
|
264 |
EPtiEngineStrokeQwerty, // Stroke qwerty input.
|
williamr@2
|
265 |
EPtiEngineNormalCangjieQwerty, // Normal Cangjie qwerty input
|
williamr@2
|
266 |
EPtiEngineEasyCangjieQwerty, // Easy Cangjie qwerty input
|
williamr@2
|
267 |
EPtiEngineAdvCangjieQwerty, // Advanced Cangjie qwerty input
|
williamr@2
|
268 |
EPtiEngineHiraganaKanjiQwerty, // Hiragana/Kanji qwerty input mode.
|
williamr@2
|
269 |
EPtiEngineHiraganaKanjiPredictiveQwerty, // Predictive Hiragana/Kanji qwerty input mode.
|
williamr@2
|
270 |
EPtiEngineKatakanaQwerty, // Half-width Katakana qwerty input mode.
|
williamr@2
|
271 |
EPtiEngineFullWidthKatakanaQwerty, // Full-width Katakana qwerty input mode.
|
williamr@2
|
272 |
EPtiEngineFullWidthNumericQwerty, // Full-width Alphabet qwerty input mode (for Japanese input).
|
williamr@2
|
273 |
EPtiEngineFullWidthAlphabetQwerty, // Full-width Alphabet qwerty input mode (for Japanese input).
|
williamr@2
|
274 |
EPtiEngineHiraganaQwerty, // Hiragana only qwerty input mode.
|
williamr@2
|
275 |
EPtiEnginePinyinVkb, // Chinese pinyin mode.
|
williamr@2
|
276 |
EPtiEngineStrokeVkb, // Chinese stroke mode.
|
williamr@2
|
277 |
EPtiEngineZhuyinVkb, // Chinese zhuyin mode.
|
williamr@2
|
278 |
EPtiEngineStrokeByPhrase, // Stroke phrase input.
|
williamr@2
|
279 |
EPtiEngineStrokePhraseQwerty, // Stroke phrase qwerty input.
|
williamr@2
|
280 |
EPtiEngineHiraganaKanjiVkb, // Hiragana/Kanji mode for VKB.
|
williamr@2
|
281 |
EPtiEngineHiraganaKanjiPredictiveVkb, // Predictive Hiragana/Kanji mode for VKB.
|
williamr@2
|
282 |
EPtiEngineHiraganaKanjiHwr, // Hiragana/Kanji mode for HWR.
|
williamr@2
|
283 |
EPtiEngineHiraganaKanjiPredictiveHwr, // Predictive Hiragana/Kanji mode for HWR.
|
williamr@2
|
284 |
EPtiEngineKatakanaVkb, // Half-width Katakana mode for VKB.
|
williamr@2
|
285 |
EPtiEngineFullWidthKatakanaVkb, // Full-width Katakana mode for VKB.
|
williamr@2
|
286 |
EPtiEngineHiraganaVkb, // Hiragana only qwerty input mode for VKB.
|
williamr@2
|
287 |
EPtiEngineNormalCangjieVkb,
|
williamr@2
|
288 |
EPtiEngineEasyCangjieVkb,
|
williamr@2
|
289 |
EPtiEngineAdvCangjieVkb,
|
williamr@2
|
290 |
EPtiEngineInputModeIndicPhoneticMultitap,
|
williamr@2
|
291 |
EPtiEngineInputModeIndicPhoneticQwerty,
|
williamr@2
|
292 |
EPtiEngineHiraganaKanjiVkbRomaji, // Hiragana/Kanji mode for VKB/FSQ Romaji input.
|
williamr@2
|
293 |
EPtiEngineHiraganaKanjiPredictiveVkbRomaji, // Predictive Hiragana/Kanji mode for VKB/FSQ Romaji input.
|
williamr@2
|
294 |
EPtiEngineQwertyPredictive, // "Sloppy type" input for qwerty keyboard.
|
williamr@2
|
295 |
EPtiEngineHalfQwerty,
|
williamr@2
|
296 |
EPtiEngineHalfQwertyPredictive,
|
williamr@2
|
297 |
EPtiEngineInputModeQwertyPredictive ,
|
williamr@2
|
298 |
EPtiEngineInputModeZhuyinMiniQwertyFind,
|
williamr@2
|
299 |
EPtiEnginePinyinPhraseHalfQwerty,
|
williamr@2
|
300 |
EPtiEngineStrokePhraseHalfQwerty,
|
williamr@2
|
301 |
EPtiEngineZhuyinPhraseHalfQwerty,
|
williamr@2
|
302 |
EPtiEngineMultitappingKorean, // Basic multitapping input for korean language.
|
williamr@2
|
303 |
EPtiEngineMaxInputModes = EPtiEngineMultitappingKorean
|
williamr@2
|
304 |
};
|
williamr@2
|
305 |
|
williamr@2
|
306 |
|
williamr@2
|
307 |
/*
|
williamr@2
|
308 |
* Predictive qwerty error correction levels.
|
williamr@2
|
309 |
*/
|
williamr@2
|
310 |
enum TPtiErrorCorrectionLevel
|
williamr@2
|
311 |
{
|
williamr@2
|
312 |
EPtiErrorCorrectionLevelOff = 0,
|
williamr@2
|
313 |
EPtiErrorCorrectionLevelLow = 1,
|
williamr@2
|
314 |
EPtiErrorCorrectionLevelHigh = 2
|
williamr@2
|
315 |
};
|
williamr@2
|
316 |
|
williamr@2
|
317 |
|
williamr@2
|
318 |
/**
|
williamr@2
|
319 |
* Key enumerations for conventional (ITU-T) and qwerty keyboards.
|
williamr@2
|
320 |
* Constant names for qwerty keypad keys are named after scan code
|
williamr@2
|
321 |
* values of a device using English language keymappings. The
|
williamr@2
|
322 |
* actual character that will be inserted into editor buffer depends on
|
williamr@2
|
323 |
* keymappings of currently selected input language and may be something else
|
williamr@2
|
324 |
* than what enum name suggests. For example
|
williamr@2
|
325 |
* non-shifted EPtiKeyQwertyHash produces '#'-character if input language is
|
williamr@2
|
326 |
* English, but will produce '+'-character if
|
williamr@2
|
327 |
* input language is Danish, Norwegian, Swedish or Finnish.
|
williamr@2
|
328 |
* The key coordinates on standard 4x12 qwerty keypad are given in
|
williamr@2
|
329 |
* comments.
|
williamr@2
|
330 |
*/
|
williamr@2
|
331 |
enum TPtiKey
|
williamr@2
|
332 |
{
|
williamr@2
|
333 |
EPtiKeyNone = 0,
|
williamr@2
|
334 |
|
williamr@2
|
335 |
EPtiKey1 = '1',
|
williamr@2
|
336 |
EPtiKey2 = '2',
|
williamr@2
|
337 |
EPtiKey3 = '3',
|
williamr@2
|
338 |
EPtiKey4 = '4',
|
williamr@2
|
339 |
EPtiKey5 = '5',
|
williamr@2
|
340 |
EPtiKey6 = '6',
|
williamr@2
|
341 |
EPtiKey7 = '7',
|
williamr@2
|
342 |
EPtiKey8 = '8',
|
williamr@2
|
343 |
EPtiKey9 = '9',
|
williamr@2
|
344 |
EPtiKeyStar = '*',
|
williamr@2
|
345 |
EPtiKey0 = '0',
|
williamr@2
|
346 |
EPtiKeyHash = '#',
|
williamr@2
|
347 |
|
williamr@2
|
348 |
// alternate names
|
williamr@2
|
349 |
EPtiKeyPunct = EPtiKey1,
|
williamr@2
|
350 |
EPtiKeyABC = EPtiKey2,
|
williamr@2
|
351 |
EPtiKeyDEF = EPtiKey3,
|
williamr@2
|
352 |
EPtiKeyGHI = EPtiKey4,
|
williamr@2
|
353 |
EPtiKeyJKL = EPtiKey5,
|
williamr@2
|
354 |
EPtiKeyMNO = EPtiKey6,
|
williamr@2
|
355 |
EPtiKeyPQRS = EPtiKey7,
|
williamr@2
|
356 |
EPtiKeyTUV = EPtiKey8,
|
williamr@2
|
357 |
EPtiKeyWXYZ = EPtiKey9,
|
williamr@2
|
358 |
|
williamr@2
|
359 |
// qwerty keys
|
williamr@2
|
360 |
EPtiKeyQwerty1 = 0x31,
|
williamr@2
|
361 |
EPtiKeyQwerty2 = 0x32,
|
williamr@2
|
362 |
EPtiKeyQwerty3 = 0x33,
|
williamr@2
|
363 |
EPtiKeyQwerty4 = 0x34,
|
williamr@2
|
364 |
EPtiKeyQwerty5 = 0x35,
|
williamr@2
|
365 |
EPtiKeyQwerty6 = 0x36,
|
williamr@2
|
366 |
EPtiKeyQwerty7 = 0x37,
|
williamr@2
|
367 |
EPtiKeyQwerty8 = 0x38,
|
williamr@2
|
368 |
EPtiKeyQwerty9 = 0x39,
|
williamr@2
|
369 |
EPtiKeyQwerty0 = 0x30,
|
williamr@2
|
370 |
|
williamr@2
|
371 |
EPtiKeyQwertyPlus = 0x2b,
|
williamr@2
|
372 |
EPtiKeyQwertyMinus = EStdKeyMinus,
|
williamr@2
|
373 |
EPtiKeyQwertyComma = EStdKeyComma,
|
williamr@2
|
374 |
EPtiKeyQwertySemicolon = EStdKeySemiColon,
|
williamr@2
|
375 |
EPtiKeyQwertyFullstop = EStdKeyFullStop,
|
williamr@2
|
376 |
EPtiKeyQwertyHash = EStdKeyHash,
|
williamr@2
|
377 |
EPtiKeyQwertySlash = EStdKeyForwardSlash,
|
williamr@2
|
378 |
EPtiKeyQwertyApostrophe = EStdKeySingleQuote,
|
williamr@2
|
379 |
EPtiKeyQwertySpace = EStdKeySpace,
|
williamr@2
|
380 |
EPtiKeyQwertyAtCharacter = EStdKeySquareBracketRight,
|
williamr@2
|
381 |
EPtiKeyQwertyLeftShift = EStdKeyLeftShift, // Needed only for special cases.
|
williamr@2
|
382 |
|
williamr@2
|
383 |
EPtiKeyQwertyA = 0x41,
|
williamr@2
|
384 |
EPtiKeyQwertyB = 0x42,
|
williamr@2
|
385 |
EPtiKeyQwertyC = 0x43,
|
williamr@2
|
386 |
EPtiKeyQwertyD = 0x44,
|
williamr@2
|
387 |
EPtiKeyQwertyE = 0x45,
|
williamr@2
|
388 |
EPtiKeyQwertyF = 0x46,
|
williamr@2
|
389 |
EPtiKeyQwertyG = 0x47,
|
williamr@2
|
390 |
EPtiKeyQwertyH = 0x48,
|
williamr@2
|
391 |
EPtiKeyQwertyI = 0x49,
|
williamr@2
|
392 |
EPtiKeyQwertyJ = 0x4a,
|
williamr@2
|
393 |
EPtiKeyQwertyK = 0x4b,
|
williamr@2
|
394 |
EPtiKeyQwertyL = 0x4c,
|
williamr@2
|
395 |
EPtiKeyQwertyM = 0x4d,
|
williamr@2
|
396 |
EPtiKeyQwertyN = 0x4e,
|
williamr@2
|
397 |
EPtiKeyQwertyO = 0x4f,
|
williamr@2
|
398 |
EPtiKeyQwertyP = 0x50,
|
williamr@2
|
399 |
EPtiKeyQwertyQ = 0x51,
|
williamr@2
|
400 |
EPtiKeyQwertyR = 0x52,
|
williamr@2
|
401 |
EPtiKeyQwertyS = 0x53,
|
williamr@2
|
402 |
EPtiKeyQwertyT = 0x54,
|
williamr@2
|
403 |
EPtiKeyQwertyU = 0x55,
|
williamr@2
|
404 |
EPtiKeyQwertyV = 0x56,
|
williamr@2
|
405 |
EPtiKeyQwertyW = 0x57,
|
williamr@2
|
406 |
EPtiKeyQwertyX = 0x58,
|
williamr@2
|
407 |
EPtiKeyQwertyY = 0x59,
|
williamr@2
|
408 |
EPtiKeyQwertyZ = 0x5a
|
williamr@2
|
409 |
|
williamr@2
|
410 |
// ----> Half Qwerty
|
williamr@2
|
411 |
, EPtiKeyQwertyChr = EStdKeyLeftFunc // key (4, 4)
|
williamr@2
|
412 |
// Half Qwerty <----
|
williamr@2
|
413 |
};
|
williamr@2
|
414 |
|
williamr@2
|
415 |
|
williamr@2
|
416 |
|
williamr@2
|
417 |
/**
|
williamr@2
|
418 |
* Enumerations for PtiCore capabilities. These can be queries through
|
williamr@2
|
419 |
* MPtiCoreInfo::CapsBits().
|
williamr@2
|
420 |
* Here are descriptions:
|
williamr@2
|
421 |
*
|
williamr@2
|
422 |
* EWordCompletion
|
williamr@2
|
423 |
* The core object supports word completion -feature.
|
williamr@2
|
424 |
*
|
williamr@2
|
425 |
* EReordering
|
williamr@2
|
426 |
* The core object supports user dictionary reordering. This feature means that
|
williamr@2
|
427 |
* most commonly used words are moved up in prediction candidate
|
williamr@2
|
428 |
* list.
|
williamr@2
|
429 |
*
|
williamr@2
|
430 |
* ENextWordPrediction
|
williamr@2
|
431 |
* The core supports next word prediction feature. When this feature is
|
williamr@2
|
432 |
* enabled, prediction engine tries to guess next word based on previous word(s).
|
williamr@2
|
433 |
*
|
williamr@2
|
434 |
* ESupportUserDictionaries
|
williamr@2
|
435 |
* The core supports supports user dictionaries.
|
williamr@2
|
436 |
*
|
williamr@2
|
437 |
* ESupportSCTToneMarks
|
williamr@2
|
438 |
*
|
williamr@2
|
439 |
* ESupportCangjieInput
|
williamr@2
|
440 |
* The core object supports Chinese CangJie input.
|
williamr@2
|
441 |
*
|
williamr@2
|
442 |
* ESupportDualLanguage
|
williamr@2
|
443 |
* The core object supports dual language preditcion.
|
williamr@2
|
444 |
*
|
williamr@2
|
445 |
* ESupportAutoSubstitution
|
williamr@2
|
446 |
* The core object supports auto-substitution feature. This feature
|
williamr@2
|
447 |
* automatically expands predefined string to longer string.
|
williamr@2
|
448 |
* ie. "l8r" -> "later"
|
williamr@2
|
449 |
*/
|
williamr@2
|
450 |
enum TPtiEngineCapsBits
|
williamr@2
|
451 |
{
|
williamr@2
|
452 |
EWordCompletion = 0x01,
|
williamr@2
|
453 |
EReordering = 0x02,
|
williamr@2
|
454 |
ENextWordPrediction = 0x04,
|
williamr@2
|
455 |
ESupportUserDictionaries = 0x08,
|
williamr@2
|
456 |
ESupportSCTToneMarks = 0x10,
|
williamr@2
|
457 |
ESupportCangjieInput = 0x20,
|
williamr@2
|
458 |
EPreferedSpelling = 0x40,
|
williamr@2
|
459 |
ESupportDualLanguage = 0x80,
|
williamr@2
|
460 |
ESupportAutoSubstitution = 0x100
|
williamr@2
|
461 |
};
|
williamr@2
|
462 |
|
williamr@2
|
463 |
|
williamr@2
|
464 |
/**
|
williamr@2
|
465 |
* Text case defintions.
|
williamr@2
|
466 |
*/
|
williamr@2
|
467 |
enum TPtiTextCase
|
williamr@2
|
468 |
{
|
williamr@2
|
469 |
EPtiCaseLower = 0, // Normal lower case input
|
williamr@2
|
470 |
EPtiCaseUpper, // Normal upper case input.
|
williamr@2
|
471 |
EPtiCaseChrLower, // Qwerty chr-key lower case input.
|
williamr@2
|
472 |
EPtiCaseChrUpper, // Qwerty chr-key upper case input.
|
williamr@2
|
473 |
EPtiCaseFnLower, // Qwerty fn-key lower case input.
|
williamr@2
|
474 |
EPtiCaseFnUpper, // Qwerty fn-key upper case input.
|
williamr@2
|
475 |
EPtiCaseMax
|
williamr@2
|
476 |
};
|
williamr@2
|
477 |
|
williamr@2
|
478 |
|
williamr@2
|
479 |
enum TPtiCharConversion
|
williamr@2
|
480 |
{
|
williamr@2
|
481 |
EPtiSimplifiedToComplex = 0x01, // Chinese simplified to Chinese complex
|
williamr@2
|
482 |
EPtiUcs2ToUtf8 = 0x02, // Unicode to utf8
|
williamr@2
|
483 |
EPtiUcs2ToBig5 = 0x04, // Unicode to big5
|
williamr@2
|
484 |
EPtiUcs2ToGB = 0x08, // Unicode to Guo-Biao
|
williamr@2
|
485 |
EPtiUtf8ToUcs2 = 0x10, // Utf8 to Unicode
|
williamr@2
|
486 |
EPtiKo2ToWc = 0x20, // KSC5601 to Hangul Syllable
|
williamr@2
|
487 |
EPtiWcToKo2 = 0x30, // Hangul Syllable to KSC5601
|
williamr@2
|
488 |
EPtiBig5ToUcs2 = 0x40, // Big5 to Unicode
|
williamr@2
|
489 |
EPtiComplexToSimplified = 0x80 // Chinese complex to Chinese simplified
|
williamr@2
|
490 |
};
|
williamr@2
|
491 |
|
williamr@2
|
492 |
/**
|
williamr@2
|
493 |
* Enumerates supported spelling types for CPtiEngine::GetSpelling method.
|
williamr@2
|
494 |
*/
|
williamr@2
|
495 |
enum TPtiSpelling
|
williamr@2
|
496 |
{
|
williamr@2
|
497 |
EPtiStrokes = 0x01,
|
williamr@2
|
498 |
EPtiPinyin = 0x02,
|
williamr@2
|
499 |
EPtiBopomofo = 0x04,
|
williamr@2
|
500 |
EPtiZhuyin = 0x08,
|
williamr@2
|
501 |
EPtiCangJie = 0x10,
|
williamr@2
|
502 |
EPtiEasyCangjie = 0x20,
|
williamr@2
|
503 |
EPtiAdvCangjie = 0x40
|
williamr@2
|
504 |
};
|
williamr@2
|
505 |
|
williamr@2
|
506 |
/**
|
williamr@2
|
507 |
* Enumerates different Chinese variants.
|
williamr@2
|
508 |
*/
|
williamr@2
|
509 |
enum TPtiChineseVariant
|
williamr@2
|
510 |
{
|
williamr@2
|
511 |
EPtiChineseVariantPrc = 0,
|
williamr@2
|
512 |
EPtiChineseVariantHk,
|
williamr@2
|
513 |
EPtiChineseVariantTw
|
williamr@2
|
514 |
};
|
williamr@2
|
515 |
|
williamr@2
|
516 |
/**
|
williamr@2
|
517 |
* Command definitions for CPtiEngine::HandleCommandL api methods. Many of these
|
williamr@2
|
518 |
* are for internal communication between PtiEngine framework and a specific
|
williamr@2
|
519 |
* core object and there for not documented.
|
williamr@2
|
520 |
*/
|
williamr@2
|
521 |
enum TPtiEngineCommand
|
williamr@2
|
522 |
{
|
williamr@2
|
523 |
EPtiCommandNone,
|
williamr@2
|
524 |
EPtiCommandUserActionLeft,
|
williamr@2
|
525 |
EPtiCommandUserActionRight,
|
williamr@2
|
526 |
EPtiCommandUserActionConvert,
|
williamr@2
|
527 |
EPtiCommandUserActionPrevious,
|
williamr@2
|
528 |
EPtiCommandUserActionLengthen,
|
williamr@2
|
529 |
EPtiCommandUserActionShorten,
|
williamr@2
|
530 |
EPtiCommandUserActionCancel,
|
williamr@2
|
531 |
EPtiCommandUserActionComplete,
|
williamr@2
|
532 |
EPtiCommandUserActionAllComplete,
|
williamr@2
|
533 |
EPtiCommandUserActionGetCurrentIndexOfCandidates,
|
williamr@2
|
534 |
EPtiCommandUserActionCompleteCandidate,
|
williamr@2
|
535 |
EPtiCommandUserActionCompleteFull0,
|
williamr@2
|
536 |
EPtiCommandUserActionCompleteFull1,
|
williamr@2
|
537 |
EPtiCommandUserActionCompleteFull2,
|
williamr@2
|
538 |
EPtiCommandUserActionCompleteFull3,
|
williamr@2
|
539 |
EPtiCommandUserActionCompleteFull4,
|
williamr@2
|
540 |
EPtiCommandUserActionCompleteFull5,
|
williamr@2
|
541 |
EPtiCommandUserActionCompleteFull6,
|
williamr@2
|
542 |
EPtiCommandUserActionCompleteFull7,
|
williamr@2
|
543 |
EPtiCommandUserActionCompleteFull8,
|
williamr@2
|
544 |
EPtiCommandUserActionCompleteFull9,
|
williamr@2
|
545 |
EPtiCommandUserActionCompleteHalf0,
|
williamr@2
|
546 |
EPtiCommandUserActionCompleteHalf1,
|
williamr@2
|
547 |
EPtiCommandUserActionCompleteHalf2,
|
williamr@2
|
548 |
EPtiCommandUserActionCompleteHalf3,
|
williamr@2
|
549 |
EPtiCommandUserActionCompleteHalf4,
|
williamr@2
|
550 |
EPtiCommandUserActionCompleteHalf5,
|
williamr@2
|
551 |
EPtiCommandUserActionCompleteHalf6,
|
williamr@2
|
552 |
EPtiCommandUserActionCompleteHalf7,
|
williamr@2
|
553 |
EPtiCommandUserActionCompleteHalf8,
|
williamr@2
|
554 |
EPtiCommandUserActionCompleteHalf9,
|
williamr@2
|
555 |
EPtiCommandEnableToneMarks,
|
williamr@2
|
556 |
EPtiCommandDisableToneMarks,
|
williamr@2
|
557 |
EPtiCommandResetToneMark,
|
williamr@2
|
558 |
EPtiCommandIncrementToneMark,
|
williamr@2
|
559 |
EPtiCommandIncrementToneMarkOverrideInvalid,
|
williamr@2
|
560 |
EPtiCommandReloadLearningInfo,
|
williamr@2
|
561 |
EPtiCommandUserDictionaryDelaySaving,
|
williamr@2
|
562 |
EPtiCommandUserDictionarySaveNow,
|
williamr@2
|
563 |
EPtiCommandUserActionSetCurrentIndexOfCandidates,
|
williamr@2
|
564 |
EPtiCommandUseLatinDefaultKeyMap,
|
williamr@2
|
565 |
EPtiCommandUseLatinCaseUpperOnlyKeyMap,
|
williamr@2
|
566 |
EPtiCommandUseLatinCaseLowerOnlyKeyMap,
|
williamr@2
|
567 |
EPtiCommandResetLearningInfo,
|
williamr@2
|
568 |
EPtiCommandPollQwertyDeadKeyRootFlag, // Indicates that dead key root char was added to buffer.
|
williamr@2
|
569 |
EPtiCommandGetAndClearDeadKeyRootChar,
|
williamr@2
|
570 |
EPtiCommandDeadKeyWaiting,
|
williamr@2
|
571 |
EPtiCommandQueryAndClearGetAllFlag,
|
williamr@2
|
572 |
EPtiCommandGetAndClearVowelSequence,
|
williamr@2
|
573 |
EPtiCommandSetMultitapTimer, // Set multitap timer for japanese varint only
|
williamr@2
|
574 |
EPtiCommandVowelSeqFlag,
|
williamr@2
|
575 |
EPtiCommandClearVowelSeq,
|
williamr@2
|
576 |
EPtiCommandSetJapaneseQwertyFlags, // Set Japanese Qwerty flags for japanese varint only
|
williamr@2
|
577 |
EPtiCommandGetAndClearLastVietnameseChar,
|
williamr@2
|
578 |
EPtiCommandSetVietnameseLastChar,
|
williamr@2
|
579 |
EPtiCommandQueryReplacePrevious,
|
williamr@2
|
580 |
EPtiCommandSetLastKeyForVietnamese,
|
williamr@2
|
581 |
EPtiCommandResetVietnameseVowelSeqAndToneMark,
|
williamr@2
|
582 |
EPtiCommandGetVietnameseLastKey,
|
williamr@2
|
583 |
EPtiCommandDoubleWideEntry,
|
williamr@2
|
584 |
EPtiCommandSetClearFunction, // Set the behavior of clear key for japanese varint only
|
williamr@2
|
585 |
EPtiCommandUserActionRetroActiveCandidateHalf,
|
williamr@2
|
586 |
EPtiCommandUserActionRetroActiveCandidateFull,
|
williamr@2
|
587 |
EPtiCommandUserActionRetroActiveClear,
|
williamr@2
|
588 |
EPtiCommandUserActionRetroActiveCommit,
|
williamr@2
|
589 |
EPtiCommandAppendCharacter, // Append a character for Japanese varint only
|
williamr@2
|
590 |
EPtiCommandBackSpaceByForce, // BackSpace by force for Japanese varint only
|
williamr@2
|
591 |
EPtiCommandGetPhoneticText,
|
williamr@2
|
592 |
EPtiCommandClearPhoneticBuffer,
|
williamr@2
|
593 |
EPtiCommandBreakSyllable,
|
williamr@2
|
594 |
EPtiCommandAllowPictographCandidate, // Allow the candidates with pictograph cahracter for Japanese variant only
|
williamr@2
|
595 |
EPtiCommandLoopback, // Loop back input character (Loop back: c->b->a)
|
williamr@2
|
596 |
EPtiCommandSetAutoSubstitution,
|
williamr@2
|
597 |
EPtiCommandAddAutoSubstEntry, // TPtiAutoSubstBinding passed in aParams.
|
williamr@2
|
598 |
EPtiCommandDeleteAutoSubstEntry, // TPtiAutoSubstBinding passed in aParams.
|
williamr@2
|
599 |
EPtiCommandNumberOfAutoSubstEntries,
|
williamr@2
|
600 |
EPtiCommandGetAutoSubstEntry, // TPtiAutoSubstBinding passed in aParams.
|
williamr@2
|
601 |
EPtiCommandFindAutoSubstEntry, // TPtiAutoSubstBinding* passed in aParams.
|
williamr@2
|
602 |
EPtiCommandUncommitWord,
|
williamr@2
|
603 |
EPtiCommandEnableAutoCompletion,
|
williamr@2
|
604 |
EPtiCommandDisableAutoCompletion,
|
williamr@2
|
605 |
EPtiCommandSetCorrectionLevel, // TErrorCorrectionLevel* passed in aParams.
|
williamr@2
|
606 |
EPtiCommandGetAutoCompletionTailLength, // TInt* passed in aParams for output.
|
williamr@2
|
607 |
EPtiCommandLockCurrentCandidate,
|
williamr@2
|
608 |
EPtiCommandSetProactiveCorrection, // TBool passed in aParams
|
williamr@2
|
609 |
EPtiCommandIsExactKnownWord,
|
williamr@2
|
610 |
EPtiCommandSetAutoCompletion,
|
williamr@2
|
611 |
EPtiCommandSetNumberCandidateStatus, //
|
williamr@2
|
612 |
EPtiCommandSetAutoCompletionMaxLength, // Param is integer. Sets maximum lenght of ato completed word. Zero == no limit.
|
williamr@2
|
613 |
EPtiCommandMarkAutoCapitalized, // No parameters.
|
williamr@2
|
614 |
EPtiCommandUserActionGetIndexOfSecondaryCandidate, // index of secondary candidate, TInt* passed in param
|
williamr@2
|
615 |
EPtiCommandAddPhrase, // Add new phrase for next word prediction. const TDesC* passed in param.
|
williamr@2
|
616 |
EPtiCommandSetSecondaryInputLanguage,
|
williamr@2
|
617 |
EPtiCommandSetFlagToUpdateCandidates,
|
williamr@2
|
618 |
EPtiCommandSetCursorCrossedMaxLength, // sets when cursor crosses max words length in editor
|
williamr@2
|
619 |
EPtiCommandResetCursorCrossedMaxLength,
|
williamr@2
|
620 |
EPtiCommandUserActionSetIndexOfActiveCandidate,
|
williamr@2
|
621 |
EPtiCommandAddWordToUDBWithoutPunctMark
|
williamr@2
|
622 |
};
|
williamr@2
|
623 |
|
williamr@2
|
624 |
/**
|
williamr@2
|
625 |
* A convinience class for auto substitution related EPtiCommands. Needed
|
williamr@2
|
626 |
* only in core object and framework code.
|
williamr@2
|
627 |
*/
|
williamr@2
|
628 |
class TPtiAutoSubstBinding
|
williamr@2
|
629 |
{
|
williamr@2
|
630 |
public:
|
williamr@2
|
631 |
TInt iIndex;
|
williamr@2
|
632 |
TBuf<KMaxAutoSubstStringLength> iShortcut;
|
williamr@2
|
633 |
TBuf<KMaxAutoSubstStringLength> iSubstitution;
|
williamr@2
|
634 |
};
|
williamr@2
|
635 |
|
williamr@2
|
636 |
|
williamr@2
|
637 |
/**
|
williamr@2
|
638 |
* A structure for binding language name and language code.
|
williamr@2
|
639 |
* only in core object and framework code.
|
williamr@2
|
640 |
*/
|
williamr@2
|
641 |
class TPtiLangName
|
williamr@2
|
642 |
{
|
williamr@2
|
643 |
public:
|
williamr@2
|
644 |
TInt iLanguageCode;
|
williamr@2
|
645 |
TBuf<KMaxLanguageNameLength> iName;
|
williamr@2
|
646 |
};
|
williamr@2
|
647 |
|
williamr@2
|
648 |
|
williamr@2
|
649 |
/**
|
williamr@2
|
650 |
* This is language code for 'numeric' language.
|
williamr@2
|
651 |
* It is langugae object which is always available and
|
williamr@2
|
652 |
* has only numeric input mode.
|
williamr@2
|
653 |
*/
|
williamr@2
|
654 |
#define ELangNumeric 0x5000
|
williamr@2
|
655 |
|
williamr@2
|
656 |
/**
|
williamr@2
|
657 |
* An interface class for accessing core info attributes.
|
williamr@2
|
658 |
*/
|
williamr@2
|
659 |
class MPtiCoreInfo
|
williamr@2
|
660 |
{
|
williamr@2
|
661 |
public:
|
williamr@2
|
662 |
/**
|
williamr@2
|
663 |
* Returns a boolean value indicating whether the word completion
|
williamr@2
|
664 |
* feature is supported by the core object in question
|
williamr@2
|
665 |
*
|
williamr@2
|
666 |
* @since S60 V2.6
|
williamr@2
|
667 |
* @return ETrue if core object supports word completion feature.
|
williamr@2
|
668 |
* EFalse otherwise.
|
williamr@2
|
669 |
*/
|
williamr@2
|
670 |
virtual TBool WordCompletion() const = 0;
|
williamr@2
|
671 |
|
williamr@2
|
672 |
/**
|
williamr@2
|
673 |
* Returns a boolean value indicating whether the user dictionary
|
williamr@2
|
674 |
* re-ordering feature is supported by the core object in question.
|
williamr@2
|
675 |
*
|
williamr@2
|
676 |
* @since S60 V2.6
|
williamr@2
|
677 |
* @return ETrue if core object supports re-ordering feature.
|
williamr@2
|
678 |
* EFalse otherwise.
|
williamr@2
|
679 |
*/
|
williamr@2
|
680 |
virtual TBool Reordering() const = 0;
|
williamr@2
|
681 |
|
williamr@2
|
682 |
/**
|
williamr@2
|
683 |
* Returns maximum length of single word this core object is able to produce.
|
williamr@2
|
684 |
*
|
williamr@2
|
685 |
* @since S60 V2.6
|
williamr@2
|
686 |
* @return The maximum word length.
|
williamr@2
|
687 |
*/
|
williamr@2
|
688 |
virtual TInt MaximumWordLength() const = 0;
|
williamr@2
|
689 |
|
williamr@2
|
690 |
/**
|
williamr@2
|
691 |
* Returns the maximum number of prediction candidates the core object
|
williamr@2
|
692 |
* is able to produce for any input sequence. Doesn't apply for
|
williamr@2
|
693 |
* Chinese and Japanese modes.
|
williamr@2
|
694 |
*
|
williamr@2
|
695 |
* @since S60 V2.6
|
williamr@2
|
696 |
* @return The maximum number of candidates.
|
williamr@2
|
697 |
*/
|
williamr@2
|
698 |
virtual TInt MaximumNumberOfCandidates() const = 0;
|
williamr@2
|
699 |
|
williamr@2
|
700 |
/**
|
williamr@2
|
701 |
* Returns a boolean value indicating whether the next word prediction feature
|
williamr@2
|
702 |
* supported by the core object in question.
|
williamr@2
|
703 |
*
|
williamr@2
|
704 |
* @since S60 V2.6
|
williamr@2
|
705 |
* @return ETrue if next wrod prediction is supported.
|
williamr@2
|
706 |
* EFalse otherwise.
|
williamr@2
|
707 |
*/
|
williamr@2
|
708 |
virtual TBool NextWordPrediction() const = 0;
|
williamr@2
|
709 |
|
williamr@2
|
710 |
/**
|
williamr@2
|
711 |
* Returns core object vendor specific id string.
|
williamr@2
|
712 |
*
|
williamr@2
|
713 |
* @since S60 V2.6
|
williamr@2
|
714 |
* @return Vendor specific id string.
|
williamr@2
|
715 |
*/
|
williamr@2
|
716 |
virtual TPtrC VendorString() const = 0;
|
williamr@2
|
717 |
|
williamr@2
|
718 |
/**
|
williamr@2
|
719 |
* Returns a bit vector containing flags for various core object features.
|
williamr@2
|
720 |
* See TPtiEngineCapsBits for list of specified bits.
|
williamr@2
|
721 |
*
|
williamr@2
|
722 |
* @since S60 V2.6
|
williamr@2
|
723 |
* @return A bit vector containing flags for various core object features.
|
williamr@2
|
724 |
*/
|
williamr@2
|
725 |
virtual TUint32 CapsBits() const = 0;
|
williamr@2
|
726 |
|
williamr@2
|
727 |
/**
|
williamr@2
|
728 |
* Returns uid value for core object.
|
williamr@2
|
729 |
*
|
williamr@2
|
730 |
* @since S60 V2.6
|
williamr@2
|
731 |
* @return Core object uid as an integer value.
|
williamr@2
|
732 |
*/
|
williamr@2
|
733 |
virtual TInt32 Uid() const = 0;
|
williamr@2
|
734 |
|
williamr@2
|
735 |
/**
|
williamr@2
|
736 |
* Returns a bitvector containing flags for available character conversion
|
williamr@2
|
737 |
* methods. See TPtiCharConversion for list of specified bits.
|
williamr@2
|
738 |
*
|
williamr@2
|
739 |
* @since S60 V2.6
|
williamr@2
|
740 |
* @return A bit vector containing flags for available character conversions.
|
williamr@2
|
741 |
*/
|
williamr@2
|
742 |
virtual TUint32 CharConversions() const = 0;
|
williamr@2
|
743 |
|
williamr@2
|
744 |
/**
|
williamr@2
|
745 |
* Returns a bitvector containing flags for available spelling conversion
|
williamr@2
|
746 |
* methods. See TPtiSpelling for list of specified bits.
|
williamr@2
|
747 |
*
|
williamr@2
|
748 |
* @since S60 V2.6
|
williamr@2
|
749 |
* @return A bit vector containing flags for available spelling conversions.
|
williamr@2
|
750 |
*/
|
williamr@2
|
751 |
virtual TUint32 Spellings() const = 0;
|
williamr@2
|
752 |
};
|
williamr@2
|
753 |
|
williamr@2
|
754 |
|
williamr@2
|
755 |
class TPtiCoreInfo : public MPtiCoreInfo
|
williamr@2
|
756 |
{
|
williamr@2
|
757 |
public:
|
williamr@2
|
758 |
inline TBool WordCompletion() const;
|
williamr@2
|
759 |
inline TBool Reordering() const;
|
williamr@2
|
760 |
inline TInt MaximumWordLength() const;
|
williamr@2
|
761 |
inline TInt MaximumNumberOfCandidates() const;
|
williamr@2
|
762 |
inline TBool NextWordPrediction() const;
|
williamr@2
|
763 |
inline TPtrC VendorString() const;
|
williamr@2
|
764 |
inline TInt32 Uid() const;
|
williamr@2
|
765 |
inline TUint32 CharConversions() const;
|
williamr@2
|
766 |
inline TUint32 Spellings() const;
|
williamr@2
|
767 |
|
williamr@2
|
768 |
inline TUint32 CapsBits() const;
|
williamr@2
|
769 |
inline void SetCapsBits(TUint32 aBits);
|
williamr@2
|
770 |
inline void SetVendorString(const TDesC& aStr);
|
williamr@2
|
771 |
inline void SetMaxWordLength(TInt aMaxLen);
|
williamr@2
|
772 |
inline void SetUid(TInt32 aUid);
|
williamr@2
|
773 |
inline void SetSpellings(TUint32 aSpellings);
|
williamr@2
|
774 |
inline void SetMaxNumberOfCandidates(TInt aMax);
|
williamr@2
|
775 |
inline void SetCharConversions(TUint32 aConvs);
|
williamr@2
|
776 |
|
williamr@2
|
777 |
private:
|
williamr@2
|
778 |
TUint32 iCapsBits;
|
williamr@2
|
779 |
TPtrC iVendorIdStr;
|
williamr@2
|
780 |
TInt iMaxWordLength;
|
williamr@2
|
781 |
TInt iMaxNumberOfCandidates;
|
williamr@2
|
782 |
TInt32 iUid;
|
williamr@2
|
783 |
TUint32 iCharConversions;
|
williamr@2
|
784 |
TUint32 iSpellings;
|
williamr@2
|
785 |
};
|
williamr@2
|
786 |
|
williamr@2
|
787 |
|
williamr@2
|
788 |
#define KPtiEngineChineseSeparator 0x0027
|
williamr@2
|
789 |
|
williamr@2
|
790 |
// Tone marks for pinyin input
|
williamr@2
|
791 |
enum
|
williamr@2
|
792 |
{
|
williamr@2
|
793 |
KPtiPinyinTone0 = 0x02C9,
|
williamr@2
|
794 |
KPtiPinyinTone1 = 0x02CA,
|
williamr@2
|
795 |
KPtiPinyinTone2 = 0x02C7,
|
williamr@2
|
796 |
KPtiPinyinTone3 = 0x02CB,
|
williamr@2
|
797 |
KPtiPinyinTone4 = 0x02D9
|
williamr@2
|
798 |
};
|
williamr@2
|
799 |
|
williamr@2
|
800 |
// Tone marks for zhuyin input
|
williamr@2
|
801 |
enum
|
williamr@2
|
802 |
{
|
williamr@2
|
803 |
KPtiZhuyinTone0 = 0x0020,
|
williamr@2
|
804 |
KPtiZhuyinTone1 = 0x02CA,
|
williamr@2
|
805 |
KPtiZhuyinTone2 = 0x02C7,
|
williamr@2
|
806 |
KPtiZhuyinTone3 = 0x02CB,
|
williamr@2
|
807 |
KPtiZhuyinTone4 = 0x02D9
|
williamr@2
|
808 |
};
|
williamr@2
|
809 |
|
williamr@2
|
810 |
|
williamr@2
|
811 |
class TPtiNumericKeyBinding
|
williamr@2
|
812 |
{
|
williamr@2
|
813 |
public:
|
williamr@2
|
814 |
TUint16 iChar;
|
williamr@2
|
815 |
TPtiKey iKey;
|
williamr@2
|
816 |
TPtiTextCase iCase;
|
williamr@2
|
817 |
};
|
williamr@2
|
818 |
|
williamr@2
|
819 |
|
williamr@2
|
820 |
// type definition for HWR
|
williamr@2
|
821 |
typedef struct TRecognitionRangeTag
|
williamr@2
|
822 |
{
|
williamr@2
|
823 |
TLanguage iLanguage;
|
williamr@2
|
824 |
TUint iSubRange;
|
williamr@2
|
825 |
} TRecognitionRange;
|
williamr@2
|
826 |
|
williamr@2
|
827 |
|
williamr@2
|
828 |
enum TRecognitionSubRanges
|
williamr@2
|
829 |
{
|
williamr@2
|
830 |
EPtiRangePRCChinese,
|
williamr@2
|
831 |
EPtiRangeHKChinese,
|
williamr@2
|
832 |
EPtiRangeTWChinese,
|
williamr@2
|
833 |
EPtiRangeLatin,
|
williamr@2
|
834 |
EPtiRangeSymbol,
|
williamr@2
|
835 |
EPtiRangeNumber,
|
williamr@2
|
836 |
EPtiRangeNative, // native text of a language, EPtiRangeLatin also belong to it
|
williamr@2
|
837 |
EPtiRangeHiraganaKanji,
|
williamr@2
|
838 |
EPtiRangeKatakana,
|
williamr@2
|
839 |
EPtiRangeFullWidthKatakana,
|
williamr@2
|
840 |
EPtiRangeFullWidthEnglish,
|
williamr@2
|
841 |
EPtiRangeFullWidthNumeric,
|
williamr@2
|
842 |
EPtiRangeHiraganaOnly,
|
williamr@2
|
843 |
EPtiRangeNativeNumber,
|
williamr@2
|
844 |
EPtiRangeNone
|
williamr@2
|
845 |
};
|
williamr@2
|
846 |
|
williamr@2
|
847 |
|
williamr@2
|
848 |
enum TLatinLetterOrder
|
williamr@2
|
849 |
{
|
williamr@2
|
850 |
EUpperFirst,
|
williamr@2
|
851 |
ELowerFirst
|
williamr@2
|
852 |
};
|
williamr@2
|
853 |
|
williamr@2
|
854 |
/*
|
williamr@2
|
855 |
* List of supported keyboard types. Each of these keyboard types
|
williamr@2
|
856 |
* may have own data block in keyboard data file.
|
williamr@2
|
857 |
*/
|
williamr@2
|
858 |
enum TPtiKeyboardType
|
williamr@2
|
859 |
{
|
williamr@2
|
860 |
EPtiKeyboardNone,
|
williamr@2
|
861 |
|
williamr@2
|
862 |
/**
|
williamr@2
|
863 |
* Conventional 12 phone keypad
|
williamr@2
|
864 |
*/
|
williamr@2
|
865 |
EPtiKeyboard12Key,
|
williamr@2
|
866 |
|
williamr@2
|
867 |
/**
|
williamr@2
|
868 |
* 4x12 Qwerty keyboard.
|
williamr@2
|
869 |
*/
|
williamr@2
|
870 |
EPtiKeyboardQwerty4x12,
|
williamr@2
|
871 |
|
williamr@2
|
872 |
/**
|
williamr@2
|
873 |
* 4x10 Qwerty keyboard.
|
williamr@2
|
874 |
*/
|
williamr@2
|
875 |
EPtiKeyboardQwerty4x10,
|
williamr@2
|
876 |
|
williamr@2
|
877 |
/**
|
williamr@2
|
878 |
* 3x11 Qwerty keyboard.
|
williamr@2
|
879 |
*/
|
williamr@2
|
880 |
EPtiKeyboardQwerty3x11,
|
williamr@2
|
881 |
|
williamr@2
|
882 |
/**
|
williamr@2
|
883 |
* Half qwerty.
|
williamr@2
|
884 |
*/
|
williamr@2
|
885 |
EPtiKeyboardHalfQwerty,
|
williamr@2
|
886 |
|
williamr@2
|
887 |
/**
|
williamr@2
|
888 |
* Custom qwerty keyboard.
|
williamr@2
|
889 |
* Bound to [KEYBOARD BLOCK QWERTY CUSTOM] in keymapping
|
williamr@2
|
890 |
* definition files.
|
williamr@2
|
891 |
*/
|
williamr@2
|
892 |
EPtiKeyboardCustomQwerty,
|
williamr@2
|
893 |
|
williamr@2
|
894 |
EPtiKeyboardMaxLayout
|
williamr@2
|
895 |
};
|
williamr@2
|
896 |
|
williamr@2
|
897 |
#include "PtiDefs.inl"
|
williamr@2
|
898 |
|
williamr@2
|
899 |
#endif // _PTI_DEFS_H
|
williamr@2
|
900 |
|
williamr@2
|
901 |
// End od file
|