check in 93985. add ISO-8859-16 converter

r= yokoyama sr= blizzard (rs)
This commit is contained in:
ftang%netscape.com 2001-10-16 12:06:22 +00:00
Родитель 91508f3d8c
Коммит 482d41c5d2
9 изменённых файлов: 629 добавлений и 1 удалений

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

@ -0,0 +1,214 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
*
* 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 the Initial Developer are Copyright (C) 1998
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the NPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
/*========================================================
This is a Generated file. Please don't edit it.
The tool which used to generate this file is called umaptable.
You can find this tool under mozilla/intl/uconv/tools/umaptable.c.
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 = 00A0
destBegin = 0000
End of Item 0000
Begin of Item 0001
Format 0
srcBegin = 00C6
srcEnd = 00CF
destBegin = 00C6
End of Item 0001
Begin of Item 0002
Format 0
srcBegin = 00E6
srcEnd = 00EF
destBegin = 00E6
End of Item 0002
Begin of Item 0003
Format 1
srcBegin = 00A7
srcEnd = 00C4
mappingOffset = 0000
Mapping =
00A7 FFFD 00A9 FFFD 00AB FFFD 00AD FFFD
FFFD 00B0 00B1 FFFD FFFD FFFD FFFD 00B6
00B7 FFFD FFFD FFFD 00BB FFFD FFFD FFFD
FFFD 00C0 00C1 00C2 FFFD 00C4
End of Item 0003
Begin of Item 0004
Format 1
srcBegin = 00D2
srcEnd = 00E4
mappingOffset = 001E
Mapping =
00D2 00D3 00D4 FFFD 00D6 FFFD FFFD 00D9
00DA 00DB 00DC FFFD FFFD 00DF 00E0 00E1
00E2 FFFD 00E4
End of Item 0004
Begin of Item 0005
Format 1
srcBegin = 00F2
srcEnd = 0119
mappingOffset = 0031
Mapping =
00F2 00F3 00F4 FFFD 00F6 FFFD FFFD 00F9
00FA 00FB 00FC FFFD FFFD 00FF FFFD FFFD
00C3 00E3 00A1 00A2 00C5 00E5 FFFD FFFD
FFFD FFFD 00B2 00B9 FFFD FFFD 00D0 00F0
FFFD FFFD FFFD FFFD FFFD FFFD 00DD 00FD
End of Item 0005
Begin of Item 0006
Format 1
srcBegin = 0141
srcEnd = 0144
mappingOffset = 0059
Mapping =
00A3 00B3 00D1 00F1
End of Item 0006
Begin of Item 0007
Format 1
srcBegin = 0150
srcEnd = 0161
mappingOffset = 005D
Mapping =
00D5 00F5 00BC 00BD FFFD FFFD FFFD FFFD
FFFD FFFD 00D7 00F7 FFFD FFFD FFFD FFFD
00A6 00A8
End of Item 0007
Begin of Item 0008
Format 1
srcBegin = 0170
srcEnd = 017E
mappingOffset = 006F
Mapping =
00D8 00F8 FFFD FFFD FFFD FFFD FFFD FFFD
00BE 00AC 00AE 00AF 00BF 00B4 00B8
End of Item 0008
Begin of Item 0009
Format 1
srcBegin = 0218
srcEnd = 021B
mappingOffset = 007E
Mapping =
00AA 00BA 00DE 00FE
End of Item 0009
Begin of Item 000A
Format 1
srcBegin = 201D
srcEnd = 201E
mappingOffset = 0082
Mapping =
00B5 00A5
End of Item 000A
Begin of Item 000B
Format 2
srcBegin = 20AC
destBegin = 00A4
End of Item 000B
========================================================*/
/* Offset=0x0000 ItemOfList */
0x000C,
/*-------------------------------------------------------*/
/* Offset=0x0001 offsetToFormatArray */
0x0004,
/*-------------------------------------------------------*/
/* Offset=0x0002 offsetToMapCellArray */
0x0008,
/*-------------------------------------------------------*/
/* Offset=0x0003 offsetToMappingTable */
0x002C,
/*-------------------------------------------------------*/
/* Offset=0x0004 Start of Format Array */
/* Total of Format 0 : 0x0003 */
/* Total of Format 1 : 0x0008 */
/* Total of Format 2 : 0x0001 */
/* Total of Format 3 : 0x0000 */
0x1000, 0x1111, 0x2111, 0x0000,
/*-------------------------------------------------------*/
/* Offset=0x0008 Start of MapCell Array */
/* 0000 */ 0x0000, 0x00A0, 0x0000,
/* 0001 */ 0x00C6, 0x00CF, 0x00C6,
/* 0002 */ 0x00E6, 0x00EF, 0x00E6,
/* 0003 */ 0x00A7, 0x00C4, 0x0000,
/* 0004 */ 0x00D2, 0x00E4, 0x001E,
/* 0005 */ 0x00F2, 0x0119, 0x0031,
/* 0006 */ 0x0141, 0x0144, 0x0059,
/* 0007 */ 0x0150, 0x0161, 0x005D,
/* 0008 */ 0x0170, 0x017E, 0x006F,
/* 0009 */ 0x0218, 0x021B, 0x007E,
/* 000A */ 0x201D, 0x201E, 0x0082,
/* 000B */ 0x20AC, 0x0000, 0x00A4,
/*-------------------------------------------------------*/
/* Offset=0x002C Start of MappingTable */
/* 0000 */ 0x00A7, 0xFFFD, 0x00A9, 0xFFFD, 0x00AB, 0xFFFD, 0x00AD, 0xFFFD,
/* 0008 */ 0xFFFD, 0x00B0, 0x00B1, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x00B6,
/* 0010 */ 0x00B7, 0xFFFD, 0xFFFD, 0xFFFD, 0x00BB, 0xFFFD, 0xFFFD, 0xFFFD,
/* 0018 */ 0xFFFD, 0x00C0, 0x00C1, 0x00C2, 0xFFFD, 0x00C4, 0x00D2, 0x00D3,
/* 0020 */ 0x00D4, 0xFFFD, 0x00D6, 0xFFFD, 0xFFFD, 0x00D9, 0x00DA, 0x00DB,
/* 0028 */ 0x00DC, 0xFFFD, 0xFFFD, 0x00DF, 0x00E0, 0x00E1, 0x00E2, 0xFFFD,
/* 0030 */ 0x00E4, 0x00F2, 0x00F3, 0x00F4, 0xFFFD, 0x00F6, 0xFFFD, 0xFFFD,
/* 0038 */ 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0xFFFD, 0xFFFD, 0x00FF, 0xFFFD,
/* 0040 */ 0xFFFD, 0x00C3, 0x00E3, 0x00A1, 0x00A2, 0x00C5, 0x00E5, 0xFFFD,
/* 0048 */ 0xFFFD, 0xFFFD, 0xFFFD, 0x00B2, 0x00B9, 0xFFFD, 0xFFFD, 0x00D0,
/* 0050 */ 0x00F0, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x00DD,
/* 0058 */ 0x00FD, 0x00A3, 0x00B3, 0x00D1, 0x00F1, 0x00D5, 0x00F5, 0x00BC,
/* 0060 */ 0x00BD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x00D7,
/* 0068 */ 0x00F7, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x00A6, 0x00A8, 0x00D8,
/* 0070 */ 0x00F8, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x00BE,
/* 0078 */ 0x00AC, 0x00AE, 0x00AF, 0x00BF, 0x00B4, 0x00B8, 0x00AA, 0x00BA,
/* 0080 */ 0x00DE, 0x00FE, 0x00B5, 0x00A5,
/* End of table Total Length = 0x00B0 * 2 */

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

