formato de arquivo setmaps

Propósito

Define o texto de um arquivo de mapa de conjunto de código e um arquivo de mapas do terminal.

Descrição

O texto de um arquivo de mapa do conjunto de código consiste em uma descrição do conjunto de código. O texto de um arquivo de mapas terminais consiste em um conjunto de regras.

Arquivo do Mapa do Código-Conjunto

O texto de um arquivo de mapa do conjunto de código é uma descrição do conjunto de código. Ele especifica o módulos conversores opcional para empurrar no fluxo. O arquivo de mapa do conjunto de código está localizado no diretório /usr/lib/nls/csmap . Seu nome é o nome do conjunto de código.

O arquivo de mapa do conjunto de código contém as seguintes linhas:

Item Descrição
Nome: nome
Tipo: M | S
Manipulação multibyte: EUC
ioctl EUC_WSET: w1 : d1, w2 : d2, w3 : d3
conversor inferior: /usr/lib/drivers/ lwconv
conversor superior: /usr/lib/drivers/ upconv

As linhas têm o seguinte significado:

Item Descrição
Nome Especifica o nome do conjunto de código. É também o nome do arquivo de mapa do conjunto de código.
Tipo Especifica o tipo de conjunto de código. Pode ser um dos seguintes:
M
Denota um conjunto de código multibyte.
S
Denota um conjunto de código de byte único.
Manipulação multibyte Especifica o tipo de manipulação multibyte do conjunto de código. Essa linha é necessária apenas se Tipo for M. Ele deve ser EUC, denotando um conjunto de código multibyte do EUC.
ioctl EUC_WSET Especifica os parâmetros para a operação ioctl EUC_WSET . Essa linha é necessária apenas se Tipo for M. Os parâmetros w1, w2e w3 especificam a largura de memória do conjunto de código; os parâmetros d1, d2e d3 especificam a largura da tela do conjunto de código.
conversor inferior  
conversor superior Especifica o conversores inferiores e superiores a usar no fluxo. Esta linha é necessária apenas se o conjunto de código for um conjunto de código multibyte não EUC.

Por exemplo, o arquivo de mapa do conjunto de código para o conjunto de código ISO 8859-1 conteria as seguintes linhas:

Name:   ISO8859-1
Type:   S

Outro exemplo: o arquivo de mapa do conjunto de código para o conjunto de código IBM-943 conteria as seguintes linhas:

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

Arquivo do Mapa Terminal

O texto de um arquivo de mapas terminais é um conjunto de regras. Cada regra tem o seguinte formato:

pattern:replacement

O tamanho da cadeia de padrão de entrada é limitado a 10 caracteres de comprimento e o tamanho da sequência de padrões de substituição é limitado a 16 caracteres de comprimento.

A sequência de padrões pode incluir os seguintes caracteres especiais:

Item Descrição
? Corresponde qualquer byte único.
@x Corresponde esta regra apenas se o processador padrão estiver no estado x, onde x é qualquer byte único. (Esta sequência não corresponde a um caractere no buffer de entrada.)
\?, \@ou \\ Evita que o processador de padrões interprete? (ponto de interrogação), @ (em sinal), ou \ (barra invernada) como caracteres especiais.
\ddd Representa qualquer byte em notação octal.
\xdd Representa qualquer byte em notação hexadecimal.

A sequência de substituição pode incluir os seguintes caracteres especiais:

Item Descrição
$n Utiliza o nésimo caractere na string de entrada que correspondeu a este padrão, onde n é um dígito decimal.
@x Move o processador de padrão no estado x. (Esta sequência não se torna parte da cadeia de substituição.)
\$, \@ou \\ Evita que o processador de padrões interprete $, @, ou \ como caracteres especiais.
\ddd Representa qualquer byte em notação octal.
\xdd Representa qualquer byte em notação hexadecimal.

Arquivos

Item Descrição
/usr/lib/nls/csmap/sbcs Mapa do conjunto de códigos para uma página de código de byte único
/usr/lib/nls/csmap/IBM-943 Mapa do conjunto de códigos para a página de código IBM-943
/usr/lib/nls/csmap/IBM-eucJP Mapa do conjunto de códigos para a página de código IBM-eucJP
/usr/lib/nls/csmap/IBM-eucKR Mapa do conjunto de códigos para a página de código IBM-eucKR
/usr/lib/nls/csmap/IBM-eucTW Mapa do conjunto de códigos para a página de código IBM-eucTW
/usr/lib/nls/termmap/*.in Arquivos de mapa de entrada
/usr/lib/nls/termmap/*.out Arquivos de mapa de saída