Adding Georgian charset GEOSTD8, bug 107533, r=nhotta, sr=brendan.

This commit is contained in:
nhotta%netscape.com 2001-11-21 23:18:56 +00:00
Родитель 134926958d
Коммит 7c6dcabcd1
6 изменённых файлов: 439 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,125 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s): Gia Shervashidze
*
*/
/*========================================================
This is a Generated file. Please don't edit it.
The tool which used to generate this file is called fromu.
If you have any problem of this file. Please contact
Netscape Client International Team or
ftang@netscape <Frank Tang>
Table in Debug form
Begin of Item 0000
Format 0
srcBegin = 0000
srcEnd = 007F
destBegin = 0000
End of Item 0000
Begin of Item 0001
Format 0
srcBegin = 00A0
srcEnd = 00BF
destBegin = 00A0
End of Item 0001
Begin of Item 0002
Format 1
srcBegin = 10D0
srcEnd = 10F5
mappingOffset = 0000
Mapping =
00C0 00C1 00C2 00C3 00C4 00C5 00C6 00C8
00C9 00CA 00CB 00CC 00CD 00CF 00D0 00D1
00D2 00D3 00D4 00D6 00D7 00D8 00D9 00DA
00DB 00DC 00DD 00DE 00DF 00E0 00E1 00E3
00E4 00C7 00CE 00D5 00E2 00E5
End of Item 0002
Begin of Item 0003
Format 1
srcBegin = 2013
srcEnd = 203A
mappingOffset = 0026
Mapping =
0096 0097 FFFD FFFD FFFD 0091 0092 0082
FFFD 0093 0094 0084 FFFD 0086 0087 0095
FFFD FFFD FFFD 0085 FFFD FFFD FFFD FFFD
FFFD FFFD FFFD FFFD FFFD 0089 FFFD FFFD
FFFD FFFD FFFD FFFD FFFD FFFD 008B 009B
End of Item 0003
Begin of Item 0004
Format 2
srcBegin = 20AC
destBegin = 0080
End of Item 0004
Begin of Item 0005
Format 2
srcBegin = 2116
destBegin = 00FD
End of Item 0005
========================================================*/
/* Offset=0x0000 ItemOfList */
0x0006,
/*-------------------------------------------------------*/
/* Offset=0x0001 offsetToFormatArray */
0x0004,
/*-------------------------------------------------------*/
/* Offset=0x0002 offsetToMapCellArray */
0x0006,
/*-------------------------------------------------------*/
/* Offset=0x0003 offsetToMappingTable */
0x0018,
/*-------------------------------------------------------*/
/* Offset=0x0004 Start of Format Array */
/* Total of Format 0 : 0x0002 */
/* Total of Format 1 : 0x0002 */
/* Total of Format 2 : 0x0002 */
/* Total of Format 3 : 0x0000 */
0x1100, 0x0022,
/*-------------------------------------------------------*/
/* Offset=0x0006 Start of MapCell Array */
/* 0000 */ 0x0000, 0x007F, 0x0000,
/* 0001 */ 0x00A0, 0x00BF, 0x00A0,
/* 0002 */ 0x10D0, 0x10F5, 0x0000,
/* 0003 */ 0x2013, 0x203A, 0x0026,
/* 0004 */ 0x20AC, 0x0000, 0x0080,
/* 0005 */ 0x2116, 0x0000, 0x00FD,
/*-------------------------------------------------------*/
/* Offset=0x0018 Start of MappingTable */
/* 0000 */ 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C8,
/* 0008 */ 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CF, 0x00D0, 0x00D1,
/* 0010 */ 0x00D2, 0x00D3, 0x00D4, 0x00D6, 0x00D7, 0x00D8, 0x00D9, 0x00DA,
/* 0018 */ 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, 0x00E0, 0x00E1, 0x00E3,
/* 0020 */ 0x00E4, 0x00C7, 0x00CE, 0x00D5, 0x00E2, 0x00E5, 0x0096, 0x0097,
/* 0028 */ 0xFFFD, 0xFFFD, 0xFFFD, 0x0091, 0x0092, 0x0082, 0xFFFD, 0x0093,
/* 0030 */ 0x0094, 0x0084, 0xFFFD, 0x0086, 0x0087, 0x0095, 0xFFFD, 0xFFFD,
/* 0038 */ 0xFFFD, 0x0085, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD,
/* 0040 */ 0xFFFD, 0xFFFD, 0xFFFD, 0x0089, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD,
/* 0048 */ 0xFFFD, 0x0085, 0xFFFD, 0xFFFD, 0x008B, 0x009B,
/* End of table Total Length = 0x0066 * 2 */

