关于定义大字体

大字体文件第一行中的特殊代码指定如何读取双字节十六进制代码。

包含成百上千种字符的字体,其处理方式与包含最多 256 个字符的 ASCII 字符集字体处理方式不同。除了使用较为复杂的文件搜索技术之外,程序还需要用双字节代码和单字节代码表示字符的方法。这两个条件可用大字体文件开始部分的特殊代码来满足。

大字体形定义文件的第一行必须如下所示:

*BIGFONT nchars,nranges,b1,e1,b2,e2,...

nchars 表示集合中近似的字符定义数量。如果此数值过大,且误差超过百分之十,则速度或文件大小就会受到影响。可以用行中余下的空间标识双字节代码开始区域的特殊字符代码(换码代码)。例如,在日语计算机上,Kanji 字符以 90-AF 或 E0-FF 范围内的十六进制代码开始。当操作系统读到这些代码之一时,将继续读取下一字节,并将这两个字节组合成一个代码,以表示一个 Kanji 字符。在 *BIGFONT 行中, nranges 指出有多少个连续区间中的数字用作换码代码; b1 e1 b2 e2 等定义了每个区间的开始和结束代码。因此,日语大字体文件的开始可能如下所示:

*BIGFONT 4000,2,090,0AF,0E0,0FF

*BIGFONT 行后,除字符代码(形编号)最大可以为 65535 之外,字体定义与常规字体相似。