1 /* PSPP - a program for statistical analysis.
2 Copyright (C) 2006, 2010, 2011 Free Software Foundation, Inc.
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>. */
23 void i18n_done (void);
24 void i18n_init (void);
28 /* The encoding of literal strings in PSPP source code, as seen at execution
29 time. In fact this is likely to be some extended ASCII encoding, such as
30 UTF-8 or ISO-8859-1, but ASCII is adequate for our purposes. */
31 #define C_ENCODING "ASCII"
35 char recode_byte (const char *to, const char *from, char);
37 char *recode_string (const char *to, const char *from,
38 const char *text, int len);
39 char *recode_string_pool (const char *to, const char *from,
40 const char *text, int length, struct pool *);
41 struct substring recode_substring_pool (const char *to, const char *from,
42 struct substring text, struct pool *);
44 size_t recode_string_len (const char *to, const char *from,
45 const char *text, int len);
47 char *utf8_encoding_trunc (const char *, const char *encoding,
49 size_t utf8_encoding_trunc_len (const char *, const char *encoding,
52 char *utf8_encoding_concat (const char *head, const char *tail,
53 const char *encoding, size_t max_len);
54 size_t utf8_encoding_concat_len (const char *head, const char *tail,
55 const char *encoding, size_t max_len);
57 char *utf8_to_filename (const char *filename);
58 char *filename_to_utf8 (const char *filename);
60 bool valid_encoding (const char *enc);
62 char get_system_decimal (void);
64 const char * get_default_encoding (void);
65 void set_default_encoding (const char *enc);
67 bool set_encoding_from_locale (const char *loc);
69 const char *uc_name (ucs4_t uc, char buffer[16]);