PyCharm编程环境的中英文字体分别设置的好处多----一石三鸟地解决中文字体不一致、英文字体不涵盖中文字符、编程字体实用性兼顾美观性的三个问题

在编程环境(例如Python的PyCharm)中,我们希望编程环境的字体具有如下特性:

(1)字体覆盖中文和英文字符。

(2)等宽字体,并且是TrueType字体,方便辨识代码中缩进和对齐的字符个数。

(3)相近字符i,1,l以及0,O可辨别性好。

(4)标点符号特别是双引号、单引号、逗号,分号、句号的中文和英文字符易于辨识。

(5)字符比较美观。

 

同时满足以上五个条件的字体极少。网上搜索后,有人提到Yahei Consolas Hybrid,此字体需要自己从网上下载,它是微软雅黑与Consolas两种字体的合体,中文字符为雅黑、英文字符为Consolas,但该字体的中英文双引号的辨识度稍有欠缺。我个人感觉不太喜欢这种字体。

经过本人的试探,发现Monospaced字体能基本满足以上五项要求,此字体是PyCharm自带的,此字体文件所在文件夹为:C:\Program Files\JetBrains\PyCharm 2019.3.1\jbr\lib\fonts。此文件夹下有包括:DroidSansMono、FiraCode、Inconsolata、JetBrainsMono、Roboto、SourceCodePro等字体文件。因为这些字体文件不在Windows安装目录下的Fonts文件夹中,所以在Windows的Office Word、NotePad++、UltraEdit或Code::Blocks等应用的字体列表中找不到这些字体。

此外,还有Yahei Monaco Hybrid也能适应中文字符,感觉不如前者漂亮。我还尝试了Yahei Mono,感觉与Yahei Consolas Hybrid没有区别。

 

因为PyCharm能够分别设置主字体和替代显示字体,这意味着当主字体无法显示时,将用替代字体显示。此设置不仅能解决中文显示字体不一致的问题,也可以解决中文和英文字体分别设置为自己喜欢的字体,自然地,也解决了某种漂亮的英文字体没有涵盖中文字符的问题。

方法是:设置英文字体为主字体,设置中文字体为替代字体。主字体和替代字体的设置不能反过来,因为,中文字体涵盖了英文字符,但是英文字体往往没有涵盖中文字符。

具体做法是:PyCharm的File菜单---Settings选项--Editor----Font,打开如下界面所示,其中的红色框“Font”处设置的就是主字体,“Fallback font”处设置的就是替代字体。

“Fallback font”的默认设置为<None>,这就会导致当主字体只涵盖英文字符而不涵盖中文字符时,中文字符的显示字体不统一的情况发生。如下图所示:

在勾选“Show only monospaced fonts”,则意味着主字体和替代字体列表中只显示等宽字体,如果自己所要设置的替代字体不是等宽字体,则应该将此勾选去掉。我个人喜欢用中文等宽字体为“楷体”,在此列表中名为“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

各人喜好不同,各自取用!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262365.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WordPress博客系统的安全

随着计算机网络的流行&#xff0c;越来越多的人开始创建自己的博客&#xff0c;论起博客系统&#xff0c;全球用的最多的博客系统就是wordpress&#xff08;以下简称WP&#xff09;。但是如果用过WP的人都应该知道&#xff0c;WP的站点想要做的好看&#xff0c;插件是必不可少的…

mysql为什么行数据库_关系数据表中的行称为什么?

在一个二维表中&#xff0c;水平方向的行称为元组&#xff0c;每一行是一个元组&#xff1b;元组对应表中的一个具体记录。数据元组也称为记录。一个数据表中的每一个记录均有一个惟一的编号(记录号)。一个记录也就是数据表中的一行。元组(tuple)是关系数据库中的基本概念&…

maven安装以及eclipse配置maven

http://jingyan.baidu.com/article/295430f136e8e00c7e0050b9.html 必须先下载并安装JDK&#xff0c;配置JDK的环境变量JAVA_HOME&#xff0c;否则maven将无法使用 eclipse安装maven插件后必须重新定位maven到本地maven目录 如下定位&#xff1a; 为了使得Eclipse中安装的Maven…

JS 问题集锦

【1】js页面跳转 和 js打开新窗口方法 第一种&#xff1a;<script language"javascript" type"text/javascript">window.location.href"http://www.xlfun.com/login.php?backurl"window.location.href; </script>第二种&#xff1a…

重温Observer模式--热水器·改(转载)

引言 在 C#中的委托和事件 一文的后半部分&#xff0c;我向大家讲述了Observer(观察者)模式&#xff0c;并使用委托和事件实现了这个模式。实际上&#xff0c;不使用委托和事件&#xff0c;一样可以实现Observer模式。在本文中&#xff0c;我将使用GOF的经典方式&#xff0c;再…

龙图 VP 李翀:数据化运营及云计算下的运维

文 | 龙图 VP 李翀原文地址&#xff1a;当游戏遇上大数据和云计算——谈数据化运营及云计算下的运维龙图做了8年的游戏&#xff0c;真正快速发展起来是在移动互联网这个时代。随着刀塔快速的扩张&#xff0c;我们在各个领域都遇到了非常多的之前没有想到过的状态。发现云计算其…

鼠标移动时,光标相对于对象的位置