Просмотреть файл

@ -0,0 +1,115 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s): Gia Shervashidze
*/
/*========================================================
This is a Generated file. Please don't edit it.
The tool which used to generate this file is called fromu.
If you have any problem of this file. Please contact
Netscape Client International Team or
ftang@netscape <Frank Tang>
Table in Debug form
Begin of Item 0000
Format 0
srcBegin = 0000
srcEnd = 007F
destBegin = 0000
End of Item 0000
Begin of Item 0001
Format 0
srcBegin = 00A0
srcEnd = 00BF
destBegin = 00A0
End of Item 0001
Begin of Item 0002
Format 1
srcBegin = 00C0
srcEnd = 00E5
mappingOffset = 0000
Mapping =
10D0 10D1 10D2 10D3 10D4 10D5 10D6 10F1
10D7 10D8 10D9 10DA 10DB 10DC 10F2 10DD
10DE 10DF 10E0 10E1 10E2 10F3 10E3 10E4
10E5 10E6 10E7 10E8 10E9 10EA 10EB 10EC
10ED 10EE 10F4 10EF 10F0 10F5
End of Item 0002
Begin of Item 0003
Format 1
srcBegin = 0080
srcEnd = 009B
mappingOffset = 0026
Mapping =
20AC FFFD 201A FFFD 201E 2026 2020 2021
FFFD 2030 FFFD 2039 FFFD FFFD FFFD FFFD
FFFD 2018 2019 201C 201D 2022 2013 2014
FFFD FFFD FFFD 203A
End of Item 0003
Begin of Item 0004
Format 2
srcBegin = 00FD
destBegin = 2116
End of Item 0004
========================================================*/
/* Offset=0x0000 ItemOfList */
0x0005,
/*-------------------------------------------------------*/
/* Offset=0x0001 offsetToFormatArray */
0x0004,
/*-------------------------------------------------------*/
/* Offset=0x0002 offsetToMapCellArray */
0x0006,
/*-------------------------------------------------------*/
/* Offset=0x0003 offsetToMappingTable */
0x0015,
/*-------------------------------------------------------*/
/* Offset=0x0004 Start of Format Array */
/* Total of Format 0 : 0x0002 */
/* Total of Format 1 : 0x0002 */
/* Total of Format 2 : 0x0001 */
/* Total of Format 3 : 0x0000 */
0x1100, 0x0002,
/*-------------------------------------------------------*/
/* Offset=0x0006 Start of MapCell Array */
/* 0000 */ 0x0000, 0x007F, 0x0000,
/* 0001 */ 0x00A0, 0x00FF, 0x00A0,
/* 0002 */ 0x00C0, 0x00E5, 0x0000,
/* 0003 */ 0x0080, 0x009F, 0x0026,
/* 0004 */ 0x00FD, 0x2116, 0x0000,
/*-------------------------------------------------------*/
/* Offset=0x0015 Start of MappingTable */
/* 0000 */ 0x10D0, 0x10D1, 0x10D2, 0x10D3, 0x10D4, 0x10D5, 0x10D6, 0x10F1,
/* 0008 */ 0x10D7, 0x10D8, 0x10D9, 0x10DA, 0x10DB, 0x10DC, 0x10F2, 0x10DD,
/* 0010 */ 0x10DE, 0x10DF, 0x10E0, 0x10E1, 0x10E2, 0x10F3, 0x10E3, 0x10E4,
/* 0018 */ 0x10E5, 0x10E6, 0x10E7, 0x10E8, 0x10E9, 0x10EA, 0x10EB, 0x10EC,
/* 0020 */ 0x10ED, 0x10EE, 0x10F4, 0x10EF, 0x10F0, 0x10F5, 0x20AC, 0xFFFD,
/* 0028 */ 0x201A, 0xFFFD, 0x201E, 0x2026, 0x2020, 0x2021, 0xFFFD, 0x2030,
/* 0030 */ 0xFFFD, 0x2039, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x2018,
/* 0038 */ 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, 0xFFFD, 0xFFFD,
/* 0040 */ 0xFFFD, 0x203A,
/* End of table Total Length = 0x0057 * 2 */

