/[public]/psiconv/trunk/lib/psiconv/unicode.h
ViewVC logotype

Annotation of /psiconv/trunk/lib/psiconv/unicode.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 181 - (hide annotations)
Sun Jan 4 15:47:16 2004 UTC (20 years, 2 months ago) by frodo
File MIME type: text/plain
File size: 2721 byte(s)
(Frodo) Preparation for the conversion to Unicode.

1 frodo 181 /*
2     unicode.h - Part of psiconv, a PSION 5 file formats converter
3     Copyright (c) 2003 Frodo Looijaard <frodol@dds.nl>
4    
5     This program is free software; you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation; either version 2 of the License, or
8     (at your option) any later version.
9    
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13     GNU General Public License for more details.
14    
15     You should have received a copy of the GNU General Public License
16     along with this program; if not, write to the Free Software
17     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18     */
19    
20     #ifndef PSICONV_UNICODE_H
21     #define PSICONV_UNICODE_H
22    
23     #include <psiconv/general.h>
24     #include <psiconv/configuration.h>
25    
26     #ifdef __cplusplus
27     extern "C" {
28     #endif /* __cplusplus */
29    
30     /* A simple unicode implementation, using UCS-2 (16-bit encoding).
31     Unicode strings are arrays of psiconv_u16 characters, zero-terminated.
32     Note that there is a lot in Unicode we do not support; for example,
33     we assume a single Unicode codepoint corresponds with a single character.
34     For EPOC, that should be enough */
35    
36     extern int psiconv_unicode_select_characterset(const psiconv_config config,
37     int charset);
38    
39     /* Translate a single character to a unicode character, using the
40     translation tables in config */
41     extern psiconv_ucs2 psiconv_unicode_from_char(const psiconv_config config,
42     psiconv_u8 input);
43    
44     /* Translate a single unicode character to a normal character, using the
45     translation tables in config */
46     extern psiconv_u8 psiconv_unicode_to_char(psiconv_config config,
47     psiconv_ucs2 input);
48    
49     /* Translate a normal string to unicode.
50     Output is allocated by this function on success, and must be freed by
51     hand. */
52     extern int psiconv_unicode_from_chars(const psiconv_config config,
53     const psiconv_u8 *input,
54     psiconv_ucs2 **output);
55     /* Translate a unicode string to a normal one.
56     Output is allocated by this function on success, and must be freed by
57     hand. */
58     extern int psiconv_unicode_to_chars(const psiconv_config config,
59     const psiconv_ucs2 *input,
60     psiconv_u8 **output);
61    
62     /* Compute the length of a unicode string */
63     extern int psiconv_unicode_strlen(const psiconv_ucs2 *input);
64    
65    
66     #ifdef __cplusplus
67     }
68     #endif /* __cplusplus */
69    
70     #endif /* PSICONV_ERROR_H */

frodo@frodo.looijaard.name
ViewVC Help
Powered by ViewVC 1.1.26