![使用 selnolig 设置全局非连字符字距调整](https://linux22.com/image/379665/%E4%BD%BF%E7%94%A8%20selnolig%20%E8%AE%BE%E7%BD%AE%E5%85%A8%E5%B1%80%E9%9D%9E%E8%BF%9E%E5%AD%97%E7%AC%A6%E5%AD%97%E8%B7%9D%E8%B0%83%E6%95%B4.png)
如同这我想使用的问题selnolig
,但我不喜欢这样的事实:在fl
不包含连字符的单词中,这两个字母太靠近了。
像Mico 的答案 我想使用“新”方法,因为我发现使用我正在使用的字体可以完美调整字距。不幸的是,此答案中给出的代码仅针对单个单词提供了“新”方法。
是否可以对每个具有非连字符fl
组合的单词使用此方法?换句话说:是否可以在所有f
和l
字母之间添加固定的字距,这些字母会自动分解为单个字母selnolig
?
这是一个最小的例子(取自上面链接的 Mico 的回答):
\documentclass[ngerman]{article}
\usepackage{fontspec}
\usepackage{selnolig}
\usepackage{luacode}
\begin{luacode}
function breaklig (s)
s = s:gsub ( 'Verzweiflung' ,
'Ver\\-zweif\\discretionary{-}{}{\\kern0.05em}lung' )
return s
end
luatexbase.add_to_callback( 'process_input_buffer' ,
breaklig , 'break ligatures in specified words' )
\end{luacode}
\begin{document}
Verzwei\uselig{fl}ung {V}erzweiflung Verzweiflung
\end{document}
- 第一个例子使用了在这种情况下不应使用的连字。
selnolig
第二个是字母f
和l
太靠近而产生的输出。- 第三个使用上面的 luacode 来创建
0.05em
不干扰 TeX 连字符算法的字距调整(据我所知)。
fl
我想对包含断开selnolig
连字符的所有单词使用第三个。