Arch (KDE Plasma 桌面 + Wine 界面)中文化

基础中文化

本节参考:Localization /Simplified Chinese - ArchWiki

设置locale

生成中文locale

/etc/locale.gen 中删除的zh_CN.UTF-8 UTF-8 前方的 # 之后使用以下指令生成 Locale:

 locale-gen
设置终端locale

为 TTY 设置英文 locale 防止乱码。当然也可以去 安装zhcon等软件包为TTY启用中文支持

/etc/locale.conf 中添加 LANG=en_US.UTF-8

TTY 的英文 locale

中文字体配置

安装字体
  • 全部中文字体请见Localization/Chinese - Arch Wiki,如果不需要浏览除中文以外的内容,则安装纯中文字体包即可(后缀 zh-cn ,cn 或 sc 的)
  • 如果有 Emoji、数学字符等特殊需要,请额外参考 Fonts - Arch Wiki
  • 注意右上角带有 AUR 的需要自行从 AUR 下载编译或安装 AUR Helper

以安装 noto 亚洲字体和 Emoji 字体为例:

pacman -Syu noto-fonts-cjk noto-fonts-emoji
通过fontconfig设置治理字体匹配问题

如果安装了亚洲字体,有可能会遇到异体字问题,参考字体配置 - Arch Linux 中文维基

启用fontconfig配置文件

检查 /etc/fonts/conf.d 有没有 50-user.conf51-local.conf。这两个文件分别启用用户配置文件 ~/.config/fontconfig/fonts.conf全局配置文件 /etc/fonts/local.conf。如果没有,请通过以下指令建立软连接:

cd /etc/fonts/conf.d
sudo ln -s /usr/share/fontconfig/conf.avail/50-user.conf
sudo ln -s /usr/share/fontconfig/conf.avail/51-local.conf
编写fontconfig配置文件
  • fontconfig 文件本质就是在对输入的font family字符串进行修改,最后匹配本地字符库
  • 具体配置方法见 fonts-config(5)。可以参考示例1示例2
  • 可以使用指令 env FC_DEBUG=4 fc-match 来查看配置执行情况以及修正错误
  • 根据 Windows 中默认的字体回退顺序设置回退顺序:SimSun(SC) -> MingLiU(TC) -> MS UI Gothic(JP) -> Batang(KR)

以下是我的配置文件:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>

  <!-- 英文默认字体使用 Noto 字体,终端使用 Hack.并设置中文 Fallback -->
  <match>
    <test qual="any" name="family"> <string>serif</string> </test>
    <edit name="family" mode="prepend" binding="strong">
      <string>Noto Serif</string>
      <string>Noto Serif CJK SC</string>
      <string>Noto Serif CJK TC</string>
      <string>Noto Serif CJK JP</string>
      <string>Noto Serif CJK KR</string>
    </edit>
  </match>
  <match target="pattern">
    <test qual="any" name="family"> <string>sans-serif</string> </test>
    <edit name="family" mode="prepend" binding="strong">
      <string>Noto Sans</string>
      <string>Noto Sans CJK SC</string>
      <string>Noto Sans CJK TC</string>
      <string>Noto Sans CJK JP</string>
      <string>Noto Sans CJK KR</string>
    </edit>
  </match>
  <match target="pattern">
    <test qual="any" name="family"> <string>monospace</string> </test>
    <edit name="family" mode="prepend" binding="strong">
      <string>Hack</string>
      <string>Noto Sans Mono CJK SC</string>
      <string>Noto Sans Mono CJK TC</string>
      <string>Noto Sans Mono CJK JP</string>
      <string>Noto Sans Mono CJK KR</string>
    </edit>
  </match>

  <!-- Windows & Linux Chinese fonts. -->
  <!-- 把所有常见的中文字体映射到思源黑体和思源宋体,这样当这些字体未安装时会使用思源黑体和思源宋体.
解决特定程序指定使用某字体,并且在字体不存在情况下不会使用fallback字体导致中文显示不正常的情况. -->
  <!-- 文泉驿字体 -->
  <match target="pattern">
    <test qual="any" name="family"> <string>WenQuanYi Zen Hei</string> </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Sans CJK SC</string>
    </edit>
  </match>
  <match target="pattern">
    <test qual="any" name="family"> <string>WenQuanYi Micro Hei</string> </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Sans CJK SC</string>
    </edit>
  </match>
  <match target="pattern">
    <test qual="any" name="family"> <string>WenQuanYi Micro Hei Light</string> </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Sans CJK SC</string>
    </edit>
  </match>

  <!-- 微软雅黑 -->
  <match target="pattern">
    <test qual="any" name="family"> <string>Microsoft YaHei</string> </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Sans CJK SC</string>
    </edit>
  </match>
  <match target="pattern">
    <test qual="any" name="family"> <string>微软雅黑</string> </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Sans CJK SC</string>
    </edit>
  </match>

  <!-- 黑体 -->
  <match target="pattern">
    <test qual="any" name="family"> <string>SimHei</string> </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Sans CJK SC</string>
    </edit>
  </match>
    <match target="pattern">
    <test qual="any" name="family"> <string>黑体</string> </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Sans CJK SC</string>
    </edit>
  </match>

  <!-- 宋体 -->
  <match target="pattern">
    <test qual="any" name="family"> <string>SimSun</string> </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Serif CJK SC</string>
    </edit>
  </match>
    <match target="pattern">
    <test qual="any" name="family"> <string>宋体</string> </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Serif CJK SC</string>
    </edit>
  </match>

