À https://en.wikipedia.org/wiki/Character_encoding#Terminology (et à+depuis
https://en.wikipedia.org/wiki/Code_point),
lisez les définitions des types de concept suivants :
Character, Character_set, Latin_character_set, Character_repertoire,
Glyph, Abstract_character, Code_point, Code_page, Code_space et Code_unit.
Compte-tenu de ces définitions, représentez (en FL, FL-DF ou UML) toutes les relations de
type "sous-type" (s, \.), exclusion (e, £), "member" (m), "part" (p) et "representation" (repr, r)
reliant ces types de concept (ceux listés ci-dessus) ou leurs instances.
Pour les représenter|organiser de manière plus claire et plus précise,
n'hésitez pas à représenter d'autres types de concept que ceux listés ci-dessus.
Notes:
- "representation", "member" et leurs inverses impliquent "exclusion",
donc inutile de spécifier ces relations d'exclusion là.
- "exclusion" réfère à
"subtype_exclusion" (des types "subtype exclusifs" ne peuvent avoir des sous-types communs),
pas à "part_exclusion" (des choses "part exclusives" ne peuvent avoir des parties communes),
- une relation "part" entre deux ensembles est une relation "sous-ensemble".
- pour les relations qui ne sont pas des "relations depuis un type"
(donc pour les relations "repr" et "member", pas les autres),
le quantificateur de la source est implicitement "any" (comme en UML pour de telles relations).
Information_object = Abstract_representation_object Abstract_description_instrument-or-result, /^ (Representation_object = Description_instrument-or-result, /^ (Description_object = Description_content-or-instrument-or-result-or-container) ), \. p{ (Information_object_that_is_not_a_collection //rappel: "p{...}"→partition, "e{...}"→exclusion \. e{ (Character //minimal unit of text that has semantic value member of: 1..* Character_set, \. e{ Glyph //graphical representation of a character, in a particular font (Abstract_character //each character be "indexed" via many "code points" repr: 0..* Code_point) // (one in each Coded_character_set|Code_space } ) // or several ones if different glyphs are represented) (Code_point = Character_indexing_result Code_position, //index|value in a Code_space member of: 1..* Code_space 0..* Code_page, repr: 0..* Code_unit) //since each Code_point may be "encoded" in many ways }) (Information_object_that_is_a_collection //hence, a collection of information objects \. e{ (Character_set \. e{ (Abstract-character_set member: 1..* Abstract_character, repr: 0..* Coded_character_set, \. (Character_set_for_a_particular_script \. e{ Latin_character_set Greek_character_set Cyrillic_character_set } ) Character_repertoire ) //set of abstract characters that a system may support (Coded_character_set //CCS; indexes/associates abstract characters by/to code points repr of: 1..* Abstract-character-set, member: 1..* Code_point, instance: Windows_code_pages Unicode, part: 1..* Code_space, //Unicode is/has only 1 Code_(page/)space \. (Code_space part: 0..* Code_page) //interval of code points (Code_page = Charmap Charset) //e.g. 1 per Character_set_for_a_particular_script ) // or 1 per country }) (Code_unit = Character_encoding_result Code_value, //bit sequence; in UCS-4: 4 bytes repr of: 1..* Code_point ) }) }.