True Type 字体格式:笔位置、提前宽度和字距调整

2023-12-29

我正在做一些字体工作,目前使用 TTF(True Type Font)文件格式。我知道该字形有一个笔尖位置和一个advance width参数指定在绘制下一个字形之前我们应该向右移动的距离(假设这里的字体是从左到右并且是水平的)。我的问题:

  • 在哪里可以找到 FFT 文件中高级宽度的数据。是不是在hhea https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6hhea.html桌子?就是它advanceWidthMax?
  • 我找不到文件中定义的笔位置?您能告诉我存储该数据的表吗? (或者我应该根据字形 xmin、ymin、基线和左轴承数据来计算它?然后可能使用字距调整进行额外的小调整?)

  • 高级宽度是字体的全局宽度吗?

  • 每个字形都有一个笔位置吗?

  • 我知道为了调整字形之间的位置,您应该使用字距调整数据,该数据指定字形之间相对于advanced width。那是对的吗?

EDIT

我找到了我的问题的部分答案:

  • hhea包含整个字体的信息
  • 尽管此信息并不真正适用。您需要从以下位置读取数据htmx表包含字体中每个字形的数据(左侧轴承和前进宽度)。

我仍然对笔的位置以及如何正确使用字距调整数据感兴趣。


希望这可以帮助将来的人们。我发现了什么:

  • hhea包含整个字体的信息
  • 尽管此信息并不真正适用。您需要从以下位置读取数据html表包含字体中每个字形的数据(左侧轴承和前进宽度)。通常,该表包含与字体包含字形一样多的条目。每个条目指定字形左侧轴承和前进宽度。

我没有找到有关笔位置的任何信息,但我假设字形的 xmin 值是相对于 EM 方块的原点而言的。因此,要找到笔的位置(在 x 中),您需要执行以下操作:

pos_pos_x = glyph->leftSideBearing - glyph->min.x

绘制字形后,您需要移动glyph->advanceWidth并对绘制的字形重复该过程。我不知道这是否100%准确,但至少这是我到目前为止所进行的逆向工程。

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

