Skip to content

CJK 输入法与字体配置

Obsidian 基于 Electron 构建,在中文、日文、韩文(CJK)环境下可能遇到输入法兼容性、字体渲染、排版等问题。本文汇总常见问题和解决方案。

输入法兼容性

常见问题

问题平台原因
输入法候选框不跟随光标全平台Electron IME 兼容性
无法切换到中文输入法Linux环境变量未配置
输入时卡顿或重复Windows输入法与编辑器冲突
日文输入法无法使用macOS输入源配置问题

Linux 输入法配置

Fcitx5 配置

bash
# 安装 Fcitx5
sudo apt install fcitx5 fcitx5-chinese-addons

# 设置环境变量(添加到 ~/.profile 或 ~/.bashrc)
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

IBus 配置

bash
# 安装 IBus
sudo apt install ibus ibus-pinyin

# 设置环境变量
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus

# 启动 IBus 守护进程
ibus-daemon -drx

Wayland 环境特别配置

Wayland 下需要额外参数:

bash
# 启动 Obsidian 时添加参数
obsidian --enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4

或在 .desktop 文件中:

text
Exec=env GTK_IM_MODULE=fcitx obsidian --enable-features=UseOzonePlatform --ozone-platform=wayland

macOS 输入法问题

如果中文输入法异常:

  1. 系统偏好设置 → 键盘 → 输入源
  2. 确保已添加简体拼音
  3. 移除不需要的输入源
  4. 重启 Obsidian

字体配置

中文字体推荐

字体特点适合来源
思源黑体 (Noto Sans CJK)开源、清晰正文阅读Google Fonts
思源宋体 (Noto Serif CJK)开源、优雅长文阅读Google Fonts
霞鹜文楷 (LXGW WenKai)手写风、美观休闲笔记GitHub
更纱黑体 (Sarasa Gothic)等宽中文代码笔记GitHub
方书楷体清秀古典文学写作商业字体

安装字体

Windows:

  1. 下载 .ttf.otf 文件
  2. 右键 → 「为所有用户安装」
  3. 重启 Obsidian

macOS:

  1. 下载字体文件
  2. 双击安装,或复制到 ~/Library/Fonts/
  3. 重启 Obsidian

Linux:

bash
# 复制到用户字体目录
mkdir -p ~/.local/share/fonts
cp *.ttf ~/.local/share/fonts/

# 刷新字体缓存
fc-cache -fv

在 Obsidian 中配置字体

方法一:设置界面

  1. 打开设置 → 外观
  2. 在「字体」中输入字体名称
  3. LXGW WenKaiNoto Sans CJK SC

方法二:CSS 代码片段

创建更精确的字体配置:

css
/* 在 .obsidian/snippets/cjk-fonts.css 中 */

/* 编辑器字体 */
body {
  --font-text: 'LXGW WenKai', 'Noto Sans CJK SC', sans-serif;
  --font-monospace: 'Sarasa Mono SC', 'Noto Sans Mono CJK SC', monospace;
}

/* 界面字体 */
.mod-root .workspace-leaf-content {
  font-family: 'LXGW WenKai', 'Noto Sans CJK SC', sans-serif;
}

/* 标题字体 */
.cm-header-1, .cm-header-2, .cm-header-3,
.markdown-preview-view h1, .markdown-preview-view h2, .markdown-preview-view h3 {
  font-family: 'Noto Serif CJK SC', serif;
}

启用 CSS 代码片段:设置 → 外观 → CSS 代码片段 → 刷新 → 启用。

排版优化

中英文混排间距

自动在中文和英文之间添加空格(盘古之白):

css
/* 使用 CSS 自动添加间距 */
body {
  text-autospace: ideograph-alpha ideograph-numeric;
}

兼容性

text-autospace 是较新的 CSS 属性,部分浏览器/版本可能不支持。也可以使用「Linter」插件自动添加中英文空格。

中文字号调整

中文字符比英文宽,可能需要调整字号:

css
/* 适当增大正文字号 */
body {
  --font-text-size: 16px;
}

/* 调整行高以适应中文 */
.cm-line, .markdown-preview-view p {
  line-height: 1.8;
}

中文标点优化

css
/* 中文标点不换行 */
body {
  hanging-punctuation: last allow-end;
}

/* 破折号不断开 */
.cm-line {
  word-break: keep-all;
  overflow-wrap: break-word;
}

Obsidian Publish 中文字体

如果使用 Publish 发布网站,需要在 publish.css 中配置字体:

css
/* publish.css */
body {
  font-family: 'LXGW WenKai', 'Noto Sans CJK SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  line-height: 1.8;
  letter-spacing: 0.02em;
}

/* 引入 Web 字体(可选) */
@import url('https://cdn.jsdelivr.net/npm/lxgw-wenkai-webfont@1.7.0/style.css');

常见问题

字体安装后不显示?

  1. 确认字体安装成功(在系统字体设置中查看)
  2. 检查字体名称是否正确(区分大小写)
  3. 完全关闭并重新打开 Obsidian
  4. 检查 CSS 代码片段是否正确启用

中文字体在代码块中不生效?

代码块使用等宽字体,需要单独配置:

css
code, pre, .cm-s-obsidian .cm-code {
  font-family: 'Sarasa Mono SC', 'Noto Sans Mono CJK SC', monospace !important;
}

Linux 下字体渲染发虚?

bash
# 启用字体抗锯齿
sudo ln -s /usr/share/fontconfig/conf.avail/10-sub-pixel-rgb.conf /etc/fonts/conf.d/
sudo ln -s /usr/share/fontconfig/conf.avail/10-hinting-slight.conf /etc/fonts/conf.d/
fc-cache -fv

移动端字体问题?

iOS 和 Android 系统字体已经对 CJK 做了优化,通常不需要额外配置。如果需要自定义字体,需要通过 CSS @font-face 引入 Web 字体。

相关资源

最后更新:2026年4月10日编辑此页反馈问题