刚刚接触Linux REAPER,你肯定会发现REAPER居然不能显示中文。如果你曾经在其他平台上使用过REAPER,会感到非常困惑,为什么其他平台REAPER能正常显示中日韩文字?是不是Linux的问题?
这个问题有点小复杂,以下按我的理解解释原因,并分享如何让REAPER显示中文和其他CJK文字。
为什么Linux REAPER不能显示CJK?
因为你使用的REAPER主题没有使用“正确”的字体来显示,所以不能显示字体支持以外的文字字符。
为什么其他平台同样的主题能显示CJK?
因为其他平台对文字做了fallback,在文字不受字体支持的时候会选择系统指定的、支持该文字的字体。如Windows就fallback到了宋体。
Linux为什么没有fallback?
Linux也有fallback,需要自行配置字体文件(fontconfig),也可以像我在字体配置里强行指定软件使用的字体。
这段patch放在
fontconfig标签之间。
<!-- REAPER fonts patch -->
<match target="pattern">
<test name="prgname">
<string>reaper</string>
</test>
<edit name="family" mode="assign">
<string>Noto Sans CJK SC</string>
</edit>
</match>
我之前是怎么发现并解决的?
当然是在官方论坛提问,得益于活跃的开发者和其他热心用户:https://forum.cockos.com/showthread.php?t=213856
了解到在不同“组件”使用了不同的字体,有些组件的字体不能通过theme tweak来改变(写死),最终使用fontconfig来解决。
本作品采用知识共享署名 4.0 国际许可协议进行许可。