如何在 .NET 中创建子集字体?

2023-11-27

我有一个 Silverlight 应用程序,需要在其中嵌入一些不太常见的字体。这对我来说非常简单,只需复制 TTF/OTF 并使用我的应用程序进行编译即可。然而,在很多情况下,实际只使用了 5-10 个字符。在其他情况下,某些字体文件非常大(Arial Unicode MS 常规例如,大小为 22.1 MB)。我的应用程序的快速下载时间非常重要,因此优化所使用的字体至关重要。

所以,我的想法是,我在 Expression Blend 这样的应用程序中看到了<Glyph/> 用于创建只读字体您也可以选择仅嵌入某些字符。在其他情况下,我看到人们使用仅包含某些字符作为完整字体的子集的字体(而不是使用<Glyph/>在 Silverlight 中,而是仅使用子集 .TTF 作为<FontFamily/>.)这就是我所追求的,只是我没有使用表达式。

我并不是在寻找偷偷摸摸的解决方法,例如导出到 XPS 文件并获取 .odtff 文件。

是否有一种编程方式(.NET/GDI+)来创建仅包含某些字符的字体子集并将其编译为.TTF/.OTF?此外,这也需要适用于 .TTC 文件。


原生API创建字体包可能就是您正在寻找的。您可以传递 TTF 和要保留的字符列表。如果你通过了TTFCFP_SUBSET for usSubsetFormat,然后您将返回一个仅包含这些字符的有效 TTF。

这是一个线程似乎是一个工作示例的代码(不幸的是,用 C 语言)。

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

