gmime-charset

gmime-charset — Charset helper functions

Functions

void g_mime_charset_map_init ()
void g_mime_charset_map_shutdown ()
const char * g_mime_locale_charset ()
const char * g_mime_locale_language ()
const char * g_mime_charset_language ()
const char * g_mime_charset_canon_name ()
const char * g_mime_charset_iconv_name ()
const char * g_mime_charset_name ()
const char * g_mime_charset_locale_name ()
const char * g_mime_charset_iso_to_windows ()
void g_mime_charset_init ()
void g_mime_charset_step ()
const char * g_mime_charset_best_name ()
const char * g_mime_charset_best ()
gboolean g_mime_charset_can_encode ()

Types and Values

struct GMimeCharset

Description

Charset utility functions.

Functions

g_mime_charset_map_init ()

void
g_mime_charset_map_init (void);

Initializes character set maps.

Note: g_mime_init() calls this routine for you.


g_mime_charset_map_shutdown ()

void
g_mime_charset_map_shutdown (void);

Frees internal lookup tables created in g_mime_charset_map_init().


g_mime_locale_charset ()

const char *
g_mime_locale_charset (void);

Gets the user's locale charset (or iso-8859-1 by default).

Returns

the user's locale charset (or iso-8859-1 by default).


g_mime_locale_language ()

const char *
g_mime_locale_language (void);

Gets the user's locale language code (or NULL by default).

Returns

the user's locale language code (or NULL by default).

[nullable]


g_mime_charset_language ()

const char *
g_mime_charset_language (const char *charset);

Attempts to find a specific language code that is specific to charset . Currently only handles CJK and Russian/Ukranian charset->lang mapping. Everything else will return NULL.

Parameters

charset

charset name

 

Returns

a language code that is specific to charset , or NULL on fail.

[nullable]


g_mime_charset_canon_name ()

const char *
g_mime_charset_canon_name (const char *charset);

Attempts to find a canonical charset name for charset .

Note: Will normally return the same value as g_mime_charset_iconv_name() unless the system iconv does not use the canonical ISO charset names (such as using ISO8859-1 rather than the canonical form ISO-8859-1).

Parameters

charset

charset name

 

Returns

a canonical charset name for charset .


g_mime_charset_iconv_name ()

const char *
g_mime_charset_iconv_name (const char *charset);

Attempts to find an iconv-friendly charset name for charset .

Parameters

charset

charset name

 

Returns

an iconv-friendly charset name for charset .


g_mime_charset_name ()

const char *
g_mime_charset_name (const char *charset);

g_mime_charset_name is deprecated and should not be used in newly-written code.

Attempts to find an iconv-friendly charset name for charset .

Note: This function is deprecated. Use g_mime_charset_iconv_name() instead.

Parameters

charset

charset name

 

Returns

an iconv-friendly charset name for charset .


g_mime_charset_locale_name ()

const char *
g_mime_charset_locale_name (void);

g_mime_charset_locale_name is deprecated and should not be used in newly-written code.

Gets the user's locale charset (or iso-8859-1 by default).

Note: This function is deprecated. Use g_mime_locale_charset() instead.

Returns

the user's locale charset (or iso-8859-1 by default).


g_mime_charset_iso_to_windows ()

const char *
g_mime_charset_iso_to_windows (const char *isocharset);

Maps the ISO-8859-# charset to the equivalent Windows-CP125# charset.

Parameters

isocharset

ISO-8859-# charset

 

Returns

equivalent Windows charset.


g_mime_charset_init ()

void
g_mime_charset_init (GMimeCharset *charset);

Initializes a charset mask structure.

Parameters

charset

charset mask

 

g_mime_charset_step ()

void
g_mime_charset_step (GMimeCharset *charset,
                     const char *inbuf,
                     size_t inlen);

Steps through the input buffer 1 unicode character (glyph) at a time (ie, not necessarily 1 byte at a time). Bitwise 'and' our charset->mask with the mask for each glyph. This has the effect of limiting what charsets our charset->mask can match.

Parameters

charset

charset structure

 

inbuf

input text buffer (must be in UTF-8)

 

inlen

input buffer length

 

g_mime_charset_best_name ()

const char *
g_mime_charset_best_name (GMimeCharset *charset);

Gets the best charset name based on the charset mask charset .

Parameters

charset

charset mask

 

Returns

the charset name that best represents the charset mask charset or NULL for us-ascii.

[nullable]


g_mime_charset_best ()

const char *
g_mime_charset_best (const char *inbuf,
                     size_t inlen);

Computes the best charset to use to encode this text buffer.

Parameters

inbuf

a UTF-8 text buffer

 

inlen

input buffer length

 

Returns

the charset name best suited for the input text or NULL if it is ascii-safe.

[nullable]


g_mime_charset_can_encode ()

gboolean
g_mime_charset_can_encode (GMimeCharset *mask,
                           const char *charset,
                           const char *text,
                           size_t len);

Check to see if the UTF-8 text will fit safely within charset .

Parameters

mask

a GMimeCharset mask

 

charset

a charset

 

text

utf-8 text to check

 

len

length of text

 

Returns

TRUE if it is safe to encode text into charset or FALSE otherwise.

Types and Values

struct GMimeCharset

struct GMimeCharset {
	unsigned int mask;
	unsigned int level;
};

State used by g_mime_charset_best() and g_mime_charset_best_name().

Members

unsigned int mask;

charset mask

 

unsigned int level;

charset level