Setmaps Format de fichier

Objectif

Définit le texte d'un fichier de mappe de jeu de codes et d'un fichier de mappe de terminal.

Descriptif

Le texte d'un fichier de mappe de jeu de codes consiste en une description du jeu de codes. Le texte d'un fichier de mappe de terminal est constitué d'un ensemble de règles.

Code-Définir le fichier de mappe

Le texte d'un fichier de mappe de jeu de codes est une description du jeu de codes. Il indique le paramètre Modules de convertisseur facultatif à insérer dans le flux. Le fichier de mappe de jeux de codes se trouve dans le répertoire /usr/lib/nls/csmap . Son nom est le nom du jeu de codes.

Le fichier de mappe de jeu de codes contient les lignes suivantes:

Article Descriptif
Nom : nom
Type : M | S
Gestion des octets: Code EUC
Ioctl EUC_WSET: w1 : d1, w2 : d2, w3 : d3
Convertisseur inférieur: /usr/lib/drivers/ lwconv
Convertisseur supérieur: /usr/lib/drivers/ upconv

Les lignes ont la signification suivante:

Article Descriptif
nom Indique le nom du jeu de codes. Il s'agit également du nom du fichier de mappe de jeu de codes.
type Indique le type de jeu de codes. Il peut s'agir de l'un des éléments suivants:
M
Indique un jeu de codes multi-octets.
S
Indique un jeu de codes à un octet.
Gestion des octets Indique le type de gestion multi-octets du jeu de codes. Cette ligne n'est requise que si Type est M. Il doit s'agir de EUC, indiquant un jeu de codes multioctets EUC.
Ioctl EUC_WSET Indique les paramètres de l'opération EUC_WSET ioctl. Cette ligne n'est requise que si Type est M. Les paramètres w1, w2et w3 indiquent la largeur de la mémoire du jeu de codes ; les paramètres d1, d2et d3 indiquent la largeur d'écran du jeu de codes.
Convertisseur inférieur  
Convertisseur supérieur Indique le Convertisseurs inférieurs et supérieurs à utiliser sur le flux. Cette ligne n'est requise que si le jeu de codes est un jeu de codes multi-octets non-EUC.

Par exemple, le fichier de mappe de jeu de codes pour l'ensemble de codes ISO 8859-1 contient les lignes suivantes:

Name:   ISO8859-1
Type:   S

Un autre exemple: le fichier de mappe de jeu de codes pour le jeu de codes IBM-943 contient les lignes suivantes:

Name :                  IBM-943
Type :                  M
Multibyte handling :    EUC
ioctl EUC_WSET :        2:2,1:1,2:2
lower converter :       /usr/lib/drivers/lc_sjis
upper converter :       /usr/lib/drivers/up_sjis

Fichier de mappe de terminal

Le texte d'un fichier de mappe de terminal est un ensemble de règles. Chaque règle a le format suivant:

pattern:replacement

La taille de la chaîne de modèle d'entrée est limitée à 10 caractères et la taille de la chaîne de caractères de remplacement est limitée à 16 caractères.

La chaîne de modèle peut inclure les caractères spéciaux suivants:

Article Descriptif
? Correspond à n'importe quel octet.
@x Correspond à cette règle uniquement si le processeur de modèle est à l'état X, où X est un octet. (Cette séquence ne correspond pas à un caractère dans la mémoire tampon d'entrée.)
\?, \@ou \\ Empêche l'interprétation du processeur de modèle? (point d'interrogation), @ (à la signature) ou \ (barre oblique inversée) en tant que caractères spéciaux.
\N -ddd Représente tout octet en notation octale.
\xdd Représente tout octet au format hexadécimal.

La chaîne de remplacement peut inclure les caractères spéciaux suivants:

Article Descriptif
$n Utilise le caractère Ndans la chaîne d'entrée correspondant à ce modèle, où N est un chiffre décimal.
@x Déplace le processeur de canevas dans l'état X. (Cette séquence ne fait pas partie de la chaîne de remplacement.)
\$, \@ou \\ Empêche le processeur de modèle d'interpréter $, @ ou \ en tant que caractères spéciaux.
\N -ddd Représente tout octet en notation octale.
\xdd Représente tout octet au format hexadécimal.

Fichiers

Article Descriptif
/usr/lib/nls/csmap/sbcs Mappe de jeu de codes pour une page de codes à un octet
/usr/lib/nls/csmap/IBM-943 Mappe de jeu de codes pour la page de codes IBM-943
/usr/lib/nls/csmap/IBM-eucJP Carte du jeu de codes pour la page de codes IBM-eucJP
/usr/lib/nls/csmap/IBM-eucKR Carte du jeu de codes pour la page de codes IBM-eucKR
/usr/lib/nls/csmap/IBM-eucTW Carte du jeu de codes pour la page de codes IBM-eucTW
/usr/lib/nls/termmap/*.in Fichiers de mappe d'entrée
/usr/lib/nls/termmap/*.out Fichiers de mappe de sortie