@ -0,0 +1,131 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
*
* 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 the Initial Developer are Copyright (C) 1998
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the NPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
/*========================================================
This is a Generated file. Please don't edit it.
The tool which used to generate this file is called umaptable.
You can find this tool under mozilla/intl/uconv/tools/umaptable.c.
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 = 00A0
destBegin = 0000
End of Item 0000
Begin of Item 0001
Format 0
srcBegin = 00C6
srcEnd = 00CF
destBegin = 00C6
End of Item 0001
Begin of Item 0002
Format 0
srcBegin = 00E6
srcEnd = 00EF
destBegin = 00E6
End of Item 0002
Begin of Item 0003
Format 1
srcBegin = 00A1
srcEnd = 00FF
mappingOffset = 0000
Mapping =
0104 0105 0141 20AC 201E 0160 00A7 0161
00A9 0218 00AB 0179 00AD 017A 017B 00B0
00B1 010C 0142 017D 201D 00B6 00B7 017E
010D 0219 00BB 0152 0153 0178 017C 00C0
00C1 00C2 0102 00C4 0106 FFFD FFFD FFFD
FFFD FFFD FFFD FFFD FFFD FFFD FFFD 0110
0143 00D2 00D3 00D4 0150 00D6 015A 0170
00D9 00DA 00DB 00DC 0118 021A 00DF 00E0
00E1 00E2 0103 00E4 0107 FFFD FFFD FFFD
FFFD FFFD FFFD FFFD FFFD FFFD FFFD 0111
0144 00F2 00F3 00F4 0151 00F6 015B 0171
00F9 00FA 00FB 00FC 0119 021B 00FF
End of Item 0003
========================================================*/
/* Offset=0x0000 ItemOfList */
0x0004,
/*-------------------------------------------------------*/
/* Offset=0x0001 offsetToFormatArray */
0x0004,
/*-------------------------------------------------------*/
/* Offset=0x0002 offsetToMapCellArray */
0x0006,
/*-------------------------------------------------------*/
/* Offset=0x0003 offsetToMappingTable */
0x0012,
/*-------------------------------------------------------*/
/* Offset=0x0004 Start of Format Array */
/* Total of Format 0 : 0x0003 */
/* Total of Format 1 : 0x0001 */
/* Total of Format 2 : 0x0000 */
/* Total of Format 3 : 0x0000 */
0x1000, 0x0000,
/*-------------------------------------------------------*/
/* Offset=0x0006 Start of MapCell Array */
/* 0000 */ 0x0000, 0x00A0, 0x0000,
/* 0001 */ 0x00C6, 0x00CF, 0x00C6,
/* 0002 */ 0x00E6, 0x00EF, 0x00E6,
/* 0003 */ 0x00A1, 0x00FF, 0x0000,
/*-------------------------------------------------------*/
/* Offset=0x0012 Start of MappingTable */
/* 0000 */ 0x0104, 0x0105, 0x0141, 0x20AC, 0x201E, 0x0160, 0x00A7, 0x0161,
/* 0008 */ 0x00A9, 0x0218, 0x00AB, 0x0179, 0x00AD, 0x017A, 0x017B, 0x00B0,
/* 0010 */ 0x00B1, 0x010C, 0x0142, 0x017D, 0x201D, 0x00B6, 0x00B7, 0x017E,
/* 0018 */ 0x010D, 0x0219, 0x00BB, 0x0152, 0x0153, 0x0178, 0x017C, 0x00C0,
/* 0020 */ 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x0106, 0xFFFD, 0xFFFD, 0xFFFD,
/* 0028 */ 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x0110,
/* 0030 */ 0x0143, 0x00D2, 0x00D3, 0x00D4, 0x0150, 0x00D6, 0x015A, 0x0170,
/* 0038 */ 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x0118, 0x021A, 0x00DF, 0x00E0,
/* 0040 */ 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x0107, 0xFFFD, 0xFFFD, 0xFFFD,
/* 0048 */ 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x0111,
/* 0050 */ 0x0144, 0x00F2, 0x00F3, 0x00F4, 0x0151, 0x00F6, 0x015B, 0x0171,
/* 0058 */ 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0119, 0x021B, 0x00FF,
/* End of table Total Length = 0x0071 * 2 */

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

