m17nCharset(3m17n)

๐Ÿ“ฆ
version 1.8.4 ยท 2 versions
, in debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

๐Ÿ’– m17nCharset ๐Ÿ’–

okay so bestie, this page is m17nCharset(3m17n) from The m17n Library, and it's literally all about charset objects and the API that goes with them. it's giving foundational, it's giving main character. let's get into it ๐Ÿซถ


๐ŸŒธ NAME ๐ŸŒธ

m17nCharset_-_Cha โ€” Charset objects and API for them. periodt.

๐Ÿฆ‹ SYNOPSIS ๐Ÿฆ‹

Macros

#define MCHAR_INVALID_CODE
  • Invalid code-point. ๐Ÿ’€

Functions

MSymbol mchar_define_charset (const char *name, MPlist *plist)
MSymbol mchar_resolve_charset (MSymbol symbol)
int mchar_list_charset (MSymbol **symbols)
int mchar_decode (MSymbol charset_name, unsigned code)
unsigned mchar_encode (MSymbol charset_name, int c)
int mchar_map_charset (MSymbol charset_name, void(*func)(int from, int to, void *arg), void *func_arg)
  • mchar_define_charset โ€” defines a charset. no one-liner given here bestie, it has its own whole page, go read that one ๐Ÿ’…
  • mchar_resolve_charset โ€” Resolve charset name. ๐Ÿ”
  • mchar_list_charset โ€” List symbols representing charsets.
  • mchar_decode โ€” Decode a code-point.
  • mchar_encode โ€” Encode a character code.
  • mchar_map_charset โ€” Call a function for all the characters in a specified charset.

Variables

MSymbol Mcharset

Variables: Symbols representing a charset ๐ŸŒˆ

Each of the following symbols represents a predefined charset. slay.

  • MSymbol Mcharset_ascii โ€” Symbol representing the charset ASCII.
  • MSymbol Mcharset_iso_8859_1 โ€” Symbol representing the charset ISO/IEC 8859/1.
  • MSymbol Mcharset_unicode โ€” Symbol representing the charset Unicode.
  • MSymbol Mcharset_m17n โ€” Symbol representing the largest charset.
  • MSymbol Mcharset_binary โ€” Symbol representing the charset for ill-decoded characters.

Variables: Parameter keys for mchar_define_charset() ๐Ÿ”‘

These are the predefined symbols to use as parameter keys for the function mchar_define_charset() (which see).

  • MSymbol Mmethod
  • MSymbol Mdimension
  • MSymbol Mmin_range
  • MSymbol Mmax_range
  • MSymbol Mmin_code
  • MSymbol Mmax_code
  • MSymbol Mascii_compatible
  • MSymbol Mfinal_byte
  • MSymbol Mrevision
  • MSymbol Mmin_char
  • MSymbol Mmapfile
  • MSymbol Mparents
  • MSymbol Msubset_offset
  • MSymbol Mdefine_coding
  • MSymbol Maliases

Variables: Symbols representing charset methods ๐Ÿงš

These are the predefined symbols that can be a value of the Mmethod parameter of a charset used in an argument to the mchar_define_charset() function.

A method specifies how code-points and character codes are converted. See the documentation of the mchar_define_charset() function for the details. iykyk.

  • MSymbol Moffset
  • MSymbol Mmap โ€” Symbol for the map type method of charset.
  • MSymbol Munify โ€” Symbol for the unify type method of charset.
  • MSymbol Msubset
  • MSymbol Msuperset โ€” Symbol for the superset type method of charset.

โœจ Detailed Description โœจ

Charset objects and API for them. ๐Ÿ’œ

The symbol Mcharset.

The m17n library uses charset objects to represent a coded character sets (CCS). The m17n library supports many predefined coded character sets. and yeah, application programs can add other charsets too. A character can belong to multiple charsets. no cap.

The m17n library distinguishes the following three concepts:

  • A code-point is a number assigned by the CCS to each character. Code-points may or may not be continuous. The type unsigned is used to represent a code-point. An invalid code-point is represented by the macro MCHAR_INVALID_CODE.
  • A character index is the canonical index of a character in a CCS. The character that has the character index N occupies the *N*th position when all the characters in the current CCS are sorted by their code-points. Character indices in a CCS are continuous and start with 0.
  • A character code is the internal representation in the m17n library of a character. A character code is a signed integer of 21 bits or longer.

Each charset object defines how characters are converted between code-points and character codes. To encode means converting code-points to character codes and to decode means converting character codes to code-points. ๐Ÿ”

Any decoded M-text has a text property whose key is the predefined symbol Mcharset. The name of Mcharset is 'charset'.

๐Ÿ“œ Macro Definition Documentation ๐Ÿ“œ

