| |
首页 淘股吧 股票涨跌实时统计 涨停板选股 股票入门 股票书籍 股票问答 分时图选股 跌停板选股 K线图选股 成交量选股 [平安银行] |
股市论谈 均线选股 趋势线选股 筹码理论 波浪理论 缠论 MACD指标 KDJ指标 BOLL指标 RSI指标 炒股基础知识 炒股故事 |
商业财经 科技知识 汽车百科 工程技术 自然科学 家居生活 设计艺术 财经视频 游戏-- |
天天财汇 -> 科技知识 -> 为什么国内程序员们没有联合起来设计一种中英文严格2:1宽度比的字体呢? -> 正文阅读 |
|
[科技知识]为什么国内程序员们没有联合起来设计一种中英文严格2:1宽度比的字体呢? |
[收藏本文] 【下载本文】 |
虽然说汉字很多。 ——— 2021-07-08更新:没想到最近还有人在关注这个问题。这里更新下我后来的进展: 首先,开发人员需要的这类字体,确实有不少… |
我们已经有这样的字体了,而且不止一款: |
![]() |
注意,严格2:1等宽的是“思源黑体HW”,在你安装“思源黑体”的TTC之后就会看到。“等距更纱黑体”也一样,是同一个TTC中的另一个字体族(有好几种不同粗细的,我使用了“等距更纱黑体 SC”)。“更纱黑体”(没有“等距”字样)和“思源黑体”(没有“HW”字样)不是等宽字体。 顺便说一下,像WPS、Microsoft Office这样的字处理软件会在中文和英文的交界处添加额外的空格(宽度不确定),并且会修改某些标点符号的宽度,所以即使字体本身等宽,在字处理软件里面混合排版时也可能无法呈现等宽效果。实际加上标点和空格后是否等宽需要去代码编辑器里面测试。此外,字处理软件还会在键入时默认对中英文采用不同的字体,需要在键入完成后手动重选字体才能让英文和数字采用与中文相同的字体。 另一个需要注意的问题是“字体回退”。如果当前字体缺少某个字符(比如带重音符号的西欧字母,或者生僻汉字),则会选用另一字体的字符。此时由于两种字体的宽度不一致,等宽可能会被破坏。 备注:知乎在呈现该回答的评论时出现了“删除一条子评论后另一条子评论被隐藏”的问题,我已经在这里反馈:https://www.zhihu.com/question/334883418 |
推荐一款在GitHub开源的字体:maple font, 作者的id是 @subframe7536 ,不确定是不是本人 字体漂亮优雅,功能繁多,可定制性也不错,我是全ide、编辑器都应用了这款字体 强烈推荐 找时间补充一些我个人的设置和截图上来 |
难道没人提 @Belleve 大佬的 Iosevka ?我用了好几年了,当时选它就看中它中英比例 2:1,非常舒服优雅。 |
![]() |
示例图来自 Belleve 多次在知乎上分享的答案中 |
这种字体不是早就有了吗?Windows一开始标配的宋仿黑楷都是2:1字体。 但那是真的丑啊,真的丑,那四个字体的英文区简直惨不忍睹,也就黑体英文区勉强能看。 实际上Fixedsys字体也是,那个也不太好看但已经算是点阵中不错的了,当年常常用于做NetTerm的字体用来上bbs。 现在我个人常用Dejavu Sans Mono,这个基本上算是2:1了,放中文混排问题不大。 所以这个问题不成立,因为类似的字体已经很多很多了。 |
英文宽度0.5的字体有: Ubuntu Mono Inconsolata Iosevka、等距更纱黑体 Noto Sans Mono ExtraCondensed 中易宋体、中易黑体 M+ 1m/2m/1mn 文泉驿等宽正黑 思源黑体HW、Noto Sans CJK Mono Nanum Gothic Coding D2 Coding Fixedsys Xanh Mono Input Mono Compressed 来自评论区的补充: monofur MS Gothic |
因为这样的字体有得是啊: 思源黑体 HW更纱黑体(等距) 文泉驿等宽正黑 甚至 Windows 系统里的中易宋体、黑体、楷体、仿宋都是这样的字体。 |
这种字体就叫做duospaced font... 哦,不过要注意字号,单个汉字的宽度如果不是双数象素(如12、14、16),那就没有办法严格等宽……如果有什么情况能以13、15象素宽显示汉字,拉丁文还能等宽对齐的请一定告诉我…… |
编程用的英文字体, 大都在 600 宽度左右, 说明这是国外程序员觉得比较舒服的宽度. 但如果要与汉字对齐, 就必须得用 500 宽度的英文字体. 难道国内程序员对英文字体的审美也与国外程序员不同吗? 当然不是, 这只是为了与汉字对齐被逼的, 有些削足适履的感觉 (不排除有些人真心喜欢). 所以我认为最好的办法是做一个 1200 宽度的中文字体, 这样依然可以保持 2:1. |
估计你没用过微软的VS,他很早很早以前就已经是中英文比例严格2:1,连符号都是。这事根本不需要做了。 |
![]() |
|
先问是不是再问为什么。有请 Noto Sans Mono CJK 字体: |
![]() |
Noto Sans Mono CJK 如果嫌这个字体的大写 O 和小写 0 分不清,那可以把西文部分换成 Inconsolata。Inconsolata 和主流的 CJK 字体(含非等宽)里的 CJK 文字是严格 1:2 宽度的: |
![]() |
Inconsolata + Noto Sans Mono CJK 送礼物 还没有人送礼物,鼓励一下作者吧 |
然而现实中很多程序员根本不懂字体。有的人用的非等宽字体写代码,认为很漂亮。帮其调整为等宽字体,曰:太难看,又还回去。有的人万年的宋体,还调大字号,感觉良好。但我认为,宋体的数字和英文丑的前无古人后无来者。当我下载了各种各样的编程字体,逐个试用的时候。他们的感觉:这不都没什么区别,看起来一样的。 |
这事儿不能赖我们中文,因为 中文都是等宽的,不等宽的是英文。 中文单体字"中"和右中右结构的"树"是一样的宽度,英文的字母"i"和字母"w"是不同的宽度。 |
当然有,就是由 @Belleve 大神制作的更纱黑体(GitHub:https://github.com/be5invis/Sarasa-Gothic) 我个人使用的是其中的 Sarasa Term SC |
两方面。 这种字体已经有了 参考其他回答.字体其实并不是由程序员设计的 谢谢 |
题主有两个误会: 首先,设计字体的事不归程序员管 其次,显示时的中英宽度比不由字体决定(当然字体有权“建议”),是由程序员决定的 结果倒是对了:这个比值确实是程序员决定的。不管用谁设计出的什么字体,程序员都有本事把它拉伸成中英严格2:1来显示。不信的话,开始->运行->cmd,敲 type con>nul回车,然后随便敲点什么。不管你把控制台改成任何字体,永远是2:1的 所以……为什么没有联合起来设计一种中英文严格2:1宽度比的字体呢?因为不需要呀,只要我愿意,随便拿个字体都能拉伸成2:1,专门设计字体干啥呢 |
已经有了噢,而且不是字体实现而是编程实现的。 https://www.zhihu.com/question/323249659/answer/675564877 |
为啥中文要与英文对齐?这种需求又不大。我们写代码又不用中文,即使是中文注释和文档也没和代码出现在同一作用域 |
大部分时候,中英文字体无法严格2:1的原因不是中文字体的问题,而是英文字体的问题。。。 实际上很多英文字体大小写字母、数字、标点符号、空格的宽度根本就不一致,它们自己很多时候都无法对整齐,就更别说跟中文字符对齐了。。。 而中文字符一般来说都是等宽的,至少中文跟中文都是能对齐的。。。 |
Ubuntu Mono 了解一下,OSX 下中英文混排严格 2:1。还有很多字体,只是个人觉得 Ubuntu Mono 看着最舒服。而 Ubuntu Mono 为了追求高:宽为2:1,导致相同字体大小下它比其他字体看上去小一些,所以为了习惯可能需要调大字号。 在一些编辑器下字体大小值需要为偶数,比如 Sublime Text、WebStorm、IntelliJ IDEA 等。而另一些则都可以,比如 Atom、VSCode(基于 Electron/Chromium 的缘故?)。 |
![]() |
上面三个编辑器依次为 Atom、VSCode 和 Sublime Text,其中 Sublime Text 在字体大小值为奇数时未能将全角字符与半角字符的宽度显示为 2:1 |
我做了一些。 链接:https://pan.baidu.com/s/1uUT4OplTetoyPll4j1lzuw?pwd=sd6n 提取码:sd6n |
fallback 一下不就完事了嘛 ... 中文思源,英文 Fira Code 挺好的 |
试试 YaHei Consolas Hybrid |
目前我用的性能很好的字体包括M PLUS 1M(免费)和Thesis Sans Mono Condensed(收费,但有Trial版本)。 无论是中文还是英文,设计字体都很不容易。首先是要易读且好看,其次需要统一笔画宽度、字面和字重,这是指数级的工作量。 关于编辑器如何在不同字宽下进行对齐(特别是上下移动、多行选择和缩进)处理,主要还是编辑器的问题,不是字体设计的问题。不过这个目前交给大模型加持的编辑器解决可能会方便一些。 |
出版印刷行业的表示印刷常用的很多英文字体都是一个半角宽度,而绝大多数中文字体都是一个全角的宽度。至于某些看上去英文和中文不是1:2是因为字符间距被人为缩放过。 PS,全角是半角的两倍宽。几乎所有中文标点也是一个全角;几乎所有英文标点也是一个半角。 个人非常讨厌在中文中插入两个半角空格来替代全角空格的排版习惯。 |
2021年的回答,尝试了下面提到的很多字体,结论是,“等距更纱黑体 SC”最好。windows store里可以直接下载安装。mac等请自行从github下载。 |
程序员应该用无衬线等宽字体 |
我认为,主要是人与人是不能互相理解的。 程序员做的各种文本编辑器,真是无比贴心,可我是一个写文章的呀,编辑器们,哪怕是卖点就声称时候写文章的编辑器,依然普遍没有解决好排版等问题。而且,utf8这样的编码方案,你们都在吹它千般好万般好,因为高效存储了你们写的那些寿命几年的程序,却根本不去关心中华几千年经典的传播和保存更加重要。 你们想要个好用的字体,那是就你们而言,然而这个领域里,分明是我们这样不碰代码却离不开文字的芸芸大众更能受字体设计师的关注。 回到问题,程序员联合起来?联合起来你们也不会设计字体呀。 别人不会替你们发声的,就如你们也并不关心别人的需求。 |
没必要。中文一般做注释,等宽不等宽无所谓。 |
除了字体以外,中国程序员还做过什么? 好像没有。 所以不是字体,而是中国程序员对这种没钱赚又费时费力的事没兴趣。 |
本来就有,比如 Noto Sans Mono CJK {TC, SC, HK, JP, KR},但是真不好用,英文太窄。 纯英文等寛字体比半字体寛的。 还是通过渲染手段,加大汉字两边的空隙,使一个汉字宽度等于俩英文字母比较好,大部分 Terminal 都是这么处理的。但是似乎编辑器和 IDE 都不支持。 |
推荐个字体,github上开源的,一直用这个写代码。 霞鹜文楷等宽 |
![]() |
|
在Windows记事本中,courier new的中英文宽度比是严格的2:1 |
意义不大,因为英文行文不是以字母为最小单位,而是以单词为最小单位。 然后,单词的长度并不统一,在行末时为了对齐排版就会压缩。 如果强制不允许压缩,那这种排版出来的英文在行末会出现大量空格。 |
返璞归真,英文 Agave + 中文 16x16 点阵,清晰锐利又不失传统美感。 |
![]() |
|
Windows上就有一大堆这种字体,当然拉丁字母部分基本都丑得不行。 思源黑体HW,更纱黑体都满足要求。 另外,程序员很少打汉字,要打汉字的时候也不需要对齐。 |
|
[收藏本文] 【下载本文】 |
科技知识 最新文章 |
百度为什么越来越垃圾了? |
百度为什么越来越垃圾了? |
为什么程序员总是发现不了自己的Bug? |
出现在抖音评论区里边的算命真不真? |
你认为 C++ 最不应该存在的特性是什么? |
为什么 Windows 的兼容性这么强大,到底用了 |
如何看待Nvidia禁止使用翻译工具将cuda运行 |
为何苹果搞了十年的汽车还是难产,小米很快 |
该不该和AI说谢谢? |
为什么突破性的技术总是最先发生在西方? |
上一篇文章 下一篇文章 查看所有文章 |
|
|
股票涨跌实时统计 涨停板选股 分时图选股 跌停板选股 K线图选股 成交量选股 均线选股 趋势线选股 筹码理论 波浪理论 缠论 MACD指标 KDJ指标 BOLL指标 RSI指标 炒股基础知识 炒股故事 |
网站联系: qq:121756557 email:121756557@qq.com 天天财汇 |