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:
|
| 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: SOutro 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_sjisArquivo do Mapa Terminal
O texto de um arquivo de mapas terminais é um conjunto de regras. Cada regra tem o seguinte formato:
pattern:replacementO 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 |