#define MCHAR_INVALID_CODE

Invalid code-point. The macro MCHAR_INVALID_CODE gives the invalid code-point. ๐Ÿšซ

๐ŸŽ€ Variable Documentation ๐ŸŽ€

MSymbol Mcharset_ascii

Symbol representing the charset ASCII. The symbol Mcharset_ascii has name 'ascii' and represents the charset ISO 646, USA Version X3.4-1968 (ISO-IR-6).

MSymbol Mcharset_iso_8859_1

Symbol representing the charset ISO/IEC 8859/1. The symbol Mcharset_iso_8859_1 has name 'iso-8859-1' and represents the charset ISO/IEC 8859-1:1998.

MSymbol Mcharset_unicode

Symbol representing the charset Unicode. The symbol Mcharset_unicode has name 'unicode' and represents the charset Unicode. ๐Ÿฆ‹

MSymbol Mcharset_m17n

Symbol representing the largest charset. The symbol Mcharset_m17n has name 'm17n' and represents the charset that contains all characters supported by the m17n library. the biggest one, the queen ๐Ÿ‘‘

MSymbol Mcharset_binary

Symbol representing the charset for ill-decoded characters. The symbol Mcharset_binary has name 'binary' and represents the fake charset which the decoding functions put to an M-text as a text property when they encounter an invalid byte (sequence).

See Code Conversion for more details. ๐Ÿ™ˆ

MSymbol Mmethod

MSymbol Mdimension

MSymbol Mmin_range

MSymbol Mmax_range

MSymbol Mmin_code

MSymbol Mmax_code

MSymbol Mascii_compatible

MSymbol Mfinal_byte

MSymbol Mrevision

MSymbol Mmin_char

MSymbol Mmapfile

MSymbol Mparents

MSymbol Msubset_offset

MSymbol Mdefine_coding

MSymbol Maliases

MSymbol Moffset

@brief Symbol for the offset type method of charset.

The symbol #Moffset has the name "offset" and, when used as a value of Mmethod parameter of a charset, it means that the conversion of code-points and character codes of the charset is done by this calculation:

CHARACTER-CODE = CODE-POINT - MIN-CODE + MIN-CHAR

where, MIN-CODE is a value of Mmin_code parameter of the charset, and MIN-CHAR is a value of Mmin_char parameter. math era fr fr ๐Ÿงฎ

MSymbol Mmap

Symbol for the map type method of charset. The symbol Mmap has the name 'map' and, when used as a value of Mmethod parameter of a charset, it means that the conversion of code-points and character codes of the charset is done by map looking up. The map must be given by Mmapfile parameter. ๐Ÿ—บ๏ธ

MSymbol Munify

Symbol for the unify type method of charset. The symbol Munify has the name 'unify' and, when used as a value of Mmethod parameter of a charset, it means that the conversion of code-points and character codes of the charset is done by map looking up and offsetting. The map must be given by Mmapfile parameter. For this kind of charset, a unique continuous character code space for all characters is assigned.

If the map has an entry for a code-point, the conversion is done by looking up the map. Otherwise, the conversion is done by this calculation:

CHARACTER-CODE = CODE-POINT - MIN-CODE + LOWEST-CHAR-CODE

where, MIN-CODE is a value of Mmin_code parameter of the charset, and LOWEST-CHAR-CODE is the lowest character code of the assigned code space.

MSymbol Msubset

@brief Symbol for the subset type method of charset.

The symbol #Msubset has the name "subset" and, when used as a value of Mmethod parameter of a charset, it means that the charset is a subset of a parent charset. The parent charset must be given by Mparents parameter. The conversion of code-points and character codes of the charset is done conceptually by this calculation:

CHARACTER-CODE = PARENT-CODE (CODE-POINT) + SUBSET-OFFSET

where, PARENT-CODE is a pseudo function that returns a character code of CODE-POINT in the parent charset, and SUBSET-OFFSET is a value given by Msubset_offset parameter.

MSymbol Msuperset

Symbol for the superset type method of charset. The symbol Msuperset has the name 'superset' and, when used as a value of Mmethod parameter of a charset, it means that the charset is a superset of parent charsets. The parent charsets must be given by Mparents parameter. ๐Ÿ‘‘

MSymbol Mcharset


๐Ÿ’… Author ๐Ÿ’…

Generated automatically by Doxygen for The m17n Library from the source code. (not me, I'm just the messenger ๐Ÿซถ)

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>.


okay that's the whole page bestie, you ate that ๐Ÿ’– it's Version 1.8.4, dated Mon Sep 25 2023, and it lives at m17nCharset(3m17n). go forth and charset responsibly โœจ๐ŸŽ€๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from