与默认的X11字体一样易读紧凑的Mac OS X字体

6
xterms使用的字体非常紧凑但易读。那是什么字体?我在其他应用程序中找到的最接近的字体是DejaVu Sans Mono或Bitstream Vera Sans Mono。它们在垂直方向上与xterms一样紧凑,但在水平方向上占用更多空间。
我真的很想从xterms切换到Terminal.app,这是唯一阻碍我的事情。
(我还认为该字体对emacs、xcode或任何编辑器都更好。)
添加:在Terminal.app中,您可以调整任何字体的字符和行间距。其他应用程序是否也可以这样做?
我愿意尝试任何与xterm字体一样紧凑且易读的字体。Dina看起来非常漂亮,但似乎不适用于Mac。

这是一个标准的对话框,但它与一些 Obj-C 类(如 NSText)绑定在一起,据我所知(参见 TextMate 不支持它,因为它不使用标准文本类)。 - Keltia
Keltia,我很困惑;你评论中的“it”是指什么?抱歉我理解力不够。 - dreeves
11个回答

9
我已成功使Emacs.App使用了受人喜爱的misc-fixed 7x14字体。而且看起来很好。
1) 从http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html下载ucs-fonts.tar.gz。
2) 提取文件7x14.bdf。
3) 安装FontForge(fontforge.sourceforge.net)。
4) 在FontForge中打开7x14.bdf。
5) 在FontForge中进行“文件”->“生成字体”,选择“无轮廓字体”和“仅苹果位图字体(dfont)”。
6) 另存为/Library/Fonts/FixedMedium7x14.dfont。
7) 在你的.emacs中设置默认字体为“-apple-Fixed-medium-normal-normal--14--*-m-0-iso10646-1”。
8) 完成。

这在Terminal.app中也可以工作;选择“Fixed Medium 14pt”字体。 - Marty Vona
如果您同时打开7x14B.bdf7x14O.bdf,并在Element → Font Info中为它们都指定相同的字体名称,那么Generate Mac Family可以生成一个包含常规、粗体和斜体变体的单个.dfont文件。 - andrewdotn

7
我真的很喜欢Inconsolata字体:
http://www.levien.com/type/myfonts/inconsolata.html
但它并不适合用于xterm。更适合用作编程字体。
我强烈建议使用Monaco 9pt,不要抗锯齿:
monaco9.png
从未见过如此可读且节省空间的字体。请注意,它与Monaco 10的宽度相同,但略短。

1
那个截图看起来没有抗锯齿。 - nobody
Monaco(以及一些旧的Mac字体)也嵌入了一些位图版本。Terminal.app有一个选项可以不反锯齿字体,在这种情况下它使用正确的位图大小。您可以在系统偏好设置的外观面板中调整全局反锯齿设置。 - Will Robertson
(你好,威尔)你误解了安德鲁的评论:他并不是在问终端中的抗锯齿,而是在纠正你之前的回答(“Monaco 9pt,抗锯齿”而不是“抗锯齿”,显然是一个打字错误) :-) - Arthur Reutenauer
+1 for Inconsolata - 已成为我在Mac上进行编程的首选字体。 - lostlogic

5

虽然不完全相同,但关闭抗锯齿的10号Monaco字体与此非常接近。我认为它实际上更好,因为Monaco字体的1/l和O/0字符比X字体更加清晰可辨。


