如何在Linux REAPER里显示中文

How to display CJK in REAPER

Posted by Tee on April 11,2021

刚刚接触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

funny CJK display

了解到在不同“组件”使用了不同的字体,有些组件的字体不能通过theme tweak来改变(写死),最终使用fontconfig来解决。


本作品采用知识共享署名 4.0 国际许可协议进行许可。