X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flibpspp%2Fi18n.h;h=55f747b3dcd9cddb654ffd474e2b7ef67fef39bb;hb=9d1d71e732eeed85ca3002b264e1269cdd005a3f;hp=73fa2dfe4cef1b5b30a59331b5d84f594872d2fc;hpb=164d1274fcb70c54897f2a03fc7c27152ed4821a;p=pspp-builds.git diff --git a/src/libpspp/i18n.h b/src/libpspp/i18n.h index 73fa2dfe..55f747b3 100644 --- a/src/libpspp/i18n.h +++ b/src/libpspp/i18n.h @@ -1,41 +1,71 @@ -/* PSPP - computes sample statistics. - Copyright (C) 2006 Free Software Foundation, Inc. +/* PSPP - a program for statistical analysis. + Copyright (C) 2006, 2010, 2011 Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. */ + along with this program. If not, see . */ #ifndef I18N_H #define I18N_H -const char * get_pspp_locale(void); -void set_pspp_locale(const char *locale); -const char * get_pspp_charset(void); +#include +#include -void i18n_done(void); -void i18n_init(void); +void i18n_done (void); +void i18n_init (void); -enum conv_id - { - CONV_PSPP_TO_UTF8, - CONV_SYSTEM_TO_PSPP, - n_CONV - }; +#define UTF8 "UTF-8" +/* The encoding of literal strings in PSPP source code, as seen at execution + time. In fact this is likely to be some extended ASCII encoding, such as + UTF-8 or ISO-8859-1, but ASCII is adequate for our purposes. */ +#define C_ENCODING "ASCII" -char * recode_string(enum conv_id how, const char *text, int len); +struct pool; +char recode_byte (const char *to, const char *from, char); +char *recode_string (const char *to, const char *from, + const char *text, int len); +char *recode_string_pool (const char *to, const char *from, + const char *text, int length, struct pool *); +struct substring recode_substring_pool (const char *to, const char *from, + struct substring text, struct pool *); + +size_t recode_string_len (const char *to, const char *from, + const char *text, int len); + +char *utf8_encoding_trunc (const char *, const char *encoding, + size_t max_len); +size_t utf8_encoding_trunc_len (const char *, const char *encoding, + size_t max_len); + +char *utf8_encoding_concat (const char *head, const char *tail, + const char *encoding, size_t max_len); +size_t utf8_encoding_concat_len (const char *head, const char *tail, + const char *encoding, size_t max_len); + +char *utf8_to_filename (const char *filename); +char *filename_to_utf8 (const char *filename); + +bool valid_encoding (const char *enc); + +char get_system_decimal (void); + +const char * get_default_encoding (void); +void set_default_encoding (const char *enc); + +bool set_encoding_from_locale (const char *loc); + +const char *uc_name (ucs4_t uc, char buffer[16]); #endif /* i18n.h */