PyCharm编程环境的中英文字体分别设置的好处多----一石三鸟地解决中文字体不一致、英文字体不涵盖中文字符、编程字体实用性兼顾美观性的三个问题
在編程環(huán)境(例如Python的PyCharm)中,我們希望編程環(huán)境的字體具有如下特性:
(1)字體覆蓋中文和英文字符。
(2)等寬字體,并且是TrueType字體,方便辨識(shí)代碼中縮進(jìn)和對(duì)齊的字符個(gè)數(shù)。
(3)相近字符i,1,l以及0,O可辨別性好。
(4)標(biāo)點(diǎn)符號(hào)特別是雙引號(hào)、單引號(hào)、逗號(hào),分號(hào)、句號(hào)的中文和英文字符易于辨識(shí)。
(5)字符比較美觀。
?
同時(shí)滿足以上五個(gè)條件的字體極少。網(wǎng)上搜索后,有人提到Y(jié)ahei Consolas Hybrid,此字體需要自己從網(wǎng)上下載,它是微軟雅黑與Consolas兩種字體的合體,中文字符為雅黑、英文字符為Consolas,但該字體的中英文雙引號(hào)的辨識(shí)度稍有欠缺。我個(gè)人感覺(jué)不太喜歡這種字體。
經(jīng)過(guò)本人的試探,發(fā)現(xiàn)Monospaced字體能基本滿足以上五項(xiàng)要求,此字體是PyCharm自帶的,此字體文件所在文件夾為:C:\Program Files\JetBrains\PyCharm 2019.3.1\jbr\lib\fonts。此文件夾下有包括:DroidSansMono、FiraCode、Inconsolata、JetBrainsMono、Roboto、SourceCodePro等字體文件。因?yàn)檫@些字體文件不在Windows安裝目錄下的Fonts文件夾中,所以在Windows的Office Word、NotePad++、UltraEdit或Code::Blocks等應(yīng)用的字體列表中找不到這些字體。
此外,還有Yahei Monaco Hybrid也能適應(yīng)中文字符,感覺(jué)不如前者漂亮。我還嘗試了Yahei Mono,感覺(jué)與Yahei Consolas Hybrid沒(méi)有區(qū)別。
?
因?yàn)镻yCharm能夠分別設(shè)置主字體和替代顯示字體,這意味著當(dāng)主字體無(wú)法顯示時(shí),將用替代字體顯示。此設(shè)置不僅能解決中文顯示字體不一致的問(wèn)題,也可以解決中文和英文字體分別設(shè)置為自己喜歡的字體,自然地,也解決了某種漂亮的英文字體沒(méi)有涵蓋中文字符的問(wèn)題。
方法是:設(shè)置英文字體為主字體,設(shè)置中文字體為替代字體。主字體和替代字體的設(shè)置不能反過(guò)來(lái),因?yàn)?#xff0c;中文字體涵蓋了英文字符,但是英文字體往往沒(méi)有涵蓋中文字符。
具體做法是:PyCharm的File菜單---Settings選項(xiàng)--Editor----Font,打開(kāi)如下界面所示,其中的紅色框“Font”處設(shè)置的就是主字體,“Fallback font”處設(shè)置的就是替代字體。
“Fallback font”的默認(rèn)設(shè)置為<None>,這就會(huì)導(dǎo)致當(dāng)主字體只涵蓋英文字符而不涵蓋中文字符時(shí),中文字符的顯示字體不統(tǒng)一的情況發(fā)生。如下圖所示:
在勾選“Show only monospaced fonts”,則意味著主字體和替代字體列表中只顯示等寬字體,如果自己所要設(shè)置的替代字體不是等寬字體,則應(yīng)該將此勾選去掉。我個(gè)人喜歡用中文等寬字體為“楷體”,在此列表中名為“KaTi”。
?
比較適合于編程的英文等寬字體如下:
(1)Consolas:Windows的MS Office自帶的字體。
(2)Fira Code、Fira Code Light、Fira Code Medium、Fira Code Retina。
(3)Incosolata
(4)SourceCode Pro
(5)JetBrain Mono
(6)Droid Sam Mono
(7)DejaVuSansMono
(8)Iosevka
各人喜好不同,各自取用!
總結(jié)
以上是生活随笔為你收集整理的PyCharm编程环境的中英文字体分别设置的好处多----一石三鸟地解决中文字体不一致、英文字体不涵盖中文字符、编程字体实用性兼顾美观性的三个问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: OJ在线编程常见输入输出JavaScri
- 下一篇: boot-1学习