Data Structures | |
struct | MConverter |
Structure to be used in code conversion. More... | |
struct | MCodingInfoISO2022 |
Structure for a coding system of type MCODING_TYPE_ISO_2022. More... | |
struct | MCodingInfoUTF |
Structure for extra information about a coding system of type MCODING_TYPE_UTF. More... | |
Variables: Symbols representing coding systems | |
MSymbol | Mcoding_us_ascii |
Symbol for the coding system US-ASCII. | |
MSymbol | Mcoding_iso_8859_1 |
Symbol for the coding system ISO-8859-1. | |
MSymbol | Mcoding_utf_8 |
Symbol for the coding system UTF-8. | |
MSymbol | Mcoding_utf_8_full |
Symbol for the coding system UTF-8-FULL. | |
MSymbol | Mcoding_utf_16 |
Symbol for the coding system UTF-16. | |
MSymbol | Mcoding_utf_16be |
Symbol for the coding system UTF-16BE. | |
MSymbol | Mcoding_utf_16le |
Symbol for the coding system UTF-16LE. | |
MSymbol | Mcoding_utf_32 |
Symbol for the coding system UTF-32. | |
MSymbol | Mcoding_utf_32be |
Symbol for the coding system UTF-32BE. | |
MSymbol | Mcoding_utf_32le |
Symbol for the coding system UTF-32LE. | |
MSymbol | Mcoding_sjis |
Symbol for the coding system SJIS. | |
Variables: Parameter keys for mconv_define_coding(). | |
MSymbol | Mtype |
MSymbol | Mcharsets |
MSymbol | Mflags |
MSymbol | Mdesignation |
MSymbol | Minvocation |
MSymbol | Mcode_unit |
MSymbol | Mbom |
MSymbol | Mlittle_endian |
Variables: Symbols representing coding system types. | |
MSymbol | Mutf |
MSymbol | Miso_2022 |
Variables: Symbols appearing in the value of #Mflags parameter. | |
MSymbol | Mreset_at_eol |
MSymbol | Mreset_at_cntl |
MSymbol | Meight_bit |
MSymbol | Mlong_form |
MSymbol | Mdesignation_g0 |
MSymbol | Mdesignation_g1 |
MSymbol | Mdesignation_ctext |
MSymbol | Mdesignation_ctext_ext |
MSymbol | Mlocking_shift |
MSymbol | Msingle_shift |
MSymbol | Msingle_shift_7 |
MSymbol | Meuc_tw_shift |
MSymbol | Miso_6429 |
MSymbol | Mrevision_number |
MSymbol | Mfull_support |
Variables: etc | |
Remaining variables. | |
MSymbol | Mmaybe |
Symbol whose name is "maybe". | |
MSymbol | Mcoding |
The symbol Mcoding . | |
Enumerations | |
enum | MConversionResult { MCONVERSION_RESULT_SUCCESS, MCONVERSION_RESULT_INVALID_BYTE, MCONVERSION_RESULT_INVALID_CHAR, MCONVERSION_RESULT_INSUFFICIENT_SRC, MCONVERSION_RESULT_INSUFFICIENT_DST, MCONVERSION_RESULT_IO_ERROR } |
Codes that represent the result of code conversion. More... | |
enum | MCodingType { MCODING_TYPE_CHARSET, MCODING_TYPE_UTF, MCODING_TYPE_ISO_2022, MCODING_TYPE_MISC } |
Types of coding system. More... | |
enum | MCodingFlagISO2022 { MCODING_ISO_RESET_AT_EOL = 0x1, MCODING_ISO_RESET_AT_CNTL = 0x2, MCODING_ISO_EIGHT_BIT = 0x4, MCODING_ISO_LONG_FORM = 0x8, MCODING_ISO_DESIGNATION_G0 = 0x10, MCODING_ISO_DESIGNATION_G1 = 0x20, MCODING_ISO_DESIGNATION_CTEXT = 0x40, MCODING_ISO_DESIGNATION_CTEXT_EXT = 0x80, MCODING_ISO_LOCKING_SHIFT = 0x100, MCODING_ISO_SINGLE_SHIFT = 0x200, MCODING_ISO_SINGLE_SHIFT_7 = 0x400, MCODING_ISO_EUC_TW_SHIFT = 0x800, MCODING_ISO_ISO6429 = 0x1000, MCODING_ISO_REVISION_NUMBER = 0x2000, MCODING_ISO_FULL_SUPPORT = 0x3000, MCODING_ISO_FLAG_MAX } |
Bit-masks to specify the detail of coding system whose type is MCODING_TYPE_ISO_2022. More... | |
Functions | |
MSymbol | mconv_define_coding (const char *name, MPlist *plist, int(*resetter)(MConverter *), int(*decoder)(const unsigned char *, int, MText *, MConverter *), int(*encoder)(MText *, int, int, unsigned char *, int, MConverter *), void *extra_info) |
Define a coding system. | |
MSymbol | mconv_resolve_coding (MSymbol symbol) |
Resolve coding system name. | |
int | mconv_list_codings (MSymbol **symbols) |
List symbols representing coding systems. | |
MConverter * | mconv_buffer_converter (MSymbol name, unsigned char *buf, int n) |
Create a code converter bound to a buffer. | |
MConverter * | mconv_stream_converter (MSymbol name, FILE *fp) |
Create a code converter bound to a stream. | |
int | mconv_reset_converter (MConverter *converter) |
Reset a code converter. | |
void | mconv_free_converter (MConverter *converter) |
Free a code converter. | |
MConverter * | mconv_rebind_buffer (MConverter *converter, unsigned char *buf, int n) |
Bind a buffer to a code converter. | |
MConverter * | mconv_rebind_stream (MConverter *converter, FILE *fp) |
Bind a stream to a code converter. | |
MText * | mconv_decode (MConverter *converter, MText *mt) |
Decode a byte sequence into an M-text. | |
MText * | mconv_decode_buffer (MSymbol name, unsigned char *buf, int n) |
Decode a buffer area based on a coding system. | |
MText * | mconv_decode_stream (MSymbol name, FILE *fp) |
Decode a stream input based on a coding system. | |
int | mconv_encode (MConverter *converter, MText *mt) |
Encode an M-text into a byte sequence. | |
int | mconv_encode_range (MConverter *converter, MText *mt, int from, int to) |
Encode a part of an M-text. | |
int | mconv_encode_buffer (MSymbol name, MText *mt, unsigned char *buf, int n) |
Encode an M-text into a buffer area. | |
int | mconv_encode_stream (MSymbol name, MText *mt, FILE *fp) |
Encode an M-text to write to a stream. | |
int | mconv_getc (MConverter *converter) |
Read a character via a code converter. | |
int | mconv_ungetc (MConverter *converter, int c) |
Push a character back to a code converter. | |
int | mconv_putc (MConverter *converter, int c) |
Write a character via a code converter. | |
MText * | mconv_gets (MConverter *converter, MText *mt) |
Read a line using a code converter. |
To encode means converting code-points to character codes and to decode means converting character codes back to code-points.
Application programs can decode a byte sequence with a specified coding system into an M-text, and inversely, can encode an M-text into a byte sequence.
|
|
|
|
|
|
The mconv_define_coding() function defines a new coding system and makes it accessive via a symbol whose name is name. plist specifies parameters of the coding system as below:
resetter is a pointer to a function that resets a converter for the coding system to the initial status. The pointed function is called with one argument, a pointer to a converter object. decoder is a pointer to a function that decodes a byte sequence according to the coding system. The pointed function is called with four arguments:
encoder is a pointer to a function that encodes an M-text according to the coding system. The pointed function is called with six arguments:
extra_info is a pointer to a data structure that contains extra information about the coding system. The type of the data structure depends on type.
|
|
The mconv_resolve_coding() function returns symbol if it represents a coding system. Otherwise, canonicalize symbol as to a coding system name, and if the canonicalized name represents a coding system, return it. Otherwise, return Mnil. |
|
The mconv_list_codings() function makes an array of symbols representing a coding system, stores the pointer to the array in a place pointed to by symbols, and returns the length of the array. |
|
The mconv_buffer_converter() function creates a pointer to a code converter for coding system name. The code converter is bound to buffer area of n bytes pointed to by buf. Subsequent decodings and encodings are done to/from this buffer area. name can be Mnil. In this case, a coding system associated with the current locale (LC_CTYPE) is used.
|
|
The mconv_stream_converter() function creates a pointer to a code converter for coding system name. The code converter is bound to stream fp. Subsequent decodings and encodings are done to/from this stream. name can be Mnil. In this case, a coding system associated with the current locale (LC_CTYPE) is used.
|
|
The mconv_reset_converter() function resets code converter converter to the initial state.
|
|
The mconv_free_converter() function frees the code converter converter. |
|
The mconv_rebind_buffer() function binds buffer area of n bytes pointed to by buf to code converter converter. Subsequent decodings and encodings are done to/from this newly bound buffer area.
|
|
The mconv_rebind_stream() function binds stream fp to code converter converter. Following decodings and encodings are done to/from this newly bound stream.
|
|
The mconv_decode() function decodes a byte sequence and appends the result at the end of M-text mt. The source byte sequence is taken from either the buffer area or the stream that is currently bound to converter.
|
|
The mconv_decode_buffer() function decodes n bytes of the buffer area pointed to by buf based on the coding system name. A temporary code converter for decoding is automatically created and freed.
|
|
The mconv_decode_stream() function decodes the entire byte sequence read in from stream fp based on the coding system name. A code converter for decoding is automatically created and freed.
|
|
The mconv_encode() function encodes M-text mt and writes the resulting byte sequence into the buffer area or the stream that is currently bound to code converter converter.
|
|
The mconv_encode_range() function encodes the text between from (inclusive) and to (exclusive) in M-text mt and writes the resulting byte sequence into the buffer area or the stream that is currently bound to code converter converter.
|
|
The mconv_encode_buffer() function encodes M-text mt based on coding system name and writes the resulting byte sequence into the buffer area pointed to by buf. At most n bytes are written. A temporary code converter for encoding is automatically created and freed.
|
|
The mconv_encode_stream() function encodes M-text mt based on coding system name and writes the resulting byte sequence to stream fp. A temporary code converter for encoding is automatically created and freed.
|
|
The mconv_getc() function reads one character from the buffer area or the stream that is currently bound to code converter converter. The decoder of converter is used to decode the byte sequence. The internal status of converter is updated appropriately.
|
|
The mconv_ungetc() function pushes character c back to code converter converter. Any number of characters can be pushed back. The lastly pushed back character is firstly read by the subsequent mconv_getc() call. The characters pushed back are registered only in converter; they are not written to the input source. The internal status of converter is updated appropriately.
|
|
The mconv_putc() function writes character c to the buffer area or the stream that is currently bound to code converter converter. The encoder of converter is used to encode the character. The number of bytes actually written is set to the
|
|
The mconv_gets() function reads one line from the buffer area or the stream that is currently bound to code converter converter. The decoder of converter is used for decoding. The decoded character sequence is appended at the end of M-text mt. The final newline character in the original byte sequence is not appended. The internal status of converter is updated appropriately.
|
|
The symbol Mcoding_us_ascii has name |
|
The symbol Mcoding_iso_8859_1 has name |
|
The symbol Mcoding_utf_8 has name |
|
The symbol Mcoding_utf_8_full has name |
|
The symbol Mcoding_utf_16 has name |
|
The symbol Mcoding_utf_16be has name |
|
The symbol Mcoding_utf_16le has name |
|
The symbol Mcoding_utf_32 has name |
|
The symbol Mcoding_utf_32be has name |
|
The symbol Mcoding_utf_32le has name |
|
The symbol Mcoding_sjis has name |
|
Parameter key for mconv_define_coding() (which see). |
|
Parameter key for mconv_define_coding() (which see). |
|
Parameter key for mconv_define_coding() (which see). |
|
Parameter key for mconv_define_coding() (which see). |
|
Parameter key for mconv_define_coding() (which see). |
|
Parameter key for mconv_define_coding() (which see). |
|
Parameter key for mconv_define_coding() (which see). |
|
Parameter key for mconv_define_coding() (which see). |
|
Symbol that can be a value of the Mtype parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
Symbol that can be a value of the Mtype parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
Symbols that can be a value of the Mflags parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
Symbols that can be a value of the Mflags parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
Symbols that can be a value of the Mflags parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
Symbols that can be a value of the Mflags parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
Symbols that can be a value of the Mflags parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
Symbols that can be a value of the Mflags parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
Symbols that can be a value of the Mflags parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
Symbols that can be a value of the Mflags parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
Symbols that can be a value of the Mflags parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
Symbols that can be a value of the Mflags parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
Symbols that can be a value of the Mflags parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
Symbols that can be a value of the Mflags parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
Symbols that can be a value of the Mflags parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
Symbols that can be a value of the Mflags parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
Symbols that can be a value of the Mflags parameter of a coding system used in an argument to the mconv_define_coding() function (which see). |
|
The variable Mmaybe is a symbol of name |
|
Any decoded M-text has a text property whose key is the predefined symbol |