多字节代码集的打印机代码页转换表
转换表由不被两个代码集共享的代码点之间的映射组成。
即使 iconv 例程不支持代码集,打印机后端也可以通过使用 /usr/lib/lpd/pio/transJP 目录中提供的转换表来和其他代码集通信。
当 iconv 子例程不支持输入或输出代码集时,这个不受支持的代码集使用 /usr/lib/lpd/pio/transJP 目录中的转换表,转换一个支持的代码集或直接转换为处理代码集。 具有 root 用户权限的用户可以通过创建转换表为打印机添加新的代码集。
新转换表的命名约定为 FromCodeSetName_ToCodeSetName。 必须在 trans_dir 文件中定义所有转换表。 转换表中代码点的 f_cp 必须事先按照字母顺序排序。
trans_dir 和 codeset.alias 文件位于 /usr/lib/lpd/pio/transJP 目录中。 trans_dir 文件格式为:
FromCodeSetName ToCodeSetName NameofTranslationFile代码集别名在 codeset.alias 文件中定义。 codeset.alias 文件格式为:
CodeSetName AliasName ...例如,要在 IBM-943 打印机上打印以新代码集编写的 MBCS 文件,请使用下列步骤:
- 在 /usr/lib/lpd/pio/transJP 目录中创建转换表。 新文件的命名约定是 NewCodeSetName_IBM-943。
- 在 trans.dir 文件中定义转换表。 定义名为 NewCodeSet 的新代码集的格式为:
newcodeset IBM-943 newcodeset_IBM-943 - 如果需要,在 trans.alias 文件中定义别名。
- 将代码集名称作为输入代码附加在冒号文件中,例如:
::Ti::[NewCodeSetName, ...]IBM-943, ...