2 * \brief Header: Text conversion from one charset to another
8 /*** typedefs(not structures) and defined constants **********************************************/
10 /*** enums ***************************************************************************************/
12 /*** structures declarations (and typedefs of structures)*****************************************/
20 /*** global variables defined in .c file *********************************************************/
22 extern unsigned char conv_displ
[256];
23 extern unsigned char conv_input
[256];
25 extern const char *cp_display
;
26 extern const char *cp_source
;
27 extern GPtrArray
*codepages
;
29 /*** declarations of public functions ************************************************************/
31 const char *get_codepage_id (const int n
);
32 int get_codepage_index (const char *id
);
33 void load_codepages_list (void);
34 void free_codepages_list (void);
35 gboolean
is_supported_encoding (const char *encoding
);
36 char *init_translation_table (int cpsource
, int cpdisplay
);
37 void convert_to_display (char *str
);
38 void convert_from_input (char *str
);
39 void convert_string (unsigned char *str
);
42 * Converter from utf to selected codepage
44 * return char in needle codepage (by global int mc_global.source_codepage)
46 unsigned char convert_from_utf_to_current (const char *str
);
49 * Converter from utf to selected codepage
50 * param input_char, gunichar
51 * return char in needle codepage (by global int mc_global.source_codepage)
53 unsigned char convert_from_utf_to_current_c (const int input_char
, GIConv conv
);
56 * Converter from selected codepage 8-bit
57 * param char input_char, GIConv converter
60 int convert_from_8bit_to_utf_c (const char input_char
, GIConv conv
);
63 * Converter from display codepage 8-bit to utf-8
64 * param char input_char, GIConv converter
67 int convert_from_8bit_to_utf_c2 (const char input_char
);
69 GString
*str_convert_to_input (char *str
);
70 GString
*str_nconvert_to_input (char *str
, int len
);
72 GString
*str_convert_to_display (char *str
);
73 GString
*str_nconvert_to_display (char *str
, int len
);
75 /*** inline functions ****************************************************************************/
77 /* Convert single characters */
79 convert_to_display_c (int c
)
81 if (c
< 0 || c
>= 256)
83 return (int) conv_displ
[c
];
87 convert_from_input_c (int c
)
89 if (c
< 0 || c
>= 256)
91 return (int) conv_input
[c
];
94 #endif /* MC__CHARSETS_H */