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 whatname or
charset , or when whatname name doesn't exist for charset charset
(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
invalid charset (*n is 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 charset or 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. |