说说SYSTEM_FONT和DEFAULT_GUI_FONT的区别

说说SYSTEM_FONT和DEFAULT_GUI_FONT的区别

作者:BlogUpdater |  时间:2022-11-28 |  浏览:125 |  评论已关闭 条评论

如果你对 GDI 有所研究,在调用 GetStockObject 时,你应该应该碰到过这两个字体:SYSTEM_FONT 和 DEFAULT_GUI_FONT,那么它们有什么区别呢?

实际上,它们是没有人再使用的字体。

在 Windows 2.0 的古老时代,对话框使用的字体是一个位图字体,被称之为 System。
这个字体就是通过 SYSTEM_FONT 来获取的,而且为了保持兼容性,它依然是对话框所使用的默认字体。当然了,在现代操作系统的年代,已经没有多少人会使用这种比较丑陋的字体了。(除此之外,由于它是一种位图字体,因此在高分辨率下看起来不太美观,也不能消除锯齿。)

它的另一个兄弟,DEFAULT_GUI_FONT,它的历史没有那么辉煌。它是在 Windows 95 开发时期被创建的一个字体,当时开发团队希望它能够成为新的 GUI 字体标准,但到 1994 年 7 月,Windows 本身停止使用它,转而使用 SystemParametersInfo 函数返回的各种字体。它的存在现在已经退化了。

SYSTEM_FONT 和 DEFAULT_GUI_FONT 的一个主要问题是,在典型的美式英语语言的机器上,它们会被映射到那些不支持 ClearType 的位图字体。

总结
有一段时间,我花了些时间研究了 Topomel Box 的 GDI 资源泄露的问题,就有幸碰到过这两个字体,给我的感觉是:它确实没有现代字帖那么美观。
还是”微软雅黑”对我们好!

最后
Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《What are SYSTEM_FONT and DEFAULT_GUI_FONT?》

最近我写了个东西
正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。
我想:你值得拥有。

评论已关闭。