首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows API选择粗体

Windows API选择粗体
EN

Stack Overflow用户
提问于 2012-07-10 08:01:20
回答 1查看 968关注 0票数 0

我正在尝试编写一些代码来选择粗体字体(实际上我想要获取字体文件名以发送到跨平台字体渲染器,但这并不太相关)。我使用CreateFont()将cWeight设置为FW_BOLD,将pszFaceName设置为"Arial“。我将此字体选择到DC中,并使用GetTextFace()检查实际选择了哪种字体。结果是Arial。令我惊讶的是字体不是Arial Bold,这是一个具有不同字体文件的单独的面孔。指定Arial Bold字体的唯一方法是将pszFaceName设置为"Arial Bold“。不幸的是,简单地将粗体附加到字体名称的末尾只对某些字体有效,因为有些字体没有单独的粗体。

有没有什么通用的方法来指定粗体,以确保返回字体的实际粗体版本?

谢谢

菲尔

EN

回答 1

Stack Overflow用户

发布于 2012-07-10 08:34:34

这不是它的工作方式,Windows字体映射器不会替换面孔名称。"Arial Bold“不是标准字体,也与标准"Arial”字体没有任何关系。如果你想使用它,那么你必须要它。

在FW_BOLD中输入"Arial“将选择c:\windows\fonts\arialbd.ttf字体文件。一种字体文件,专门设计成用粗体表示。脸的名字是"Arial“。同样,ariali.ttf提供斜体版本,arialbi.ttf提供粗体斜体版本,arial.ttf是普通版本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11404922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档