X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flibpspp%2Fi18n.h;h=55f747b3dcd9cddb654ffd474e2b7ef67fef39bb;hb=9d1d71e732eeed85ca3002b264e1269cdd005a3f;hp=f1d4d4a25aeebcefbffede949bef6dab0d0b9276;hpb=28bebf0851bac332b55cdc03e55165dcc8e713c2;p=pspp-builds.git diff --git a/src/libpspp/i18n.h b/src/libpspp/i18n.h index f1d4d4a2..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, 2010 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,12 +18,18 @@ #define I18N_H #include +#include void i18n_done (void); void i18n_init (void); #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" + struct pool; char recode_byte (const char *to, const char *from, char); @@ -35,6 +41,22 @@ char *recode_string_pool (const char *to, const char *from, 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); @@ -44,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 */