2 * Copyright (C) 1999-2002 Free Software Foundation, Inc.
3 * This file is part of the GNU LIBICONV Library.
5 * The GNU LIBICONV Library is free software; you can redistribute it
6 * and/or modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
10 * The GNU LIBICONV Library is distributed in the hope that it will be
11 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Library General Public License for more details.
15 * You should have received a copy of the GNU Library General Public
16 * License along with the GNU LIBICONV Library; see the file COPYING.LIB.
17 * If not, write to the Free Software Foundation, Inc., 51 Franklin Street,
18 * Fifth Floor, Boston, MA 02110-1301, USA.
26 cp1163_mbtowc (conv_t conv
, ucs4_t
*pwc
, const unsigned char *s
, int n
)
34 *pwc
= (ucs4_t
) cp1129_2uni
[c
-0xa0];
38 static const unsigned char cp1163_page20
[8] = {
39 0x00, 0x00, 0x00, 0xfe, 0xa4, 0x00, 0x00, 0x00, /* 0xa8-0xaf */
43 cp1163_wctomb (conv_t conv
, unsigned char *r
, ucs4_t wc
, int n
)
46 if (wc
< 0x00a0 || (wc
< 0x00a8 && wc
!= 0x00a4) || wc
== 0x00d0) {
50 else if (wc
>= 0x00a8 && wc
< 0x01b8)
51 c
= cp1129_page00
[wc
-0x00a8];
52 else if (wc
>= 0x0300 && wc
< 0x0328)
53 c
= cp1129_page03
[wc
-0x0300];
54 else if (wc
== 0x203e)
56 else if (wc
>= 0x20a8 && wc
< 0x20b0)
57 c
= cp1163_page20
[wc
-0x20a8];