1 | /* Determine a canonical name for the current locale's character encoding. |
2 | Copyright (C) 2000-2003, 2009-2019 Free Software Foundation, Inc. |
3 | This file is part of the GNU CHARSET Library. |
4 | |
5 | This program is free software; you can redistribute it and/or modify |
6 | it under the terms of the GNU General Public License as published by |
7 | the Free Software Foundation; either version 3, or (at your option) |
8 | any later version. |
9 | |
10 | This program is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | GNU General Public License for more details. |
14 | |
15 | You should have received a copy of the GNU General Public License along |
16 | with this program; if not, see <https://www.gnu.org/licenses/>. */ |
17 | |
18 | #ifndef _LOCALCHARSET_H |
19 | #define _LOCALCHARSET_H |
20 | |
21 | |
22 | #ifdef __cplusplus |
23 | extern "C" { |
24 | #endif |
25 | |
26 | |
27 | /* Determine the current locale's character encoding, and canonicalize it |
28 | into one of the canonical names listed below. |
29 | The result must not be freed; it is statically allocated. |
30 | If the canonical name cannot be determined, the result is a non-canonical |
31 | name. */ |
32 | extern const char * locale_charset (void); |
33 | |
34 | /* About GNU canonical names for character encodings: |
35 | |
36 | Every canonical name must be supported by GNU libiconv. Support by GNU libc |
37 | is also desirable. |
38 | |
39 | The name is case insensitive. Usually an upper case MIME charset name is |
40 | preferred. |
41 | |
42 | The current list of these GNU canonical names is: |
43 | |
44 | name MIME? used by which systems |
45 | (darwin = Mac OS X, windows = native Windows) |
46 | |
47 | ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin minix cygwin |
48 | ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin |
49 | ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin |
50 | ISO-8859-3 Y glibc solaris cygwin |
51 | ISO-8859-4 Y hpux osf solaris freebsd netbsd openbsd darwin |
52 | ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin |
53 | ISO-8859-6 Y glibc aix hpux solaris cygwin |
54 | ISO-8859-7 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin |
55 | ISO-8859-8 Y glibc aix hpux osf solaris cygwin |
56 | ISO-8859-9 Y glibc aix hpux irix osf solaris freebsd darwin cygwin |
57 | ISO-8859-13 glibc hpux solaris freebsd netbsd openbsd darwin cygwin |
58 | ISO-8859-14 glibc cygwin |
59 | ISO-8859-15 glibc aix irix osf solaris freebsd netbsd openbsd darwin cygwin |
60 | KOI8-R Y glibc hpux solaris freebsd netbsd openbsd darwin |
61 | KOI8-U Y glibc freebsd netbsd openbsd darwin cygwin |
62 | KOI8-T glibc |
63 | CP437 dos |
64 | CP775 dos |
65 | CP850 aix osf dos |
66 | CP852 dos |
67 | CP855 dos |
68 | CP856 aix |
69 | CP857 dos |
70 | CP861 dos |
71 | CP862 dos |
72 | CP864 dos |
73 | CP865 dos |
74 | CP866 freebsd netbsd openbsd darwin dos |
75 | CP869 dos |
76 | CP874 windows dos |
77 | CP922 aix |
78 | CP932 aix cygwin windows dos |
79 | CP943 aix |
80 | CP949 osf darwin windows dos |
81 | CP950 windows dos |
82 | CP1046 aix |
83 | CP1124 aix |
84 | CP1125 dos |
85 | CP1129 aix |
86 | CP1131 freebsd darwin |
87 | CP1250 windows |
88 | CP1251 glibc hpux solaris freebsd netbsd openbsd darwin cygwin windows |
89 | CP1252 aix windows |
90 | CP1253 windows |
91 | CP1254 windows |
92 | CP1255 glibc windows |
93 | CP1256 windows |
94 | CP1257 windows |
95 | GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin cygwin |
96 | EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin |
97 | EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin |
98 | EUC-TW glibc aix hpux irix osf solaris netbsd |
99 | BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin |
100 | BIG5-HKSCS glibc hpux solaris netbsd darwin |
101 | GBK glibc aix osf solaris freebsd darwin cygwin windows dos |
102 | GB18030 glibc hpux solaris freebsd netbsd darwin |
103 | SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin |
104 | JOHAB glibc solaris windows |
105 | TIS-620 glibc aix hpux osf solaris cygwin |
106 | VISCII Y glibc |
107 | TCVN5712-1 glibc |
108 | ARMSCII-8 glibc freebsd netbsd darwin |
109 | GEORGIAN-PS glibc cygwin |
110 | PT154 glibc netbsd cygwin |
111 | HP-ROMAN8 hpux |
112 | HP-ARABIC8 hpux |
113 | HP-GREEK8 hpux |
114 | HP-HEBREW8 hpux |
115 | HP-TURKISH8 hpux |
116 | HP-KANA8 hpux |
117 | DEC-KANJI osf |
118 | DEC-HANYU osf |
119 | UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin |
120 | |
121 | Note: Names which are not marked as being a MIME name should not be used in |
122 | Internet protocols for information interchange (mail, news, etc.). |
123 | |
124 | Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications |
125 | must understand both names and treat them as equivalent. |
126 | */ |
127 | |
128 | |
129 | #ifdef __cplusplus |
130 | } |
131 | #endif |
132 | |
133 | |
134 | #endif /* _LOCALCHARSET_H */ |
135 | |