True Type 字体格式:笔位置、提前宽度和字距调整 的相关文章

  • 无法更改 Visual Studio 2013 中的字体

    我曾经可以通过以下方式更改 Visual Studio 2013 的字体和颜色Tools gt Options then Environment gt Fonts and Colors 最后显示文本编辑器的设置 但是 现在我无法显示文本编辑
  • 自定义字体,eot,不起作用

    我无法让我的自定义字体在 IE7 和 IE8 中工作 http i creative dk iJob http i creative dk iJob 它在 IE9 Firefox 和 Chrome 中运行良好 对于 Firefox 和 Ch
  • 如何动态更改字体名称?

    我正在使用 Jasper jar 生成有关我的 J2EE 项目的报告 我能够成功生成 PDF 没有任何问题 但是 我希望根据我们在一处配置的设置动态更改所有 PDF 的字体名称 我开始了解条件样式 这对于完成此任务很有用 然而 我确实有数百
  • 如何在 Qt-Embedded 中(正确)输出多语言文本?

    我的目标系统是 linux 3 3 7 Qt Embedded 开源版 4 8 Droid 字体 取自 fonts droid 20111207 git 1 all deb Debian 软件包并复制到 usr lib fonts目录 主要
  • 如何在 WinForms 应用程序中嵌入我自己的字体?

    我想在我的 WinForms 应用程序中嵌入字体 这样我就不必担心它们被安装在计算机上 我在 MSDN 网站上进行了一些搜索 发现了一些有关使用本机 Windows API 调用的提示 例如 Scott Hanselman 链接到的 Mic
  • Android 上有哪些字体可用? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道安卓有一个字体集合 http www ascenderfonts com store search
  • Android 支持哪些字体文件类型?

    Android 支持哪些字体文件类型 例如与 Typeface createFromAsset 一起使用 我似乎找不到文档中列出 我可以看到一些教程中提到了 TTF 并且这里有人暗示现在也支持 OTF 但是是否有一个完整的列表显示不同 AP
  • 如何使用 NextJS 使用自托管字体face?

    使用 NextJS 的字体 我已经阅读了有关如何在 NextJS 中使用自托管字体的不同主题 我得到了什么 wait compiling 当我这样做时 font face font family montserrat src url myp
  • 如何在 Rails 5 中设置资产管道以使用自定义字体?

    我必须使用自定义字体贾米尔 努里 纳斯塔莱克 http www urdujahan com urdu fonts Jameel 20Noori 20Nastaleeq zip在 Rails 5 应用程序中 我以前从未使用过 Rails 中的
  • Swing - 是否可以在 JTable 单元格中设置“特定”文本的字体颜色?

    我有一个 JTable 其中一列按以下格式显示值 423545 50 7568787 50 53654656 2021947 50 021947 2021947 50 8021947 50 我想知道是否可以用红色显示方括号内的值 在过去的几
  • 设置 jdialog 框中文本的格式

    我有一个 JOptionPane JOptionPane showMessageDialog null text 文字是一个刺 String text Hello world 我想做的是改变文本的颜色 特别是一个单词 让我们说 你好 所以我
  • 使用自定义 TTF 字体进行 DrawString 图像渲染

    我在服务器端使用 GDI 创建图像 并将其传输到用户的浏览器 没有一个标准字体符合我的要求 因此我想加载 TrueType 字体并使用此字体将字符串绘制到图形对象 using var backgroundImage new Bitmap b
  • 仅从 PDF 中提取粗体文本的最佳方法

    iTextSharp 是一个很棒的工具 我可以使用PdfTextExtractor GetTextFromPage reader iPage 它工作得很好 但是有没有办法从 pdf 中只提取粗体文本 例如标题 而不是所有内容 无论编程语言如
  • 在 swift 中使用自定义字体[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要一个用于 swift sprite kit iOS 的字体 该字体用于商业目的 我正在尝试拥有一
  • 如何将 google 字体添加到 gatsby 网站

    Gatsby 入门 当我使用 google 字体将链接标记添加到 public index html 时 它可以在开发模式下工作 当我构建网站时 index html 会被重置 所以我想还有另一种添加字体的正确方法吗 您还可以使用反应头盔
  • UIFont Woes(一些自定义字体加载,但其他字体不加载)

    我在加载某些自定义字体时遇到问题 我遵循了这个问题的 400 多个赞同的传统答案中的建议 并且它非常适合一个项目 然而 在我正在从事的另一个项目中 我遇到了加载 UIFont 的问题 这些问题与帖子中发现的问题有些相似向 UIAppFont
  • MKAnnotationView 的不同字体

    在iPhone SDK地图上的标注气泡上 可以更改标题和副标题属性的字体吗 我对标注气泡中显示的默认字体不满意 并且希望使用不同的字体来匹配我的应用程序的其余部分 然而 我没有看到太多提及这一点 这让我担心这可能是不可能的 我见过构建自定义
  • 在 UIWebView 中使用自定义字体

    我想在 UIWebView 中显示自定义字体 我已经将字体放在 应用程序提供的字体 下的 plist 中 使用中的代码 UIWebView webView UIWebView alloc initWithFrame myRect NSURL
  • 如何在 HTML 元素中使用 CSS 设置特定单词的样式?

    如何设置其中特定单词的样式 p 标签 前任 STUDIO X是有史以来最好的工作室 如何使用 css 将 STUDIO X 设为与 is the best studio ever 不同的字体 你应该做这个 p font size 12px
  • 将自定义字体与 wkhtmltopdf 一起使用

    我正在尝试在使用 wkhtmltopdf 生成的 PDF 中使用自定义字体 我读到您不能使用 google webfonts 并且 wkhtmltopdf 使用 truetype ttf 文件 谁能证实这一点吗 所以我从 google we

随机推荐

  • 查找 Apple 地图的 AUID 以抓取位置

    我的印象是 需要 AUID 来检索 Apple 地图上的位置列表等的位置信息 是否有已知的方法来检索此 ID 或者我们是否正在等待 Apple 公开发布 Apple 地图的网络版本 如果 Fruitymaps 仍然有效的话 它会是一个很好的
  • 下一个图像未在生产中加载

    我正在使用 NEXT 构建我的网络应用程序 在我的开发服务器期间 一切都运行顺利 所有图像都按预期显示 但是当我运行时next build进而next start图像在开发服务器中消失 不知道为什么会发生这种情况有人可以帮助我吗 我的文件夹
  • 迁移到 AndroidX 后,启动时出现异常:java.lang.ClassNotFoundException:“未找到类 androidx.core.app.CoreComponentFactory”

    迁移到 AndroidX 后 我在启动时出现以下异常 LoadedApk Unable to instantiate appComponentFactory java lang ClassNotFoundException Didn t f
  • 如何修复 Flutter 中水平列表视图中的裁剪阴影

    当我在 ListView 内创建一个带有框阴影的容器 水平滚动 时 阴影看起来很好 但是 当我在 ListView 内添加多个容器时 它们的阴影 只是阴影 而不是容器 在顶部和底部被裁剪 另请注意 整个 ListView 包装在父容器下 我
  • 如何使用 Next.js 13 的 objectFit?

    In the 下一个 图像文档 https nextjs org docs api reference next image在版本历史记录下 v13 0 0 的内容如下 删除了布局 objectFit objectPosition lazy
  • 允许匿名用户仅访问登录和注册页面

    我试图只让两个页面 login aspx 和 register aspx 对匿名用户可见 我已经能够让匿名用户仅访问 login aspx 而不访问更多 但我无法进行注册 aspx 也可用 有什么提示吗 到目前为止 这是我的 web con
  • 准确判断PHP运行的操作系统类型

    我需要确定 PHP 服务器运行的操作系统类型 就类型而言 我指的是 windows 或 linux 等字符串 而不是 wince winnt 等 到目前为止 我必须引导 PHP OS 和 uname 后者比前者更可靠 PHP OS 说明 P
  • CodeIgniter Composer“package.json”位置应该位于应用程序或根文件夹中?

    我使用 code igniter v3 x 我想添加一些作曲家包 看着application config config php文件 它说将在应用程序文件夹中加载包 package auto loader script in applica
  • 解析。保持 LocalDataStore 数据同步

    我首先在线查询数据 没有 query fromLocalDatastore 并 固定 它以供本地使用 为了节省带宽 我使用 UpdatedAt 来仅获取新内容 之后 我使用 query fromLocalDatastore 进行查询 获取数
  • XSD 中的 xs:choice 是否允许在结果 XML 中包含多个元素?

    我对 XSD 的 选择 元素描述感到困惑 它指出 在该标记内找到的元素中 只能在有效的 XML 中找到一个元素 允许且仅允许所选元素中包含一个元素 基团存在于包含元素内 http msdn microsoft com en us libra
  • 如何在 IOS Audio Unit Framework 中设置 pan

    堆栈溢出的用户您好 我想在我的 IOS 应用程序中使用 UISlided 更改平移位置 我正在升级当前正在使用的整个应用程序音频流媒体 of 马特 加拉格尔 要更改 AudioStreamer 中的平移值 请使用以下代码 AudioQueu
  • 如何在工作线程(非 UI 线程)中创建模态对话框?

    我编写了一个示例 MFC 应用程序 其中有两个线程 主线程 UI线程 工作线程 非UI线程 我有一个特定的要求来创建一个Modal非 UI 工作线程 中的对话框 当我创建CDialog对象和调用DoModal同样 它有效 该对话框被创建并充
  • 联合类型允许对所使用类型的属性进行错误分配

    我在理解 TS 中的联合时遇到问题 为什么下面的分配是有效的 我以为它只适用于const a a 12 or a 123 b 23 or a 12 b 12 c 123 type abcd a number a number b numbe
  • 如何取消吐司

    我开发了一个 Android 应用程序 但我遇到了一个问题Toast 假设我正在显示一个Toast 它显示在应用程序窗口上 当出现对话框时 toast 不会立即消失 我想知道如何取消吐司 Toast makeText返回一个Toast目的
  • Google 云端硬盘文件夹 ID

    我有一个文件夹路径 例如 docs word 我想获取 word 文件夹 最后一个文件夹 的ID 以便在那里上传文件 我如何获取身份证 所以我想通了 你要做的就是获取 root 的 iddrive service about get exe
  • 使用 JSFiddle 时从 javascript 控制台调用 jQuery

    在我的调试和创建过程中 通常会从 javascript 控制台 firefox 或 chrome 内置的 firebug 触发一些 jQuery 命令 仅用于检查和测试目的 我注意到我无法使用 jQuery 调用与 JSFiddle 上页面
  • SSRS 按参数分组

    如果我有一个报告参数 Fruit 允许多项选择 如何使用该参数作为 SSRS 矩阵中的列组 通常 我会在查询中使用如下参数 WHERE tbl fruit In Fruit 然后我将使用数据集中的列作为我的组 但是 在这种情况下 我需要返回
  • Visual Studio Team Explorer 列出了我未进行的文件更改

    例如 我刚刚启动 Visual Studio 来查找我从未打开过的文件的 28 个更改 当我尝试撤消更改 右键单击并选择撤消 时 我会看到一个确认对话框 我单击 是 然后什么也没有发生 我的一位同事说 这种情况有时会发生在他身上 除了重新开
  • Silverlight 5 VS 2012 单元测试

    在过去的几个小时里 我一直在尝试为 Silverlight 应用程序生成单元测试 许多帖子都提到了 Silverlight 单元测试项目 它是 Silverlight 工具包的一部分 但是我下载了工具包还是没有Test Project 好像
  • True Type 字体格式:笔位置、提前宽度和字距调整

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