鼠标在一个物体上移动时&#xff0c;能够计算出光标相对于任何其它对象的相对位置。 Code<Grid x:Name"LayoutRoot" Background"White"> <Grid HorizontalAlignment"Left" VerticalAlignment"Top" Name"grid1&q…

怎么判断一个字符串的最长回文子串是否在头尾_【Leetcode每日打卡】最长回文串...

干货预警&#xff1a;所有文章都会首发于我的公众号【甜姨的奇妙冒险】&#xff0c;欢迎watch。一、来历&#xff1a;力扣从3月开始开启了每日一题打卡活动&#xff0c;于是跟风加入了打卡大军&#xff0c;这两天写评论、发题解&#xff0c;没想到反响还不错&#xff0c;收到了…

.NET平台下WEB应用程序的部署(安装数据库和自动配置)

.NET平台下WEB应用程序的部署(安装数据库和自动配置)李洪根在.NET平台下&#xff0c;部署 Web 解决方案是比较方便的。我们可以利用Visual Studio.NET 2003添加一个WEB安装项目&#xff0c;在部署的“文件系统编辑器”中添加项目的主输出和内容文件&#xff0c;非常简易地完成安…

苹果原壁纸高清_全面屏壁纸高清 | 电影经典台词截图高清

iPhonex手机壁纸高清(苹果xs壁纸&#xff0c;苹果xr壁纸&#xff0c;iPhone11壁纸&#xff0c;安卓全屏壁纸)火影壁纸高清&#xff0c;经典电影台词截图拼接壁纸&#xff0c;电影《去他妈的世界》壁纸&#xff0c;欧美电影截图加上经典台词&#xff0c;2020好看的手机壁纸&…

python字符串切片用法_详解Python字符串切片

在python中,我们定义好一个字符串,如下所示。 在python中定义个字符串然后把它赋值给一个变量。 我们可以通过下标访问单个的字符,跟所有的语言一样,下标从0开始(==,我自己都觉得写的好脑残了) 这个时候呢,我们可以通过切片的方式来截取出我们定义的字符串的一部分。 使用…

azkaban config: nodes:_关于Nordic SDK的sdk.config.h

使用MDK对Nordic SDK开发&#xff0c;离不开sdk.config.h。请看以下两个视图&#xff1a;Text Editor视图Configuration Wiard视图咋一看挺神奇的&#xff0c;配置视图话&#xff0c;方便。具体实现和规则就不一一介绍了&#xff0c;网页搜“MDK中Configuration Wiard的使用”。…

SilverLight开发系列第1步:搭建开发环境

来自 http://www.cnblogs.com/kaima/archive/2008/08/17/1269637.html 在缺乏SilverLight中文教程的今天&#xff0c;新人要入门不容易&#xff0c;所以我根据自己阅读英文原档和实践经验&#xff0c;总结一个系列。首先介绍的是开发环境的搭建。 个人强烈推荐安装英文版的开发…

php使用smtp.sina.com邮箱发送邮件

2019独角兽企业重金招聘Python工程师标准>>> 需要写一个smtp发送类 <?php set_time_limit(120);class smtp {/* Public Variables */var $smtp_port;var $time_out;var $host_name;var $log_file;var $relay_host;var $debug;var $auth;var $user;var $pass;var…

java 不存在就创建_Java 判断多级路径是否存在,不存在就创建

Java 判断多级路径是否存在&#xff0c;不存在就创建方案一&#xff1a;(带文件名的Path&#xff1a;如&#xff1a;D:\news\2014\12\abc.text)public boolean isexitsPath(String path)throws InterruptedException{String [] pathspath.split("\\\\");StringBuffer…

asynchttpclient 超时_DNF:95更新前还能免费获得一件超时空装备?但这个任务一定完成...

现在距离95版本更新还有16天的时间&#xff0c;在前段时间体验服更新的内容中&#xff0c;相信玩家们已经对新版本了解的差不多了。最受玩家关注的就是装备升级方面的一些内容&#xff0c;都说95版本是一个土豪专属副本&#xff0c;但是小编并不那么认为&#xff01;从材料上来…

sqllite开发安卓项目_【兼职项目】预算3万开发无线温度电流传感,2万开发直流电机打磨机控制...

【个人/团队兼职项目】是小包为大家筛选的酬金预算≤3万元的中小型软硬件兼职项目&#xff0c;适合高级工程师、技术团队服务商竞标&#xff0c;从而赚取“零花钱”。个人/团队兼职项目&#xff08;酬金≤3万元&#xff09;1、摄像头在安卓开发板上成像项目预算&#xff1a;&am…

java还是c 2017_2017年9月编程语言排行榜:Java、C与C++三巨头还能统治排行榜多久?...

【51CTO.com快译】过去16年来(自2001年起)&#xff0c;TIOBE编程语言排行榜的三甲位置一直被Java、C与C长期占据。C#与Python虽然已经被广泛认定为下一世代的核心编程语言&#xff0c;但在人气方面却仍然未得到充分体现。C#之所以无法进军三甲&#xff0c;主要是因为其在非Wind…

excel换行按什么键_电脑结束任务按什么键

如今&#xff0c;电脑在我们日常生活中几乎无处不在&#xff0c;然而有时候可能我们在使用电脑的过程中会出现这样或者那样的小问题&#xff0c;比如有时候电脑打开的软件太多&#xff0c;导致电脑有点卡机&#xff0c;我们想要关闭一些程序却无法快速关闭&#xff0c;最常见的…