在X11 protocol specification中,定义了一个名为CHAR2B
的类型,它只是两个字节的结构:byte1
和byte2
。该类型仅用于两个请求QueryTextExtents
和ImageText16
,两者都用于指定字体名称。
我的问题是:CHAR2B
有什么意义?它是如何使用的?这种类型对我来说似乎毫无意义,因为:
ImageText8
的请求,它只使用字符串作为字体名称,而不是CHAR2B
中ImageText16
的字符串。CHAR2B
”字符串,例如QueryExtension
,InternAtom
,OpenFont
等。< / LI>
CHAR2B
仅用于2次请求。鉴于CHAR2B
是X11协议的一部分,如何使用它?什么是编码? UTF-16?一些其他类型的双字节编码?
答案 0 :(得分:1)
CHAR2B
是用于显示文本的字体中的索引。您非常清楚地链接的文件指出
STRING16中大字符的主要解释是它们由用于索引二维矩阵的两个字节组成,因此,使用CHAR2B而不是CARD16。这对应于索引2字节字符的JIS / ISO方法。预计大多数大字体将使用2字节矩阵索引进行定义。对于使用线性索引构造的大字体,通过将byte1视为最高有效字节,可以将CHAR2B解释为16位数。这意味着客户端应始终首先传输最重要字节的16位字符值,因为服务器永远不会对CHAR2B数量进行字节交换。