哪些字体的每个字符宽度相同?


35

我想要一种字体,所有字符的宽度相同。

例如,大多数字体中的a W都比a 宽i...是否有所有字体都具有相同宽度的字体?


14
有太多要列出的内容。只需搜索“等宽”,“固定宽度”或“非比例”字体,便可以找到许多示例。
阿南达·马托

o..Thz ..我不知道关键字:等宽
Ted Wong

11
有趣的事实-您用来突出显示问题中“ W”和“ i”的代码按钮切换为等宽字体...因此问题中的W和i都使用一种使它们具有相同字体的字体width :)使用浏览器中的inspect元素查看CSS的样式,'font-family'您会获得一长串等宽字体:Droid Sans Mono',Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif
user56reinstatemonica8

除@AnandaMahto列出的名称外,此类字体也称为“固定间距字体”。
user1451111 '18

Answers:


37

搜索内容

您要寻找的字体等宽字体维基百科对此进行了很好的解释。

等宽字体,也称为固定间距,固定宽度或非比例字体,是一种其字母和字符各自占据相同水平空间的字体。[...]

等宽字体的示例包括Courier,Courier New,Lucida Console,Monaco和Consolas。[...]

无处不在的选择

如今,几乎每台计算机都具有以下一种或两种字体:

Consolas

信使


13

字体具有两个会影响字符间距的特征:widthkerning字距确定两个相邻字符何时可以重叠。例如,当您编写AT时,T栏的最左部分实际上可能位于A的右分支的最下部的左侧。尽管固定宽度的字体可能允许字距调整,但这种情况很少见。

无论如何,如果要选择固定宽度的字体,可以使用以下文本

  • III
  • HHHHHHHHHH
  • AAAAATTTTT
  • 阿塔塔塔

并使用各种字体查看外观。如果前两行的长度相同,则为固定宽度。如果最后两行的长度相同,则没有字距调整。即,您希望所有4行都具有相同的长度。

在Windows上的Microsoft Word 2007中,以下字体似乎是固定长度的,没有字距调整:

  • 八塘车
  • Consolas
  • 快递新
  • DFKai-SB
  • DotunChe
  • 古里姆切
  • 宫沙彻
  • 凯帝
  • Lucida控制台
  • 刘铭
  • MS哥特式
  • 敏彻女士
  • 太阳报
  • 沉思
  • 简体阿拉伯文固定
  • SimSun
  • SimSun-ExtB

0

xlsfonts在使用X Windows系统时(通常在Linux或类似系统上;几乎从不在MSWindows上)提供有关字体的信息。其-l-m选项显示几种字体规格,包括最小字符宽度和最大字符宽度。使用shell命令,可以比较这些宽度以检测固定宽度的字体。例如,xlsfonts -lm '*fang*'

  DIR  MIN  MAX EXIST DFLT PROP ASC DESC NAME
  --> * 33 *119  some 8481   25  10    1 -isas-fangsong ti-medium-r-normal--0-0-72-72-c-0-gb2312.1980-0
       min(l,r,w,a,d) = (0,12,12,11,2)
       max(l,r,w,a,d) = (0,12,12,11,2)
  --> * 33 *119  some 8481   21  14    2 -isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0
       min(l,r,w,a,d) = ( 0, 0,16, 0,-13)
       max(l,r,w,a,d) = (12,16,16,14,  2)

对于这两种字体,最小值w等于最大值w值-一种表示12、12,另一种表示16、16,表示两者均为固定宽度字体。(注意,xlsfonts源代码包括类似的检查。)

在usenet上我的最新文章中,这是一个checkFixed.py自动执行比较的Python程序。它从中读取xlsfonts样式的数据行stdin,比较w值,并stdout在min w等于max w时打印结果。(当然,类似的程序可以写在awkperl等等)

 #!/usr/bin/env python
 # jiw - 2016
 # This program reads `xlsfonts -lm`-style lines from stdin, and tests
 # for cases where the w elements of min and max tuples are the same
 from sys import stdout
 while True:
     try:
         r = raw_input()
         if r[0] == '-':         # Font-lines start with -->
             m1 = int((raw_input().split(','))[6])
             m2 = int((raw_input().split(','))[6]) 
             if m1==m2:
                 print r
                 stdout.flush()
     except:
         break

例如, xlsfonts -ml | ./checkFixed.py | head -3在我的系统上打印出来

 -->    0  255  some    0   29  14    5 -bitstream-courier 10 pitch-bold-i-normal--0-0-0-0-m-0-adobe-standard
 -->    0  255  some    0   29  15    5 -bitstream-courier 10 pitch-bold-i-normal--0-0-0-0-m-0-ascii-0
 --> *  0 *255  some    0   29  15    5 -bitstream-courier 10 pitch-bold-i-normal--0-0-0-0-m-0-iso10646-1

在另一个示例中,xlsfonts -ml '*fixed*' | ./checkFixed.py | head -3打印出

 --> * 33 *116  some 8481   25  11    1 -jis-fixed-medium-r-normal--0-0-75-75-c-0-jisx0208.1983-0
 --> * 33 *116  some 8481   21  14    2 -jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0
 --> * 33 *116  some 8481   21  14    2 -jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0

感谢您的贡献,欢迎来到GraphicDesign!
Zach Saucier
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.