1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27
28#ifndef INCLUDED_RTL_TEXTENC_CONTEXT_H
29#include "context.h"
30#endif
31#ifndef INCLUDED_RTL_TEXTENC_CONVERTISO2022CN_H
32#include "convertiso2022cn.h"
33#endif
34#ifndef INCLUDED_RTL_TEXTENC_TENCHELP_H
35#include "tenchelp.h"
36#endif
37
38#ifndef _RTL_TENCINFO_H
39#include "rtl/tencinfo.h"
40#endif
41#ifndef _RTL_TEXTENC_H
42#include "rtl/textenc.h"
43#endif
44
45static ImplIso2022CnConverterData const aImplIso2022CnConvertData
46    = { aGB2312UniLeadTab, /* from tcvtscn6.tab */
47        aImplCns116431992ToUnicodeData, /* from generate/cns116431992.tab */
48        aImplCns116431992ToUnicodeRowOffsets,
49            /* from generate/cns116431992.tab */
50        aImplCns116431992ToUnicodePlaneOffsets,
51            /* from generate/cns116431992.tab */
52        aGB2312DBCSHighTab, /* from tcvtscn6.tab */
53        aImplUnicodeToCns116431992Data, /* from generate/cns116431992.tab */
54        aImplUnicodeToCns116431992PageOffsets,
55            /* from generate/cns116431992.tab */
56        aImplUnicodeToCns116431992PlaneOffsets };
57            /* from generate/cns116431992.tab */
58
59static ImplTextEncodingData const aImplIso2022CnTextEncodingData
60    = { { &aImplIso2022CnConvertData,
61          &ImplConvertIso2022CnToUnicode,
62          &ImplConvertUnicodeToIso2022Cn,
63          &ImplCreateIso2022CnToUnicodeContext,
64          &ImplDestroyContext,
65          &ImplResetIso2022CnToUnicodeContext,
66          &ImplCreateUnicodeToIso2022CnContext,
67          &ImplDestroyContext,
68          &ImplResetUnicodeToIso2022CnContext },
69        1,
70        8,
71        2,
72        134,
73        "euc-cn",
74        "ISO-2022-CN",
75         RTL_TEXTENCODING_INFO_CONTEXT
76             | RTL_TEXTENCODING_INFO_MULTIBYTE
77             | RTL_TEXTENCODING_INFO_MIME };
78