![将 LY1 编码重新编码为 T1(berenis 字体和波兰字母)](https://linux22.com/image/275999/%E5%B0%86%20LY1%20%E7%BC%96%E7%A0%81%E9%87%8D%E6%96%B0%E7%BC%96%E7%A0%81%E4%B8%BA%20T1%EF%BC%88berenis%20%E5%AD%97%E4%BD%93%E5%92%8C%E6%B3%A2%E5%85%B0%E5%AD%97%E6%AF%8D%EF%BC%89.png)
标准 latex 发行版中的某些字体采用 LY1 编码,因此字母 ąę、śćńźŚĆŃŹ 的字距调整不当。我提出了一个问题寻求解决方案,并在此线程中给出了一些手动字距调整的示例:berenis 和 'ę' 'ą' 字母。不过我也联系了字体的创建者。他用字体编辑器的图片回复了我:
证明它确实包含 otf 文件中的 ę 和 ą 字母。他建议可能存在一种编码解决方案。手动破解是有效的,但它们需要大量的手动调整。所以我想知道如何对字母进行转码,以便正确地从文件中取出它们而不是构造它们。也许我们可以将字体转码为其他编码或创建一些转换表?
答案1
我是 LaTeX 支持包的作者。
添加对另一种编码的支持不是问题。我怀疑我最初没有这样做是因为我不知道是否有人(其他人)会对实际使用该字体感兴趣,或者,如果他们感兴趣,他们是否需要 LY1 中没有的字符。(LY1 比 T1 有优势,因为它有空闲插槽,可用于容纳此字体中的其他连字符。我怀疑这就是我在本例中使用 LY1 而不是 T1 的原因。)
有人能确认支持波兰语的最佳编码吗?因为我对波兰语完全不熟悉。T1 能做到吗?如果可以,我可以为 T1 创建支持文件。这些文件不会允许访问 BerenisADF 中包含的任何其他连字符或替代字符,因此请确认尽管存在此限制,但这仍然有用。
我希望这肯定会被使用,因为这意味着更新一堆东西以在与我最初创建包时使用的操作系统不同的操作系统上运行。如果有人想要,我不介意这样做,但如果没有人使用它,我不想浪费我的时间!
更新:请参阅下面的其他答案,因为软件包现在支持 T1。我无意中创建了第二个答案,因此对造成的混淆深表歉意。(我不知道如何合并它们,这将是理想的,但可能是不可能的。)
编辑:我猜那个答案被删除了。最好不要再说了,因为我不明白为什么删除了那个帖子而不是这个。请注意,这不是抱怨——我只是不太了解这个网站的运作方式。
编辑:我认为删除该答案可能只是因为它是第二个答案,而不是因为其内容。如果不是,请有人说说。以下是我所说的更新版本:
更新的软件包:CTAN 上现在有了一个新软件包,至少在当前的 TeX Live 树中。我问是否有人可以测试它,谁知道它应该是什么样子(即谁排版波兰语),有人非常友好地这样做了,所以我相信它运行良好。
要使用 T1/TS1,您需要将 enc=t1 传递给包,而不是随后传递 lig 或 lig=true。(传递 lig 选项将切换到 LY1,因为由于编码中缺少空闲插槽,我无法让花哨的东西为 T1 工作。)
我建议使用默认的 LY1 编码来排版威尔士语,该编码现在支持 Ŷ、ŷ、Ŵ 和 ŵ,而无需默认启用花饰变体。(但我不得不放弃一些额外的连字符才能做到这一点,因此 ft、fft 和 tt 现在仅适用于花饰样式。)
T1/TS1 支持 LY1 提供的所有图形样式(表格 osf、比例 osf、表格衬里、比例衬里、上部、下部)。
如果 T1 中缺少连字符,请告诉我。我想我已经全部找到了,但很难确定,因为我手动完成了那部分。(我不喜欢 autoinst。也就是说,我认为如果您需要快速修复,它很棒,但它不可避免地是一种有点通用的解决方案。我不确定我是如何为 LY1 生成 lig 文件的,尽管我可能也手动完成了一些工作。)