textinput/ptienginev2/languages/PtiKeymappings_ITUT_50.cpp
branchRCL_3
changeset 11 c8fb4cf7b3ae
parent 0 eb1f2e154e89
child 20 ebd48d2de13c
equal deleted inserted replaced
9:e6a39382bb9c 11:c8fb4cf7b3ae
     1 /*
     1 /*
     2 * Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
     2 * Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0""
     5 * under the terms of the License "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     8 *
     8 *
     9 * Initial Contributors:
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    10 * Nokia Corporation - initial contribution.
    95 //
    95 //
    96 // StandardQwerty keymap data table
    96 // StandardQwerty keymap data table
    97 //
    97 //
    98 const TUint16 StandardQwertyData_table_Farsi[] =
    98 const TUint16 StandardQwertyData_table_Farsi[] =
    99     {
    99     {
   100      0x6f1,
   100      0x0636,
   101      0x6f2,
   101      0x0635,
   102      0x6f3,
   102      0x062B,
   103      0x6f4,
   103      0x0642,
   104      0x6f5,
   104      0x0641,
   105      0x6f6,
   105      0x063A,
   106      0x6f7,
   106      0x0639,
   107      0x6f8,
   107      0x0647,
   108      0x6f9,
   108      0x062E,
   109      0x6f0,
   109      0x062D,
   110      0x636,
   110      0x062C,
   111      0x635,
   111      0x0634,
   112      0x62b,
   112      0x0633,
   113      0x642,
   113      0x06CC,
   114      0x641,
   114      0x0628,
   115      0x63a,
   115      0x0644,
   116      0x639,
   116      0x0627,
   117      0x647,
   117      0x062A,
   118      0x62e,
   118      0x0646,
   119      0x62d,
   119      0x0645,
   120      0x62c,
   120      0x06A9,
   121      0x686,
   121      0x0686,
   122      0x634,
   122      0x0638,
   123      0x633,
   123      0x0637,
   124      0x6cc,
   124      0x0698,
   125      0x628,
   125      0x0632,
   126      0x644,
   126      0x0631,
   127      0x627,
   127      0x0630,
   128      0x62a,
   128      0x062F,
   129      0x646,
   129      0x0648,
   130      0x645,
   130      0x002E,
   131      0x6a9,
   131      0x067E,
   132      0x6af,
   132      0x06AF,
   133      0x40,
   133      0x066C,
   134      0x638,
   134      0x066B,
   135      0x637,
   135      0xFDFC,
   136      0x632,
   136      0x066A,
   137      0x631,
   137      0x003D,
   138      0x630,
   138      0x0021,
   139      0x62f,
   139      0x002A,
   140      0x67e,
   140      0x002D,
   141      0x648,
   141      0x002B,
   142      0x2e,
   142      0x0640,
   143      0x2f,
   143      0x060C,
   144      0x66c,
   144      0x0624,
   145      0x66b,
   145      0x0626,
   146      0xfdfc,
   146      0x064A,
   147      0x66a,
   147      0x0625,
   148      0x3d,
   148      0x0623,
   149      0x21,
   149      0x0622,
   150      0x2a,
   150      0x0629,
   151      0x2d,
   151      0x003E,
   152      0x2b,
   152      0x003C,
   153      0x640,
   153      0x003A,
   154      0x636,
   154      0x061B,
   155      0x635,
   155      0x0643,
   156      0x62b,
   156      0x0621,
   157      0x642,
   157      0x201D,
   158      0x641,
   158      0x201E,
   159      0x63a,
   159      0x200C,
   160      0x28,
   160      0x200D,
   161      0x28,
   161      0x0022,
   162      0x7d,
   162      0x0027,
   163      0x7b,
   163      0x061F,
   164      0x5c,
   164      0x0029,
   165      0x7c,
   165      0x0028,
   166      0x624,
       
   167      0x626,
       
   168      0x64a,
       
   169      0x625,
       
   170      0x623,
       
   171      0x622,
       
   172      0x629,
       
   173      0xbb,
       
   174      0xab,
       
   175      0x3a,
       
   176      0x61b,
       
   177      0x60c,
       
   178      0x643,
       
   179      0x637,
       
   180      0x698,
       
   181      0x631,
       
   182      0x200c,
       
   183      0x200d,
       
   184      0x621,
       
   185      0x3e,
       
   186      0x3c,
       
   187      0x61f,
       
   188     };
   166     };
   189 
   167 
   190 const TInt KStandardQwertyDataSize_Farsi = 88;
   168 const TInt KStandardQwertyDataSize_Farsi = 66;
   191 
   169 
   192 
   170 
   193 const TPtiKeyBinding StandardQwertyKeyBindings_table_Farsi[] =
   171 const TPtiKeyBinding StandardQwertyKeyBindings_table_Farsi[] =
   194     {
   172     {
   195         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
   173         {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
   196         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
   174         {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
   197         {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
   175         {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
   198         {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
   176         {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
   199         {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
   177         {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
   200         {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
   178         {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
   201         {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
   179         {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
   202         {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
   180         {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
   203         {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
   181         {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
   204         {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
   182         {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
   205         {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
   183         {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
   206         {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
   184         {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
   207         {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
   185         {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
   208         {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
   186         {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
   209         {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
   187         {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
   210         {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
   188         {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
   211         {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
   189         {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
   212         {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
   190         {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
   213         {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
   191         {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
   214         {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
   192         {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
   215         {EPtiKeyQwertyP, EPtiCaseLower, 20, 1},
   193         {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
   216         {EPtiKeyQwertyMinus, EPtiCaseLower, 21, 1},
   194         {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
       
   195         {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
   217         {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
   196         {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
   218         {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
   197         {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
   219         {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
   198         {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
   220         {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
   199         {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
   221         {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
   200         {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
   223         {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
   202         {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
   224         {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
   203         {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
   225         {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
   204         {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
   226         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
   205         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
   227         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
   206         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
   228         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 1},
   207         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
   229         {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
   208         {0x5b, EPtiCaseLower, 33, 0},
   230         {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
   209         {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
   231         {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
   210         {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
   232         {EPtiKeyQwertyV, EPtiCaseLower, 37, 1},
   211         {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
   233         {EPtiKeyQwertyB, EPtiCaseLower, 38, 1},
   212         {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
   234         {EPtiKeyQwertyN, EPtiCaseLower, 39, 1},
   213         {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
   235         {EPtiKeyQwertyM, EPtiCaseLower, 40, 1},
   214         {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
   236         {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
   215         {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
   237         {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
   216         {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
   238         {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
   217         {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
   239         {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
   218         {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
   240         {EPtiKeyQwerty2, EPtiCaseUpper, 45, 1},
   219         {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
   241         {EPtiKeyQwerty3, EPtiCaseUpper, 46, 1},
   220         {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
   242         {EPtiKeyQwerty4, EPtiCaseUpper, 47, 1},
   221         {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
   243         {EPtiKeyQwerty5, EPtiCaseUpper, 48, 1},
   222         {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
   244         {EPtiKeyQwerty6, EPtiCaseUpper, 49, 1},
   223         {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
   245         {EPtiKeyQwerty7, EPtiCaseUpper, 50, 1},
   224         {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
   246         {EPtiKeyQwerty8, EPtiCaseUpper, 51, 1},
   225         {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
   247         {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1},
   226         {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
   248         {EPtiKeyQwerty0, EPtiCaseUpper, 53, 1},
   227         {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
   249         {EPtiKeyQwertyPlus, EPtiCaseUpper, 54, 1},
   228         {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
   250         {EPtiKeyQwertyQ, EPtiCaseUpper, 55, 1},
   229         {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
   251         {EPtiKeyQwertyW, EPtiCaseUpper, 56, 1},
   230         {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
   252         {EPtiKeyQwertyE, EPtiCaseUpper, 57, 1},
   231         {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
   253         {EPtiKeyQwertyR, EPtiCaseUpper, 58, 1},
   232         {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
   254         {EPtiKeyQwertyT, EPtiCaseUpper, 59, 1},
   233         {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
   255         {EPtiKeyQwertyY, EPtiCaseUpper, 60, 1},
   234         {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
   256         {EPtiKeyQwertyU, EPtiCaseUpper, 61, 1},
   235         {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
   257         {EPtiKeyQwertyI, EPtiCaseUpper, 62, 1},
   236         {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
   258         {EPtiKeyQwertyO, EPtiCaseUpper, 63, 1},
   237         {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
   259         {EPtiKeyQwertyP, EPtiCaseUpper, 64, 1},
   238         {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
   260         {EPtiKeyQwertyMinus, EPtiCaseUpper, 65, 1},
   239         {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
   261         {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1},
   240         {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
   262         {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1},
   241         {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
   263         {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1},
   242         {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
   264         {EPtiKeyQwertyD, EPtiCaseUpper, 69, 1},
   243         {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
   265         {EPtiKeyQwertyF, EPtiCaseUpper, 70, 1},
   244         {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
   266         {EPtiKeyQwertyG, EPtiCaseUpper, 71, 1},
   245         {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
   267         {EPtiKeyQwertyH, EPtiCaseUpper, 72, 1},
   246         {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
   268         {EPtiKeyQwertyJ, EPtiCaseUpper, 73, 1},
   247         {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
   269         {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1},
   248         {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
   270         {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1},
   249         {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
   271         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1},
   250         {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
   272         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 1},
   251         {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
   273         {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1},
   252         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
   274         {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1},
   253         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
   275         {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1},
   254         {0x5b, EPtiCaseUpper, 66, 0},
   276         {EPtiKeyQwertyV, EPtiCaseUpper, 81, 1},
   255         {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
   277         {EPtiKeyQwertyB, EPtiCaseUpper, 82, 1},
   256         {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
   278         {EPtiKeyQwertyN, EPtiCaseUpper, 83, 1},
   257         {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
   279         {EPtiKeyQwertyM, EPtiCaseUpper, 84, 1},
   258         {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
   280         {EPtiKeyQwertyComma, EPtiCaseUpper, 85, 1},
   259         {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
   281         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 86, 1},
   260         {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
   282         {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1},
   261         {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
       
   262         {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
       
   263         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
       
   264         {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
   283     };
   265     };
   284 
   266 
   285 const TInt KMaxStandardQwertyIndex_Farsi = 88;
   267 const TInt KMaxStandardQwertyIndex_Farsi = 92;
   286 
   268 
   287 
       
   288 //
       
   289 // Numeric key data table for StandardQwerty
       
   290 //
       
   291 const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Farsi[] =
       
   292 	{
       
   293 	{'#',EPtiKeyQwertyHash,EPtiCaseLower},
       
   294 	{'p',EPtiKeyQwertyP,EPtiCaseLower},
       
   295 	{'w',EPtiKeyQwertyW,EPtiCaseLower},
       
   296 	{'1',EPtiKeyQwerty1,EPtiCaseLower},
       
   297 	{'2',EPtiKeyQwerty2,EPtiCaseLower},
       
   298 	{'3',EPtiKeyQwerty3,EPtiCaseLower},
       
   299 	{'4',EPtiKeyQwerty4,EPtiCaseLower},
       
   300 	{'5',EPtiKeyQwerty5,EPtiCaseLower},
       
   301 	{'6',EPtiKeyQwerty6,EPtiCaseLower},
       
   302 	{'7',EPtiKeyQwerty7,EPtiCaseLower},
       
   303 	{'8',EPtiKeyQwerty8,EPtiCaseLower},
       
   304 	{'9',EPtiKeyQwerty9,EPtiCaseLower},
       
   305 	{'0',EPtiKeyQwerty0,EPtiCaseLower},
       
   306 	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
       
   307 	};
       
   308 
       
   309 const TInt KNumStandardQwertyNumericKeysEntries_Farsi = 14;
       
   310 //
   269 //
   311 // MiniQwerty keymap data table
   270 // MiniQwerty keymap data table
   312 //
   271 //
   313 const TUint16 MiniQwertyData_table_Farsi[] =
   272 const TUint16 MiniQwertyData_table_Farsi[] =
   314     {
   273     {
   576     }
   535     }
   577 
   536 
   578 
   537 
   579 const TPtiNumericKeyBinding* CPtiLangDataImplFarsi::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
   538 const TPtiNumericKeyBinding* CPtiLangDataImplFarsi::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
   580     {
   539     {
   581     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   582         {
       
   583         aNumEntries = KNumStandardQwertyNumericKeysEntries_Farsi;
       
   584         return StandardQwertyNumericKeysData_table_Farsi;
       
   585         }
       
   586 
       
   587     if (aKeyboardType == EPtiKeyboardQwerty4x10)
   540     if (aKeyboardType == EPtiKeyboardQwerty4x10)
   588         {
   541         {
   589         aNumEntries = KNumMiniQwertyNumericKeysEntries_Farsi;
   542         aNumEntries = KNumMiniQwertyNumericKeysEntries_Farsi;
   590         return MiniQwertyNumericKeysData_table_Farsi;
   543         return MiniQwertyNumericKeysData_table_Farsi;
   591         }
   544         }
   593     aNumEntries = 0;
   546     aNumEntries = 0;
   594     return NULL;
   547     return NULL;
   595     }
   548     }
   596 
   549 
   597 
   550 
   598 
       
   599 TBool CPtiLangDataImplFarsi::SuitableForLatinOnlyMode() const
       
   600     {
       
   601     return EFalse;
       
   602     }
       
   603 
       
   604