fontservices/textbase/sgdi/FontIndic.h
author hgs
Mon, 12 Jul 2010 14:38:26 +0800
changeset 45 662fa7de7023
permissions -rw-r--r--
201024_05
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45
662fa7de7023 201024_05
hgs
parents:
diff changeset
     1
// Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
662fa7de7023 201024_05
hgs
parents:
diff changeset
     2
// All rights reserved.
662fa7de7023 201024_05
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
662fa7de7023 201024_05
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
662fa7de7023 201024_05
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
662fa7de7023 201024_05
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
662fa7de7023 201024_05
hgs
parents:
diff changeset
     7
//
662fa7de7023 201024_05
hgs
parents:
diff changeset
     8
// Initial Contributors:
662fa7de7023 201024_05
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
662fa7de7023 201024_05
hgs
parents:
diff changeset
    10
//
662fa7de7023 201024_05
hgs
parents:
diff changeset
    11
// Contributors:
662fa7de7023 201024_05
hgs
parents:
diff changeset
    12
//
662fa7de7023 201024_05
hgs
parents:
diff changeset
    13
// Description:
662fa7de7023 201024_05
hgs
parents:
diff changeset
    14
//
662fa7de7023 201024_05
hgs
parents:
diff changeset
    15
662fa7de7023 201024_05
hgs
parents:
diff changeset
    16
#ifndef __FONTINDIC_H__
662fa7de7023 201024_05
hgs
parents:
diff changeset
    17
#define __FONTINDIC_H__
662fa7de7023 201024_05
hgs
parents:
diff changeset
    18
662fa7de7023 201024_05
hgs
parents:
diff changeset
    19
#include "GlyphSel.h"
662fa7de7023 201024_05
hgs
parents:
diff changeset
    20
662fa7de7023 201024_05
hgs
parents:
diff changeset
    21
/** Defines the maximum ammount of text thats can be shaped at one time.
662fa7de7023 201024_05
hgs
parents:
diff changeset
    22
Change this number to suit optimisation, as increasing it or decreasing it may 
662fa7de7023 201024_05
hgs
parents:
diff changeset
    23
make Devanagari text faster/slower.*/
662fa7de7023 201024_05
hgs
parents:
diff changeset
    24
const TInt KMaxTextToShape = 16;
662fa7de7023 201024_05
hgs
parents:
diff changeset
    25
662fa7de7023 201024_05
hgs
parents:
diff changeset
    26
enum TIndicCodeType
662fa7de7023 201024_05
hgs
parents:
diff changeset
    27
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
    28
	// These values must not change without also changing
662fa7de7023 201024_05
hgs
parents:
diff changeset
    29
	// KStateResponse table accordingly
662fa7de7023 201024_05
hgs
parents:
diff changeset
    30
	EIndicCodeOther = 0,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    31
	EIndicCodeCombiningSign = 1,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    32
	EIndicCodeIndependentVowel = 2,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    33
	EIndicCodeConsonant = 3,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    34
	EIndicCodeDependentVowel = 4,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    35
	EIndicCodeVirama = 5,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    36
	EIndicCodeNukta = 6,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    37
	EIndicCodeZWJ = 7,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    38
	EIndicCodeNuktaConsonant = 8,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    39
	EIndicCodeIndependentVowelA = 9,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    40
	EIndicCodeDependentVowelCandraE = 10,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    41
	EIndicCodeConsonantKannadaBengaliRa = 11,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    42
	EIndicCodeSplitVowel1 = 12,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    43
	EIndicCodeSplitVowel2 = 13,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    44
	EIndicCodeTamilLengthMarkAU = 14,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    45
	//Gurmukhi specific types: EIndicCodeGurBeraer* for specific bearer
662fa7de7023 201024_05
hgs
parents:
diff changeset
    46
	//EIndicCodeGurDependentVowel* for dependent vowles which can be combined 
662fa7de7023 201024_05
hgs
parents:
diff changeset
    47
	//with corresponding bearer to form an independent vowlel
662fa7de7023 201024_05
hgs
parents:
diff changeset
    48
	EIndicCodeGurBearerA = 15,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    49
	EIndicCodeGurBearerU = 16,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    50
	EIndicCodeGurBearerI = 17,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    51
	EIndicCodeGurDependentVowelA = 18,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    52
	EIndicCodeGurDependentVowelU = 19,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    53
	EIndicCodeGurDependentVowelI = 20,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    54
	EIndicCodeConsonantMalaChillu = 21,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    55
	EIndicCodeConsonantMalaChilluNA = 22,
