Skip to content

更改字体

Ralph edited this page Feb 7, 2025 · 2 revisions

Caution

本页面是一个草稿。本页面提及的功能仍在开发中。

Note

CJK 排版是一个相当复杂的问题,因此,本文档可能无法明确、直接地给您提供解决方案。
不过,您至少可以在这里找到实现 CJK 排版的思路。在阅读完本文档后,需要您根据自己的理解和需求,对主题 CSS 进行修改,才能解决问题。

本主题的默认汉字字体符合中国大陆的排版习惯。但是:

  1. 在汉字文化圈,并不是所有的地区/人群都使用这种书写习惯。
  2. 在一些场景下,存在多种书写习惯混合排版的需求。

本章节旨在对上述使用场景给出指南。

更改全局汉字字体

归纳而言,本主题涉及到的汉字字体有四种,您可以在主题 CSS 中找到配置这四种字体的 CSS 变量:

字体 CSS 变量名
黑体 --chinese-sans-serif-font
宋体 --chinese-serif-font
楷体 --chinese-kai-font
仿宋 --chinese-fangsong-font

将这些 CSS 变量的值分别改成您想要的字体即可。

Important

请确保您已安装相应的字体。

多字体混排(更改局部字体)

对于局部更改字体的需求,您可以善用 HTML 的 span 标签,将其嵌入在 markdown 行内。以下给出四组样例代码,您可以将其复制到您的 Typora 中,调试其对不同字体的支持:

<span style="font-family:Noto Serif CJK HK">天空是黑色的,大地是黃色的;茫茫宇宙遼闊無邊。</span>
<span style="font-family:Noto Serif CJK HK">太陽正了又斜,月亮圓了又缺,星辰排列開來、佈滿太空。</span>

<span style="font-family:Noto Serif CJK SC">天空是黑色的,大地是黄色的,茫茫宇宙辽阔无边。</span>
<span style="font-family:Noto Serif CJK SC">太阳正了又斜,月亮圆了又缺,星辰排列开来、布满太空。</span>

<span style="font-family:Noto Serif CJK JP">天は<ruby><rt>くろ</rt></ruby>く地は黄色。宇宙は広く広大無辺。</span>
<span style="font-family:Noto Serif CJK JP">日月のぼり傾き欠ける。星や星座が並び広がる。</span>

<span style="font-family:Noto Serif CJK KR">하늘은 검고 땅은 누르며 우주는 넓고도 크다.</span>
<span style="font-family:Noto Serif CJK KR">해와 달이 차고 기울며 별은 자리를 잡아 늘어서 있다.</span>

在混排的场景中,最佳实践是使用对各地字体都有支持的字体家族。上述代码中使用的思源宋体,即 Noto Serif,就是一个很好的例子。

需要额外指出的是,如果有在文字上方注音的需求(如汉语拼音、振假名),请善用 HTML 的 ruby 标签;该标签的使用方法已在上述代码中给出示例。

如果您使用的是思源宋体,以上代码会渲染出如下结果:

Clone this wiki locally