fep/aknfep/src/AknFepZhuyinAnalyserDb.cpp
changeset 40 2cb9bae34d17
parent 31 f1bdd6b078d1
child 49 37f5d84451bd
equal deleted inserted replaced
31:f1bdd6b078d1 40:2cb9bae34d17
     1 /*
       
     2 * Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0""
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:            Implementation of the vkb data manager
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 
       
    22 
       
    23 
       
    24 
       
    25 
       
    26 
       
    27 
       
    28 
       
    29 
       
    30 #include "AknFepZhuyinAnalyserDb.h"
       
    31 // constant define 
       
    32 
       
    33 // Zhuyin DB data
       
    34 const TUint16 KZhuyinBase = 0x3105;
       
    35 const TInt16  KZhuyinElementCount = 37;
       
    36 const TUint16 KZhuyinSpellsLength[] = 
       
    37     {
       
    38     0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
       
    39     0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 
       
    40     0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
       
    41     0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 
       
    42     0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
       
    43     0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 
       
    44     0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
       
    45     0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x3, 
       
    46     0x3, 0x3, 0x3, 0x3, 0x2, 0x3, 0x3, 0x3, 0x3, 
       
    47     0x3, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
       
    48     0x2, 0x3, 0x3, 0x3, 0x3, 0x2, 0x3, 0x3, 0x3, 
       
    49     0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
       
    50     0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 
       
    51     0x3, 0x3, 0x2, 0x3, 0x3, 0x3, 0x2, 0x3, 0x2, 
       
    52     0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
       
    53     0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 
       
    54     0x3, 0x3, 0x3, 0x3, 0x2, 0x3, 0x3, 0x2, 0x2, 
       
    55     0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
       
    56     0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 
       
    57     0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
       
    58     0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 
       
    59     0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
       
    60     0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 
       
    61     0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 
       
    62     0x2, 0x3, 0x3, 0x3, 0x3, 0x2, 0x3, 0x3, 0x3, 
       
    63     0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 0x3, 0x3, 0x3, 
       
    64     0x3, 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 
       
    65     0x3, 0x2, 0x3, 0x3, 0x3, 0x3, 0x1, 0x2, 0x2, 
       
    66     0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
       
    67     0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x1, 
       
    68     0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
       
    69     0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x1, 
       
    70     0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
       
    71     0x2, 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 
       
    72     0x1, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
       
    73     0x3, 0x3, 0x3, 0x3, 0x3, 0x1, 0x2, 0x2, 0x2, 
       
    74     0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x3, 
       
    75     0x3, 0x3, 0x3, 0x3, 0x1, 0x2, 0x2, 0x2, 0x2, 
       
    76     0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 
       
    77     0x3, 0x3, 0x1, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 
       
    78     0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 
       
    79     0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 
       
    80     0x1, 0x1, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2, 
       
    81     0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x1, 0x2, 0x2, 
       
    82     0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x1, 0x2, 0x2, 
       
    83     0x2, 0x2
       
    84     };
       
    85 const TUint16 KZhuyinSpellsLib[] =
       
    86     {
       
    87     0x3105, 0x311a, 
       
    88     0x3105, 0x311b, 
       
    89     0x3105, 0x311e, 
       
    90     0x3105, 0x311f, 
       
    91     0x3105, 0x3120, 
       
    92     0x3105, 0x3122, 
       
    93     0x3105, 0x3123, 
       
    94     0x3105, 0x3124, 
       
    95     0x3105, 0x3125, 
       
    96     0x3105, 0x3127, 
       
    97     0x3105, 0x3127, 0x311d, 
       
    98     0x3105, 0x3127, 0x3120, 
       
    99     0x3105, 0x3127, 0x3122, 
       
   100     0x3105, 0x3127, 0x3123, 
       
   101     0x3105, 0x3127, 0x3125, 
       
   102     0x3105, 0x3128, 
       
   103     0x3106, 0x311a, 
       
   104     0x3106, 0x311b, 
       
   105     0x3106, 0x311e, 
       
   106     0x3106, 0x311f, 
       
   107     0x3106, 0x3120, 
       
   108     0x3106, 0x3121, 
       
   109     0x3106, 0x3122, 
       
   110     0x3106, 0x3123, 
       
   111     0x3106, 0x3124, 
       
   112     0x3106, 0x3125, 
       
   113     0x3106, 0x3127, 
       
   114     0x3106, 0x3127, 0x311d, 
       
   115     0x3106, 0x3127, 0x3120, 
       
   116     0x3106, 0x3127, 0x3122, 
       
   117     0x3106, 0x3127, 0x3123, 
       
   118     0x3106, 0x3127, 0x3125, 
       
   119     0x3106, 0x3128, 
       
   120     0x3107, 0x311a, 
       
   121     0x3107, 0x311b, 
       
   122     0x3107, 0x311c, 
       
   123     0x3107, 0x311e, 
       
   124     0x3107, 0x311f, 
       
   125     0x3107, 0x3120, 
       
   126     0x3107, 0x3121, 
       
   127     0x3107, 0x3122, 
       
   128     0x3107, 0x3123, 
       
   129     0x3107, 0x3124, 
       
   130     0x3107, 0x3125, 
       
   131     0x3107, 0x3127, 
       
   132     0x3107, 0x3127, 0x311d, 
       
   133     0x3107, 0x3127, 0x3120, 
       
   134     0x3107, 0x3127, 0x3121, 
       
   135     0x3107, 0x3127, 0x3122, 
       
   136     0x3107, 0x3127, 0x3123, 
       
   137     0x3107, 0x3127, 0x3125, 
       
   138     0x3107, 0x3128, 
       
   139     0x3108, 0x311a, 
       
   140     0x3108, 0x311b, 
       
   141     0x3108, 0x311f, 
       
   142     0x3108, 0x3121, 
       
   143     0x3108, 0x3122, 
       
   144     0x3108, 0x3123, 
       
   145     0x3108, 0x3124, 
       
   146     0x3108, 0x3125, 
       
   147     0x3108, 0x3128, 
       
   148     0x3109, 0x311a, 
       
   149     0x3109, 0x311c, 
       
   150     0x3109, 0x311e, 
       
   151     0x3109, 0x311f, 
       
   152     0x3109, 0x3120, 
       
   153     0x3109, 0x3121, 
       
   154     0x3109, 0x3122, 
       
   155     0x3109, 0x3124, 
       
   156     0x3109, 0x3125, 
       
   157     0x3109, 0x3127, 
       
   158     0x3109, 0x3127, 0x311d, 
       
   159     0x3109, 0x3127, 0x3120, 
       
   160     0x3109, 0x3127, 0x3121, 
       
   161     0x3109, 0x3127, 0x3122, 
       
   162     0x3109, 0x3127, 0x3125, 
       
   163     0x3109, 0x3128, 
       
   164     0x3109, 0x3128, 0x311b, 
       
   165     0x3109, 0x3128, 0x311f, 
       
   166     0x3109, 0x3128, 0x3122, 
       
   167     0x3109, 0x3128, 0x3123, 
       
   168     0x3109, 0x3128, 0x3125, 
       
   169     0x310a, 0x311a, 
       
   170     0x310a, 0x311c, 
       
   171     0x310a, 0x311e, 
       
   172     0x310a, 0x3120, 
       
   173     0x310a, 0x3121, 
       
   174     0x310a, 0x3122, 
       
   175     0x310a, 0x3124, 
       
   176     0x310a, 0x3125, 
       
   177     0x310a, 0x3127, 
       
   178     0x310a, 0x3127, 0x311d, 
       
   179     0x310a, 0x3127, 0x3120, 
       
   180     0x310a, 0x3127, 0x3122, 
       
   181     0x310a, 0x3127, 0x3125, 
       
   182     0x310a, 0x3128, 
       
   183     0x310a, 0x3128, 0x311b, 
       
   184     0x310a, 0x3128, 0x311f, 
       
   185     0x310a, 0x3128, 0x3122, 
       
   186     0x310a, 0x3128, 0x3123, 
       
   187     0x310a, 0x3128, 0x3125, 
       
   188     0x310b, 0x311a, 
       
   189     0x310b, 0x311c, 
       
   190     0x310b, 0x311e, 
       
   191     0x310b, 0x311f, 
       
   192     0x310b, 0x3120, 
       
   193     0x310b, 0x3121, 
       
   194     0x310b, 0x3122, 
       
   195     0x310b, 0x3123, 
       
   196     0x310b, 0x3124, 
       
   197     0x310b, 0x3125, 
       
   198     0x310b, 0x3127, 
       
   199     0x310b, 0x3127, 0x311d, 
       
   200     0x310b, 0x3127, 0x3120, 
       
   201     0x310b, 0x3127, 0x3121, 
       
   202     0x310b, 0x3127, 0x3122, 
       
   203     0x310b, 0x3127, 0x3123, 
       
   204     0x310b, 0x3127, 0x3124, 
       
   205     0x310b, 0x3127, 0x3125, 
       
   206     0x310b, 0x3128, 
       
   207     0x310b, 0x3128, 0x311b, 
       
   208     0x310b, 0x3128, 0x3122, 
       
   209     0x310b, 0x3128, 0x3125, 
       
   210     0x310b, 0x3129, 
       
   211     0x310b, 0x3129, 0x311d, 
       
   212     0x310c, 0x311a, 
       
   213     0x310c, 0x311c, 
       
   214     0x310c, 0x311e, 
       
   215     0x310c, 0x311f, 
       
   216     0x310c, 0x3120, 
       
   217     0x310c, 0x3121, 
       
   218     0x310c, 0x3122, 
       
   219     0x310c, 0x3124, 
       
   220     0x310c, 0x3125, 
       
   221     0x310c, 0x3127, 
       
   222     0x310c, 0x3127, 0x311a, 
       
   223     0x310c, 0x3127, 0x311d, 
       
   224     0x310c, 0x3127, 0x3120, 
       
   225     0x310c, 0x3127, 0x3121, 
       
   226     0x310c, 0x3127, 0x3122, 
       
   227     0x310c, 0x3127, 0x3123, 
       
   228     0x310c, 0x3127, 0x3124, 
       
   229     0x310c, 0x3127, 0x3125, 
       
   230     0x310c, 0x3128, 
       
   231     0x310c, 0x3128, 0x311b, 
       
   232     0x310c, 0x3128, 0x3122, 
       
   233     0x310c, 0x3128, 0x3123, 
       
   234     0x310c, 0x3128, 0x3125, 
       
   235     0x310c, 0x3129, 
       
   236     0x310c, 0x3129, 0x311d, 
       
   237     0x310c, 0x3129, 0x3122, 
       
   238     0x310d, 0x311a, 
       
   239     0x310d, 0x311c, 
       
   240     0x310d, 0x311e, 
       
   241     0x310d, 0x311f, 
       
   242     0x310d, 0x3120, 
       
   243     0x310d, 0x3121, 
       
   244     0x310d, 0x3122, 
       
   245     0x310d, 0x3123, 
       
   246     0x310d, 0x3124, 
       
   247     0x310d, 0x3125, 
       
   248     0x310d, 0x3128, 
       
   249     0x310d, 0x3128, 0x311a, 
       
   250     0x310d, 0x3128, 0x311b, 
       
   251     0x310d, 0x3128, 0x311e, 
       
   252     0x310d, 0x3128, 0x311f, 
       
   253     0x310d, 0x3128, 0x3122, 
       
   254     0x310d, 0x3128, 0x3123, 
       
   255     0x310d, 0x3128, 0x3124, 
       
   256     0x310d, 0x3128, 0x3125, 
       
   257     0x310e, 0x311a, 
       
   258     0x310e, 0x311c, 
       
   259     0x310e, 0x311e, 
       
   260     0x310e, 0x3120, 
       
   261     0x310e, 0x3121, 
       
   262     0x310e, 0x3122, 
       
   263     0x310e, 0x3123, 
       
   264     0x310e, 0x3124, 
       
   265     0x310e, 0x3125, 
       
   266     0x310e, 0x3128, 
       
   267     0x310e, 0x3128, 0x311a, 
       
   268     0x310e, 0x3128, 0x311b, 
       
   269     0x310e, 0x3128, 0x311e, 
       
   270     0x310e, 0x3128, 0x311f, 
       
   271     0x310e, 0x3128, 0x3122, 
       
   272     0x310e, 0x3128, 0x3123, 
       
   273     0x310e, 0x3128, 0x3124, 
       
   274     0x310e, 0x3128, 0x3125, 
       
   275     0x310f, 0x311a, 
       
   276     0x310f, 0x311c, 
       
   277     0x310f, 0x311e, 
       
   278     0x310f, 0x311f, 
       
   279     0x310f, 0x3120, 
       
   280     0x310f, 0x3121, 
       
   281     0x310f, 0x3122, 
       
   282     0x310f, 0x3123, 
       
   283     0x310f, 0x3124, 
       
   284     0x310f, 0x3125, 
       
   285     0x310f, 0x3128, 
       
   286     0x310f, 0x3128, 0x311a, 
       
   287     0x310f, 0x3128, 0x311b, 
       
   288     0x310f, 0x3128, 0x311e, 
       
   289     0x310f, 0x3128, 0x311f, 
       
   290     0x310f, 0x3128, 0x3122, 
       
   291     0x310f, 0x3128, 0x3123, 
       
   292     0x310f, 0x3128, 0x3124, 
       
   293     0x310f, 0x3128, 0x3125, 
       
   294     0x3110, 0x3127, 
       
   295     0x3110, 0x3127, 0x311a, 
       
   296     0x3110, 0x3127, 0x311d, 
       
   297     0x3110, 0x3127, 0x3120, 
       
   298     0x3110, 0x3127, 0x3121, 
       
   299     0x3110, 0x3127, 0x3122, 
       
   300     0x3110, 0x3127, 0x3123, 
       
   301     0x3110, 0x3127, 0x3124, 
       
   302     0x3110, 0x3127, 0x3125, 
       
   303     0x3110, 0x3129, 
       
   304     0x3110, 0x3129, 0x311d, 
       
   305     0x3110, 0x3129, 0x3122, 
       
   306     0x3110, 0x3129, 0x3123, 
       
   307     0x3110, 0x3129, 0x3125, 
       
   308     0x3111, 0x3127, 
       
   309     0x3111, 0x3127, 0x311a, 
       
   310     0x3111, 0x3127, 0x311d, 
       
   311     0x3111, 0x3127, 0x3120, 
       
   312     0x3111, 0x3127, 0x3121, 
       
   313     0x3111, 0x3127, 0x3122, 
       
   314     0x3111, 0x3127, 0x3123, 
       
   315     0x3111, 0x3127, 0x3124, 
       
   316     0x3111, 0x3127, 0x3125, 
       
   317     0x3111, 0x3129, 
       
   318     0x3111, 0x3129, 0x311d, 
       
   319     0x3111, 0x3129, 0x3122, 
       
   320     0x3111, 0x3129, 0x3123, 
       
   321     0x3111, 0x3129, 0x3125, 
       
   322     0x3112, 0x3127, 
       
   323     0x3112, 0x3127, 0x311a, 
       
   324     0x3112, 0x3127, 0x311d, 
       
   325     0x3112, 0x3127, 0x3120, 
       
   326     0x3112, 0x3127, 0x3121, 
       
   327     0x3112, 0x3127, 0x3122, 
       
   328     0x3112, 0x3127, 0x3123, 
       
   329     0x3112, 0x3127, 0x3124, 
       
   330     0x3112, 0x3127, 0x3125, 
       
   331     0x3112, 0x3129, 
       
   332     0x3112, 0x3129, 0x311d, 
       
   333     0x3112, 0x3129, 0x3122, 
       
   334     0x3112, 0x3129, 0x3123, 
       
   335     0x3112, 0x3129, 0x3125, 
       
   336     0x3113, 
       
   337     0x3113, 0x311a, 
       
   338     0x3113, 0x311c, 
       
   339     0x3113, 0x311e, 
       
   340     0x3113, 0x311f, 
       
   341     0x3113, 0x3120, 
       
   342     0x3113, 0x3121, 
       
   343     0x3113, 0x3122, 
       
   344     0x3113, 0x3123, 
       
   345     0x3113, 0x3124, 
       
   346     0x3113, 0x3125, 
       
   347     0x3113, 0x3128, 
       
   348     0x3113, 0x3128, 0x311a, 
       
   349     0x3113, 0x3128, 0x311b, 
       
   350     0x3113, 0x3128, 0x311e, 
       
   351     0x3113, 0x3128, 0x311f, 
       
   352     0x3113, 0x3128, 0x3122, 
       
   353     0x3113, 0x3128, 0x3123, 
       
   354     0x3113, 0x3128, 0x3124, 
       
   355     0x3113, 0x3128, 0x3125, 
       
   356     0x3114, 
       
   357     0x3114, 0x311a, 
       
   358     0x3114, 0x311c, 
       
   359     0x3114, 0x311e, 
       
   360     0x3114, 0x3120, 
       
   361     0x3114, 0x3121, 
       
   362     0x3114, 0x3122, 
       
   363     0x3114, 0x3123, 
       
   364     0x3114, 0x3124, 
       
   365     0x3114, 0x3125, 
       
   366     0x3114, 0x3128, 
       
   367     0x3114, 0x3128, 0x311b, 
       
   368     0x3114, 0x3128, 0x311e, 
       
   369     0x3114, 0x3128, 0x311f, 
       
   370     0x3114, 0x3128, 0x3122, 
       
   371     0x3114, 0x3128, 0x3123, 
       
   372     0x3114, 0x3128, 0x3124, 
       
   373     0x3114, 0x3128, 0x3125, 
       
   374     0x3115, 
       
   375     0x3115, 0x311a, 
       
   376     0x3115, 0x311c, 
       
   377     0x3115, 0x311e, 
       
   378     0x3115, 0x311f, 
       
   379     0x3115, 0x3120, 
       
   380     0x3115, 0x3121, 
       
   381     0x3115, 0x3122, 
       
   382     0x3115, 0x3123, 
       
   383     0x3115, 0x3124, 
       
   384     0x3115, 0x3125, 
       
   385     0x3115, 0x3128, 
       
   386     0x3115, 0x3128, 0x311a, 
       
   387     0x3115, 0x3128, 0x311b, 
       
   388     0x3115, 0x3128, 0x311e, 
       
   389     0x3115, 0x3128, 0x311f, 
       
   390     0x3115, 0x3128, 0x3122, 
       
   391     0x3115, 0x3128, 0x3123, 
       
   392     0x3115, 0x3128, 0x3124, 
       
   393     0x3116, 
       
   394     0x3116, 0x311c, 
       
   395     0x3116, 0x3120, 
       
   396     0x3116, 0x3121, 
       
   397     0x3116, 0x3122, 
       
   398     0x3116, 0x3123, 
       
   399     0x3116, 0x3124, 
       
   400     0x3116, 0x3125, 
       
   401     0x3116, 0x3128, 
       
   402     0x3116, 0x3128, 0x311b, 
       
   403     0x3116, 0x3128, 0x311f, 
       
   404     0x3116, 0x3128, 0x3122, 
       
   405     0x3116, 0x3128, 0x3123, 
       
   406     0x3116, 0x3128, 0x3125, 
       
   407     0x3117, 
       
   408     0x3117, 0x311a, 
       
   409     0x3117, 0x311c, 
       
   410     0x3117, 0x311e, 
       
   411     0x3117, 0x311f, 
       
   412     0x3117, 0x3120, 
       
   413     0x3117, 0x3121, 
       
   414     0x3117, 0x3122, 
       
   415     0x3117, 0x3123, 
       
   416     0x3117, 0x3124, 
       
   417     0x3117, 0x3125, 
       
   418     0x3117, 0x3128, 
       
   419     0x3117, 0x3128, 0x311b, 
       
   420     0x3117, 0x3128, 0x311f, 
       
   421     0x3117, 0x3128, 0x3122, 
       
   422     0x3117, 0x3128, 0x3123, 
       
   423     0x3117, 0x3128, 0x3125, 
       
   424     0x3118, 
       
   425     0x3118, 0x311a, 
       
   426     0x3118, 0x311c, 
       
   427     0x3118, 0x311e, 
       
   428     0x3118, 0x3120, 
       
   429     0x3118, 0x3121, 
       
   430     0x3118, 0x3122, 
       
   431     0x3118, 0x3123, 
       
   432     0x3118, 0x3124, 
       
   433     0x3118, 0x3125, 
       
   434     0x3118, 0x3128, 
       
   435     0x3118, 0x3128, 0x311b, 
       
   436     0x3118, 0x3128, 0x311f, 
       
   437     0x3118, 0x3128, 0x3122, 
       
   438     0x3118, 0x3128, 0x3123, 
       
   439     0x3118, 0x3128, 0x3125, 
       
   440     0x3119, 
       
   441     0x3119, 0x311a, 
       
   442     0x3119, 0x311c, 
       
   443     0x3119, 0x311e, 
       
   444     0x3119, 0x3120, 
       
   445     0x3119, 0x3121, 
       
   446     0x3119, 0x3122, 
       
   447     0x3119, 0x3123, 
       
   448     0x3119, 0x3124, 
       
   449     0x3119, 0x3125, 
       
   450     0x3119, 0x3128, 
       
   451     0x3119, 0x3128, 0x311b, 
       
   452     0x3119, 0x3128, 0x311f, 
       
   453     0x3119, 0x3128, 0x3122, 
       
   454     0x3119, 0x3128, 0x3123, 
       
   455     0x3119, 0x3128, 0x3125, 
       
   456     0x311a, 
       
   457     0x311b, 
       
   458     0x311c, 
       
   459     0x311e, 
       
   460     0x311f, 
       
   461     0x3120, 
       
   462     0x3121, 
       
   463     0x3122, 
       
   464     0x3123, 
       
   465     0x3124, 
       
   466     0x3125, 
       
   467     0x3126, 
       
   468     0x3127, 
       
   469     0x3127, 0x311a, 
       
   470     0x3127, 0x311b, 
       
   471     0x3127, 0x311d, 
       
   472     0x3127, 0x311e, 
       
   473     0x3127, 0x3120, 
       
   474     0x3127, 0x3121, 
       
   475     0x3127, 0x3122, 
       
   476     0x3127, 0x3123, 
       
   477     0x3127, 0x3124, 
       
   478     0x3127, 0x3125, 
       
   479     0x3128, 
       
   480     0x3128, 0x311a, 
       
   481     0x3128, 0x311b, 
       
   482     0x3128, 0x311e, 
       
   483     0x3128, 0x311f, 
       
   484     0x3128, 0x3122, 
       
   485     0x3128, 0x3123, 
       
   486     0x3128, 0x3124, 
       
   487     0x3128, 0x3125, 
       
   488     0x3129, 
       
   489     0x3129, 0x311d, 
       
   490     0x3129, 0x3122, 
       
   491     0x3129, 0x3123, 
       
   492     0x3129, 0x3125
       
   493     };
       
   494     
       
   495 const TUint16 KZhuyinTypeTable[] = 
       
   496     {
       
   497     // 21 ESpellConsonant
       
   498     ESpellConsonant, ESpellConsonant, ESpellConsonant, ESpellConsonant, ESpellConsonant,
       
   499     ESpellConsonant, ESpellSpecialConsonnant, ESpellConsonant, ESpellSpecialConsonnant, ESpellConsonant,
       
   500     ESpellSpecialConsonnant, ESpellConsonant, ESpellConsonant, ESpellConsonant, ESpellConsonant,
       
   501     ESpellConsonant, ESpellConsonant, ESpellConsonant, ESpellSpecialConsonnant, ESpellSpecialConsonnant,
       
   502     ESpellSpecialConsonnant,
       
   503     //16 ESpellVowel
       
   504     ESpellVowel, ESpellVowel, ESpellVowel, ESpellVowel, ESpellVowel,
       
   505     ESpellVowel, ESpellVowel, ESpellVowel, ESpellVowel, ESpellVowel,
       
   506     ESpellVowel, ESpellVowel, ESpellVowel, ESpellVowel, ESpellVowel,
       
   507     ESpellVowel
       
   508 
       
   509     };    
       
   510 
       
   511 const TUint16 KZhuyinNoFirstElem[] =
       
   512     {
       
   513     //0x311D
       
   514     0x0020, 0x02CA, 0x02C7, 0x02CB, 0x02D9    
       
   515     };
       
   516 
       
   517 // Pinyin DB data
       
   518 const TUint16 KPinyinBase = L'a';
       
   519 const TUint16  KPinyinElementCount = 26;
       
   520 const TUint16 KPinyinSpellsLength[] = 
       
   521     {
       
   522     1,2,2,3,2,2,3,3,4,3,3,3,4,2,4,4,3,3,4,2,
       
   523     2,2,3,3,4,3,2,3,4,3,4,4,5,4,3,4,5,3,5,4,
       
   524     3,4,5,5,6,4,4,4,2,4,3,2,4,3,3,3,2,3,3,4,
       
   525     3,2,3,3,4,2,3,4,4,3,4,3,4,3,2,4,3,3,3,1,
       
   526     2,2,3,2,2,3,4,3,3,4,2,3,2,2,3,3,4,3,2,3,
       
   527     3,4,4,3,2,3,4,4,5,3,3,3,2,3,3,4,3,2,3,3,
       
   528     4,2,3,4,3,2,3,4,4,5,3,3,3,2,3,4,5,4,3,3,
       
   529     4,5,3,2,4,3,3,2,3,3,4,3,2,3,3,4,4,3,2,3,
       
   530     4,4,5,3,3,3,2,3,3,4,3,2,3,4,2,3,4,5,4,3,
       
   531     3,4,3,2,4,3,2,4,3,3,2,3,1,2,3,3,4,3,2,3,
       
   532     3,4,2,4,4,3,3,4,3,2,3,2,1,2,3,3,4,3,2,3,
       
   533     3,4,2,2,3,4,5,4,3,3,4,3,4,3,2,4,3,2,3,1,
       
   534     2,2,3,3,4,3,3,3,4,2,4,4,3,3,4,2,3,2,2,3,
       
   535     4,5,4,3,3,4,5,3,2,4,3,3,3,4,3,2,3,4,2,4,
       
   536     3,2,4,3,3,3,2,3,3,4,3,2,3,4,3,4,4,5,4,3,
       
   537     4,4,5,3,4,3,4,5,5,6,4,4,4,2,4,3,2,4,3,3,
       
   538     3,2,3,3,4,3,2,4,2,4,4,3,4,4,3,2,4,3,3,3,
       
   539     2,3,3,4,3,3,4,2,2,2,3,4,5,4,3,3,4,5,3,2,
       
   540     4,3,3,2,3,4,3,2,2,3,4,2,4,3,2,4,3,3,2,3,
       
   541     3,4,3,2,3,3,4,3,4,4,5,4,3,4,4,5,3,5,4,3,
       
   542     4,5,5,6,4,4,4,2,4,3,2,4,3,3,3
       
   543     };
       
   544 const TUint16 KPinyinSpellsLib[] =
       
   545     {
       
   546     0x61, //a
       
   547     0x61, 0x69, //ai
       
   548     0x61, 0x6e, //an
       
   549     0x61, 0x6e, 0x67, //ang
       
   550     0x61, 0x6f, //ao
       
   551     0x62, 0x61, //ba
       
   552     0x62, 0x61, 0x69, //bai
       
   553     0x62, 0x61, 0x6e, //ban
       
   554     0x62, 0x61, 0x6e, 0x67, //bang
       
   555     0x62, 0x61, 0x6f, //bao
       
   556     0x62, 0x65, 0x69, //bei
       
   557     0x62, 0x65, 0x6e, //ben
       
   558     0x62, 0x65, 0x6e, 0x67, //beng
       
   559     0x62, 0x69, //bi
       
   560     0x62, 0x69, 0x61, 0x6e, //bian
       
   561     0x62, 0x69, 0x61, 0x6f, //biao
       
   562     0x62, 0x69, 0x65, //bie
       
   563     0x62, 0x69, 0x6e, //bin
       
   564     0x62, 0x69, 0x6e, 0x67, //bing
       
   565     0x62, 0x6f, //bo
       
   566     0x62, 0x75, //bu
       
   567     0x63, 0x61, //ca
       
   568     0x63, 0x61, 0x69, //cai
       
   569     0x63, 0x61, 0x6e, //can
       
   570     0x63, 0x61, 0x6e, 0x67, //cang
       
   571     0x63, 0x61, 0x6f, //cao
       
   572     0x63, 0x65, //ce
       
   573     0x63, 0x65, 0x6e, //cen
       
   574     0x63, 0x65, 0x6e, 0x67, //ceng
       
   575     0x63, 0x68, 0x61, //cha
       
   576     0x63, 0x68, 0x61, 0x69, //chai
       
   577     0x63, 0x68, 0x61, 0x6e, //chan
       
   578     0x63, 0x68, 0x61, 0x6e, 0x67, //chang
       
   579     0x63, 0x68, 0x61, 0x6f, //chao
       
   580     0x63, 0x68, 0x65, //che
       
   581     0x63, 0x68, 0x65, 0x6e, //chen
       
   582     0x63, 0x68, 0x65, 0x6e, 0x67, //cheng
       
   583     0x63, 0x68, 0x69, //chi
       
   584     0x63, 0x68, 0x6f, 0x6e, 0x67, //chong
       
   585     0x63, 0x68, 0x6f, 0x75, //chou
       
   586     0x63, 0x68, 0x75, //chu
       
   587     0x63, 0x68, 0x75, 0x61, //chua
       
   588     0x63, 0x68, 0x75, 0x61, 0x69, //chuai
       
   589     0x63, 0x68, 0x75, 0x61, 0x6e, //chuan
       
   590     0x63, 0x68, 0x75, 0x61, 0x6e, 0x67, //chuang
       
   591     0x63, 0x68, 0x75, 0x69, //chui
       
   592     0x63, 0x68, 0x75, 0x6e, //chun
       
   593     0x63, 0x68, 0x75, 0x6f, //chuo
       
   594     0x63, 0x69, //ci
       
   595     0x63, 0x6f, 0x6e, 0x67, //cong
       
   596     0x63, 0x6f, 0x75, //cou
       
   597     0x63, 0x75, //cu
       
   598     0x63, 0x75, 0x61, 0x6e, //cuan
       
   599     0x63, 0x75, 0x69, //cui
       
   600     0x63, 0x75, 0x6e, //cun
       
   601     0x63, 0x75, 0x6f, //cuo
       
   602     0x64, 0x61, //da
       
   603     0x64, 0x61, 0x69, //dai
       
   604     0x64, 0x61, 0x6e, //dan
       
   605     0x64, 0x61, 0x6e, 0x67, //dang
       
   606     0x64, 0x61, 0x6f, //dao
       
   607     0x64, 0x65, //de
       
   608     0x64, 0x65, 0x69, //dei
       
   609     0x64, 0x65, 0x6e, //den
       
   610     0x64, 0x65, 0x6e, 0x67, //deng
       
   611     0x64, 0x69, //di
       
   612     0x64, 0x69, 0x61, //dia
       
   613     0x64, 0x69, 0x61, 0x6e, //dian
       
   614     0x64, 0x69, 0x61, 0x6f, //diao
       
   615     0x64, 0x69, 0x65, //die
       
   616     0x64, 0x69, 0x6e, 0x67, //ding
       
   617     0x64, 0x69, 0x75, //diu
       
   618     0x64, 0x6f, 0x6e, 0x67, //dong
       
   619     0x64, 0x6f, 0x75, //dou
       
   620     0x64, 0x75, //du
       
   621     0x64, 0x75, 0x61, 0x6e, //duan
       
   622     0x64, 0x75, 0x69, //dui
       
   623     0x64, 0x75, 0x6e, //dun
       
   624     0x64, 0x75, 0x6f, //duo
       
   625     0x65, //e
       
   626     0x65, 0x69, //ei
       
   627     0x65, 0x6e, //en
       
   628     0x65, 0x6e, 0x67, //eng
       
   629     0x65, 0x72, //er
       
   630     0x66, 0x61, //fa
       
   631     0x66, 0x61, 0x6e, //fan
       
   632     0x66, 0x61, 0x6e, 0x67, //fang
       
   633     0x66, 0x65, 0x69, //fei
       
   634     0x66, 0x65, 0x6e, //fen
       
   635     0x66, 0x65, 0x6e, 0x67, //feng
       
   636     0x66, 0x6f, //fo
       
   637     0x66, 0x6f, 0x75, //fou
       
   638     0x66, 0x75, //fu
       
   639     0x67, 0x61, //ga
       
   640     0x67, 0x61, 0x69, //gai
       
   641     0x67, 0x61, 0x6e, //gan
       
   642     0x67, 0x61, 0x6e, 0x67, //gang
       
   643     0x67, 0x61, 0x6f, //gao
       
   644     0x67, 0x65, //ge
       
   645     0x67, 0x65, 0x69, //gei
       
   646     0x67, 0x65, 0x6e, //gen
       
   647     0x67, 0x65, 0x6e, 0x67, //geng
       
   648     0x67, 0x6f, 0x6e, 0x67, //gong
       
   649     0x67, 0x6f, 0x75, //gou
       
   650     0x67, 0x75, //gu
       
   651     0x67, 0x75, 0x61, //gua
       
   652     0x67, 0x75, 0x61, 0x69, //guai
       
   653     0x67, 0x75, 0x61, 0x6e, //guan
       
   654     0x67, 0x75, 0x61, 0x6e, 0x67, //guang
       
   655     0x67, 0x75, 0x69, //gui
       
   656     0x67, 0x75, 0x6e, //gun
       
   657     0x67, 0x75, 0x6f, //guo
       
   658     0x68, 0x61, //ha
       
   659     0x68, 0x61, 0x69, //hai
       
   660     0x68, 0x61, 0x6e, //han
       
   661     0x68, 0x61, 0x6e, 0x67, //hang
       
   662     0x68, 0x61, 0x6f, //hao
       
   663     0x68, 0x65, //he
       
   664     0x68, 0x65, 0x69, //hei
       
   665     0x68, 0x65, 0x6e, //hen
       
   666     0x68, 0x65, 0x6e, 0x67, //heng
       
   667     0x68, 0x6d, //hm
       
   668     0x68, 0x6e, 0x67, //hng
       
   669     0x68, 0x6f, 0x6e, 0x67, //hong
       
   670     0x68, 0x6f, 0x75, //hou
       
   671     0x68, 0x75, //hu
       
   672     0x68, 0x75, 0x61, //hua
       
   673     0x68, 0x75, 0x61, 0x69, //huai
       
   674     0x68, 0x75, 0x61, 0x6e, //huan
       
   675     0x68, 0x75, 0x61, 0x6e, 0x67, //huang
       
   676     0x68, 0x75, 0x69, //hui
       
   677     0x68, 0x75, 0x6e, //hun
       
   678     0x68, 0x75, 0x6f, //huo
       
   679     0x6a, 0x69, //ji
       
   680     0x6a, 0x69, 0x61, //jia
       
   681     0x6a, 0x69, 0x61, 0x6e, //jian
       
   682     0x6a, 0x69, 0x61, 0x6e, 0x67, //jiang
       
   683     0x6a, 0x69, 0x61, 0x6f, //jiao
       
   684     0x6a, 0x69, 0x65, //jie
       
   685     0x6a, 0x69, 0x6e, //jin
       
   686     0x6a, 0x69, 0x6e, 0x67, //jing
       
   687     0x6a, 0x69, 0x6f, 0x6e, 0x67, //jiong
       
   688     0x6a, 0x69, 0x75, //jiu
       
   689     0x6a, 0x75, //ju
       
   690     0x6a, 0x75, 0x61, 0x6e, //juan
       
   691     0x6a, 0x75, 0x65, //jue
       
   692     0x6a, 0x75, 0x6e, //jun
       
   693     0x6b, 0x61, //ka
       
   694     0x6b, 0x61, 0x69, //kai
       
   695     0x6b, 0x61, 0x6e, //kan
       
   696     0x6b, 0x61, 0x6e, 0x67, //kang
       
   697     0x6b, 0x61, 0x6f, //kao
       
   698     0x6b, 0x65, //ke
       
   699     0x6b, 0x65, 0x69, //kei
       
   700     0x6b, 0x65, 0x6e, //ken
       
   701     0x6b, 0x65, 0x6e, 0x67, //keng
       
   702     0x6b, 0x6f, 0x6e, 0x67, //kong
       
   703     0x6b, 0x6f, 0x75, //kou
       
   704     0x6b, 0x75, //ku
       
   705     0x6b, 0x75, 0x61, //kua
       
   706     0x6b, 0x75, 0x61, 0x69, //kuai
       
   707     0x6b, 0x75, 0x61, 0x6e, //kuan
       
   708     0x6b, 0x75, 0x61, 0x6e, 0x67, //kuang
       
   709     0x6b, 0x75, 0x69, //kui
       
   710     0x6b, 0x75, 0x6e, //kun
       
   711     0x6b, 0x75, 0x6f, //kuo
       
   712     0x6c, 0x61, //la
       
   713     0x6c, 0x61, 0x69, //lai
       
   714     0x6c, 0x61, 0x6e, //lan
       
   715     0x6c, 0x61, 0x6e, 0x67, //lang
       
   716     0x6c, 0x61, 0x6f, //lao
       
   717     0x6c, 0x65, //le
       
   718     0x6c, 0x65, 0x69, //lei
       
   719     0x6c, 0x65, 0x6e, 0x67, //leng
       
   720     0x6c, 0x69, //li
       
   721     0x6c, 0x69, 0x61, //lia
       
   722     0x6c, 0x69, 0x61, 0x6e, //lian
       
   723     0x6c, 0x69, 0x61, 0x6e, 0x67, //liang
       
   724     0x6c, 0x69, 0x61, 0x6f, //liao
       
   725     0x6c, 0x69, 0x65, //lie
       
   726     0x6c, 0x69, 0x6e, //lin
       
   727     0x6c, 0x69, 0x6e, 0x67, //ling
       
   728     0x6c, 0x69, 0x75, //liu
       
   729     0x6c, 0x6f, //lo
       
   730     0x6c, 0x6f, 0x6e, 0x67, //long
       
   731     0x6c, 0x6f, 0x75, //lou
       
   732     0x6c, 0x75, //lu
       
   733     0x6c, 0x75, 0x61, 0x6e, //luan
       
   734     0x6c, 0x75, 0x6e, //lun
       
   735     0x6c, 0x75, 0x6f, //luo
       
   736     0x6c, 0x76, //lv
       
   737     0x6c, 0x76, 0x65, //lve
       
   738     0x6d, //m
       
   739     0x6d, 0x61, //ma
       
   740     0x6d, 0x61, 0x69, //mai
       
   741     0x6d, 0x61, 0x6e, //man
       
   742     0x6d, 0x61, 0x6e, 0x67, //mang
       
   743     0x6d, 0x61, 0x6f, //mao
       
   744     0x6d, 0x65, //me
       
   745     0x6d, 0x65, 0x69, //mei
       
   746     0x6d, 0x65, 0x6e, //men
       
   747     0x6d, 0x65, 0x6e, 0x67, //meng
       
   748     0x6d, 0x69, //mi
       
   749     0x6d, 0x69, 0x61, 0x6e, //mian
       
   750     0x6d, 0x69, 0x61, 0x6f, //miao
       
   751     0x6d, 0x69, 0x65, //mie
       
   752     0x6d, 0x69, 0x6e, //min
       
   753     0x6d, 0x69, 0x6e, 0x67, //ming
       
   754     0x6d, 0x69, 0x75, //miu
       
   755     0x6d, 0x6f, //mo
       
   756     0x6d, 0x6f, 0x75, //mou
       
   757     0x6d, 0x75, //mu
       
   758     0x6e, //n
       
   759     0x6e, 0x61, //na
       
   760     0x6e, 0x61, 0x69, //nai
       
   761     0x6e, 0x61, 0x6e, //nan
       
   762     0x6e, 0x61, 0x6e, 0x67, //nang
       
   763     0x6e, 0x61, 0x6f, //nao
       
   764     0x6e, 0x65, //ne
       
   765     0x6e, 0x65, 0x69, //nei
       
   766     0x6e, 0x65, 0x6e, //nen
       
   767     0x6e, 0x65, 0x6e, 0x67, //neng
       
   768     0x6e, 0x67, //ng
       
   769     0x6e, 0x69, //ni
       
   770     0x6e, 0x69, 0x61, //nia
       
   771     0x6e, 0x69, 0x61, 0x6e, //nian
       
   772     0x6e, 0x69, 0x61, 0x6e, 0x67, //niang
       
   773     0x6e, 0x69, 0x61, 0x6f, //niao
       
   774     0x6e, 0x69, 0x65, //nie
       
   775     0x6e, 0x69, 0x6e, //nin
       
   776     0x6e, 0x69, 0x6e, 0x67, //ning
       
   777     0x6e, 0x69, 0x75, //niu
       
   778     0x6e, 0x6f, 0x6e, 0x67, //nong
       
   779     0x6e, 0x6f, 0x75, //nou
       
   780     0x6e, 0x75, //nu
       
   781     0x6e, 0x75, 0x61, 0x6e, //nuan
       
   782     0x6e, 0x75, 0x6f, //nuo
       
   783     0x6e, 0x76, //nv
       
   784     0x6e, 0x76, 0x65, //nve
       
   785     0x6f, //o
       
   786     0x6f, 0x75, //ou
       
   787     0x70, 0x61, //pa
       
   788     0x70, 0x61, 0x69, //pai
       
   789     0x70, 0x61, 0x6e, //pan
       
   790     0x70, 0x61, 0x6e, 0x67, //pang
       
   791     0x70, 0x61, 0x6f, //pao
       
   792     0x70, 0x65, 0x69, //pei
       
   793     0x70, 0x65, 0x6e, //pen
       
   794     0x70, 0x65, 0x6e, 0x67, //peng
       
   795     0x70, 0x69, //pi
       
   796     0x70, 0x69, 0x61, 0x6e, //pian
       
   797     0x70, 0x69, 0x61, 0x6f, //piao
       
   798     0x70, 0x69, 0x65, //pie
       
   799     0x70, 0x69, 0x6e, //pin
       
   800     0x70, 0x69, 0x6e, 0x67, //ping
       
   801     0x70, 0x6f, //po
       
   802     0x70, 0x6f, 0x75, //pou
       
   803     0x70, 0x75, //pu
       
   804     0x71, 0x69, //qi
       
   805     0x71, 0x69, 0x61, //qia
       
   806     0x71, 0x69, 0x61, 0x6e, //qian
       
   807     0x71, 0x69, 0x61, 0x6e, 0x67, //qiang
       
   808     0x71, 0x69, 0x61, 0x6f, //qiao
       
   809     0x71, 0x69, 0x65, //qie
       
   810     0x71, 0x69, 0x6e, //qin
       
   811     0x71, 0x69, 0x6e, 0x67, //qing
       
   812     0x71, 0x69, 0x6f, 0x6e, 0x67, //qiong
       
   813     0x71, 0x69, 0x75, //qiu
       
   814     0x71, 0x75, //qu
       
   815     0x71, 0x75, 0x61, 0x6e, //quan
       
   816     0x71, 0x75, 0x65, //que
       
   817     0x71, 0x75, 0x6e, //qun
       
   818     0x72, 0x61, 0x6e, //ran
       
   819     0x72, 0x61, 0x6e, 0x67, //rang
       
   820     0x72, 0x61, 0x6f, //rao
       
   821     0x72, 0x65, //re
       
   822     0x72, 0x65, 0x6e, //ren
       
   823     0x72, 0x65, 0x6e, 0x67, //reng
       
   824     0x72, 0x69, //ri
       
   825     0x72, 0x6f, 0x6e, 0x67, //rong
       
   826     0x72, 0x6f, 0x75, //rou
       
   827     0x72, 0x75, //ru
       
   828     0x72, 0x75, 0x61, 0x6e, //ruan
       
   829     0x72, 0x75, 0x69, //rui
       
   830     0x72, 0x75, 0x6e, //run
       
   831     0x72, 0x75, 0x6f, //ruo
       
   832     0x73, 0x61, //sa
       
   833     0x73, 0x61, 0x69, //sai
       
   834     0x73, 0x61, 0x6e, //san
       
   835     0x73, 0x61, 0x6e, 0x67, //sang
       
   836     0x73, 0x61, 0x6f, //sao
       
   837     0x73, 0x65, //se
       
   838     0x73, 0x65, 0x6e, //sen
       
   839     0x73, 0x65, 0x6e, 0x67, //seng
       
   840     0x73, 0x68, 0x61, //sha
       
   841     0x73, 0x68, 0x61, 0x69, //shai
       
   842     0x73, 0x68, 0x61, 0x6e, //shan
       
   843     0x73, 0x68, 0x61, 0x6e, 0x67, //shang
       
   844     0x73, 0x68, 0x61, 0x6f, //shao
       
   845     0x73, 0x68, 0x65, //she
       
   846     0x73, 0x68, 0x65, 0x69, //shei
       
   847     0x73, 0x68, 0x65, 0x6e, //shen
       
   848     0x73, 0x68, 0x65, 0x6e, 0x67, //sheng
       
   849     0x73, 0x68, 0x69, //shi
       
   850     0x73, 0x68, 0x6f, 0x75, //shou
       
   851     0x73, 0x68, 0x75, //shu
       
   852     0x73, 0x68, 0x75, 0x61, //shua
       
   853     0x73, 0x68, 0x75, 0x61, 0x69, //shuai
       
   854     0x73, 0x68, 0x75, 0x61, 0x6e, //shuan
       
   855     0x73, 0x68, 0x75, 0x61, 0x6e, 0x67, //shuang
       
   856     0x73, 0x68, 0x75, 0x69, //shui
       
   857     0x73, 0x68, 0x75, 0x6e, //shun
       
   858     0x73, 0x68, 0x75, 0x6f, //shuo
       
   859     0x73, 0x69, //si
       
   860     0x73, 0x6f, 0x6e, 0x67, //song
       
   861     0x73, 0x6f, 0x75, //sou
       
   862     0x73, 0x75, //su
       
   863     0x73, 0x75, 0x61, 0x6e, //suan
       
   864     0x73, 0x75, 0x69, //sui
       
   865     0x73, 0x75, 0x6e, //sun
       
   866     0x73, 0x75, 0x6f, //suo
       
   867     0x74, 0x61, //ta
       
   868     0x74, 0x61, 0x69, //tai
       
   869     0x74, 0x61, 0x6e, //tan
       
   870     0x74, 0x61, 0x6e, 0x67, //tang
       
   871     0x74, 0x61, 0x6f, //tao
       
   872     0x74, 0x65, //te
       
   873     0x74, 0x65, 0x6e, 0x67, //teng
       
   874     0x74, 0x69, //ti
       
   875     0x74, 0x69, 0x61, 0x6e, //tian
       
   876     0x74, 0x69, 0x61, 0x6f, //tiao
       
   877     0x74, 0x69, 0x65, //tie
       
   878     0x74, 0x69, 0x6e, 0x67, //ting
       
   879     0x74, 0x6f, 0x6e, 0x67, //tong
       
   880     0x74, 0x6f, 0x75, //tou
       
   881     0x74, 0x75, //tu
       
   882     0x74, 0x75, 0x61, 0x6e, //tuan
       
   883     0x74, 0x75, 0x69, //tui
       
   884     0x74, 0x75, 0x6e, //tun
       
   885     0x74, 0x75, 0x6f, //tuo
       
   886     0x77, 0x61, //wa
       
   887     0x77, 0x61, 0x69, //wai
       
   888     0x77, 0x61, 0x6e, //wan
       
   889     0x77, 0x61, 0x6e, 0x67, //wang
       
   890     0x77, 0x65, 0x69, //wei
       
   891     0x77, 0x65, 0x6e, //wen
       
   892     0x77, 0x65, 0x6e, 0x67, //weng
       
   893     0x77, 0x6f, //wo
       
   894     0x77, 0x75, //wu
       
   895     0x78, 0x69, //xi
       
   896     0x78, 0x69, 0x61, //xia
       
   897     0x78, 0x69, 0x61, 0x6e, //xian
       
   898     0x78, 0x69, 0x61, 0x6e, 0x67, //xiang
       
   899     0x78, 0x69, 0x61, 0x6f, //xiao
       
   900     0x78, 0x69, 0x65, //xie
       
   901     0x78, 0x69, 0x6e, //xin
       
   902     0x78, 0x69, 0x6e, 0x67, //xing
       
   903     0x78, 0x69, 0x6f, 0x6e, 0x67, //xiong
       
   904     0x78, 0x69, 0x75, //xiu
       
   905     0x78, 0x75, //xu
       
   906     0x78, 0x75, 0x61, 0x6e, //xuan
       
   907     0x78, 0x75, 0x65, //xue
       
   908     0x78, 0x75, 0x6e, //xun
       
   909     0x79, 0x61, //ya
       
   910     0x79, 0x61, 0x6e, //yan
       
   911     0x79, 0x61, 0x6e, 0x67, //yang
       
   912     0x79, 0x61, 0x6f, //yao
       
   913     0x79, 0x65, //ye
       
   914     0x79, 0x69, //yi
       
   915     0x79, 0x69, 0x6e, //yin
       
   916     0x79, 0x69, 0x6e, 0x67, //ying
       
   917     0x79, 0x6f, //yo
       
   918     0x79, 0x6f, 0x6e, 0x67, //yong
       
   919     0x79, 0x6f, 0x75, //you
       
   920     0x79, 0x75, //yu
       
   921     0x79, 0x75, 0x61, 0x6e, //yuan
       
   922     0x79, 0x75, 0x65, //yue
       
   923     0x79, 0x75, 0x6e, //yun
       
   924     0x7a, 0x61, //za
       
   925     0x7a, 0x61, 0x69, //zai
       
   926     0x7a, 0x61, 0x6e, //zan
       
   927     0x7a, 0x61, 0x6e, 0x67, //zang
       
   928     0x7a, 0x61, 0x6f, //zao
       
   929     0x7a, 0x65, //ze
       
   930     0x7a, 0x65, 0x69, //zei
       
   931     0x7a, 0x65, 0x6e, //zen
       
   932     0x7a, 0x65, 0x6e, 0x67, //zeng
       
   933     0x7a, 0x68, 0x61, //zha
       
   934     0x7a, 0x68, 0x61, 0x69, //zhai
       
   935     0x7a, 0x68, 0x61, 0x6e, //zhan
       
   936     0x7a, 0x68, 0x61, 0x6e, 0x67, //zhang
       
   937     0x7a, 0x68, 0x61, 0x6f, //zhao
       
   938     0x7a, 0x68, 0x65, //zhe
       
   939     0x7a, 0x68, 0x65, 0x69, //zhei
       
   940     0x7a, 0x68, 0x65, 0x6e, //zhen
       
   941     0x7a, 0x68, 0x65, 0x6e, 0x67, //zheng
       
   942     0x7a, 0x68, 0x69, //zhi
       
   943     0x7a, 0x68, 0x6f, 0x6e, 0x67, //zhong
       
   944     0x7a, 0x68, 0x6f, 0x75, //zhou
       
   945     0x7a, 0x68, 0x75, //zhu
       
   946     0x7a, 0x68, 0x75, 0x61, //zhua
       
   947     0x7a, 0x68, 0x75, 0x61, 0x69, //zhuai
       
   948     0x7a, 0x68, 0x75, 0x61, 0x6e, //zhuan
       
   949     0x7a, 0x68, 0x75, 0x61, 0x6e, 0x67, //zhuang
       
   950     0x7a, 0x68, 0x75, 0x69, //zhui
       
   951     0x7a, 0x68, 0x75, 0x6e, //zhun
       
   952     0x7a, 0x68, 0x75, 0x6f, //zhuo
       
   953     0x7a, 0x69, //zi
       
   954     0x7a, 0x6f, 0x6e, 0x67, //zong
       
   955     0x7a, 0x6f, 0x75, //zou
       
   956     0x7a, 0x75, //zu
       
   957     0x7a, 0x75, 0x61, 0x6e, //zuan
       
   958     0x7a, 0x75, 0x69, //zui
       
   959     0x7a, 0x75, 0x6e, //zun
       
   960     0x7a, 0x75, 0x6f //zuo
       
   961     };
       
   962     
       
   963 const TUint16 KPinyinTypeTable[] = 
       
   964 {
       
   965     //a, b, c, d, e, f
       
   966     ESpellVowel, ESpellConsonant, ESpellSpecialConsonnant, ESpellConsonant, ESpellVowel, ESpellConsonant,
       
   967     //g, h, i, j, k, l
       
   968     ESpellSpecialConsonnant, ESpellSpecialConsonnant, ESpellVowel, ESpellConsonant, ESpellConsonant, ESpellConsonant,
       
   969     //m, n, o, p, q, r
       
   970     ESpellConsonant, ESpellSpecialConsonnant, ESpellVowel, ESpellConsonant, ESpellConsonant, ESpellConsonant,
       
   971     //s, t, u, v, w, x
       
   972     ESpellSpecialConsonnant, ESpellConsonant, ESpellVowel, ESpellVowel, ESpellConsonant, ESpellConsonant,
       
   973     //y, z
       
   974     ESpellConsonant, ESpellSpecialConsonnant
       
   975 };
       
   976 
       
   977 const TUint16 KPinyinNoFirstElem[] =
       
   978     {
       
   979     0x69, 0x76, 0x75
       
   980     };
       
   981     
       
   982 // -----------------------------------------------------------------------------
       
   983 // CPinyinAnalyserDbFeed::NewL
       
   984 // (other items were commented in a header).
       
   985 // -----------------------------------------------------------------------------
       
   986 //
       
   987 CZhuyinAnalyserDbFeed* CZhuyinAnalyserDbFeed::NewL( TPinyinAnalyserDbType aType )
       
   988     {
       
   989     CZhuyinAnalyserDbFeed* self = new ( ELeave ) CZhuyinAnalyserDbFeed();
       
   990     CleanupStack::PushL(self);
       
   991     self->ConstructL( aType ); 
       
   992     CleanupStack::Pop();
       
   993     return self;    
       
   994     }
       
   995     
       
   996 CZhuyinAnalyserDbFeed::~CZhuyinAnalyserDbFeed()
       
   997     {
       
   998     
       
   999     }
       
  1000 // -----------------------------------------------------------------------------
       
  1001 // CPinyinAnalyserDbFeed::~CPinyinAnalyserDbFeed
       
  1002 // (other items were commented in a header).
       
  1003 // -----------------------------------------------------------------------------
       
  1004 //
       
  1005 CZhuyinAnalyserDbFeed::CZhuyinAnalyserDbFeed()
       
  1006     {
       
  1007     }
       
  1008 
       
  1009 // -----------------------------------------------------------------------------
       
  1010 // CPinyinAnalyserDbFeed::~CPinyinAnalyserDbFeed
       
  1011 // (other items were commented in a header).
       
  1012 // -----------------------------------------------------------------------------
       
  1013 //    
       
  1014 void CZhuyinAnalyserDbFeed::ConstructL( TPinyinAnalyserDbType aType )
       
  1015     {
       
  1016     
       
  1017     if ( aType == EPinyinAnalyserTypePinyin )
       
  1018         {
       
  1019         iSpellBuf.Set( KPinyinSpellsLib, sizeof( KPinyinSpellsLib ) / sizeof( KPinyinSpellsLib[0] ) );
       
  1020         iSpellLenBuf.Set( KPinyinSpellsLength, sizeof( KPinyinSpellsLength ) / sizeof ( KPinyinSpellsLength[0] ) );
       
  1021         iSpellElemBase = KPinyinBase;
       
  1022         iSpellElemLen  = KPinyinElementCount;
       
  1023         iSpellTypeBuf.Set( KPinyinTypeTable, sizeof( KPinyinTypeTable ) / sizeof ( KPinyinTypeTable[0] ) );
       
  1024         iNoFirstElements.Set( KPinyinNoFirstElem, sizeof( KPinyinNoFirstElem) / sizeof( KPinyinNoFirstElem[0] ) );
       
  1025         }
       
  1026     else if ( aType == EPinyinAnalyserTypeZhuyin )
       
  1027         {
       
  1028         iSpellBuf.Set( KZhuyinSpellsLib, sizeof( KZhuyinSpellsLib ) / sizeof( KZhuyinSpellsLib[0] ) );
       
  1029         iSpellLenBuf.Set( KZhuyinSpellsLength, sizeof( KZhuyinSpellsLength ) / sizeof ( KZhuyinSpellsLength[0] ) );
       
  1030         iSpellElemBase = KZhuyinBase;
       
  1031         iSpellElemLen  = KZhuyinElementCount;
       
  1032         iSpellTypeBuf.Set( KZhuyinTypeTable, sizeof( KZhuyinTypeTable ) / sizeof ( KZhuyinTypeTable[0] ) );
       
  1033         iNoFirstElements.Set( KZhuyinNoFirstElem, sizeof( KZhuyinNoFirstElem) / sizeof( KZhuyinNoFirstElem[0] ) );
       
  1034         }
       
  1035     else
       
  1036         {
       
  1037         ASSERT( 0 );    
       
  1038         }
       
  1039     
       
  1040     }
       
  1041 
       
  1042 TBool CZhuyinAnalyserDbFeed::IsToneMark( TUint16 acoseFirst, TUint16 aCodeSecond )
       
  1043     {
       
  1044     TBool first = EFalse;
       
  1045     TBool seconde = EFalse;
       
  1046     
       
  1047     for ( TInt i = 0; i < iNoFirstElements.Length(); ++i )
       
  1048         {
       
  1049         if ( iNoFirstElements[i] == acoseFirst )
       
  1050             {
       
  1051             first = ETrue;
       
  1052             }
       
  1053         if ( iNoFirstElements[i] == aCodeSecond )
       
  1054             {
       
  1055             seconde = ETrue;
       
  1056             }    
       
  1057         }
       
  1058     
       
  1059     if ( first && seconde )
       
  1060         {
       
  1061         return ETrue;
       
  1062         }
       
  1063     else
       
  1064         {
       
  1065         return EFalse;
       
  1066         }
       
  1067     }