@ -55,6 +55,7 @@ CPPSRCS = \
nsISO885913ToUnicode.cpp \
nsISO885914ToUnicode.cpp \
nsISO885915ToUnicode.cpp \
nsISO885916ToUnicode.cpp \
nsISOIR111ToUnicode.cpp \
nsCP1250ToUnicode.cpp \
nsCP1251ToUnicode.cpp \
@ -114,6 +115,7 @@ CPPSRCS = \
nsUnicodeToISO885913.cpp \
nsUnicodeToISO885914.cpp \
nsUnicodeToISO885915.cpp \
nsUnicodeToISO885916.cpp \
nsUnicodeToISOIR111.cpp \
nsUnicodeToCP1250.cpp \
nsUnicodeToCP1251.cpp \

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

@ -49,6 +49,7 @@ CPPSRCS = \
nsISO885913ToUnicode.cpp \
nsISO885914ToUnicode.cpp \
nsISO885915ToUnicode.cpp \
nsISO885916ToUnicode.cpp \
nsISOIR111ToUnicode.cpp \
nsCP1250ToUnicode.cpp \
nsCP1251ToUnicode.cpp \
@ -108,6 +109,7 @@ CPPSRCS = \
nsUnicodeToISO885913.cpp \
nsUnicodeToISO885914.cpp \
nsUnicodeToISO885915.cpp \
nsUnicodeToISO885916.cpp \
nsUnicodeToISOIR111.cpp \
nsUnicodeToCP1250.cpp \
nsUnicodeToCP1251.cpp \
@ -174,6 +176,7 @@ CPP_OBJS= \
.\$(OBJDIR)\nsISO885913ToUnicode.obj \
.\$(OBJDIR)\nsISO885914ToUnicode.obj \
.\$(OBJDIR)\nsISO885915ToUnicode.obj \
.\$(OBJDIR)\nsISO885916ToUnicode.obj \
.\$(OBJDIR)\nsISOIR111ToUnicode.obj \
.\$(OBJDIR)\nsCP1250ToUnicode.obj \
.\$(OBJDIR)\nsCP1251ToUnicode.obj \
@ -233,6 +236,7 @@ CPP_OBJS= \
.\$(OBJDIR)\nsUnicodeToISO885913.obj \
.\$(OBJDIR)\nsUnicodeToISO885914.obj \
.\$(OBJDIR)\nsUnicodeToISO885915.obj \
.\$(OBJDIR)\nsUnicodeToISO885916.obj \
.\$(OBJDIR)\nsUnicodeToISOIR111.obj \
.\$(OBJDIR)\nsUnicodeToCP1250.obj \
.\$(OBJDIR)\nsUnicodeToCP1251.obj \

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

