setmaps 文件格式
用途
定义一个代码集映射文件和一个终端映射文件的文本。
描述
代码集映射文件的文本由该代码集的描述组成。 终端映射文件的文本由一组包含规则的内容组成。
代码集映射文件
代码集映射文件的文本是对该代码集的描述。 它指定要在流上推送的可选 转换器模块 。 代码集映射文件位于 /usr/lib/nls/csmap 目录中。 它的名称是代码集名称。
该代码集映射文件包含以下行:
| 项 | 描述 |
|---|---|
| 名称: | 名称 |
| 类型: | M | S |
| 多字节处理: | EUC |
| ioctl EUC_WSET: | w1:d1, w2:d2, w3:d3 |
| 下转换器: | /usr/lib/drivers/ lwconv |
| 上方转换器: | /usr/lib/drivers/ upconv |
这些行具有以下含义:
| 项 | 描述 |
|---|---|
| 名称 | 指定代码集名称。 它同时也是代码集映射文件名。 |
| TYPE | 指定代码集类型。 它可以是下列其中一项:
|
| 多字节处理 | 指定该代码集的多字节处理的类型。 仅当 类型 为 M时,该行才是必需的。 它必须为 EUC(表示 EUC 多字节代码集)。 |
| ioctl EUC_WSET | 指定用于 EUC_WSET ioctl 操作的参数。 仅当 类型 为 M时,该行才是必需的。 w1, w2和 w3 参数指定了代码集的内存宽度; d1, d2和 d3 参数指定了代码集的屏幕宽度。 |
| 下转换器 | |
| 上转换器 | 指定要在流上使用的 下转换器和上转换器 。 仅当代码集是非 EUC 多字节代码集时,该行才是必需的。 |
例如, ISO 1 代码集的代码集映射文件将包含下列行:
Name: ISO8859-1
Type: S另一个示例: IBM-943 代码集的代码集映射文件将包含下列行:
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终端映射文件
终端映射文件的文本是一个规则集。 每个规则都具有以下格式:
pattern:replacement输入模式字符串的大小限制为 10 个字符的长度,而替换模式字符串的大小限制为 16 个字符的长度。
该模式字符串可以包含以下特殊字符:
| 项 | 描述 |
|---|---|
| ? | 匹配任何单个字节。 |
| @x | 仅当模式处理器处于 X状态 (其中 X 是任何单字节) 时,才与此规则匹配。 (此序列与输入缓冲区中的字符不匹配。) |
| \?, \@或 \\ | 是否阻止模式处理器解释? (问号) , @ (at 符号) 或 \ (反斜杠) 作为特殊字符。 |
| \ddd | 以八进制表示法表示任何字节。 |
| \xdd | 以十六进制表示法表示任何字节。 |
替换字符串可以包括以下特殊字符:
| 项 | 描述 |
|---|---|
| $n | 在输入字符串中使用与此模式匹配的第 N个字符,其中 N 是十进制数字。 |
| @x | 将模式处理器移动到状态 X。 (此序列不会成为替换字符串的组成部分。) |
| \$, \@或 \\ | 防止将模式处理器解释为 $, @ 或 \ 特殊字符。 |
| \ddd | 以八进制表示法表示任何字节。 |
| \xdd | 以十六进制表示法表示任何字节。 |
文件
| 项 | 描述 |
|---|---|
| /usr/lib/nls/csmap/sbcs | 用于单字节代码页的代码集映射 |
| /usr/lib/nls/csmap/IBM-943 | IBM-943 代码页的代码集映射 |
| /usr/lib/nls/csmap/IBM-eucJP | IBM-eucJP 代码页的代码集映射 |
| /usr/lib/nls/csmap/IBM-eucKR | IBM-eucKR 代码页的代码集映射 |
| /usr/lib/nls/csmap/IBM-eucTW | IBM-eucTW 代码页的代码集映射 |
| /usr/lib/nls/termmap/*.in | 输入映射文件 |
| /usr/lib/nls/termmap/*.out | 输出映射文件 |