hyph-utf8 的连字符模式 / lccode / “.dat” 格式

hyph-utf8 的连字符模式 / lccode / “.dat” 格式

我根据 ISO 8859-7 为“现代”希腊语制定了新的编码。

现在我想为其创建连字符模式以供使用pdftex(即基于 8 位)。

如果我理解正确的话,我可以用hyph-utf8通过创建一个.dat将我的编码映射到unicode的文件,然后使用它来处理单调希腊语的unicode连字符模式。

以下是文件的摘录.dat

0x9A    U+04D8      CYRSCHWA
0x9B    U+040A      CYRNJE
0x9C    U+0401      CYRYO
0x9D    U+2116      textnumero
0x9E    U+00A4      textcurrency
0x9F    U+00A7      textsection
0xA0    U+0491  1   cyrgup
0xA1    U+0493  1   cyrghcrs
0xA2    U+0452  1   cyrdje
0xA3    U+045B  1   cyrtshe

大多数列都是不言自明的,但在开始实验之前我还是希望看到一些文档;-)

具体来说,如果我可以忽略除前两列之外的所有内容,它将节省一些复制粘贴工作(毕竟,字形名称对于连字模式的意义是什么?)

编辑

感谢 Patrick Gundlach 建议使用 READMEhyph-utf8 CTAN 源目录关于转换,该文件必须说明,

generate-converters.rb
======================
INPUT:
- source/generic/hyph-utf8/data/encodings/*.dat
OUTPUT:
- tex/generic/hyph-utf8/conversions/conv-utf8-*.dat

Auto-generates conversions from UTF-8 to some particular encoding.

现在我知道该如何处理这个.dat文件了。向前迈出的重要一步 :-)

但我仍然需要知道文件内容到底是什么意思(因为我必须为自己的编码创建一个新的文件)。

更新

经过进一步分析后,我唯一需要的信息是第三列中的“1”的用途。

查看 ruby​​ 代码,它的效果如下

0xE0    U+00E0  1   agrave

(来自ec.dat)将在转换器中生成conv-utf8-ec.tex(它将采用 unicode 连字模式并将其映射到 T1 字体编码)行

\lccode"E0="E0 % à - U+00E0 - agrave

因此,希望现在任何了解连字模式的人都可以回答这个问题:什么类型的角色需要这样的线条?

答案1

为了充分考虑连字,单词必须由具有非零的字符组成\lccode。由于agrave是小写,因此\lccode只需将其设置为其字符代码即可。

这就是这条线的目的

\lccode"E0="E0 % à - U+00E0 - agrave

这对于过程来说实际上不是必需的\lowercase,因为零字符\lccode不会受到它的影响。

(其他地方) 会有一条线

\lccode"C0="E0 % À - U+00C0 - Agrave

它设置了的对应关系\lowercase,但也定义了\lccode的非零值À

相关内容