我根据 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
的非零值À
。