1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24#ifndef INCLUDED_RTL_TEXTENC_CONTEXT_H
25#include "context.h"
26#endif
27#ifndef INCLUDED_RTL_TEXTENC_CONVERTISO2022CN_H
28#include "convertiso2022cn.h"
29#endif
30#ifndef INCLUDED_RTL_TEXTENC_TENCHELP_H
31#include "tenchelp.h"
32#endif
33
34#ifndef _RTL_TENCINFO_H
35#include "rtl/tencinfo.h"
36#endif
37#ifndef _RTL_TEXTENC_H
38#include "rtl/textenc.h"
39#endif
40
41static ImplIso2022CnConverterData const aImplIso2022CnConvertData
42    = { aGB2312UniLeadTab, /* from tcvtscn6.tab */
43        aImplCns116431992ToUnicodeData, /* from generate/cns116431992.tab */
44        aImplCns116431992ToUnicodeRowOffsets,
45            /* from generate/cns116431992.tab */
46        aImplCns116431992ToUnicodePlaneOffsets,
47            /* from generate/cns116431992.tab */
48        aGB2312DBCSHighTab, /* from tcvtscn6.tab */
49        aImplUnicodeToCns116431992Data, /* from generate/cns116431992.tab */
50        aImplUnicodeToCns116431992PageOffsets,
51            /* from generate/cns116431992.tab */
52        aImplUnicodeToCns116431992PlaneOffsets };
53            /* from generate/cns116431992.tab */
54
55static ImplTextEncodingData const aImplIso2022CnTextEncodingData
56    = { { &aImplIso2022CnConvertData,
57          &ImplConvertIso2022CnToUnicode,
58          &ImplConvertUnicodeToIso2022Cn,
59          &ImplCreateIso2022CnToUnicodeContext,
60          &ImplDestroyContext,
61          &ImplResetIso2022CnToUnicodeContext,
62          &ImplCreateUnicodeToIso2022CnContext,
63          &ImplDestroyContext,
64          &ImplResetUnicodeToIso2022CnContext },
65        1,
66        8,
67        2,
68        134,
69        "euc-cn",
70        "ISO-2022-CN",
71         RTL_TEXTENCODING_INFO_CONTEXT
72             | RTL_TEXTENCODING_INFO_MULTIBYTE
73             | RTL_TEXTENCODING_INFO_MIME };
74