Tabelas de tradução de páginas de código de impressora para conjuntos de códigos multibyte

Uma tabela de tradução consiste em mapas entre pontos de código que não são compartilhados pelos dois conjuntos de código.

Um backend de impressora pode se comunicar com outros conjuntos de código mesmo se o conjunto de código não for suportado pela subroutine iconv usando uma tabela de tradução fornecida no diretório /usr/lib/lpd/pio/transJP .

Quando uma entrada ou um conjunto de código de saída não é suportado pelo subroutine iconv , o conjunto de código não suportado traduz um dos conjuntos de código que são suportados ou diretamente a um conjunto de códigos de processo usando as tabelas de tradução encontradas no diretório /usr/lib/lpd/pio/transJP . Os usuários com autoridade de root podem adicionar novos conjuntos de código para impressoras criando tabelas de tradução.

A convenção de nomenclatura para novas tabelas de tradução é FromCodeSetName_ToCodeSetName. Todas as tabelas de tradução devem ser definidas no arquivo trans_dir . O f_cp a partir de ponto de código em uma tabela de tradução deve ser classificado em ordem alfabética com antecedência.

Os arquivos trans_dir e codeset.alias estão no diretório /usr/lib/lpd/pio/transJP . O formato de arquivo trans_dir é:

FromCodeSetName ToCodeSetName NameofTranslationFile

Os aliases de conjunto de código são definidos no arquivo codeset.alias . O formato de arquivo codeset.alias é:

CodeSetName AliasName ...

Por exemplo, para imprimir um arquivo MBCS que foi escrito com um novo código configurado em uma impressora IBM-943 , use as seguintes etapas:

  1. Crie uma tabela de tradução no diretório /usr/lib/lpd/pio/transJP . A convenção de nomenclatura para o novo arquivo é NewCodeSetName_IBM-943.
  2. Defina a tabela de tradução no arquivo trans.dir . O formato para definir um novo conjunto de códigos denominado NewCodeSet é:
    newcodeset IBM-943 newcodeset_IBM-943
  3. Defina o nome do alias no arquivo trans.alias , se necessário.
  4. Anexe o nome do conjunto de código como código de entrada em um arquivo colon, por exemplo:
    ::Ti::[NewCodeSetName, ...]IBM-943, ...