X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flibpspp%2Fi18n.h;h=55f747b3dcd9cddb654ffd474e2b7ef67fef39bb;hb=9d1d71e732eeed85ca3002b264e1269cdd005a3f;hp=2c30a70012e18fd2c556c158f9355edb3a0a5d31;hpb=537fdeb3702c011e05d7826a8d556a7beeba2605;p=pspp-builds.git diff --git a/src/libpspp/i18n.h b/src/libpspp/i18n.h index 2c30a700..55f747b3 100644 --- a/src/libpspp/i18n.h +++ b/src/libpspp/i18n.h @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2006 Free Software Foundation, Inc. + 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 @@ -18,20 +18,47 @@ #define I18N_H #include +#include void i18n_done (void); void i18n_init (void); #define UTF8 "UTF-8" -char * recode_string (const char *to, const char *from, - const char *text, int len); +/* 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" +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); -/* Return the decimal separator according to the - system locale */ char get_system_decimal (void); const char * get_default_encoding (void); @@ -39,5 +66,6 @@ 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 */