@ -0,0 +1,60 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
*
* 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 the Initial Developer are Copyright (C) 1998
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the NPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "nsISO885916ToUnicode.h"
//----------------------------------------------------------------------
// Global functions and data [declaration]
static const PRUint16 g_utMappingTable[] = {
#include "8859-16.ut"
};
static const PRInt16 g_utShiftTable[] = {
0, u1ByteCharset ,
ShiftCell(0,0,0,0,0,0,0,0)
};
//----------------------------------------------------------------------
// Class nsISO885916ToUnicode [implementation]
nsISO885916ToUnicode::nsISO885916ToUnicode()
: nsOneByteDecoderSupport((uShiftTable*) &g_utShiftTable,
(uMappingTable*) &g_utMappingTable)
{
}

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

@ -0,0 +1,64 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
*
* 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 the Initial Developer are Copyright (C) 1998
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the NPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef nsISO885916ToUnicode_h___
#define nsISO885916ToUnicode_h___
#include "nsUCvLatinSupport.h"
//----------------------------------------------------------------------
// Class nsISO885916ToUnicode [declaration]
/**
* A character set converter from ISO885916 to Unicode.
*
* @created 4/26/1999
* @author Frank Tang [ftang]
*/
class nsISO885916ToUnicode : public nsOneByteDecoderSupport
{
public:
/**
* Class constructor.
*/
nsISO885916ToUnicode();
};
#endif /* nsISO885916ToUnicode_h___ */

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

