吐槽一下 TextMate 2 的 icon

2011-12-13 11:58:45 +08:00
 chenluois
菊花,竟然是菊花!- http://cl.ly/CZKz
8654 次点击
所在节点    TextMate
51 条回复
chenluois
2011-12-15 12:26:35 +08:00
@lianghai 虽然我对研究字体不感兴趣,但我想我还是找到原因了。

TM2 的默认字体是 Monaco, 这个字体的 LineHeight 参数是 16.
Mac 系统默认简体中文字体是 STHeitiSC-Light, 这个字体的 LineHeight 参数是 12.
你把系统的默认简体中文字体改为了 Hiragino Sans GB, 这个字体的 LineHeight 参数是 18.

字体参数对比如图:
http://cl.ly/Ccvz

说到这,我想你已经明白了。:)

我给其他人总结下规律吧:
当你选择的系统默认简体中文字体的 LineHeight 参数比 TM2 的默认字体的 LineHeight 参数低的时候,中文字体的高度不会撑破 TM2 默认的行高,行高保持 TM2 默认的行高。这种情况不管是纯西文的行,纯中文的行,或是中西字符混杂的行,行高都一致。

当你选择的系统默认简体中文字体的 LineHeight 参数比 TM2 的默认字体的 LineHeight 参数高的时候,TM2 默认的行高就装不下了,因此混杂有中文字符的行高将增长为此中文字体对应的高度。

如果我想继续用 Hiragino Sans GB 作为系统默认的简体中文字体,又希望在 TM2 里 “不管是纯西文的行,纯中文的行,或是中西字符混杂的行,行高都一致”,怎样能做到呢?
改 TM2 的默认字体呗!(View - Font - Show Fonts)
如果我的猜想正确,你选择任何一个 LineHeight 参数比 Hiragino Sans GB 高的字体都行。

这是 Mac 系统对行高很自然的处理,并不只是 TM2。不觉得这里有什么问题。
lianghai
2011-12-15 18:47:04 +08:00
@chenluois:感谢如此详细的数据。:)
不过,我一向认为这是 CoreText 的设计缺陷——即没有为开发者提供一种简单的方法来锁定行高,任由字体影响行高,这是不妥的。而所有涉及大量文本的软件都应该锁定行高,不让行高受字体 LineHeight 指定的默认行高数值影响。
另外,查看这些数据的这个软件是?
chenluois
2011-12-15 19:00:12 +08:00
@lianghai 不客气。:)

对 CoreText 有什么好的想法你就直接发给 Apple 吧
http://www.apple.com/feedback/macosx.html

查看字体信息的这个软件叫 NSFontAttributeExplorer,是 Apple 提供的示范程序,在这下载:
http://developer.apple.com/library/mac/#samplecode/NSFontAttributeExplorer/Introduction/Intro.html
romoo
2011-12-15 19:22:42 +08:00
@chenluois 有 LineHeight ≥ 18 的英文等宽字体推荐吗?
chenluois
2011-12-15 19:48:42 +08:00
@romoo 下载 NSFontAttributeExplorer 你在自己系统上慢慢挑吧。:)
Livid
2011-12-15 20:29:08 +08:00
@chenluois 我在考虑改一个行高和 Hiragino Sans GB 一致的 Panic Sans,最喜欢的两个日常字体。
chenluois
2011-12-15 20:40:00 +08:00
@Livid 嗯,用 Fontographer 改 LineHeight 很方便。
Livid
2011-12-15 20:41:38 +08:00
@chenluois :D 感谢告知,马上去下载。
chenluois
2011-12-16 10:09:51 +08:00
对 #41 最后的猜想补充一下:
经过实际测试,我发现字体的 LineHeight 参数只是一个必要不充分条件。
跟字体的 Ascent、Descent 等其他参数的配比也有关系。
具体什么关系我先不说,看这里有没有人能得出相同的结论。
nickcheng
2011-12-16 10:46:24 +08:00
在dribbble上也看到这个菊花了, 据说还是三维建模弄的
ofan
2011-12-21 16:56:42 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/23382

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX