我想在 winforms 文本框中显示一些数学表达式。所以我认为“Cambria Math”字体是一个不错的选择,但由于字体的顶部和底部边距较高,文本看起来很奇怪。一开始我以为我犯了一个错误,但根据this question ,这是字体的正确行为。
为什么 Cambria Math 有这么大的边距值,我怎样才能像 Word 2010 一样在文本框中正确显示我的字符串?
(请注意,我对排版知之甚少;)
编辑:我必须将文本框做得那么高,否则插入符号将不可见。文本框的字体大小设置为8.25pt
最佳答案
Cambria Math 使用 Microsoft 的数学 OpenType 扩展。
Word 2007 及更高版本理解这些并以合理的间距显示文本。
但是,notepad 和 Word 2000 显示的文本与 winforms 一样,间距很大。我猜字体默认有这么大的空间,因为有些字符(比如 U+2320,上半部分)比字母数字大得多。
如果您将 Cambria Math 与不理解数学扩展的字体引擎(例如 winforms 使用的引擎)一起使用,您将获得大间距。
如果您要显示简单的表达式,您不妨使用 Cambria。
关于c# - Cambria Math 大的顶部和底部边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8624229/