防止 TrueType 字体的抗锯齿(或子像素渲染)

2024-01-07

这就是 .ttf 字体的渲染方式:

How the font is rendered

我使用 FontForge 创建了这种纯矢量 TrueType 字体。 我想在需要基于矢量的字形且不支持加载 .ttf 嵌入位图的应用程序上使用此字体(貌似没有这个问题).

在某些颜色方案上,Windows 执行的子像素渲染会使字体完全无法读取。这种效果存在于大多数 ttf 字体中,但在像我这样具有像素完美边缘的字体上要强得多。

有谁知道任何可编程的提示技巧或字体设置,可以让字体完美地呈现像素,而不是用这个红色/蓝色光环?我希望字体能够正常工作,而无需修改操作系统来禁用 ClearType 或类似内容。

澄清一下,这是一个关于利用 TrueType 指令集或更改 TrueType 字体设置的问题(不是系统/应用程序设置)我可能忽略了正确设置,以使字体呈现清晰(如果可能的话)。


工作方案

信用去往布赖恩·尼克松用于发布解决方案 URL,以及埃里克·奥洛夫森研究解决方案并将其发布在他的博客上。

Erik Olofsson 提供了一种解决方案,强制 Windows 字体 API 在渲染时优先使用 .ttf 嵌入位图,而不是字形。

详细解决方案可以参见http://www.Electronicdissonance.com/2010/01/raster-fonts-in-visual-studio-2010.html http://www.electronicdissonance.com/2010/01/raster-fonts-in-visual-studio-2010.html


解决方案总结

  1. 将“繁体中文”代码页添加到 OS/2 Panpose 表中。
  2. 使用“ISO 106046-1”(Unicode、UCS-2)编码。
  3. Include glyphs for the following seemingly random Hiragana characters:
    • い - U+3044
    • う - U+3046
    • か-U+304B
    • ひ - U+3057
    • の - U+306E
    • ん - U+3093

这份清单不是开玩笑

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