如何在 .NET 中创建子集字体? 的相关文章

  • 在c#中创建sql连接

    我是这个网站的新手 也是编程的新手 我目前正在通过销售点创建库存系统 它使用模态和非模态形式 我的问题是 我正在研究change password对话框必须连接到数据库才能覆盖密码字段 我使用的数据库是Microsoft SQL Serve
  • 为什么 ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᏍᎦᏚᎩ 是美国的本土名称?

    当我使用这段代码时 var ri new RegionInfo us var nativeName ri NativeName why is nativeName然后是字符串 in Cherokee https en wikipedia o
  • 在 VB.NET 中 a = b = 5 - 不可能吗?

    VB NET 中可以这样做吗a b 5 我知道 也是比较运算符 我的意思是做not结果 例如 如果 b 2 a false b 2 然而 在下面的情况下该怎么做呢 不方便在我的代码中引起了这个问题 一些对象a b z由方法中的 ref 传递
  • Microsoft Teams 中私人消息的传入 Webhook

    我可以从 C 应用程序或 PS 脚本创建传入 Webhook 将 JSON 消息发送到 MSFT 文档所解释的通道 但是 我想使用传入的 webhook 将 JSON 消息从我的应用程序发送到用户 作为私人消息 就像 Slack 允许的那样
  • 在 Javascript 中本地化字符串

    我目前正在使用 resx文件来管理我的 NET 服务器端资源 我正在处理的应用程序还允许开发人员将 JavaScript 插入各种事件处理程序中以进行客户端验证等 对我来说本地化 JavaScript 消息和字符串的最佳方法是什么 理想情况
  • 如果浏览器在 asp .net 中关闭,请从浏览器中注销?

    我的要求有点复杂 用户正在使用 Web 浏览器访问数据库 而在访问数据库时 如果用户关闭活动页面而不是注销会话 该会话需要自动注销 有人可以指导我如何做这个吗 我在母版页中使用了jquery onbeforeunload 我收到消息离开页面
  • 检查列表是否包含另一个列表。 C#

    编辑 只是说 ContainsAllItem 中的注释解释得最好 很抱歉问这个问题 我知道以前有人问过这个问题 但我只是不明白 好的 所以我想检查一个列表是否包含另一个列表中的所有项目WITHOUT重叠 以及根据类字符串 名称变量 称为项目
  • WebClient读取错误页面的内容

    我有一个加载页面内容的应用程序 我使用 WebClient 类 即使服务器返回 404 500 等错误 我也需要检索内容 我需要这样的东西 WebClient wc new WebClient string pageContent try
  • 如何将pdf页面设置设置为打印属性对话框?

    大家好 我想知道如何设置 pdf 页面设置到打印属性对话框 例如 如果我的 PDF 页面设置为横向 则布局会自动显示横向而不是纵向 如果我的 PDF 页面设置为纵向 则布局会自动显示纵向 我在这个主题上做了很多研发 但没有找到任何满意的链接
  • 有没有办法设置 log4net 内存附加程序可以包含的最大错误消息数?

    我想向根记录器添加一个内存附加程序 以便我可以连接到应用程序并获取最后 10 个事件 我只想保留最后 10 个 我担心这个附加程序会消耗太多内存 该应用程序设计为 24 7 运行 或者还有别的办法吗 您需要创建一个自定义附加程序来存储有限数
  • 检测 SignalR Hub 客户端立即断开连接

    SignalR Hub OnDisconnected 何时在服务器端引发 对于崩溃或关闭而不调用Stop method 我正在使用 SignalR NET 客户端进行测试 而不是 javascript 客户端 如果我打电话给Stop客户端上
  • 元素属性语法和属性属性语法之间有语义差异吗?

    我认为元素属性语法和属性属性语法在语义上没有太大区别 但是 我发现一定有什么不同 例如 下面的例子只是演示了一个简单的触发器
  • 设置 runat=server 时输入名称和 id 发生变化

    在我的表单中 我需要插入 文本 类型的不同输入 输入必须是带有名称和 ID 的 html 控件 因为我将此表单发送到外部网址 对于验证 我在所有输入中执行 runat server 然后我可以使用 requiredfieldvalidato
  • 无法获取托管类型(“T”)的地址、获取其大小或声明指向托管类型的指针

    为什么哦为什么这是不允许的 private static unsafe byte ConvertStruct
  • C#:询问用户密码,然后将其存储在 SecureString 中

    在我目前为客户开发的小型应用程序中 我需要询问用户他的 Windows 登录用户名 密码和域 然后使用这些信息系统 诊断 进程 启动启动一个应用程序 我有一个带有 UseSystemPasswordChar 的文本框来屏蔽输入的密码 我需要
  • 如何获取可用系统内存的大小?

    C NET 中是否可以获取系统可用内存的大小 如果是的话怎么办 Use Microsoft VisualBasic Devices ComputerInfo TotalPhysicalMemory http msdn microsoft c
  • 为使用 SSH.NET SshClient.CreateShellStream 执行的命令 (sudo/su) 提供子命令

    我正在尝试使用 Renci SSH NET 从 C Web 应用程序连接到远程 Linux 服务器并执行 shell 脚本 我想一个接一个地运行脚本 但不知道如何运行脚本并读取输出并将其存储在标签中 我已经尝试了下面的代码 但无法一行接一行
  • Android 手机作为 GSM 调制解调器在 PC 上发送/接收短信?

    是否可以将 Android 移动设备用作 PC 上的 GSM 调制解调器 我正在 net下开发应用程序来发送 接收短信等 现在我想通过 USB 将我的 Android 设备连接到我的 PC 并将其用作 GSM 调制解调器来与其通信 这里是参
  • 如何在 .NET Framework 2.0 中模拟“Func<(Of <(TResult>)>) 委托”?

    我尝试使用这个类代码项目文章 http www codeproject com KB threads AsyncVar aspx在 VB NET 和 NET Framework 2 0 中 除了这一行之外 所有内容似乎都可以编译Privat
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默