Просмотреть файл

@ -0,0 +1,45 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
#include "nsGEOSTD8ToUnicode.h"
//----------------------------------------------------------------------
// Global functions and data [declaration]
static const PRUint16 g_utMappingTable[] = {
#include "geostd8.ut"
};
static const PRInt16 g_utShiftTable[] = {
0, u1ByteCharset ,
ShiftCell(0,0,0,0,0,0,0,0)
};
//----------------------------------------------------------------------
// Class nsGEOSTD8ToUnicode [implementation]
nsGEOSTD8ToUnicode::nsGEOSTD8ToUnicode()
: nsOneByteDecoderSupport((uShiftTable*) &g_utShiftTable,
(uMappingTable*) &g_utMappingTable)
{
}

Просмотреть файл

@ -0,0 +1,46 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
#ifndef nsGEOSTD8ToUnicode_h___
#define nsGEOSTD8ToUnicode_h___
#include "nsUCvLatinSupport.h"
//----------------------------------------------------------------------
// Class nsGEOSTD8ToUnicode [declaration]
/**
* A character set converter from GEOSTD8 to Unicode.
*
*/
class nsGEOSTD8ToUnicode : public nsOneByteDecoderSupport
{
public:
/**
* Class constructor.
*/
nsGEOSTD8ToUnicode();
};
#endif /* nsGEOSTD8ToUnicode_h___ */

Просмотреть файл

@ -0,0 +1,55 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
#include "nsUnicodeToGEOSTD8.h"
//----------------------------------------------------------------------
// Global functions and data [declaration]
static const PRUint16 g_ufMappingTable[] = {
#include "geostd8.uf"
};
static const PRInt16 g_ufShiftTable[] = {
0, u1ByteCharset ,
ShiftCell(0,0,0,0,0,0,0,0)
};
//----------------------------------------------------------------------
// Class nsUnicodeToGEOSTD8 [implementation]
nsUnicodeToGEOSTD8::nsUnicodeToGEOSTD8()
: nsTableEncoderSupport((uShiftTable*) &g_ufShiftTable,
(uMappingTable*) &g_ufMappingTable)
{
}
//----------------------------------------------------------------------
// Subclassing of nsTableEncoderSupport class [implementation]
NS_IMETHODIMP nsUnicodeToGEOSTD8::GetMaxLength(const PRUnichar * aSrc,
PRInt32 aSrcLength,
PRInt32 * aDestLength)
{
*aDestLength = aSrcLength;
return NS_OK_UENC_EXACTLENGTH;
}

Просмотреть файл

@ -0,0 +1,53 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
#ifndef nsUnicodeToGEOSTD8_h___
#define nsUnicodeToGEOSTD8_h___
#include "nsUCvLatinSupport.h"
//----------------------------------------------------------------------
// Class nsUnicodeToGEOSTD8 [declaration]
/**
* A character set converter from Unicode to GEOSTD8.
*
*/
class nsUnicodeToGEOSTD8 : public nsTableEncoderSupport
{
public:
/**
* Class constructor.
*/
nsUnicodeToGEOSTD8();
protected:
//--------------------------------------------------------------------
// Subclassing of nsEncoderSupport class [declaration]
NS_IMETHOD GetMaxLength(const PRUnichar * aSrc, PRInt32 aSrcLength,
PRInt32 * aDestLength);
};
#endif /* nsUnicodeToGEOSTD8_h___ */