防止 TrueType 字体的抗锯齿(或子像素渲染) 的相关文章

  • java中如何从系统字体中获取ttf字体数据

    我的系统上安装了一些 ttf 字体 我使用得到该列表 GraphicsEnvironment getLocalGraphicsEnvironment getAvailableFontFamilyNames 这不仅是 ttf 字体 而且是我猜
  • 如何通过 Xcode 以编程方式在 iOS 中使用自定义字体(例如:Helvetica CY.ttf)

    我正在尝试使用Helvetica CY我的应用程序中的字体 我已经按照苹果文档的建议进行了配置 自定义字体显示在故事板的下拉列表中 但是无法以编程方式使用相同的字体在我的班级文件中 我已记录了该应用程序可用的所有字体系列 但是 Helvet
  • 如何从 Android 中的 TTF 文件读取字距调整对表

    我目前正在使用从 TTF 文件加载的外部 非标准 字体在 Canvas 上绘制文本 我想为我正在显示的文本启用字距调整 我想知道是否有可能使用 Android API 从字体中读取字距对 我想知道是否有可能使用 Android API 从字
  • 禁用特定 GDI 设备上下文的抗锯齿功能

    我正在使用第三方库将图像渲染到 GDI DC 并且我需要确保渲染任何文本时都不会进行任何平滑 抗锯齿 以便我可以将图像转换为具有索引颜色的预定义调色板 我用于渲染的第三方库不支持此功能 并且仅根据当前 Windows 设置的字体渲染来渲染文
  • 如何在 .NET 中创建子集字体?

    我有一个 Silverlight 应用程序 需要在其中嵌入一些不太常见的字体 这对我来说非常简单 只需复制 TTF OTF 并使用我的应用程序进行编译即可 然而 在很多情况下 实际只使用了 5 10 个字符 在其他情况下 某些字体文件非常大
  • 如何计算 TTF 字体中两个字形之间的间距?

    这是一个定义了a的图字体水平字形度量的几个术语 假设我有一句话 Foo 酒吧巴兹 如何获取单词 Foo 和 bar 之间的间距大小 以像素为单位 我想我总结一下 Foo 中 o 字素中的空白右侧填充 从advance the bearing
  • 如何从 PDF 中提取嵌入字体作为有效字体文件?

    我知道pdftk exe实用程序 可以指示 PDF 使用哪些字体以及它们是否嵌入 现在的问题是 假设我有嵌入字体的 PDF 文件 如何才能以可作为常规字体文件重新使用的方式提取这些字体 有 最好是免费的 工具可以做到这一点吗 另外 可以使用
  • 如何通过解析 TTF 字体文件获取字形宽度?

    用于捕获 a 的字形宽度TrueType字体 我转换对应的TTF归档依据fontforge into AFM 它是文本格式 不是二进制 然后 解析文本文件以捕获字形宽度 应该有更简单的方法来直接解析二进制文件TTF文件来捕获字形宽度 我很欣
  • 为什么我的 SVG 文件不使用我的字体文件?

    我在同一目录中有这个 SVG 文件这个字体的TTF 文件
  • 如何在qml中使用roboto Thin字体

    我正在尝试在 Linux 的 QML 中使用机器人细字体 我已经在 ubuntu 上安装了粗体 细体和浅体字体 其他程序 例如 openoffice 仅向我显示 roboto 我如何在 qml 中使用 roboto Thin 或 Light
  • 自定义字体在使用 WKHTMLTOPDF 库生成的 PDF 中不起作用

    我正在使用 Laravel 5 1 SnappyPDF 包装器 它使用WKHTMLTOPDF图书馆 我正在尝试为我的 PDF 文件包含一些自定义谷歌字体 但这些字体在生成的 PDF 文件中不起作用 我尝试过 将字体转换为Base64还尝试通
  • Android 上的默认字体设置

    谁能告诉我大多数 Android 设备上的捆绑字体是什么 特别是网页 就像Windows 有其捆绑的字体 http www microsoft com typography fonts product aspx pid 161 or Mac
  • True Type 字体格式:笔位置、提前宽度和字距调整

    我正在做一些字体工作 目前使用 TTF True Type Font 文件格式 我知道该字形有一个笔尖位置和一个advance width参数指定在绘制下一个字形之前我们应该向右移动的距离 假设这里的字体是从左到右并且是水平的 我的问题 在
  • 如何动态下载字体并将其安装到 iOS 应用程序

    客户希望通过 API 调用下载字体来动态地将字体添加到 iOS 应用程序中 这可能吗 我挖掘出的所有资源都展示了如何手动将 ttf 文件拖到 Xcode 并将其添加到 plist 中 是否可以下载字体并以编程方式在客户端上使用它 Thank
  • 如何确认 TrueType PDF 字体缺少字形

    我有一个 PDF 它在 Acrobat 中渲染良好 但在打印机 RIP 上的 PDF 到 PS 转换过程中无法打印 用 pdftk 解压缩并编辑后 我发现如果我替换某种字体的使用 它将打印 该字体是一种奇怪的字体 是带有单个字符 空格 的
  • 如何将非抗锯齿字体渲染到内部图像?

    使用 Python 将非抗锯齿字体 例如 ttf 字体 渲染到内部图像 例如到PIL Image 即我不需要显示它 我说准确是因为我不久前用 pygame 尝试过它 并且我给它的渲染字体大小与 Word 或 Paint 中渲染的窗口不匹配
  • 当 FlowDocument 放置在带有自定义玻璃的窗口中时,子元素中的 ClearType 会丢失

    因此 新的 WPF 4 文本渲染看起来很棒 但在窗口上启用航空玻璃效果需要将背景更改为透明 这当然会禁用 ClearType 渲染 使用提供的 RenderOptions ClearTypeHint Enabled 允许您指定子元素以从树中
  • 编写字体查看器 - 获取字体属性,动态加载 ttf

    我正在尝试使用 VB6 VB5 代码 在 Windows 下 为 TrueType OpenType 字体编写一个字体查看器 这是令人惊讶的困难 1 在VB winAPI中 我没有找到如何提取字体的名称或一般的字体属性 2 我可以安装字体
  • 日语 Unicode 字体

    我正在创建一个游戏 我有一些带有文本的用户界面 最近我们想添加日语版本 但我遇到字体问题 我使用 stb freetype 来光栅化字体 并且我支持 Unicode 所以这应该不是问题 但大多数字体似乎不包含日语字符 在 Windows 上
  • 从 Python 内部设置 LD_LIBRARY_PATH

    有没有办法设置指定运行时期间Python 在哪里寻找共享库 I have fontforge so位于fontforge bin并尝试了以下方法 os environ LD LIBRARY PATH fontforge bin sys pa

随机推荐