Define a charset.
MSymbol mchar_define_charset (const char * name, MPlist * plist)
Define a charset. The mchar_define_charset() function defines a new charset and makes it accessible via a symbol whose name is name. plist specifies parameters of the charset as below:
Key is Mmethod, value is a symbol.
The value specifies the method for decoding/encoding code-points in the charset. It must be Moffset, Mmap (default), Munify, Msubset, or Msuperset.
Key is Mdimension, value is an integer
The value specifies the dimension of code-points of the charset. It must be 1 (default), 2, 3, or 4.
Key is Mmin_range, value is an unsigned integer
The value specifies the minimum range of a code-point, which means that the Nth byte of the value is the minimum Nth byte of code-points of the charset. The default value is 0.
Key is Mmax_range, value is an unsigned integer
The value specifies the maximum range of a code-point, which means that the Nth byte of the value is the maximum Nth byte of code-points of the charset. The default value is 0xFF, 0xFFFF, 0xFFFFFF, or 0xFFFFFFFF if the dimension is 1, 2, 3, or 4 respectively.
Key is Mmin_code, value is an unsigned integer
The value specifies the minimum code-point of the charset. The default value is the minimum range.
Key is Mmax_code, value is an unsigned integer
The value specifies the maximum code-point of the charset. The default value is the maximum range.
Key is Mascii_compatible, value is a symbol
The value specifies whether the charset is ASCII compatible or not. If the value is Mnil (default), it is not ASCII compatible, else compatible.
Key is Mfinal_byte, value is an integer
The value specifies the final byte of the charset registered in The International Registry. It must be 0 (default) or 32..127. The value 0 means that the charset is not in the registry.
Key is Mrevision, value is an integer
The value specifies the revision number of the charset registered in The International Registry. It must be 0..127. If the charset is not in The International Registry, the value is ignored. The value 0 means that the charset has no revision number.
Key is Mmin_char, value is an integer
The value specifies the minimum character code of the charset. The default value is 0.
Key is Mmapfile, value is an M-text
If the method is Mmap or Munify, a data that contains mapping information is added to the m17n database by calling the function mdatabase_define() with the value as an argument extra_info, i.e. the value is used as a file name of the data.
Otherwise, this parameter is ignored.
Key is Mparents, value is a plist
If the method is Msubset, the value must is a plist of length 1, and the value of the plist must be a symbol representing a parent charset.
If the method is Msuperset, the value must be a plist of length less than 9, and the values of the plist must be symbols representing subset charsets.
Otherwise, this parameter is ignored.
Key is Mdefine_coding, value is a symbol
If the dimension of the charset is 1, the value specifies whether or not to define a coding system of the same name whose type is Mcharset. A coding system is defined if the value is not Mnil.
Otherwise, this parameter is ignored.
If the operation was successful, mchar_define_charset() returns a symbol whose name is name. Otherwise it returns Mnil and assigns an error code to the external variable merror_code.
MERROR_CHARSET
Copyright (C) 2001 Information-technology Promotion Agency (IPA)
Copyright (C) 2001-2011 National Institute of Advanced Industrial Science and Technology (AIST)
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License <http://www.gnu.org/licenses/fdl.html>.