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