啊,你说得对;差不多了!谢谢!在 Monaco 中,尖括号看起来很糟糕。看看字符串“~>”——在 xterm 中它看起来好多了。你说的 1/l 和 O/0 在 Monaco 中确实更好。 - dreeves
一直使用 Monaco 10px 字体,但在 Retina 显示器上看起来与 Apple Cinema 显示器上的完全不同。看起来像完全不同的字体 :( 在 Linux 上,我一直是 Terminus 字体的粉丝,也是 10px。 - holms

4

1
谢谢。6x13.dfont 是 Monaco 的一个不错的、稍微紧凑一些的替代品。当使用这些 xterm 字体时,我的 tmuxmc 会将垂直线渲染成实线(与 Monaco 不同,Monaco 渲染为虚线)。 - Steve HHH

4
以下是我尝试过的替代方案。(感谢Will和其他人。)
  1. 使用Monaco 10pt和0.9行距(我不知道如何在除了Terminal.app之外的任何地方压缩行或字符间距),其垂直和水平占用空间与xterm字体完全相同。没有行距压缩时,它占用更多的垂直空间。我认为压缩不会影响可读性。Monaco的优点是零斜杠,但角括号比较差(它们与相邻字符碰撞,例如,“~>”)。大写字母(特别是“A”)在Monaco中也看起来不太好。不过,总的来说,它们差不多。

  2. 使用Monaco 9pt可以解决角括号问题,而且比xterm字体更紧凑(水平相同)。大写字母I比较糟糕(很难区分l和i和|)。

  3. 使用Proggy Fonts的ProggyTiny 11pt。将行距设置为0.9使其垂直上略微比X11的xterm字体更紧凑。无论如何,它的水平占用空间都与之相同。不管有没有行距压缩,我认为这个选项明显比Monaco差。其他的Proggy字体似乎不如xterm字体紧凑。

  4. 使用Anonymous的10pt字体和0.95字符间距(我仍然不知道如何在除了Terminal.app之外的任何地方压缩字符或行距),以及正常的行距与X11字体完全相同。压缩字符间距会导致大写字母之间轻微接触,数字也以这种方式变得很丑陋。通过垂直(行)空间压缩,可以使其垂直上比xterm字体更紧凑,而不影响可读性。(9pt的Anonymous非常紧凑,但仍然相当可读。)我真的不喜欢这个字体中的插入符(“^”),无论是否压缩。

  5. FixedMedium6x13设置为大小13和行距0.80,就可以得到xterm字体完全相同。我的朋友David Yang报告说,在Snow Leopard上,它可以完美地运行。我在Leopard上使用它(将行距压缩到与X11一样紧凑),但由于存在某种刷新问题,因此无法使用——直到终端窗口重新渲染,例如当您从中切换时。

我打算尝试其他的方案:
Envy Code R: http://damieng.com/blog/2008/05/26/envy-code-r-preview-7-coding-font-released是一种适用于编程的字体。Inconsolata: http://www.levien.com/type/myfonts/inconsolata.html也是一种常用的编程字体。Droid Sans Mono: http://en.wikipedia.org/wiki/Droid_(font)则是一种适用于移动设备的字体。

1
我很想找到一个版本的FixedMedium6x13,它有更少的空白,这样你就不必将行间距设置为0.8。然后我就可以在其他不支持自定义行间距的程序中使用它,比如Eclipse。 - dreeves

3

xterms使用的字体非常紧凑但易读。那是什么字体?

您指的字体称为“fixed”或“6x13”。

我曾经开始(但放弃了)一个{{link1:“6x13 redux”}},它是那些只在一个大小下看起来好但可用于Terminal.app的TrueType字体之一。我放弃了,因为创建具有UNICODE字形的字体是一项巨大的任务。只需查看此6x13的字形表。顺便说一句,我创建的“6x13 Redux”字体似乎只能在Tiger上的Terminal.app中使用,而不能在Leopard上使用。

我接近6x13的字体是11pt的ProggySquare。


2
我最喜欢的像素字体是“Dina ttf 10px”,在深色背景下用16pt大小非常好看。它是编码的绝佳字体,因为它有斜线零和独特的字符。
你可以在http://www.geenat.com/?p=66找到Mac TrueType版本,在http://www.donationcoder.com/Software/Jibz/Dina/index.html找到原始位图版本。
Dina基于的Proggy字体在小文本大小下也非常清晰。不幸的是,它对我来说有点太小了。
此文段为英文,大意为:
“此外,您可以使用SIMBL插件来调整Terminal.app以更好地适合您的需求。除了颜色偏好设置之外,在使用Terminal时,我发现以下所有插件都非常有用。”
“首先,Terminal.app中的默认颜色难以辨认。要解决这个问题,您可以安装Ciaran Walsh的自定义颜色插件。”

Dina看起来非常不错!但是当我将Dina.fon复制到/Library/Fonts时,它似乎并没有自动显示为终端应用程序中的字体选项。我需要执行其他步骤吗? - dreeves
.fon字体是Windows的位图字体。Mac OS很少有机会知道如何使用它们。甚至Font Book也无法打开它。 - Arthur Reutenauer
抱歉,我忘记链接到字体的Truetype版本。这是一个链接到转换后的OSX兼容字体的网址:http://www.geenat.com/?p=66 - xer0x

1

1

X11默认字体通常是位图字体,对于非X应用程序没有任何用处...在我的Mac电脑上,X11应用程序的默认字体似乎是-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1,对应文件为/usr/X11/lib/X11/fonts/misc/7x14-ISO8859-1.pcf.gz

您可以使用命令/usr/X11R6/bin/xfd -fn -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1显示字符表,并检查它是否与您在xterms中看到的一样。如果是这样,恐怕没有什么可做的:PCF字体是(非常)低分辨率的位图字体,这也是它们在屏幕上看起来如此清晰的原因(它们只适合您特定的屏幕分辨率);但其他Mac OS X应用程序无论如何都不会使用它们。


另一位回答者建议您可以在Terminal.app中使用位图字体。你们两个谁是正确的? - dreeves
如果我知道另一个回答者是正确的,我就不会写这个答案了 :-) 无论如何,我不敢打赌Aqua应用程序完全不能使用位图字体,但我非常确定它们不能使用X11位图字体。 - Arthur Reutenauer
很好,我认为这解决了我的原始问题。现在的问题是,有没有Mac兼容的字体既紧凑又易读,就像is8859-1或X11 xterm字体的规范名称一样? - dreeves
1
你可以在像FontForge(http://fontforge.sourceforge.net/)这样的字体编辑器中编辑X11字体,并将其保存为Mac OS可以理解的格式(可能是TrueType位图)。但是你必须小心谨慎地进行操作,否则它会变得更加难以阅读,而我不知道TrueType位图字体的详细信息。 - Arthur Reutenauer
啊,如果有人曾经尝试过这个,我很愿意试一试。谢谢大家! - dreeves

1
我已经使用Bitstream Vera Mono,后来是DeJaVu Sans Mono(用于更多的Unicode字符)相当长的时间了,但几个月前我切换到了Android所使用的字体,即Google移动电话操作系统所使用的Droid Sans Mono。对我来说,它确实更易读。对于Terminal.app,我会在水平方向上缩小一点。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接