随机推荐

  • Android 上的 Eclipse 调试出了什么问题? [复制]

    这个问题在这里已经有答案了 可能的重复 Android 看似无用的调试环境 我显然已经被 Visual Studio 宠坏了 因为虽然我刚刚学习 Android 和 Eclipse 环境 但在 Eclipse 中调试应用程序正在严重损害进一
  • 是什么导致我的函数最后返回 None ? [复制]

    这个问题在这里已经有答案了 我非常简单的 python 函数正在返回None最后 我不太清楚为什么 我看了一些其他的帖子 还是没明白 这是我的代码 def printmult n i 1 while i lt 10 print n i en
  • CSS图灵完备了吗?

    据我所知 CSS 不是图灵完备 但我对 CSS 的了解非常有限 CSS图灵完备了吗 你可以编码Rule 110在 CSS3 中 所以只要您考虑适当的随附 HTML 文件 它就是图灵完备的和用户交互成为CSS 执行 的一部分 A相当好的实施可
  • Java Excel POI 在quartz 多次执行后停止

    我想对此有一些见解 我有一个从数据库读取和写入 Excel 文件的程序 它的执行基于使用 Quartz api 的计时器 并在每周的每个星期二触发 问题是 当我通过安排它每小时执行一次作业来测试它时 程序在写入 Excel 文件的过程中执行
  • WPF 动画窗口可见性更改

    我正在尝试弄清楚如何为 WPF 窗口从 Visibile 到 Hidden 的更改设置动画 我目前让应用程序工作的方式是 窗口通常是隐藏的 当我将鼠标移动到屏幕一侧时 它会弹出 我正在使用布尔值到可见性转换器来执行此操作 但我想要做什么是让
  • R 将时间序列中的重复行与数据表中的不同列类型组合起来

    这个问题是建立在另一个问题的基础上的R 按 ID 将重复行与数据框中不同的列类型组合起来 我有一个带有列的数据表time以及其他一些不同类型的列 因子和数字 这是一个例子 dt lt data table time c 1 1 1 1 1
  • 如何在终端上运行Python脚本?

    我想在终端中运行 Python 脚本 但我不知道如何执行 我已经在目录 User luca Documents python 中保存了一个名为 gameover py 的文件 你需要python安装在您的系统上 然后您可以在终端的正确目录中
  • 设置SplitPane的分隔线位置

    我想将 SplitPane 的分隔线设置为某个默认位置 这不起作用 分隔线保持在中间 public void start Stage primaryStage throws Exception SplitPane splitPane new
  • 是否可以在线构建 Cordova App?

    我正在使用 PhoneGap 框架制作一个应用程序 PhoneGap提供构建服务 http build phonegap com 这使我们能够构建和将应用程序打包到云中 您不需要安装任何本地SDK构建应用程序 有什么办法可以建造科尔多瓦应用
  • Gradle Android 测试不支持过滤器(--tests)

    Gradle Android 测试不支持过滤器 tests gradlew test tests com example test works gradlew connectedAndroidTest tests com example t
  • 在一个 UITableView 问题中调用两个不同的自定义单元格

    我创建了一个自定义单元格 FeatureCell 该单元格中有 5 个图像 将在主视图中调用 但当我调用它时 我得到空行 那么请问我的问题可能出在哪里 我在谷歌上搜索了自定义单元格 并使用了我必须在下面的代码中使用的方式 但没有任何反应 这
  • DataSet 和 DataReader 哪个更好?

    我刚刚看到这个话题 数据表与数据集但这并没有解决我的疑问 让我更好地解释一下 我正在与数据库进行连接 需要在 GridView 中显示结果 我之前使用 VB6 时使用了 RecordSet DataSet 与它非常相似 因此使用 DataS
  • jersey + grizzly + hk2:依赖注入,但不注入资源

    跟进Jersey HK2 Grizzly 注入EntityManager的正确方法 我想了解如何在类中使用依赖注入不是球衣资源 例如 我可能在 ExecutorService 中运行后台任务 并且它们可能需要 EntityManager 如
  • SSL:将数据加载到seaborn时出现CERTIFICATE_VERIFY_FAILED错误?

    我正在尝试从 github 页面加载数据 它是您可以获得的标准 seaborn 数据集的一部分 我使用 PyCharm 但我不明白到底发生了什么 import seaborn as sns data sns load dataset tip
  • 使用 NamedParameterJDBCTemplate 进行插入时出现“无效的列类型”异常

    我在向数据库插入一行时使用下面的代码 oracle 10g xe jar ojdbc14 jar String sql INSERT INTO SPONSOR TB ID NAME INDUSTRY TYPE IS REPORTING SP
  • python gnupg.encrypt:没有错误,但不加密数据或文件

    在 Windows 7 上使用 python gnupg v0 3 5 w Python 2 7 和 GPG4Win v2 2 0 test gnupg py 导致 2 次失败 测试搜索密钥是否有效 失败 文档测试 gnupg GPG re
  • 为什么单个修订版的 SVN 转储比完整转储大?

    我的存储库是2 5G 通过转储svnadmin dump myrepos gt dumpfile是5G 但是当我像这样转储时svnadmin dump myrepos r 23785 gt rev 23785 dumpfile其中 2378
  • 边框图像如何与线性渐变一起使用?

    我试图了解 border image slice 在渐变边框图像的情况下如何工作 在规范中 边框图像切片的值可以是一个数字 表示光栅图像的边缘偏移 以像素为单位 和矢量图像的坐标 对于矢量图像 该数字与元素的大小有关 而不是与源图像的大小有
  • Python中的反平方根[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 是否有任何 Python
  • 如何在 .NET 中创建子集字体?

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