2 ** Copyright 2000-2003 Double Precision, Inc.
3 ** See COPYING for distribution information.
5 ** $Id: iso8859.c,v 1.3 2003/03/07 00:47:31 mrsam Exp $
8 #include "unicode_config.h"
13 /* ISO8859 charsets all share the same functions */
15 unicode_char
*unicode_iso8859_c2u(const char *str
, int *err
,
16 const unicode_char
*table
)
19 unicode_char
*p
=(unicode_char
*)malloc((l
+1) * sizeof(unicode_char
));
27 for (l
=0; str
[l
]; l
++)
29 unicode_char c
=(int)(unsigned char)str
[l
];
31 c
= c
< 128 ? c
:table
[c
& 0x7F];
41 c
=(int)(unsigned char)str
[l
];
49 char *unicode_iso8859_u2c(const unicode_char
*uc
, int *errflag
,
50 const unicode_char
*tab
)
58 if (errflag
) *errflag
= -1;
66 unicode_char ucc
=uc
[l
];
70 if ((ucc
& 0x7F) == ucc
)
72 else if (tab
[ ucc
& 0x7F ] == uc
[l
])
73 c
=(int)(ucc
& 0x7F) | 0x80;