字体和路径

    想做一个透明时钟,初步想法是这样的:

    1.获取dc,并把背景设成透明。

    2.启动路径(BeginPath),用TextOut输出时间。

    3.结束路径(EndPath),从路径获取区域(PathToRegion),并把该区域设为窗口的显示区域(SetWindowRgn)。

    按照这个步骤做一遍,没有效果,从路径获取区域时失败。参考了网上的资料,为dc选择一个字体(比如宋体)之后就成功了。

 

    随后做了个小实验用于确认字体和路径的关系。

    字体有三种类型:

    DEVICE_FONTTYPE

    RASTER_FONTTYPE

    TRUETYPE_FONTTYPE

    枚举了我电脑上的字体,发现没有DEVICE_FONTTYPE这种类型的字体。

    用RASTER_FONTTYPE类型的字体去创建路径都是失败的(dc默认的字体是System,它的类型就是RASTER_FONTTYPE)。

    用TRUETYPE_FONTTYPE类型的字体创建路径,基本都是好的,除了"宋体-PUA"。后来发现是因为这种字体不能显示纯数字或字母,即文本中必须包含汉字才能显示。

操作系统中字体文件的默认存储路径因操作系统不同而有所差异。以下是一些常见操作系统的默认字体存储路径: ### Windows 在Windows操作系统中,字体文件通常存储在以下目录中: - **系统字体目录**:`C:\Windows\Fonts\` - **用户字体目录**:`C:\Users\<用户名>\AppData\Local\Microsoft\Windows\Fonts\` [^3] Windows系统字体目录中的字体是为所有用户安装的字体,而用户字体目录中的字体仅对当前用户可用。 ### macOS 在macOS中,字体文件通常存储在以下位置: - **系统字体目录**:`/System/Library/Fonts/` `/Library/Fonts/` - **用户字体目录**:`~/Library/Fonts/` [^3] 系统字体目录中的字体对所有用户有效,而用户字体目录中的字体仅对当前用户有效。 ### Linux 在Linux系统中,字体存储路径可能因发行版而异,但通常包括以下目录: - **系统字体目录**:`/usr/share/fonts/` `/usr/local/share/fonts/` - **用户字体目录**:`~/.fonts/` 或 `~/.local/share/fonts/` [^3] 系统字体目录需要管理员权限才能修改,而用户字体目录用于存储用户自定义的字体。 ### 字体路径查找方法 查找字体路径的方法可以通过以下方式实现: #### Windows 1. 打开“控制面板”。 2. 进入“外观个性化”。 3. 选择“字体”选项,这将显示系统中所有已安装的字体目录。 #### macOS 1. 打开“应用程序” → “字体册”。 2. 在字体册中,可以通过“文件” → “添加字体”来查看字体的存储路径。 #### Linux 1. 打开终端。 2. 使用命令 `fc-list : file` 可以列出所有已安装字体路径 [^3]。 此外,可以使用 `fc-config` 工具来管理字体配置路径。 ### 示例代码:使用 Python 查找字体路径 以下是一个使用 Python `fontTools` 库来读取字体文件路径的示例代码: ```python from fontTools.ttLib import TTFont def get_font_path(font_file): font = TTFont(font_file) return font.reader.file.name # 示例字体文件路径 font_path = get_font_path("example_font.ttf") print(f"字体文件路径: {font_path}") ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值