.\" Copyright (C) 2001 Information-technology Promotion Agency (IPA)
.\" Copyright (C) 2001-2011
.\" National Institute of Advanced Industrial Science and Technology (AIST)
.\" This file is part of the m17n library documentation.
.\" Permission is granted to copy, distribute and/or modify this document
.\" under the terms of the GNU Free Documentation License, Version 1.2 or
.\" any later version published by the Free Software Foundation; with no
.\" Invariant Section, no Front-Cover Texts,
.\" and no Back-Cover Texts. A copy of the license is included in the
.\" appendix entitled "GNU Free Documentation License".
.TH "m17nConv" 3m17n "Mon Sep 25 2023" "Version 1.8.4" "The m17n Library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
m17nConv_\-_Code_Conver \- \- Coding system objects and API for them\&.
.SH SYNOPSIS
.br
.PP
.SS "Data Structures"
.in +1c
.ti -1c
.RI "struct \fBMConverter\fP"
.br
.RI "Structure to be used in code conversion\&. "
.ti -1c
.RI "struct \fBMCodingInfoISO2022\fP"
.br
.RI "Structure for a coding system of type \fBMCODING_TYPE_ISO_2022\fP\&. "
.ti -1c
.RI "struct \fBMCodingInfoUTF\fP"
.br
.RI "Structure for extra information about a coding system of type \fBMCODING_TYPE_UTF\fP\&. "
.in -1c
.SS "Enumerations"
.in +1c
.ti -1c
.RI "enum \fBMConversionResult\fP { \fBMCONVERSION_RESULT_SUCCESS\fP, \fBMCONVERSION_RESULT_INVALID_BYTE\fP, \fBMCONVERSION_RESULT_INVALID_CHAR\fP, \fBMCONVERSION_RESULT_INSUFFICIENT_SRC\fP, \fBMCONVERSION_RESULT_INSUFFICIENT_DST\fP, \fBMCONVERSION_RESULT_IO_ERROR\fP }"
.br
.RI "Codes that represent the result of code conversion\&. "
.ti -1c
.RI "enum \fBMCodingType\fP { \fBMCODING_TYPE_CHARSET\fP, \fBMCODING_TYPE_UTF\fP, \fBMCODING_TYPE_ISO_2022\fP, \fBMCODING_TYPE_MISC\fP }"
.br
.RI "Types of coding system\&.
.br
"
.ti -1c
.RI "enum \fBMCodingFlagISO2022\fP { \fBMCODING_ISO_RESET_AT_EOL\fP = 0x1, \fBMCODING_ISO_RESET_AT_CNTL\fP = 0x2, \fBMCODING_ISO_EIGHT_BIT\fP = 0x4, \fBMCODING_ISO_LONG_FORM\fP = 0x8, \fBMCODING_ISO_DESIGNATION_G0\fP = 0x10, \fBMCODING_ISO_DESIGNATION_G1\fP = 0x20, \fBMCODING_ISO_DESIGNATION_CTEXT\fP = 0x40, \fBMCODING_ISO_DESIGNATION_CTEXT_EXT\fP = 0x80, \fBMCODING_ISO_LOCKING_SHIFT\fP = 0x100, \fBMCODING_ISO_SINGLE_SHIFT\fP = 0x200, \fBMCODING_ISO_SINGLE_SHIFT_7\fP = 0x400, \fBMCODING_ISO_EUC_TW_SHIFT\fP = 0x800, \fBMCODING_ISO_ISO6429\fP = 0x1000, \fBMCODING_ISO_REVISION_NUMBER\fP = 0x2000, \fBMCODING_ISO_FULL_SUPPORT\fP = 0x3000, \fBMCODING_ISO_FLAG_MAX\fP }"
.br
.RI "Bit-masks to specify the detail of coding system whose type is MCODING_TYPE_ISO_2022\&.
.br
"
.in -1c
.SS "Functions"
.in +1c
.ti -1c
.RI "MSymbol \fBmconv_define_coding\fP (const char *name, \fBMPlist\fP *plist, int(*resetter)(\fBMConverter\fP *), int(*decoder)(const unsigned char *, int, \fBMText\fP *, \fBMConverter\fP *), int(*encoder)(\fBMText\fP *, int, int, unsigned char *, int, \fBMConverter\fP *), void *extra_info)"
.br
.ti -1c
.RI "MSymbol \fBmconv_resolve_coding\fP (MSymbol symbol)"
.br
.RI "Resolve coding system name\&. "
.ti -1c
.RI "int \fBmconv_list_codings\fP (MSymbol **symbols)"
.br
.RI "List symbols representing coding systems\&. "
.ti -1c
.RI "\fBMConverter\fP * \fBmconv_buffer_converter\fP (MSymbol name, const unsigned char *buf, int n)"
.br
.RI "Create a code converter bound to a buffer\&. "
.ti -1c
.RI "\fBMConverter\fP * \fBmconv_stream_converter\fP (MSymbol name, FILE *fp)"
.br
.RI "Create a code converter bound to a stream\&. "
.ti -1c
.RI "int \fBmconv_reset_converter\fP (\fBMConverter\fP *converter)"
.br
.RI "Reset a code converter\&. "
.ti -1c
.RI "void \fBmconv_free_converter\fP (\fBMConverter\fP *converter)"
.br
.RI "Free a code converter\&. "
.ti -1c
.RI "\fBMConverter\fP * \fBmconv_rebind_buffer\fP (\fBMConverter\fP *converter, const unsigned char *buf, int n)"
.br
.RI "Bind a buffer to a code converter\&. "
.ti -1c
.RI "\fBMConverter\fP * \fBmconv_rebind_stream\fP (\fBMConverter\fP *converter, FILE *fp)"
.br
.RI "Bind a stream to a code converter\&. "
.ti -1c
.RI "\fBMText\fP * \fBmconv_decode\fP (\fBMConverter\fP *converter, \fBMText\fP *mt)"
.br
.RI "Decode a byte sequence into an M-text\&. "
.ti -1c
.RI "\fBMText\fP * \fBmconv_decode_buffer\fP (MSymbol name, const unsigned char *buf, int n)"
.br
.RI "Decode a buffer area based on a coding system\&. "
.ti -1c
.RI "\fBMText\fP * \fBmconv_decode_stream\fP (MSymbol name, FILE *fp)"
.br
.RI "Decode a stream input based on a coding system\&. "
.ti -1c
.RI "int \fBmconv_encode\fP (\fBMConverter\fP *converter, \fBMText\fP *mt)"
.br
.RI "Encode an M-text into a byte sequence\&. "
.ti -1c
.RI "int \fBmconv_encode_range\fP (\fBMConverter\fP *converter, \fBMText\fP *mt, int from, int to)"
.br
.RI "Encode a part of an M-text\&. "
.ti -1c
.RI "int \fBmconv_encode_buffer\fP (MSymbol name, \fBMText\fP *mt, unsigned char *buf, int n)"
.br
.RI "Encode an M-text into a buffer area\&. "
.ti -1c
.RI "int \fBmconv_encode_stream\fP (MSymbol name, \fBMText\fP *mt, FILE *fp)"
.br
.RI "Encode an M-text to write to a stream\&. "
.ti -1c
.RI "int \fBmconv_getc\fP (\fBMConverter\fP *converter)"
.br
.RI "Read a character via a code converter\&. "
.ti -1c
.RI "int \fBmconv_ungetc\fP (\fBMConverter\fP *converter, int c)"
.br
.RI "Push a character back to a code converter\&. "
.ti -1c
.RI "int \fBmconv_putc\fP (\fBMConverter\fP *converter, int c)"
.br
.RI "Write a character via a code converter\&. "
.ti -1c
.RI "\fBMText\fP * \fBmconv_gets\fP (\fBMConverter\fP *converter, \fBMText\fP *mt)"
.br
.RI "Read a line using a code converter\&. "
.in -1c
.SS "Variables: Symbols representing coding systems"
.in +1c
.ti -1c
.RI "MSymbol \fBMcoding_us_ascii\fP"
.br
.RI "Symbol for the coding system US-ASCII\&. "
.ti -1c
.RI "MSymbol \fBMcoding_iso_8859_1\fP"
.br
.RI "Symbol for the coding system ISO-8859-1\&. "
.ti -1c
.RI "MSymbol \fBMcoding_utf_8\fP"
.br
.RI "Symbol for the coding system UTF-8\&. "
.ti -1c
.RI "MSymbol \fBMcoding_utf_8_full\fP"
.br
.RI "Symbol for the coding system UTF-8-FULL\&. "
.ti -1c
.RI "MSymbol \fBMcoding_utf_16\fP"
.br
.RI "Symbol for the coding system UTF-16\&. "
.ti -1c
.RI "MSymbol \fBMcoding_utf_16be\fP"
.br
.RI "Symbol for the coding system UTF-16BE\&. "
.ti -1c
.RI "MSymbol \fBMcoding_utf_16le\fP"
.br
.RI "Symbol for the coding system UTF-16LE\&. "
.ti -1c
.RI "MSymbol \fBMcoding_utf_32\fP"
.br
.RI "Symbol for the coding system UTF-32\&. "
.ti -1c
.RI "MSymbol \fBMcoding_utf_32be\fP"
.br
.RI "Symbol for the coding system UTF-32BE\&. "
.ti -1c
.RI "MSymbol \fBMcoding_utf_32le\fP"
.br
.RI "Symbol for the coding system UTF-32LE\&. "
.ti -1c
.RI "MSymbol \fBMcoding_sjis\fP"
.br
.RI "Symbol for the coding system SJIS\&. "
.in -1c
.SS "Variables: Parameter keys for mconv_define_coding()\&.
"
.in +1c
.ti -1c
.RI "MSymbol \fBMtype\fP"
.br
.ti -1c
.RI "MSymbol \fBMcharsets\fP"
.br
.ti -1c
.RI "MSymbol \fBMflags\fP"
.br
.ti -1c
.RI "MSymbol \fBMdesignation\fP"
.br
.ti -1c
.RI "MSymbol \fBMinvocation\fP"
.br
.ti -1c
.RI "MSymbol \fBMcode_unit\fP"
.br
.ti -1c
.RI "MSymbol \fBMbom\fP"
.br
.ti -1c
.RI "MSymbol \fBMlittle_endian\fP"
.br
.in -1c
.SS "Variables: Symbols representing coding system types\&.
"
.in +1c
.ti -1c
.RI "MSymbol \fBMutf\fP"
.br
.ti -1c
.RI "MSymbol \fBMiso_2022\fP"
.br
.in -1c
.SS "Variables: Symbols appearing in the value of Mflags parameter\&.
"
Symbols that can be a value of the \fBMflags\fP parameter of a coding system used in an argument to the \fBmconv_define_coding()\fP function (which see)\&.
.br
.in +1c
.ti -1c
.RI "MSymbol \fBMreset_at_eol\fP"
.br
.ti -1c
.RI "MSymbol \fBMreset_at_cntl\fP"
.br
.ti -1c
.RI "MSymbol \fBMeight_bit\fP"
.br
.ti -1c
.RI "MSymbol \fBMlong_form\fP"
.br
.ti -1c
.RI "MSymbol \fBMdesignation_g0\fP"
.br
.ti -1c
.RI "MSymbol \fBMdesignation_g1\fP"
.br
.ti -1c
.RI "MSymbol \fBMdesignation_ctext\fP"
.br
.ti -1c
.RI "MSymbol \fBMdesignation_ctext_ext\fP"
.br
.ti -1c
.RI "MSymbol \fBMlocking_shift\fP"
.br
.ti -1c
.RI "MSymbol \fBMsingle_shift\fP"
.br
.ti -1c
.RI "MSymbol \fBMsingle_shift_7\fP"
.br
.ti -1c
.RI "MSymbol \fBMeuc_tw_shift\fP"
.br
.ti -1c
.RI "MSymbol \fBMiso_6429\fP"
.br
.ti -1c
.RI "MSymbol \fBMrevision_number\fP"
.br
.ti -1c
.RI "MSymbol \fBMfull_support\fP"
.br
.in -1c
.SS "Variables: Others"
Remaining variables\&.
.br
.in +1c
.ti -1c
.RI "MSymbol \fBMmaybe\fP"
.br
.RI "Symbol whose name is 'maybe'\&. "
.ti -1c
.RI "MSymbol \fBMcoding\fP"
.br
.RI "The symbol \fCMcoding\fP\&. "
.in -1c
.SH "Detailed Description"
.PP
Coding system objects and API for them\&.
The m17n library represents a character encoding scheme (CES) of coded character sets (CCS) as an object called \fIcoding\fP \fIsystem\fP\&. Application programs can add original coding systems\&.
.PP
To \fIencode\fP means converting code\-points to character codes and to \fIdecode\fP means converting character codes back to code\-points\&.
.PP
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\&.
.br
.PP
.br
.SH "Data Structure Documentation"
.SS MConverter
.PP
Structure to be used in code conversion\&.
.ad l
.nh
.PP
\fBFIELD DOCUMENTATION:\fP
.PP
.PP
\fBint MConverter::lenient\fP
Set the value to nonzero if the conversion should be lenient\&. By default, the conversion is strict (i\&.e\&. not lenient)\&.
.PP
If the conversion is strict, the converter stops at the first invalid byte (on decoding) or at the first character not supported by the coding system (on encoding)\&. If this happens, \fCMConverter\->result\fP is set to \fCMCONVERSION_RESULT_INVALID_BYTE\fP or \fCMCONVERSION_RESULT_INVALID_CHAR\fP accordingly\&.
.PP
If the conversion is lenient, on decoding, an invalid byte is kept per se, and on encoding, an invalid character is replaced with '' (if the character is a Unicode character) or with '' (otherwise)\&.
.br
.PP
\fBint MConverter::last_block\fP
Set the value to nonzero before decoding or encoding the last block of the byte sequence or the character sequence respectively\&. The value influences the conversion as below\&.
.PP
On decoding, in the case that the last few bytes are too short to form a valid byte sequence:
.PP
If the value is nonzero, the conversion terminates by error (MCONVERSION_RESULT_INVALID_BYTE) at the first byte of the sequence\&.
.PP
If the value is zero, the conversion terminates successfully\&. Those bytes are stored in the converter as carryover and are prepended to the byte sequence of the further conversion\&.
.PP
On encoding, in the case that the coding system is context dependent:
.PP
If the value is nonzero, the conversion may produce a byte sequence at the end to reset the context to the initial state even if the source characters are zero\&.
.PP
If the value is zero, the conversion never produce such a byte sequence at the end\&.
.br
.PP
\fBunsigned MConverter::at_most\fP
If the value is nonzero, it specifies at most how many characters to convert\&.
.br
.PP
\fBint MConverter::nchars\fP
The following three members are to report the result of the conversion\&.
.br
.PP
Number of characters most recently decoded or encoded\&.
.br
.PP
\fBint MConverter::nbytes\fP
Number of bytes recently decoded or encoded\&.
.br
.PP
\fBenum \fBMConversionResult\fP MConverter::result\fP
Result code of the conversion\&.
.br
.PP
\fBvoid* MConverter::ptr\fP
.PP
\fBdouble MConverter::dbl\fP
.PP
\fBchar MConverter::c[256]\fP
.PP
\fBunion { \&.\&.\&. } MConverter::status\fP
Various information about the status of code conversion\&. The contents depend on the type of coding system\&. It is assured that \fCstatus\fP is aligned so that any type of casting is safe and at least 256 bytes of memory space can be used\&.
.br
.PP
\fBvoid* MConverter::internal_info\fP
This member is for internally use only\&. An application program should never touch it\&.
.br
.SS MCodingInfoISO2022
.PP
Structure for a coding system of type \fBMCODING_TYPE_ISO_2022\fP\&.
.ad l
.nh
.PP
\fBFIELD DOCUMENTATION:\fP
.PP
.PP
\fBint MCodingInfoISO2022::initial_invocation[2]\fP
Table of numbers of an ISO2022 code extension element invoked to each graphic plane (Graphic Left and Graphic Right)\&. \-1 means no code extension element is invoked to that plane\&.
.br
.PP
\fBchar MCodingInfoISO2022::designations[32]\fP
Table of code extension elements\&. The Nth element corresponds to the Nth charset in \fBcharset_names\fP, which is an argument given to the \fBmconv_define_coding()\fP function\&.
.PP
If an element value is 0\&.\&.3, it specifies a graphic register number to designate the corresponds charset\&. In addition, the charset is initially designated to that graphic register\&.
.PP
If the value is \-4\&.\&.\-1, it specifies a graphic register number 0\&.\&.3 respectively to designate the corresponds charset\&. Initially, the charset is not designated to any graphic register\&.
.br
.PP
\fBunsigned MCodingInfoISO2022::flags\fP
Bitwise OR of \fCenum\fP \fCMCodingFlagISO2022\fP \&.
.br
.SS MCodingInfoUTF
.PP
Structure for extra information about a coding system of type \fBMCODING_TYPE_UTF\fP\&.
.ad l
.nh
.PP
\fBFIELD DOCUMENTATION:\fP
.PP
.PP
\fBint MCodingInfoUTF::code_unit_bits\fP
Specify bits of a code unit\&. The value must be 8, 16, or 32\&.
.br
.PP
\fBint MCodingInfoUTF::bom\fP
Specify how to handle the heading BOM (byte order mark)\&. The value must be 0, 1, or 2\&. The meanings are as follows:
.PP
0: On decoding, check the first two byte\&. If they are BOM, decide endian by them\&. If not, decide endian by the member \fCendian\fP\&. On encoding, produce byte sequence according to \fCendian\fP with heading BOM\&.
.PP
1: On decoding, do not handle the first two bytes as BOM, and decide endian by \fCendian\fP\&. On encoding, produce byte sequence according to \fCendian\fP without BOM\&.
.PP
2: On decoding, handle the first two bytes as BOM and decide ending by them\&. On encoding, produce byte sequence according to \fCendian\fP with heading BOM\&.
.PP
If is 8, the value has no meaning\&.
.br
.PP
\fBint MCodingInfoUTF::endian\fP
Specify the endian type\&. The value must be 0 or 1\&. 0 means little endian, and 1 means big endian\&.
.PP
If is 8, the value has no meaning\&.
.br
.SH "Enumeration Type Documentation"
.PP
.SS "enum \fBMConversionResult\fP"
.PP
Codes that represent the result of code conversion\&. One of these values is set in \fCMConverter\->result\fP\&.
.br
.PP
\fBEnumerator\fP
.in +1c
.TP
\fB\fIMCONVERSION_RESULT_SUCCESS \fP\fP
Code conversion is successful\&.
.TP
\fB\fIMCONVERSION_RESULT_INVALID_BYTE \fP\fP
On decoding, the source contains an invalid byte\&.
.TP
\fB\fIMCONVERSION_RESULT_INVALID_CHAR \fP\fP
On encoding, the source contains a character that cannot be encoded by the specified coding system\&.
.br
.TP
\fB\fIMCONVERSION_RESULT_INSUFFICIENT_SRC \fP\fP
On decoding, the source ends with an incomplete byte sequence\&.
.TP
\fB\fIMCONVERSION_RESULT_INSUFFICIENT_DST \fP\fP
On encoding, the destination is too short to store the result\&.
.TP
\fB\fIMCONVERSION_RESULT_IO_ERROR \fP\fP
An I/O error occurred in the conversion\&.
.SS "enum \fBMCodingType\fP"
.PP
Types of coding system\&.
.br
.PP
\fBEnumerator\fP
.in +1c
.TP
\fB\fIMCODING_TYPE_CHARSET \fP\fP
A coding system of this type supports charsets directly\&. The dimension of each charset defines the length of bytes to represent a single character of the charset, and a byte sequence directly represents the code\-point of a character\&. The m17n library provides the default decoding and encoding routines of this type\&.
.br
.TP
\fB\fIMCODING_TYPE_UTF \fP\fP
A coding system of this type supports byte sequences of a UTF (UTF\-8, UTF\-16, UTF\-32) like structure\&. The m17n library provides the default decoding and encoding routines of this type\&.
.br
.TP
\fB\fIMCODING_TYPE_ISO_2022 \fP\fP
A coding system of this type supports byte sequences of an ISO\-2022 like structure\&. The details of each structure are specified by \fBMCodingInfoISO2022\fP \&. The m17n library provides decoding and encoding routines of this type\&.
.br
.TP
\fB\fIMCODING_TYPE_MISC \fP\fP
A coding system of this type is for byte sequences of miscellaneous structures\&. The m17n library does not provide decoding and encoding routines of this type\&. They must be provided by the application program\&.
.br
.SS "enum \fBMCodingFlagISO2022\fP"
.PP
Bit\-masks to specify the detail of coding system whose type is MCODING_TYPE_ISO_2022\&.
.br
.PP
\fBEnumerator\fP
.in +1c
.TP
\fB\fIMCODING_ISO_RESET_AT_EOL \fP\fP
On encoding, reset the invocation and designation status to initial at end of line\&.
.br
.TP
\fB\fIMCODING_ISO_RESET_AT_CNTL \fP\fP
On encoding, reset the invocation and designation status to initial before any control codes\&.
.br
.TP
\fB\fIMCODING_ISO_EIGHT_BIT \fP\fP
Use the right graphic plane\&.
.br
.TP
\fB\fIMCODING_ISO_LONG_FORM \fP\fP
Use the non\-standard 4 bytes format for designation sequence for charsets JISX0208\-1978, GB2312, and JISX0208\-1983\&.
.br
.TP
\fB\fIMCODING_ISO_DESIGNATION_G0 \fP\fP
On encoding, unless explicitly specified, designate charsets to G0\&.
.br
.TP
\fB\fIMCODING_ISO_DESIGNATION_G1 \fP\fP
On encoding, unless explicitly specified, designate charsets except for ASCII to G1\&.
.br
.TP
\fB\fIMCODING_ISO_DESIGNATION_CTEXT \fP\fP
On encoding, unless explicitly specified, designate 94\-chars charsets to G0, 96\-chars charsets to G1\&.
.br
.TP
\fB\fIMCODING_ISO_DESIGNATION_CTEXT_EXT \fP\fP
On encoding, encode such charsets not conforming to ISO\-2022 by ESC % / \&.\&.\&., and encode non\-supported Unicode characters by ESC % G \&.\&.\&. ESC % @ \&. On decoding, handle those escape sequences\&.
.br
.TP
\fB\fIMCODING_ISO_LOCKING_SHIFT \fP\fP
Use locking shift\&.
.br
.TP
\fB\fIMCODING_ISO_SINGLE_SHIFT \fP\fP
Use single shift (SS2 (0x8E or ESC N), SS3 (0x8F or ESC O))\&.
.br
.TP
\fB\fIMCODING_ISO_SINGLE_SHIFT_7 \fP\fP
Use 7\-bit single shift 2 (SS2 (0x19))\&.
.br
.TP
\fB\fIMCODING_ISO_EUC_TW_SHIFT \fP\fP
Use EUC\-TW like special shifting\&.
.br
.TP
\fB\fIMCODING_ISO_ISO6429 \fP\fP
Use ISO\-6429 escape sequences to indicate direction\&. Not yet implemented\&.
.br
.TP
\fB\fIMCODING_ISO_REVISION_NUMBER \fP\fP
On encoding, if a charset has revision number, produce escape sequences to specify the number\&.
.br
.TP
\fB\fIMCODING_ISO_FULL_SUPPORT \fP\fP
Support all ISO\-2022 charsets\&.
.br
.TP
\fB\fIMCODING_ISO_FLAG_MAX \fP\fP
.SH "Variable Documentation"
.PP
.SS "MSymbol Mcoding_us_ascii"
.PP
Symbol for the coding system US\-ASCII\&. The symbol \fBMcoding_us_ascii\fP has name \fC'us\-ascii'\fP and represents a coding system for the CES US\-ASCII\&.
.br
.SS "MSymbol Mcoding_iso_8859_1"
.PP
Symbol for the coding system ISO\-8859\-1\&. The symbol \fBMcoding_iso_8859_1\fP has name \fC'iso\-8859\-1'\fP and represents a coding system for the CES ISO\-8859\-1\&.
.br
.SS "MSymbol Mcoding_utf_8"
.PP
Symbol for the coding system UTF\-8\&. The symbol \fBMcoding_utf_8\fP has name \fC'utf\-8'\fP and represents a coding system for the CES UTF\-8\&.
.br
.SS "MSymbol Mcoding_utf_8_full"
.PP
Symbol for the coding system UTF\-8\-FULL\&. The symbol \fBMcoding_utf_8_full\fP has name \fC'utf\-8\-full'\fP and represents a coding system that is a extension of UTF\-8\&. This coding system uses the same encoding algorithm as UTF\-8 but is not limited to the Unicode characters\&. It can encode all characters supported by the m17n library\&.
.br
.SS "MSymbol Mcoding_utf_16"
.PP
Symbol for the coding system UTF\-16\&. The symbol \fBMcoding_utf_16\fP has name \fC'utf\-16'\fP and represents a coding system for the CES UTF\-16 (RFC 2279)\&.
.br
.SS "MSymbol Mcoding_utf_16be"
.PP
Symbol for the coding system UTF\-16BE\&. The symbol \fBMcoding_utf_16be\fP has name \fC'utf\-16be'\fP and represents a coding system for the CES UTF\-16BE (RFC 2279)\&.
.br
.SS "MSymbol Mcoding_utf_16le"
.PP
Symbol for the coding system UTF\-16LE\&. The symbol \fBMcoding_utf_16le\fP has name \fC'utf\-16le'\fP and represents a coding system for the CES UTF\-16LE (RFC 2279)\&.
.br
.SS "MSymbol Mcoding_utf_32"
.PP
Symbol for the coding system UTF\-32\&. The symbol \fBMcoding_utf_32\fP has name \fC'utf\-32'\fP and represents a coding system for the CES UTF\-32 (RFC 2279)\&.
.br
.SS "MSymbol Mcoding_utf_32be"
.PP
Symbol for the coding system UTF\-32BE\&. The symbol \fBMcoding_utf_32be\fP has name \fC'utf\-32be'\fP and represents a coding system for the CES UTF\-32BE (RFC 2279)\&.
.br
.SS "MSymbol Mcoding_utf_32le"
.PP
Symbol for the coding system UTF\-32LE\&. The symbol \fBMcoding_utf_32le\fP has name \fC'utf\-32le'\fP and represents a coding system for the CES UTF\-32LE (RFC 2279)\&.
.br
.SS "MSymbol Mcoding_sjis"
.PP
Symbol for the coding system SJIS\&. The symbol \fBMcoding_sjis\fP has name \fC'sjis'\fP and represents a coding system for the CES Shift\-JIS\&.
.br
.SS "MSymbol Mtype"
Parameter key for \fBmconv_define_coding()\fP (which see)\&.
.br
.SS "MSymbol Mcharsets"
.SS "MSymbol Mflags"
.SS "MSymbol Mdesignation"
.SS "MSymbol Minvocation"
.SS "MSymbol Mcode_unit"
.SS "MSymbol Mbom"
.SS "MSymbol Mlittle_endian"
.SS "MSymbol Mutf"
Symbol that can be a value of the \fBMtype\fP parameter of a coding system used in an argument to the \fBmconv_define_coding()\fP function (which see)\&.
.br
.SS "MSymbol Miso_2022"
.SS "MSymbol Mreset_at_eol"
.SS "MSymbol Mreset_at_cntl"
.SS "MSymbol Meight_bit"
.SS "MSymbol Mlong_form"
.SS "MSymbol Mdesignation_g0"
.SS "MSymbol Mdesignation_g1"
.SS "MSymbol Mdesignation_ctext"
.SS "MSymbol Mdesignation_ctext_ext"
.SS "MSymbol Mlocking_shift"
.SS "MSymbol Msingle_shift"
.SS "MSymbol Msingle_shift_7"
.SS "MSymbol Meuc_tw_shift"
.SS "MSymbol Miso_6429"
.SS "MSymbol Mrevision_number"
.SS "MSymbol Mfull_support"
.SS "MSymbol Mmaybe"
.PP
Symbol whose name is 'maybe'\&. The variable \fBMmaybe\fP is a symbol of name \fC'maybe'\fP\&. It is used a value of \fBMbom\fP parameter of the function \fBmconv_define_coding()\fP (which see)\&.
.br
.SS "MSymbol Mcoding"
.PP
The symbol \fCMcoding\fP\&. Any decoded M\-text has a text property whose key is the predefined symbol \fCMcoding\fP\&. The name of \fCMcoding\fP is \fC'coding'\fP\&.
.br
.SH "Author"
.PP
Generated automatically by Doxygen for The m17n Library from the source code\&.
.SH COPYRIGHT
Copyright (C) 2001 Information\-technology Promotion Agency (IPA)
.br
Copyright (C) 2001\-2011 National Institute of Advanced Industrial Science and Technology (AIST)
.br
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License
.