662fa7de7023 201024_05
hgs
parents:
diff changeset
    56
	EIndicCodeConsonantMalaRRA = 23
662fa7de7023 201024_05
hgs
parents:
diff changeset
    57
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
    58
	
662fa7de7023 201024_05
hgs
parents:
diff changeset
    59
struct TIndicCodeMapping
662fa7de7023 201024_05
hgs
parents:
diff changeset
    60
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
    61
	TInt16 iFirstCodeInRange;
662fa7de7023 201024_05
hgs
parents:
diff changeset
    62
	TInt16 iCodeType;	// From TIndicCodeType
662fa7de7023 201024_05
hgs
parents:
diff changeset
    63
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
    64
662fa7de7023 201024_05
hgs
parents:
diff changeset
    65
/** Holds the types of all the symbols in the devanagari range, so that we can
662fa7de7023 201024_05
hgs
parents:
diff changeset
    66
work out where the syllable boundaries begin and end. */
662fa7de7023 201024_05
hgs
parents:
diff changeset
    67
static const TIndicCodeMapping KDevCodeMap[] =
662fa7de7023 201024_05
hgs
parents:
diff changeset
    68
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
    69
	{0, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    70
	{0x901, EIndicCodeCombiningSign},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    71
	{0x904, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    72
	{0x905, EIndicCodeIndependentVowelA},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    73
	{0x906, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    74
	{0x915, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    75
	{0x929, EIndicCodeNuktaConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    76
	{0x92A, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    77
	{0x931, EIndicCodeNuktaConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    78
	{0x932, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    79
	{0x934, EIndicCodeNuktaConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    80
	{0x935, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    81
	{0x93A, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    82
	{0x93C, EIndicCodeNukta},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    83
	{0x93D, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    84
	{0x93E, EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    85
	{0x945, EIndicCodeDependentVowelCandraE},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    86
	{0x946, EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    87
	{0x94D, EIndicCodeVirama},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    88
	{0x94E, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    89
	{0x951, EIndicCodeCombiningSign},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    90
	{0x955, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    91
	{0x958, EIndicCodeNuktaConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    92
	{0x960, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    93
	{0x962, EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    94
	{0x964, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    95
	{0x200D, EIndicCodeZWJ},
662fa7de7023 201024_05
hgs
parents:
diff changeset
    96
	{0x200E, EIndicCodeOther}
662fa7de7023 201024_05
hgs
parents:
diff changeset
    97
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
    98
	
662fa7de7023 201024_05
hgs
parents:
diff changeset
    99
/** Holds the types of all the symbols in the Kannada range, so that we can
662fa7de7023 201024_05
hgs
parents:
diff changeset
   100
work out where the syllable boundaries begin and end. */
662fa7de7023 201024_05
hgs
parents:
diff changeset
   101
static const TIndicCodeMapping KKanCodeMap[] =
662fa7de7023 201024_05
hgs
parents:
diff changeset
   102
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
   103
	{0, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   104
	{0xC82, EIndicCodeCombiningSign},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   105
	{0xC85, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   106
	{0xC95, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   107
	{0xCB0, EIndicCodeConsonantKannadaBengaliRa},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   108
	{0xCB1, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   109
	{0xCB4, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   110
	{0xCB5, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   111
	{0xCBA, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   112
	{0xCBC, EIndicCodeNukta},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   113
	{0xCBD, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   114
	{0xCBE, EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   115
	{0xCC5, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   116
	{0xCC6, EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   117
	{0xCCD, EIndicCodeVirama},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   118
	{0xCD5, EIndicCodeCombiningSign},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   119
	{0xCDE, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   120
	{0xCE0, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   121
	{0xCE2, EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   122
	{0xCE4, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   123
	{0x200D, EIndicCodeZWJ},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   124
	{0x200E, EIndicCodeOther}
662fa7de7023 201024_05
hgs
parents:
diff changeset
   125
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   126
662fa7de7023 201024_05
hgs
parents:
diff changeset
   127
/** Holds the types of all the symbols in the Gujarati range, so that we can
662fa7de7023 201024_05
hgs
parents:
diff changeset
   128
work out where the syllable boundaries begin and end. */
662fa7de7023 201024_05
hgs
parents:
diff changeset
   129
static const TIndicCodeMapping KGujCodeMap[] =
662fa7de7023 201024_05
hgs
parents:
diff changeset
   130
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
   131
	{0, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   132
	{0xA81, EIndicCodeCombiningSign},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   133
	{0xA85, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   134
	{0xA8E, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   135
	{0xA8F, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   136
	{0xA92, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   137
	{0xA93, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   138
	{0xA95, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   139
	{0xAA9, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   140
	{0xAAA, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   141
	{0xAB1, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   142
	{0xAB2, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   143
	{0xAB4, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   144
	{0xAB5, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   145
	{0xABC, EIndicCodeNukta},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   146
	{0xABD, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   147
	{0xABE, EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   148
	{0xAC6, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   149
	{0xAC7, EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   150
	{0xACA, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   151
	{0xACB, EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   152
	{0xACD, EIndicCodeVirama},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   153
	{0xACE, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   154
	{0xAE0, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   155
	{0xAE2, EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   156
	{0xAE4, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   157
	{0x200D, EIndicCodeZWJ},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   158
	{0x200E, EIndicCodeOther}
662fa7de7023 201024_05
hgs
parents:
diff changeset
   159
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   160
	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   161
/** Holds the types of all the symbols in the Gurmukhi range, so that we can
662fa7de7023 201024_05
hgs
parents:
diff changeset
   162
work out where the syllable boundaries begin and end. */
662fa7de7023 201024_05
hgs
parents:
diff changeset
   163
static const TIndicCodeMapping KGurCodeMap[] =
662fa7de7023 201024_05
hgs
parents:
diff changeset
   164
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
   165
	{0, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   166
	{0xA01, EIndicCodeCombiningSign},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   167
	{0xA04, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   168
	{0xA05, EIndicCodeGurBearerA},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   169
	{0xA06, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   170
	{0xA0B, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   171
	{0xA0F, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   172
	{0xA11, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   173
	{0xA13, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   174
	{0xA15, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   175
	{0xA29, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   176
	{0xA2A, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   177
	{0xA31, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   178
	{0xA32, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   179
	{0xA33, EIndicCodeNuktaConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   180
	{0xA34, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   181
	{0xA35, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   182
	{0xA36, EIndicCodeNuktaConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   183
	{0xA37, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   184
	{0xA38, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   185
	{0xA3A, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   186
	{0xA3C, EIndicCodeNukta},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   187
	{0xA3D, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   188
	{0xA3E, EIndicCodeGurDependentVowelA},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   189
	{0xA3F, EIndicCodeGurDependentVowelI},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   190
	{0xA41, EIndicCodeGurDependentVowelU},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   191
	{0xA43, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   192
	{0xA47, EIndicCodeGurDependentVowelI},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   193
	{0xA48, EIndicCodeGurDependentVowelA},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   194
	{0xA49, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   195
	{0xA4B, EIndicCodeGurDependentVowelU},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   196
	{0xA4C, EIndicCodeGurDependentVowelA},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   197
	{0xA4D, EIndicCodeVirama},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   198
	{0xA4E, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   199
	{0xA59, EIndicCodeNuktaConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   200
	{0xA5C, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   201
	{0xA5D, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   202
	{0xA5E, EIndicCodeNuktaConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   203
	{0xA5F, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   204
	{0xA70, EIndicCodeCombiningSign},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   205
	{0xA71, EIndicCodeCombiningSign},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   206
	{0xA72, EIndicCodeGurBearerI},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   207
	{0xA73, EIndicCodeGurBearerU},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   208
	{0xA74, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   209
	{0x200D, EIndicCodeZWJ},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   210
	{0x200E, EIndicCodeOther}
662fa7de7023 201024_05
hgs
parents:
diff changeset
   211
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   212
662fa7de7023 201024_05
hgs
parents:
diff changeset
   213
/** Holds the types of all the symbols in the Bengali range, so that we can
662fa7de7023 201024_05
hgs
parents:
diff changeset
   214
work out where the syllable boundaries begin and end. */
662fa7de7023 201024_05
hgs
parents:
diff changeset
   215
static const TIndicCodeMapping KBenCodeMap[] =
662fa7de7023 201024_05
hgs
parents:
diff changeset
   216
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
   217
	{0, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   218
	{0x981 , EIndicCodeCombiningSign},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   219
	{0x985 , EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   220
	{0x995 , EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   221
	{0x9B0 , EIndicCodeConsonantKannadaBengaliRa},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   222
	{0x9B1 , EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   223
	{0x9BA , EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   224
	{0x9BC , EIndicCodeNukta},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   225
	{0x9BD , EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   226
	{0x9BE , EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   227
	{0x9C9 , EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   228
	{0x9CB , EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   229
	{0x9CD , EIndicCodeVirama},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   230
	{0x9CE , EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   231
	{0x9D7 , EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   232
	{0x9DC , EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   233
	{0x9E0 , EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   234
	{0x9E2 , EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   235
	{0x9E4 , EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   236
	{0x200D, EIndicCodeZWJ},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   237
	{0x200E, EIndicCodeOther}
662fa7de7023 201024_05
hgs
parents:
diff changeset
   238
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   239
662fa7de7023 201024_05
hgs
parents:
diff changeset
   240
/** Holds the types of all the symbols in the Tamil range, so that we can
662fa7de7023 201024_05
hgs
parents:
diff changeset
   241
work out where the syllable boundaries begin and end. */
662fa7de7023 201024_05
hgs
parents:
diff changeset
   242
static const TIndicCodeMapping KTamCodeMap[] =
662fa7de7023 201024_05
hgs
parents:
diff changeset
   243
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
   244
	{0, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   245
	{0xB82 , EIndicCodeCombiningSign},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   246
	{0xB83 , EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   247
	{0xB84 , EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   248
	{0xB85 , EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   249
	{0xB92 , EIndicCodeIndependentVowelA},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   250
	{0xB93 , EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   251
	{0xB95 , EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   252
	{0xBBE , EIndicCodeSplitVowel2},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   253
	{0xBBF , EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   254
	{0xBC6 , EIndicCodeSplitVowel1},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   255
	{0xBC8 , EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   256
	{0xBCD , EIndicCodeVirama},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   257
	{0xBCE , EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   258
	{0xBD7 , EIndicCodeTamilLengthMarkAU},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   259
	{0xBE4 , EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   260
	{0x200D, EIndicCodeZWJ},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   261
	{0x200E, EIndicCodeOther}
662fa7de7023 201024_05
hgs
parents:
diff changeset
   262
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   263
662fa7de7023 201024_05
hgs
parents:
diff changeset
   264
/** Holds the types of all the symbols in the Telugu range, so that we can
662fa7de7023 201024_05
hgs
parents:
diff changeset
   265
work out where the syllable boundaries begin and end. */
662fa7de7023 201024_05
hgs
parents:
diff changeset
   266
static const TIndicCodeMapping KTelCodeMap[] =
662fa7de7023 201024_05
hgs
parents:
diff changeset
   267
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
   268
	{0, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   269
	{0xC01, EIndicCodeCombiningSign},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   270
	{0xC04, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   271
	{0xC05, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   272
	{0xC15, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   273
	{0xC3A, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   274
	{0xC3E, EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   275
	{0xC4D, EIndicCodeVirama},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   276
	{0xC4E, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   277
	{0xC55, EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   278
	{0xC57, EIndicCodeOther},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   279
	{0xC60, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   280
	{0xC62, EIndicCodeOther}
662fa7de7023 201024_05
hgs
parents:
diff changeset
   281
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   282
662fa7de7023 201024_05
hgs
parents:
diff changeset
   283
/** Holds the types of all the symbols in the Malayalam range, so that we can
662fa7de7023 201024_05
hgs
parents:
diff changeset
   284
work out where the syllable boundaries begin and end. */
662fa7de7023 201024_05
hgs
parents:
diff changeset
   285
static const TIndicCodeMapping KMalaCodeMap[] =
662fa7de7023 201024_05
hgs
parents:
diff changeset
   286
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
   287
	{0, EIndicCodeOther}, // NOT USED D00 - D01
662fa7de7023 201024_05
hgs
parents:
diff changeset
   288
	{0xD02, EIndicCodeCombiningSign}, // Modifiers
662fa7de7023 201024_05
hgs
parents:
diff changeset
   289
	{0xD04, EIndicCodeOther}, // NOT USED
662fa7de7023 201024_05
hgs
parents:
diff changeset
   290
	{0xD05, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   291
//	{0xD0D, EIndicCodeOther}, // Reserved
662fa7de7023 201024_05
hgs
parents:
diff changeset
   292
//	{0xD0E, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   293
//	{0xD11, EIndicCodeOther}, // Reserved
662fa7de7023 201024_05
hgs
parents:
diff changeset
   294
//	{0xD12, EIndicCodeIndependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   295
	{0xD15, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   296
	{0xD23, EIndicCodeConsonantMalaChillu}, // NNA
662fa7de7023 201024_05
hgs
parents:
diff changeset
   297
	{0xD24, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   298
	{0xD28, EIndicCodeConsonantMalaChilluNA}, // NA
662fa7de7023 201024_05
hgs
parents:
diff changeset
   299
	{0xD29, EIndicCodeOther}, // Reserved
662fa7de7023 201024_05
hgs
parents:
diff changeset
   300
	{0xD2A, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   301
	{0xD30, EIndicCodeConsonantMalaChillu}, // RA
662fa7de7023 201024_05
hgs
parents:
diff changeset
   302
	{0xD31, EIndicCodeConsonantMalaRRA}, // RRA
662fa7de7023 201024_05
hgs
parents:
diff changeset
   303
	{0xD32, EIndicCodeConsonantMalaChillu}, // LA,  LLA
662fa7de7023 201024_05
hgs
parents:
diff changeset
   304
	{0xD34, EIndicCodeConsonant},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   305
	{0xD3A, EIndicCodeOther}, // NOT USED D3A - D3D
662fa7de7023 201024_05
hgs
parents:
diff changeset
   306
	{0xD3E, EIndicCodeSplitVowel2},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   307
	{0xD3F, EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   308
//	{0xD44, EIndicCodeOther}, // Reserved D44 - D45
662fa7de7023 201024_05
hgs
parents:
diff changeset
   309
	{0xD46, EIndicCodeSplitVowel1},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   310
	{0xD48, EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   311
//	{0xD49, EIndicCodeOther}, // Reserved D49
662fa7de7023 201024_05
hgs
parents:
diff changeset
   312
//	{0xD4A, EIndicCodeDependentVowel},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   313
	{0xD4D, EIndicCodeVirama},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   314
	{0xD4E, EIndicCodeOther}, //Reserved D4E - D56
662fa7de7023 201024_05
hgs
parents:
diff changeset
   315
	{0xD57, EIndicCodeTamilLengthMarkAU}, // EIndicCodeDependentVowel for Telugu ???
662fa7de7023 201024_05
hgs
parents:
diff changeset
   316
	{0xD58, EIndicCodeOther}, // NOT USED D58 - D5F
662fa7de7023 201024_05
hgs
parents:
diff changeset
   317
	{0xD60, EIndicCodeIndependentVowel}, // RR, LL
662fa7de7023 201024_05
hgs
parents:
diff changeset
   318
	{0xD62, EIndicCodeOther}, // NOT USED D62 - D65, digits D66 - D6F	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   319
	{0x200D, EIndicCodeZWJ},
662fa7de7023 201024_05
hgs
parents:
diff changeset
   320
	{0x200E, EIndicCodeOther}
662fa7de7023 201024_05
hgs
parents:
diff changeset
   321
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   322
662fa7de7023 201024_05
hgs
parents:
diff changeset
   323
/* Holds all parameters specific to scripts */
662fa7de7023 201024_05
hgs
parents:
diff changeset
   324
struct TIndicScriptProcessorParameters{
662fa7de7023 201024_05
hgs
parents:
diff changeset
   325
	TUint32 iLanguageCode;
662fa7de7023 201024_05
hgs
parents:
diff changeset
   326
	TUint32 iScriptCode;
662fa7de7023 201024_05
hgs
parents:
diff changeset
   327
	TUint iUCLow;
662fa7de7023 201024_05
hgs
parents:
diff changeset
   328
	TUint iUCHigh;
662fa7de7023 201024_05
hgs
parents:
diff changeset
   329
	TUint iMapLen;
662fa7de7023 201024_05
hgs
parents:
diff changeset
   330
	const TIndicCodeMapping *iCodeMap;
662fa7de7023 201024_05
hgs
parents:
diff changeset
   331
};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   332
662fa7de7023 201024_05
hgs
parents:
diff changeset
   333
static const TIndicScriptProcessorParameters KIndicDevParameters = {
662fa7de7023 201024_05
hgs
parents:
diff changeset
   334
	0x48494E20, //KHindiLanguageCode,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   335
	0x64657661, //KDevanagariScriptCode,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   336
	0x0900, //KDevLow,
662fa7de7023 201024_05
hgs
parents:
diff changeset
   337
	0x0970, //KDevHigh,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   338
	sizeof(KDevCodeMap)/sizeof(KDevCodeMap[0]),
662fa7de7023 201024_05
hgs
parents:
diff changeset
   339
	KDevCodeMap
662fa7de7023 201024_05
hgs
parents:
diff changeset
   340
};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   341
662fa7de7023 201024_05
hgs
parents:
diff changeset
   342
static const TIndicScriptProcessorParameters KIndicKanParameters = {
662fa7de7023 201024_05
hgs
parents:
diff changeset
   343
	0x4B414E20, //KKannadaLanguageCode,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   344
	0x6B6E6461, //KKannadaScriptCode,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   345
	0x0C80, //KKanLow,
662fa7de7023 201024_05
hgs
parents:
diff changeset
   346
	0x0CFF, //KKanHigh,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   347
	sizeof(KKanCodeMap)/sizeof(KKanCodeMap[0]),
662fa7de7023 201024_05
hgs
parents:
diff changeset
   348
	KKanCodeMap
662fa7de7023 201024_05
hgs
parents:
diff changeset
   349
};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   350
662fa7de7023 201024_05
hgs
parents:
diff changeset
   351
static const TIndicScriptProcessorParameters KIndicGujParameters = {
662fa7de7023 201024_05
hgs
parents:
diff changeset
   352
	0x47554A20, //KGujaratiLanguageCode,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   353
	0x67756A72, //KGujaratiScriptCode,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   354
	0x0A80, //KGujLow,
662fa7de7023 201024_05
hgs
parents:
diff changeset
   355
	0x0AFF, //KGujHigh,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   356
	sizeof(KGujCodeMap)/sizeof(KGujCodeMap[0]),
662fa7de7023 201024_05
hgs
parents:
diff changeset
   357
	KGujCodeMap
662fa7de7023 201024_05
hgs
parents:
diff changeset
   358
};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   359
662fa7de7023 201024_05
hgs
parents:
diff changeset
   360
static const TIndicScriptProcessorParameters KIndicBenParameters = {
662fa7de7023 201024_05
hgs
parents:
diff changeset
   361
	0x42454E20, //KBengaliLanguageCode,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   362
	0x62656E67, //KBengaliScriptCode,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   363
	0x0980, //KBenLow,
662fa7de7023 201024_05
hgs
parents:
diff changeset
   364
	0x09FF, //KBenHigh,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   365
	sizeof(KBenCodeMap)/sizeof(KBenCodeMap[0]),
662fa7de7023 201024_05
hgs
parents:
diff changeset
   366
	KBenCodeMap
662fa7de7023 201024_05
hgs
parents:
diff changeset
   367
};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   368
662fa7de7023 201024_05
hgs
parents:
diff changeset
   369
static const TIndicScriptProcessorParameters KIndicTamParameters = {
662fa7de7023 201024_05
hgs
parents:
diff changeset
   370
	0x54414D20, //KTamilLanguageCode,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   371
	0x74616D6C, //KTamilScriptCode,
662fa7de7023 201024_05
hgs
parents:
diff changeset
   372
	0x0B80, //KTamLow,
662fa7de7023 201024_05
hgs
parents:
diff changeset
   373
	0x0BFF, //KTamHigh,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   374
	sizeof(KTamCodeMap)/sizeof(KTamCodeMap[0]),
662fa7de7023 201024_05
hgs
parents:
diff changeset
   375
	KTamCodeMap
662fa7de7023 201024_05
hgs
parents:
diff changeset
   376
};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   377
662fa7de7023 201024_05
hgs
parents:
diff changeset
   378
static const TIndicScriptProcessorParameters KIndicTelParameters = {
662fa7de7023 201024_05
hgs
parents:
diff changeset
   379
	0x54454C20, //KTeluguLanguageCode,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   380
	0x74656C75, //KTeluguScriptCode,
662fa7de7023 201024_05
hgs
parents:
diff changeset
   381
	0x0C00, //KTelLow,
662fa7de7023 201024_05
hgs
parents:
diff changeset
   382
	0x0C7F, //KTelHigh,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   383
	sizeof(KTelCodeMap)/sizeof(KTelCodeMap[0]),
662fa7de7023 201024_05
hgs
parents:
diff changeset
   384
	KTelCodeMap
662fa7de7023 201024_05
hgs
parents:
diff changeset
   385
};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   386
662fa7de7023 201024_05
hgs
parents:
diff changeset
   387
static const TIndicScriptProcessorParameters KIndicGurParameters = {
662fa7de7023 201024_05
hgs
parents:
diff changeset
   388
	0x00000000,	//KGurmukhiLanguageCode,
662fa7de7023 201024_05
hgs
parents:
diff changeset
   389
	0x67757275, //KGurmukhiScriptCode,
662fa7de7023 201024_05
hgs
parents:
diff changeset
   390
	0x0A00, //KGurLow,
662fa7de7023 201024_05
hgs
parents:
diff changeset
   391
	0x0A7F, //KGurHigh,
662fa7de7023 201024_05
hgs
parents:
diff changeset
   392
	sizeof(KGurCodeMap)/sizeof(KGurCodeMap[0]),
662fa7de7023 201024_05
hgs
parents:
diff changeset
   393
	KGurCodeMap
662fa7de7023 201024_05
hgs
parents:
diff changeset
   394
};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   395
662fa7de7023 201024_05
hgs
parents:
diff changeset
   396
static const TIndicScriptProcessorParameters KIndicMalParameters = {
662fa7de7023 201024_05
hgs
parents:
diff changeset
   397
	0x4D4C5220, //KMalayalamLanguageCode,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   398
	0x6D6C796D, //KMalayalamScriptCode,
662fa7de7023 201024_05
hgs
parents:
diff changeset
   399
	0x0D00, //KMalaLow,
662fa7de7023 201024_05
hgs
parents:
diff changeset
   400
	0x0D7F, //KMalaHigh,	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   401
	sizeof(KMalaCodeMap)/sizeof(KMalaCodeMap[0]),
662fa7de7023 201024_05
hgs
parents:
diff changeset
   402
	KMalaCodeMap
662fa7de7023 201024_05
hgs
parents:
diff changeset
   403
};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   404
662fa7de7023 201024_05
hgs
parents:
diff changeset
   405
/** This is the default glyph selector class for Devanagari characters in the
662fa7de7023 201024_05
hgs
parents:
diff changeset
   406
range 0x0900..0x097F.
662fa7de7023 201024_05
hgs
parents:
diff changeset
   407
@internalComponent
662fa7de7023 201024_05
hgs
parents:
diff changeset
   408
*/
662fa7de7023 201024_05
hgs
parents:
diff changeset
   409
class GlyphSelector_Devanagari
662fa7de7023 201024_05
hgs
parents:
diff changeset
   410
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
   411
public:
662fa7de7023 201024_05
hgs
parents:
diff changeset
   412
	static TBool Process(TGlyphSelectionState& aGss, RShapeInfo&);
662fa7de7023 201024_05
hgs
parents:
diff changeset
   413
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   414
662fa7de7023 201024_05
hgs
parents:
diff changeset
   415
662fa7de7023 201024_05
hgs
parents:
diff changeset
   416
/** This is the default glyph selector class for Kannada characters in the
662fa7de7023 201024_05
hgs
parents:
diff changeset
   417
range 0x0C80..0x0CFF.
662fa7de7023 201024_05
hgs
parents:
diff changeset
   418
@internalComponent
662fa7de7023 201024_05
hgs
parents:
diff changeset
   419
*/
662fa7de7023 201024_05
hgs
parents:
diff changeset
   420
class GlyphSelector_Kannada
662fa7de7023 201024_05
hgs
parents:
diff changeset
   421
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
   422
public:
662fa7de7023 201024_05
hgs
parents:
diff changeset
   423
	static TBool Process(TGlyphSelectionState& aGss, RShapeInfo&);
662fa7de7023 201024_05
hgs
parents:
diff changeset
   424
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   425
	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   426
662fa7de7023 201024_05
hgs
parents:
diff changeset
   427
/** This is the default glyph selector class for Gujarati characters in the
662fa7de7023 201024_05
hgs
parents:
diff changeset
   428
range 0x0A80..0x0AFF.
662fa7de7023 201024_05
hgs
parents:
diff changeset
   429
@internalComponent
662fa7de7023 201024_05
hgs
parents:
diff changeset
   430
*/
662fa7de7023 201024_05
hgs
parents:
diff changeset
   431
class GlyphSelector_Gujarati
662fa7de7023 201024_05
hgs
parents:
diff changeset
   432
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
   433
public:
662fa7de7023 201024_05
hgs
parents:
diff changeset
   434
	static TBool Process(TGlyphSelectionState& aGss, RShapeInfo&);
662fa7de7023 201024_05
hgs
parents:
diff changeset
   435
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   436
	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   437
/** This is the default glyph selector class for Bengali characters in the
662fa7de7023 201024_05
hgs
parents:
diff changeset
   438
range 0x0980..0x09FF.
662fa7de7023 201024_05
hgs
parents:
diff changeset
   439
@internalComponent
662fa7de7023 201024_05
hgs
parents:
diff changeset
   440
*/
662fa7de7023 201024_05
hgs
parents:
diff changeset
   441
class GlyphSelector_Bengali
662fa7de7023 201024_05
hgs
parents:
diff changeset
   442
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
   443
public:
662fa7de7023 201024_05
hgs
parents:
diff changeset
   444
	static TBool Process(TGlyphSelectionState& aGss, RShapeInfo&);
662fa7de7023 201024_05
hgs
parents:
diff changeset
   445
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   446
	
662fa7de7023 201024_05
hgs
parents:
diff changeset
   447
/** This is the default glyph selector class for Tamil characters in the
662fa7de7023 201024_05
hgs
parents:
diff changeset
   448
range 0x0B80..0x0BFF.
662fa7de7023 201024_05
hgs
parents:
diff changeset
   449
@internalComponent
662fa7de7023 201024_05
hgs
parents:
diff changeset
   450
*/
662fa7de7023 201024_05
hgs
parents:
diff changeset
   451
class GlyphSelector_Tamil
662fa7de7023 201024_05
hgs
parents:
diff changeset
   452
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
   453
public:
662fa7de7023 201024_05
hgs
parents:
diff changeset
   454
	static TBool Process(TGlyphSelectionState& aGss, RShapeInfo&);
662fa7de7023 201024_05
hgs
parents:
diff changeset
   455
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   456
662fa7de7023 201024_05
hgs
parents:
diff changeset
   457
/** This is the default glyph selector class for Telugu characters in the
662fa7de7023 201024_05
hgs
parents:
diff changeset
   458
range 0x0C00..0x0C7F.
662fa7de7023 201024_05
hgs
parents:
diff changeset
   459
@internalComponent
662fa7de7023 201024_05
hgs
parents:
diff changeset
   460
*/
662fa7de7023 201024_05
hgs
parents:
diff changeset
   461
class GlyphSelector_Telugu
662fa7de7023 201024_05
hgs
parents:
diff changeset
   462
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
   463
public:
662fa7de7023 201024_05
hgs
parents:
diff changeset
   464
	static TBool Process(TGlyphSelectionState& aGss, RShapeInfo&);
662fa7de7023 201024_05
hgs
parents:
diff changeset
   465
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   466
662fa7de7023 201024_05
hgs
parents:
diff changeset
   467
/** This is the default glyph selector class for Gurmukhi characters in the
662fa7de7023 201024_05
hgs
parents:
diff changeset
   468
range 0x0A00..0x0A7F.
662fa7de7023 201024_05
hgs
parents:
diff changeset
   469
@internalComponent
662fa7de7023 201024_05
hgs
parents:
diff changeset
   470
*/
662fa7de7023 201024_05
hgs
parents:
diff changeset
   471
class GlyphSelector_Gurmukhi
662fa7de7023 201024_05
hgs
parents:
diff changeset
   472
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
   473
public:
662fa7de7023 201024_05
hgs
parents:
diff changeset
   474
	static TBool Process(TGlyphSelectionState& aGss, RShapeInfo&);
662fa7de7023 201024_05
hgs
parents:
diff changeset
   475
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   476
662fa7de7023 201024_05
hgs
parents:
diff changeset
   477
/** This is the default glyph selector class for Malayalam characters in the
662fa7de7023 201024_05
hgs
parents:
diff changeset
   478
range 0x0D00..0x0D7F.
662fa7de7023 201024_05
hgs
parents:
diff changeset
   479
@internalComponent
662fa7de7023 201024_05
hgs
parents:
diff changeset
   480
*/
662fa7de7023 201024_05
hgs
parents:
diff changeset
   481
class GlyphSelector_Malayalam
662fa7de7023 201024_05
hgs
parents:
diff changeset
   482
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
   483
public:
662fa7de7023 201024_05
hgs
parents:
diff changeset
   484
	static TBool Process(TGlyphSelectionState& aGss, RShapeInfo&);
662fa7de7023 201024_05
hgs
parents:
diff changeset
   485
	};
662fa7de7023 201024_05
hgs
parents:
diff changeset
   486
662fa7de7023 201024_05
hgs
parents:
diff changeset
   487
#endif