Les notices MARC 21 contenues dans l'environnement MARC-8 sont encodées selon les spécifications ci-dessous. Tous les caractères contiennent 8 bits ou 24 bits chacun (chinois, japonais et coréen). On peut accéder à différents jeux de caractères grâce à des séquences d'échappement.
Dans la notice MARC 21, la position 9 du Guide renferme un blanc (ASCII 20(hex)) si la notice est encodée à l'aide des jeux MARC-8. La zone 066 sert également à indiquer dans la notice les jeux MARC-8 différents de ceux qui y apparaissent par défaut.
Le jeu de caractères codé MARC-8 renferme 8-bits. On peut généralement consulter les caractères individuels grâce à la numération hexadécimale. Les codes hexadécimaux des caractères peuvent être déterminés à partir du numéro de colonne et du numéro de rangée de la matrice de code. Par exemple, le caractère ESPACE, qui correspond à 00100000 en notation binaire, correspond au code 20 en numération hexadécimale (qui s'écrit également 20(hex)).
Des caractères de commande sont également définis dans le système ASCII, mais ils ne sont pas utilisés dans une notice de communications MARC 21 (p. ex., nul, ASCII 00(hex)). Certains caractères graphiques d'espacement en ASCII ressemblent étrangement à des caractères de regroupement morts en ANSEL (c.-à-d., l'accent circonflexe d'espacement (ASCII 3E(hex)), le soulignement d'espacement (ASCII 5F(hex)), l'accent grave d'espacement (ASCII 60(hex)) et le tilde d'espacement (ASCII 7E(hex))). Dans les notices MARC 21, l'utilisation des signes diacritiques ASCII se limite aux situations dont le but n'est pas de représenter une configuration lettre-signe diacritique, p. ex., l'encodage de noms de fichiers, etc.
Un jeu de caractères codé de 8 bits s'adapte à deux ensembles de 32 fonctions de commande (C0 et C1), deux ensembles de 94 caractères graphiques (G0 et G1), un caractère ESPACE, un caractère SUPPRIMER et deux positions de caractères réservées (voir Figure). On peut accéder aux fonctions de commande C0 et C1 ainsi qu'au caractère SPACE en tout temps puisqu'ils ne sont pas touchés par la désignation et l'appel des différents jeux graphiques.
Les jeux de caractères graphiques peuvent être représentés par des codes de 8 bits par caractère ou, lorsqu'un plus grand nombre de caractères doit être pris en charge par le jeu de caractères, par des codes de plus de 8 bits par caractère (généralement selon un multiple de 8).
Figure : MATRICE DU CODE à 8 bits
Un jeu de caractères codé de 8 bits s'adapte à deux ensembles de 32 fonctions de commande (C0 et C1), deux ensembles de 94 caractères graphiques (G0 et G1), un caractère ESPACE, un caractère SUPPRIMER et deux positions de caractères réservées (voir Figure). On peut accéder aux fonctions de commande C0 et C1 ainsi qu'au caractère SPACE en tout temps puisqu'ils ne sont pas touchés par la désignation et l'appel des différents jeux graphiques.
Les jeux de caractères graphiques peuvent être représentés par des codes de 8 bits par caractère ou, lorsqu'un plus grand nombre de caractères doit être pris en charge par le jeu de caractères, par des codes de plus de 8 bits par caractère (généralement selon un multiple de 8).
Selon la norme Code Extension Techniques for Use with 7-bit and 8-bit Character Sets (ANSI X3.41), la technique générale qui se rapporte aux jeux de codes exige d'abord la désignation de ces jeux, puis l'appel d'un jeu désigné comme la partie active. Pour ce qui est des codes à 8 bits, on peut désigner deux jeux de fonctions de commande et quatre jeux de caractères graphiques à un moment précis. Les jeux de fonctions de commande désignés sont les jeux C0 et C1. Les jeux de caractères graphiques désignés sont les jeux G0, G1, G2 et G3. Deux jeux Cn et deux jeux Gn peuvent faire l'objet d'un appel ou de la partie active à un moment précis. Si, par exemple, on désigne un jeu de caractères particulier comme le jeu G0 et qu'on appelle ce dernier afin qu'il représente la partie active, on doit désigner un autre jeu de caractères comme le jeu G0 ou désigner un autre jeu de caractères comme le jeu G1, G2 ou G3 et on doit appeler ce jeu comme la partie active si on désire changer la partie active. Les sections suivantes précisent la désignation et l'appel de jeux de codes dans le système MARC 21.
Les jeux de fonctions de commande C0 et C1 sont déjà déterminés dans le système MARC 21. Ils sont donc désignés et appelés par défaut et il n'est pas nécessaire de les désigner et de les appeler dans la notice.
Le jeu C0 est composé des 32 fonctions de commande définies dans le système ASCII. Ils sont représentés en tout temps par les codes 00(hex) à 1F(hex). Ce jeu renferme des caractères de commande de base, dont seulement quatre caractères peuvent être utilisés dans les notices MARC 21. Ces quatre caractères sont le caractère d'échappement (1B(hex)), le délimiteur de sous-zones (1F(hex)), le terminateur de zone (1E(hex)) et le terminateur de notice (1D(hex)). Le jeu C1 est un autre jeu de 32 caractères de commande possibles qui sont représentés en tout temps par les codes 80(hex) à 9F(hex). Quatre caractères de commande sont actuellement définis afin d'être utilisés dans les notices MARC 21 : caractère(s) de début de non-classement 88(hex), caractère(s) de fin de non-classement 89(hex), lien 8D(hex) et non-lien 8E(hex). Les deux derniers caractères de commande sont utilisés pour contrôler l'environnement des caractères graphiques dont la proximité aux autres caractères a une incidence sur le traitement. Les spécifications relatives à l'utilisation des caractères de non-classement sont contenues dans le format bibliographique MARC 21. Depuis le mois de juillet 1999, les règles d'utilisation n'étaient pas complètement définies. Lorsqu'elles le seront, elles seront publiées dans le format et elles seront disponibles à partir du site Web MARC (www.loc.gov/marc/).
Les graphiques ASCII constituent le jeu G0 par défaut et les graphiques ANSEL représentent le jeu G1 par défaut en ce qui a trait aux notices MARC 21. Les graphiques ASCII sont appelés à titre de partie active en ce qui a trait aux codes 21(hex) à 7E(hex). ANSEL, un jeu de caractères graphiques constitué de caractères de frappe morte et de caractères d'espacement ainsi que de signes spéciaux, est désigné comme le jeu graphique G1 et appelé comme la partie active pour les codes A1(hex) à FE(hex). Il s'agit des parties actives par défaut des données transcrites dans les zones et les sous-zones, à moins que d'autres jeux par défaut ne soient spécifiés dans la zone 066 de la notice (Présence de jeux de caractères). On peut accéder à d'autres jeux de caractères graphiques à l'aide de techniques spéciales. Lorsqu'on quitte une sous-zone, on doit désigner le système ASCII comme le jeu G0.
Il existe deux positions de caractères spéciaux à chaque bloc de codage «G» (p.ex., G0) attribué aux caractères graphiques; une au début (20(hex) ou A0(hex) d'un environnement à 8 bits) et une à la fin (7F(hex) ou FF(hex) d'un environnement à 8 bits). Le caractère d'espacement, qui représente à la fois un caractère graphique et un caractère de commande, occupe la position 20 (hex). Dans les notices MARC 21, on l'utilise avec les indicateurs, les éléments de données codés et les zones variables. On désigne également ce caractère comme un «blanc» dans la documentation MARC 21. Le caractère d'effacement occupe la seconde position des caractères spéciaux. Il s'agit d'un caractère de commande qui n'est pas utilisé dans les notices MARC 21.
Les caractères graphiques de frappe morte sont toujours utilisés conjointement avec d'autres caractères graphiques d'espacement. Plus d'un caractère graphique de frappe morte pourrait être associé avec un caractère graphique d'espacement. Le système MARC 21 n'utilise pas les équivalents d'espacement ASCII des caractères graphiques de frappe morte ANSEL pour encoder les signes diacritiques associés aux caractères alphabétiques. Les caractères graphiques de frappe morte qui sont utilisés conjointement avec les caractères graphiques d'espacement ASCII apparaissent dans les colonnes E et F (8 bits, jeu G1) du jeu de caractères ANSEL. Dans le jeu de caractères arabe, les caractères de frappe morte apparaissent dans les colonnes 4 à 7 et F (jeu de 8 bits). Dans l'alphabet grec, les caractères de frappe morte apparaissent dans la colonne 2. Pour ce qui est du jeu de caractères hébraïque, les caractères de frappe morte apparaissent dans la colonne 4 (8 bits, jeu G0). Dans une chaîne de caractères, ces caractères de frappe morte précèdent le caractère qu'ils modifient. Lorsqu'un caractère graphique requiert des modificateurs de caractères multiples, ils sont entrés selon l'ordre dans lequel ils apparaissent et ils se lisent de gauche à droite (ou de droite à gauche pour les textes écrits de droite à gauche) et de haut en bas.
Il existe actuellement deux techniques dans le système MARC 21 permettant d'accéder à un autre jeu de caractères graphiques. La première consiste en une technique spéciale qui permet d'accéder à un petit nombre de caractères; l'autre consiste à utiliser des séquences d'échappement régulières afin d'accéder à tous les jeux de caractères bien définis. Voici une explication de ces deux techniques.
Trois symboles grecs (alpha, bêta et gamma), quatorze indices et quatorze exposants ont été placés dans trois jeux de caractères distincts auxquels on peut accéder grâce à une séquence d'échappement de blocage. La technique utilisée pour accéder à ces caractères ne fait pas partie du cadre spécifié dans les normes ANSI X3.41 ou ISO 2022. Ces trois jeux spéciaux sont désignés comme les jeux G0 pour les codes 21(hex) à 7E(hex) au moyen d'une séquence à deux caractères composée du caractère Échappement et d'un caractère graphique ASCII. Les séquences d'échappement spécifiques aux trois jeux spéciaux sont les suivantes :
Lorsqu'un de ces jeux de caractères est désigné à l'aide d'une séquence d'échappement, cette dernière effectue un blocage, ce qui signifie que tous les caractères qui suivent la séquence d'échappement sont interprétés comme faisant partie du nouveau jeu de caractères désigné jusqu'à ce qu'on effectue une autre séquence d'échappement. Ce prolongement de la séquence d'échappement pourrait désigner de nouveau le système ASCII ou désigner un autre jeu de caractères spécial comme le jeu G0. Pour désigner de nouveau le système ASCII, on utilise la séquence d'échappement à deux caractères suivante :
Tous les autres jeux de caractères graphiques secondaires devraient être désignés et appelés selon la norme ANSI X3.41, Code Extension Techniques for Use with 7-bit and 8-bit Character Sets ou la norme internationale ISO 2022. En ce moment, on accède aux autres jeux en les désignant comme le jeu G0 (codes 21(hex) à 7E(hex)) ou le jeu G1 (codes A1(hex) à FE(hex)). Les jeux de caractères graphiques secondaires sont désignés au moyen d'une séquence d'échappement à caractères multiples composée du caractère ÉCHAPPEMENT, d'une séquence de caractères intermédiaires et d'une séquence de caractères finaux selon la forme ECH I F, où :
ECH représente le caractère ÉCHAPPEMENT (ASCII 1B(hex)).
I représente la séquence des caractères intermédiaires, dont la longueur peut varier d'un à plusieurs caractères et qui indique si le jeu est désigné comme le jeu G0 ou le jeu G1 et si le jeu renferme un multiplet ou plusieurs multiplets pour chaque caractère. On peut utiliser les valeurs suivantes pour la séquence des caractères intermédiaires :
F représente le caractère final de la séquence d'échappement qui identifie le jeu de caractères graphiques désigné. Les codes associés aux caractères finaux de plusieurs jeux sont attribués par l'autorité d'enregistrement de l'Organisation internationale de normalisation (ISO). Les codes attribués à ces jeux sont compris entre 40(hex) et 7E(hex); on peut attribuer un code hors de cette gamme aux autres jeux de caractères prévus pour l'utilisation locale. Les caractères finaux des jeux de caractères graphiques secondaires dont l'utilisation a été approuvée dans le système MARC 21 sont les suivants :
Lorsqu'on utilise des jeux de caractères graphiques secondaires auxquels on a accédé à l'aide de la deuxième technique dans une notice bibliographique MARC 21, la zone 066 (Jeux de caractères présents) doit apparaître dans la notice. Les jeux de caractères graphiques secondaires sont identifiés dans la sous-zone ‡c de la zone 066 aux fins du traitement par machine. [Voir Format MARC 21 pour les données bibliographiques.]
On peut effectuer des séquences d'échappement servant à désigner des caractères graphiques secondaires lorsqu'on a besoin d'autres caractères, p.ex., à l'intérieur d'un mot, au début d'une sous-zone ou au beau milieu d'une sous-zone. Cependant, la séquence d'échappement ne remplace jamais un espacement.
Les séquences d'échappement engendrent un blocage. Le jeu de caractères graphiques secondaire demeure celui qui est désigné comme le jeu Gn jusqu'à ce qu'un autre jeu de caractères graphiques soit désigné. Si les graphiques ASCII ont été déplacés comme le jeu G0 à l'intérieur d'une sous-zone, les graphiques ASCII doivent être désignés comme le jeu G0 avant les délimiteurs de sous-zones et les caractères d'arrêt de la zone. Certains jeux de caractères secondaires incluent des signes de ponctuation distincts qui répètent ceux qui sont définis dans le système ASCII. On peut les utiliser lorsque les graphiques secondaires sont utilisés.
Exemple:
Lorsque le texte d'une zone qui renferme un indicateur pour les caractères à ignorer dans le classement débute par une séquence d'échappement, les multiplets de la séquence d'échappement ne figurent pas au décompte des caractères à ignorer dans le classement.
Le contenu d'une zone d'une notice MARC 21 est toujours enregistré selon un ordre logique, du premier au dernier caractère, peu importe l'orientation de la zone. Lorsque les données d'une sous-zone sont écrites de droite à gauche (hébreu ou arabe), la paire de sous-zones est suivie de la séquence d'échappement qui appelle le jeu de caractères du texte puis immédiatement le premier caractère du texte (c.-à-d., exactement de la même façon que dans le cas d'un texte écrit de gauche à droite). Le premier caractère du texte écrit de droite à gauche n'apparaît pas à la fin de la zone juste avant le caractère d'arrêt de la zone.
Exemple : Ordre des données d'une notice MARC
Ordre des données telles qu'elles devraient apparaître
Il pourrait exister une exception à l'ordre logique des données contenues dans un environnement MARC-8, soit les chiffres des jeux de caractères arabe et hébreu. Il existe plusieurs options qui consistent à encoder les chiffres des textes arabes ou hébreux dans l'environnement MARC-8. Les chiffres apparaissent dans le jeu de caractères latin de base (ASCII) (les chiffres s'écrivent 1, 2, etc.), le jeu de caractères hébraïque (les chiffres s'écrivent 1, 2, etc.) et le jeu de caractères arabe (les chiffres s'écrivent selon la forme « hindi » traditionnelle). Les nombres qui renferment plusieurs chiffres dans les zones de texte hébreu ou arabe encodés à l'aide du jeu de caractères latin de base sont toujours entrés selon un ordre logique. Ceux qui sont encodés à l'aide des chiffres des jeux de caractères arabe ou hébreu ont peut-être été entrés selon un ordre visuel, en fonction de la mise en œuvre. Les utilisateurs peuvent choisir d'utiliser les systèmes d'encodage de l'alphabet latin de base ou des alphabets hébreu et arabe.
L'orientation de zone de gauche à droite représente l'orientation par défaut des zones des notices MARC 21. Aucune désignation spéciale quant à l'orientation de la zone n'est requise pour les jeux de caractères dont l'orientation est de gauche à droite. Lorsqu'une zone contient des données dont l'orientation est de droite à gauche, on indique l'orientation à l'aide d'un code d'orientation de zone ajouté à la sous-zone ‡6 (Liaison). [Voir Format MARC 21 pour les données bibliographiques, Annexe A, sous-zone ‡6.]
La décision qui consiste à désigner l'orientation de la zone de droite à gauche dépend de l'importance des données du texte qu'on lit de droite à gauche au niveau de la zone et de la notice. Une zone peut contenir un mélange de textes. L'orientation de zone de droite à gauche est habituellement désignée dans les cas suivants :
Le caractère de remplissage sert principalement à maintenir la structure MARC tout en réduisant la précision requise pour le codage. Pour ce qui est des notices MARC 21, l'utilisation de ce caractère de remplissage se limite aux zones de contrôle variables comme la zone 008 (Éléments de données de longueur fixe). On ne peut l'utiliser dans le guide ou les étiquettes, les indicateurs ou les codes de sous-zones. La présence d'un caractère de remplissage dans une zone de contrôle variable indique que le créateur de la notice n'a pas tenté de lui attribuer une valeur. Par opposition, l'utilisation d'une valeur de code pour l'étiquette «inconnu» d'une zone de contrôle variable indique que le créateur de la notice a tenté de fournir une valeur, mais qu'il a été incapable de déterminer la valeur appropriée. Le caractère de remplissage peut être utilisé aux positions de caractères non définies et aux positions de caractères auxquelles le format MARC 21 définit une ou plusieurs valeurs. L'utilisation du caractère de remplissage dans les zones de contrôle variables est habituellement régie par la politique de l'organisme qui entre les données.
Aux fins de communications, le caractère de remplissage est représenté par le code 7C(hex) dans le jeu de caractères ASCII étendu de 8 bits. Le caractère de remplissage est représenté graphiquement par une barre verticale ( | ).
Dans les documents MARC 21, les sous-jeux de caractères sont identifiés par les noms et les définitions suivants :