symport/e32/euser/unicode/foldtable.inl
changeset 1 0a7b44b10206
child 2 806186ab5e14
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symport/e32/euser/unicode/foldtable.inl	Thu Jun 25 15:59:54 2009 +0100
@@ -0,0 +1,127 @@
+// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "Symbian Foundation License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// e32\euser\unicode\foldtable.inl
+// Use the bits from 12 up from your character to index CaseFoldTable0.
+// Use the result of this plus bits 8-11 to index CaseFoldTable1.
+// Use the result of this plus bits 4-7 to index CaseFoldTable2.
+// Use the result of this plus bits 0-3 to index CaseFoldTable3.
+// Add the result of this to your character to fold it.
+// 
+//
+
+static const short CaseFoldTable3[] =
+	{
+	0, 0, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0,
+	32, 32, 32, 32, 32, 32, 32, 32,
+	32, 32, 32, 32, 32, 32, 32, 0,
+	0, 0, 0, 0, -128, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 775, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 32,
+	0, 0, 0, 0, 0, 0, 0, 0,
+	0, 32, 0, 0, 0, 0, 0, 0,
+	0, 32, 0, 0, 0, 0, 0, 32,
+	0, 1, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0,
+	0, 1, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, -200, 1, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0,
+	0, 1, 0, 0, 0, 0, 0, 0,
+	0, 0, 1, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0,
+	0, 0, -268, 0, 210, 1, 0, 1,
+	0, 206, 1, 0, 205, 205, 1, 0,
+	0, 79, 202, 203, 1, 0, 205, 207,
+	0, 211, 209, 1, 0, 0, 0, 211,
+	213, 0, 214, 0, 0, 1, 0, 1,
+	0, 218, 1, 0, 218, 0, 0, 1,
+	0, 218, 0, 217, 217, 1, 0, 1,
+	0, 219, 1, 0, 0, 0, 1, 0,
+	0, 0, 0, 2, 1, 0, 2, 1,
+	0, 2, 1, 0, 0, 0, 0, 2,
+	1, 0, 0, 0, -97, -56, 0, 0,
+	0, 0, 0, 0, 0, 0, 1, 0,
+	1, 0, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 116, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 32,
+	32, 0, 32, 32, 32, 32, 32, 32,
+	32, 0, 0, 0, 0, 0, 0, -30,
+	-25, 0, 0, 0, -15, -22, 0, 0,
+	0, 1, 0, 1, 0, 1, 0, 1,
+	0, 1, 0, 1, 0, 1, 0, 1,
+	0, -54, -48, -47, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0,
+	0, 80, 0, 80, 80, 80, 0, 80,
+	80, 80, 80, 0, 0, 0, 80, 32,
+	32, 32, 32, 32, 32, 32, 32, 32,
+	0, 32, 32, 32, 32, 32, 32, 32,
+	32, 32, 32, 32, 32, 32, 32, 32,
+	32, 1, 0, 1, 0, 1, 0, 0,
+	0, 1, 0, 1, 0, 1, 0, 1,
+	0, 0, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 1, 0, 1, 0, 0,
+	0, 1, 0, 0, 0, 1, 0, 0,
+	0, 1, 0, 0, 0, 0, 1, 0,
+	0, 0, 1, 0, 0, 0, 0, 0,
+	0, 0, 1, 0, 0, 0, 0, 0,
+	0, 0, 48, 48, 48, 48, 48, 48,
+	48, 48, 48, 48, 48, 48, 48, 48,
+	48, 48, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0,
+	-7173, 0, 0, 0, 0, 0, 0, -7517,
+	0, 0, 0, -8383, 0, 0, 0, 0,
+	0, 16, 16, 16, 16, 16, 16, 16,
+	16, 16, 16, 16, 16, 16, 16, 16,
+	16, 0, 0, 0, 0, 0, 0, 26,
+	26, 26, 26, 26, 26, 26, 26, 26,
+	26, 26, 26, 26, 26, 26, 26
+	};
+
+static const unsigned short CaseFoldTable2[] =
+	{
+	0, 0, 0, 0, 15, 20, 0, 0,
+	0, 0, 36, 47, 57, 73, 0, 0,
+	89, 99, 114, 128, 136, 99, 139, 155,
+	171, 187, 202, 215, 0, 134, 230, 0,
+	93, 244, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 255,
+	0, 0, 0, 0, 15, 271, 0, 136,
+	287, 297, 313, 327, 343, 353, 0, 0,
+	0, 297, 369, 383, 297, 297, 297, 398,
+	410, 418, 0, 0, 0, 433, 434, 443,
+	0, 0, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0,
+	450, 0, 0, 0, 0, 465, 0, 0,
+	0, 481, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 497, 503, 0,
+	0, 0, 15, 20, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0
+	};
+
+static const unsigned char CaseFoldTable1[] =
+	{
+	0, 15, 31, 43, 59, 74, 80, 80,
+	80, 80, 80, 80, 80, 80, 80, 80,
+	80, 80, 80, 80, 80, 85, 80, 99,
+	80, 80, 106, 80, 80, 80, 80, 80,
+	80, 80, 80, 80, 80, 80, 80, 80,
+	80, 80, 80, 120
+	};
+
+static const unsigned char CaseFoldTable0[] =
+	{
+	0, 6, 22, 27, 27, 27, 27, 27,
+	27, 27, 27, 27, 27, 27, 27, 28
+	};