|  |  |  | Enca Library Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | ||||
| Charsets and SurfacesCharsets and Surfaces — Functions and macros for getting something sensible from EncaEncoding. | 
const char* enca_charset_name (int charset, EncaNameStyle whatname); const char** enca_get_charset_aliases (int charset, size_t *n); char* enca_get_surface_name (EncaSurface surface, EncaNameStyle whatname); EncaEncoding enca_parse_encoding_name (const char *name); EncaSurface enca_charset_natural_surface (int charset); EncaCharsetFlags enca_charset_properties (int charset); #define enca_charset_is_7bit (cs) #define enca_charset_is_8bit (cs) #define enca_charset_is_16bit (cs) #define enca_charset_is_32bit (cs) #define enca_charset_is_fixed (cs) #define enca_charset_is_variable (cs) #define enca_charset_is_binary (cs) #define enca_charset_is_regular (cs) #define enca_charset_is_multibyte (cs) #define enca_charset_is_known (cs)
const char*         enca_charset_name                   (int charset,
                                                         EncaNameStyle whatname);
Translates numeric charset id charset to some kind of name.
| 
 | A charset id. | 
| 
 | Teh type of name you request. | 
| Returns : | The requested charset name; NULL for invalid whatnameorcharset, or whenwhatnamename doesn't exist for charsetcharset(ENCA_CS_UNKNOWN is OK). | 
const char**        enca_get_charset_aliases            (int charset,
                                                         size_t *n);
Returns list of accepted aliases for charset charset.
The list of aliases has to be freed by caller; the strings themselves must be considered constant and must NOT be freed.
| 
 | A charset id. | 
| 
 | The number of aliases will be stored here. | 
| Returns : | The list of aliases, storing their number into * n; NULL for
invalidcharset(*nis zero then). | 
char* enca_get_surface_name (EncaSurface surface, EncaNameStyle whatname);
Constructs surface name from surface flags surface.
| 
 | A surface. | 
| 
 | The type of name you request. | 
| Returns : | The requested surface name; NULL for invalid whatname; empty
string for naming style not supporting surfaces.  In all cases, the
returned string must be freed by caller when no longer used. | 
EncaEncoding enca_parse_encoding_name (const char *name);
Transofrms encoding specification charset/surface into numeric EncaEncoding.
When the charset name is not recognized, surfaces are not parsed at all and
ENCA_CS_UNKNOWN is returned as charset.  However, unrecognized surfaces are
considered only a minor problem causing ENCA_SURFACE_UNKNOWN flag to be
set in the result, beside recognized surface flags.
| 
 | An encoding specification. | 
| Returns : | The charset/surface pair. | 
EncaSurface enca_charset_natural_surface (int charset);
Returns natural surface of a charset.
| 
 | A charset. | 
| Returns : | The requested charset natural surface (called `implied' in recode),
         zero for invalid charsetor for charsets with no natural surface.
         Natrual surface is the surface one expects for a given charset --
         e.g. CRLF EOLs for IBM/Microsoft charsets, CR EOLs for Macintosh
         charsets and LF EOLs for ISO/Unix charsets. | 
EncaCharsetFlags enca_charset_properties (int charset);
Returns charset properties.
| 
 | A charset. | 
| Returns : | The requested charset properties; zero for invalid charset. | 
#define enca_charset_is_7bit(cs)
Expands to nonzero when characters are represented with 7bit characters.
| 
 | Charset id. | 
#define enca_charset_is_8bit(cs)
Expands to nonzero when characters are represented with bytes.
| 
 | Charset id. | 
#define enca_charset_is_16bit(cs)
Expands to nonzero when characters are represented with 2byte words.
| 
 | Charset id. | 
#define enca_charset_is_32bit(cs)
Expands to nonzero when characters are represented with 4byte words.
| 
 | Charset id. | 
#define enca_charset_is_fixed(cs)
Expands to nonzero when one characters consists of one fundamental piece.
| 
 | Charset id. | 
#define enca_charset_is_variable(cs)
Expands to nonzero when one character consists of variable number of fundamental pieces.
| 
 | Charset id. | 
#define enca_charset_is_binary(cs)
Expands to nonzero when charset is binary from ASCII viewpoint.
| 
 | Charset id. | 
#define enca_charset_is_regular(cs)
Expands to nonzero when charset is language dependent (8bit) charset.
| 
 | Charset id. | 
#define enca_charset_is_multibyte(cs)
Expands to nonzero when charset is multibyte.
| 
 | Charset id. |