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_CONVERTBIG5HKSCS_H
28#include "convertbig5hkscs.h"
29#endif
30
31#ifndef _RTL_TENCINFO_H
32#include "rtl/tencinfo.h"
33#endif
34#ifndef _RTL_TEXTENC_H
35#include "rtl/textenc.h"
36#endif
37
38#include "generate/big5hkscs2001.tab"
39
40static ImplBig5HkscsConverterData const aImplBig5HkscsConvertData
41    = { aImplBig5Hkscs2001ToUnicodeData,
42        aImplBig5Hkscs2001ToUnicodeRowOffsets,
43        aBIG5UniLeadTab, /* from tcvttcn6.tab */
44        aImplUnicodeToBig5Hkscs2001Data,
45        aImplUnicodeToBig5Hkscs2001PageOffsets,
46        aImplUnicodeToBig5Hkscs2001PlaneOffsets,
47        aBIG5DBCSHighTab, /* from tcvttcn6.tab */
48        aImplMS950DBCSEUDCTab, /* from tcvttcn6.tab */
49        DBCS_EUDC_MS950_COUNT }; /* from tcvttcn6.tab */
50
51static ImplTextEncodingData const aImplBig5HkscsTextEncodingData
52    = { { &aImplBig5HkscsConvertData,
53          &ImplConvertBig5HkscsToUnicode,
54          &ImplConvertUnicodeToBig5Hkscs,
55          &ImplCreateBig5HkscsToUnicodeContext,
56          &ImplDestroyContext,
57          &ImplResetBig5HkscsToUnicodeContext,
58          &ImplCreateUnicodeToTextContext,
59          &ImplDestroyContext,
60          &ImplResetUnicodeToTextContext },
61        1,
62        2,
63        2,
64        136,
65        "euc-tw",
66        "Big5-HKSCS",
67        RTL_TEXTENCODING_INFO_MULTIBYTE | RTL_TEXTENCODING_INFO_MIME };
68    /* SCRIPT_CHINESE_TRADITIONAL */
69