@ -106,11 +106,16 @@
#define NS_ISO885914TOUNICODE_CID \
{ 0x6394eea1, 0xfc3d, 0x11d2, {0xb3, 0xb8, 0x0, 0x80, 0x5f, 0x8a, 0x66, 0x70}}
// Class ID for our ISO885914ToUnicode charset converter
// Class ID for our ISO885915ToUnicode charset converter
// {6394EEA2-FC3D-11d2-B3B8-00805F8A6670}
#define NS_ISO885915TOUNICODE_CID \
{ 0x6394eea2, 0xfc3d, 0x11d2, {0xb3, 0xb8, 0x0, 0x80, 0x5f, 0x8a, 0x66, 0x70}}
// Class ID for our ISO885916ToUnicode charset converter
// {A0F827E1-8AB6-11d5-A14B-005004832142}
#define NS_ISO885916TOUNICODE_CID \
{ 0xa0f827e1, 0x8ab6, 0x11d5, { 0xa1, 0x4b, 0x0, 0x50, 0x4, 0x83, 0x21, 0x42}}
// Class ID for our CP1250ToUnicode charset converter
// {7C657D14-EC5E-11d2-8AAC-00600811A836}
@ -297,6 +302,12 @@
#define NS_UNICODETOISO885915_CID \
{ 0x6394eeb2, 0xfc3d, 0x11d2, {0xb3, 0xb8, 0x0, 0x80, 0x5f, 0x8a, 0x66, 0x70}}
// Class ID for our UnicodeToISO885916 charset converter
// {A0F827E2-8AB6-11d5-A14B-005004832142}
#define NS_UNICODETOISO885916_CID \
{ 0xa0f827e2, 0x8ab6, 0x11d5, { 0xa1, 0x4b, 0x0, 0x50, 0x4, 0x83, 0x21, 0x42}}
// Class ID for our UnicodeToCP1250 charset converter
// {7B8556AA-EC79-11d2-8AAC-00600811A836}
#define NS_UNICODETOCP1250_CID \

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

@ -0,0 +1,71 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
*
* 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 the Initial Developer are Copyright (C) 1998
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the NPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "nsUnicodeToISO885916.h"
//----------------------------------------------------------------------
// Global functions and data [declaration]
static const PRUint16 g_ufMappingTable[] = {
#include "8859-16.uf"
};
static const PRInt16 g_ufShiftTable[] = {
0, u1ByteCharset ,
ShiftCell(0,0,0,0,0,0,0,0)
};
//----------------------------------------------------------------------
// Class nsUnicodeToISO885916 [implementation]
nsUnicodeToISO885916::nsUnicodeToISO885916()
: nsTableEncoderSupport((uShiftTable*) &g_ufShiftTable,
(uMappingTable*) &g_ufMappingTable)
{
}
//----------------------------------------------------------------------
// Subclassing of nsTableEncoderSupport class [implementation]
NS_IMETHODIMP nsUnicodeToISO885916::GetMaxLength(const PRUnichar * aSrc,
PRInt32 aSrcLength,
PRInt32 * aDestLength)
{
*aDestLength = aSrcLength;
return NS_OK_UENC_EXACTLENGTH;
}

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

@ -0,0 +1,71 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
*
* 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 the Initial Developer are Copyright (C) 1998
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the NPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef nsUnicodeToISO885916_h___
#define nsUnicodeToISO885916_h___
#include "nsUCvLatinSupport.h"
//----------------------------------------------------------------------
// Class nsUnicodeToISO885916 [declaration]
/**
* A character set converter from Unicode to ISO885916.
*
* @created 4/26/1999
* @author Frank Tang [ftang]
*/
class nsUnicodeToISO885916 : public nsTableEncoderSupport
{
public:
/**
* Class constructor.
*/
nsUnicodeToISO885916();
protected:
//--------------------------------------------------------------------
// Subclassing of nsEncoderSupport class [declaration]
NS_IMETHOD GetMaxLength(const PRUnichar * aSrc, PRInt32 aSrcLength,
PRInt32 * aDestLength);
};
#endif /* nsUnicodeToISO885916_h___ */