Avoid potential negative array index access to cached text.
[LibreOffice.git] / sal / textenc / convertbig5hkscs.tab
blob04d56b824bcd4ab72cb201b278e809a2ce5d1d84
1 /*
2  * This file is part of the LibreOffice project.
3  *
4  * This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
7  *
8  * This file incorporates work covered by the following license notice:
9  *
10  *   Licensed to the Apache Software Foundation (ASF) under one or more
11  *   contributor license agreements. See the NOTICE file distributed
12  *   with this work for additional information regarding copyright
13  *   ownership. The ASF licenses this file to you under the Apache
14  *   License, Version 2.0 (the "License"); you may not use this file
15  *   except in compliance with the License. You may obtain a copy of
16  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
17  */
19 #include <sal/config.h>
21 #include <rtl/tencinfo.h>
22 #include <rtl/textenc.h>
24 #include "context.hxx"
25 #include "convertbig5hkscs.hxx"
26 #include "generate/big5hkscs2001.tab"
27 #include "tenchelp.hxx"
29 ImplBig5HkscsConverterData const aImplBig5HkscsConvertData
30     = { aImplBig5Hkscs2001ToUnicodeData,
31         aImplBig5Hkscs2001ToUnicodeRowOffsets,
32         aBIG5UniLeadTab, /* from tcvttcn6.tab */
33         aImplUnicodeToBig5Hkscs2001Data,
34         aImplUnicodeToBig5Hkscs2001PageOffsets,
35         aImplUnicodeToBig5Hkscs2001PlaneOffsets,
36         aBIG5DBCSHighTab, /* from tcvttcn6.tab */
37         aImplMS950DBCSEUDCTab, /* from tcvttcn6.tab */
38         DBCS_EUDC_MS950_COUNT }; /* from tcvttcn6.tab */
40 ImplTextEncodingData const aImplBig5HkscsTextEncodingData
41     = { { &aImplBig5HkscsConvertData,
42           &ImplConvertBig5HkscsToUnicode,
43           &ImplConvertUnicodeToBig5Hkscs,
44           &ImplCreateBig5HkscsToUnicodeContext,
45           &ImplDestroyBig5HkscsToUnicodeContext,
46           &ImplResetBig5HkscsToUnicodeContext,
47           &ImplCreateUnicodeToTextContext,
48           &ImplDestroyUnicodeToTextContext,
49           &ImplResetUnicodeToTextContext },
50         "euc-tw",
51         "Big5-HKSCS",
52         1,
53         2,
54         2,
55         136,
56         RTL_TEXTENCODING_INFO_MULTIBYTE | RTL_TEXTENCODING_INFO_MIME };
57     /* SCRIPT_CHINESE_TRADITIONAL */