</fontconfig>

24-10-22更新:有些网站字体不正常,从而发现中文不能匹配 Fallback 的问题。同时修正编码风格统一于 Arch Wiki
25-03-10更新:仿照 Windows 设置回退顺序
25-03-15更新:修正代码问题,异体字修正实际已经在设置fallback中

KDE图形界面中文化

KDE设置

  1. 打开 Region and Language
  2. 点击的 Language 后的 Modify
  3. 右下角 Add More 添加 简体中文
  4. 将简体中文移至 American English 上方

SDDM锁屏界面

设置 KDE 语言后还是英文的 SDDM
SDDM 锁屏界面可能并不会跟着 KDE 变为中文(这个似乎有回报称是Bug)

  1. 编辑 /etc/systemd/system/sddm.service.d/EnvironmentFile.conf,并添加以下内容:
[Service]
EnvironmentFile=/etc/default/locale
  1. 编辑 /etc/default/locale 添加 LANG=zh_CN.UTF-8

Fcitx 5中文输入法

本节参考:

  1. Fcitx5 - Arch Linux 中文维基
  2. Using Fcitx 5 on Wayland - Fcitx

安装

  1. 输入法框架:安装 fcitx5-im 包组,这个包组包含fcitx5本体、配置工具、qt与gtk的输入库
    pacman -Syu fcitx5-im

  2. 输入法:选择下列一个输入法安装
    fcitx5-chinese-addons 由fcitx提供的基础输入法
    fcitx5-rime 中州韵
    pacman -Syu fcitx5-chinese-addons

  3. 如果需要输入时间日期,则需要安装fcitx5-lua,以依赖的形式安装:
    pacman -Syu --asdeps fcitx5-lua

配置输入法环境变量(Wayland)

  • Plasma-Wayland 下需要 XMODIFIERS=@im=fcitx
  • Plasma-X11 下额外需要GTK_IM_MODULE=fcitxQT_IM_MODULE=fcitx

编辑文件 /etc/profile.d/fcitx.conf

#Setting up fcitx5 environments
if test "$XDG_SESSION_TYPE" = "x11" ; then
       export GTK_IM_MODULE=fcitx
       export QT_IM_MODULE=fcitx
fi
export XMODIFIERS=@im=fcitx

在这里插入图片描述

附加组件

本节记录在 Fcitx 配置附加组件中可能需要更改的内容。

在新的 KDE 输入法界面中需要先勾选下方显示高级选项才可以更改启用状态

云拼音

云拼音默认没有启用且默认后端是Google,需要启动并配置后端

KDE主题接管问题

plasma桌面会自动接管fcitx的主题设置,如果不希望如此,则需要在 输入法设置->附加组件->取消勾选KDE Input Method Pannel,在重新登陆后,输入法将遵循Classic User Interface的配置

英文与数字后不自动输入半角符号

附加组件-标点-字母或数字之后输入半角标点

我的偏好全局配置

以下是我的fcitx配置方案,仅供参考

  • 默认页长度增加至7
  • 增加中文分组,将所有中文输入法置于此而非默认分组。默认分组下永远不会输入中文,只有切换分组到中文后才可以输入中文。
  • 快捷键设置如下:

Wine 中文化

参考:微软给出的字体全球化方案(英文)

Wine 的中文化主要是字体替代问题,网上已经有很多教程了。但是如果你像我一样安装了 aur 中的 wps-fonts 包,则会遇到一个额外的问题:对话框里的字体怎么显示得这么别扭?
注意看图中的“文”、“注”、“表”
这个问题是由于 Malgun Gothic 字体导致的,这是韩语 Windows 的默认字体之一。在 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes 下添加字符串项 Malgun Gothic,内容为你现在使用的中文字体名称即可,以下代码会把字体替换为 Noto Sans CJK KR

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"Malgun Gothic"="Noto Sans CJK KR"

一键设置我已知的字体(已经去除wps-fonts存在的字体):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"Malgun Gothic"="Noto Sans CJK KR"
"Microsoft Sans Seirf"="Noto Sans"
"MS Sans Serif"="Noto Sans"
"Microsoft YaHei UI"="Noto Sans CJK SC"
"SimSun"="Noto Serif CJK SC"
"NSimSun"="Noto Serif CJK SC"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值