首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

说说SYSTEM_FONT和DEFAULT_GUI_FONT的区别

如果你对 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?》

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20221128A01Y4600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券