【工具】在TTF字体中提取想要的文字,让字体文件变迷你

[TTF字体]提取TTF字体的轮廓(二) 一. TTF字体轮廓解析与绘制 1.1 数据提取 void CHYTTFCharacter::InitTTPOLY() { if(0 == m_pTTPOLYData) // GetGlyphOutline提取到的字体轮廓数据 { return; } TTPOLYGONHEADER* pTTPOLYGONHEADER = 0; TTPOLYCURVE* pTT 阅读详情
AI摘要

本文介绍了如何使用sfnttool工具来从字体文件中提取指定文字,从而减小TTF字体文件的大小。通过简单的命令行操作,可以实现去除不需要的文字,保留所需文字的目标。

【说明】

游戏中经常需要用到各种字体,但是网上下载的TTF字体文件最小也有好几兆,要是游戏中需要用到几种字体,那简直不能忍。

通常情况下,我们会用BMFont代替TTF字体,BMFont也有着很多的优势,但是缺点也很明显,每次修改都要美工的配合,而且不支持字号改变(不考虑缩放)。

那么有没有办法能把TTF字体文件变小点呢?答案是肯定的,除了用FontCreator那种累死人不偿命的东西之外,这里介绍一个简单实用的工具。

【介绍】

sfnttool 是谷歌开源项目 sfntly 内置的工具,他的作用是从一个字体文件中提取指定的文字,导出的字体中将只包含你需要的文字。

【下载】

http://download.youkuaiyun.com/detail/ldpjay/8822587

【使用】

1. 确保你的电脑已经安装了Java环境(能运行Java命令),这是必须的。

2. 命令行进入到sfnttool所在目录下。(一个小技巧,在当前文件夹里按住Shift再右键,里面有个“在此处打开命令行”。)

3. 输入下面的命令即可:

java -jar sfnttool.jar  -s '这是一段测试文字' msyh.ttf msyh_simplify.ttf

sfnttool.jar说明如下:

java -jar sfnttool.jar -h
subset [-?|-h|-help] [-b] [-s string] fontfile outfile
prototype font subsetter
        -?,-help        print this help information
        -s,-string       string to subset
        -b,-bench        benchmark (run 10000 iterations)
        -h,-hints        strip hints
        -w,-woff         output woff format
        -e,-eot  output eot format
        -x,-mtx  enable microtype express compression for eot format
4. 输出字体在同目录下。

【链接】

>> 谷歌sfntly开源项目:

https://code.google.com/p/sfntly/

>> 中文字体其实也可以用在网页上的:

http://hxgdzyuyi.github.io/blog/chinese-subset.html

>> cjk-subsetter项目:

https://github.com/hxgdzyuyi/cjk-subsetter



[TTF字体]获取TTF字体的点阵信息 获取TTF字体的点阵信息还是使用GetGlyphOutline 看代码 CClientDC dc(this); HDC hDC = dc.GetSafeHdc(); //创建字体 CFont font; VERIFY(font.CreateFont(32, 0, 0, 0, FW_NORMAL, FALSE, FALSE, 0, ANSI_CHARSET, OUT_DEFAU 阅读详情

相关推荐

如何用python代码构建字体ttf文件(似乎是全网独一份??)

写在最前面:最近项目遇到了这么一个需求,需要从已有的开源字体整合自己所需的字体的子集,并合并成一个新的可安装字体文件ttf,期间查了不少资料问了好多遍ChatGPT依然没有现成的工具或者代码解决这一问题,索性自己写一个。有需要的小伙伴可以自取。

qq_36618444的博客 1472

怎么把需要的字从TTF里面提取出来\字体压缩

一、使用font-spider 1.1、下载 官网:http://font-spider.org 项目地址:https://github.com/aui/font-spider 用法打开官网就有,和font-converter相比,自动化程度比较高,但是需要先安装Node JS。 1.2、使用 官网有很详细的教程,也有中文,大家可自行查看。 二、使用font-converter 2.1、下载地址 项目地址:https://github.com/Jijun/font-converter-gui Linux

liangtianmeng的专栏 2749

提取TTF字库字模

最近想在FPGA上做OSD, 既在视频信号上叠加上文字信息,考虑到使用点阵字库提取的办法样式比较单一,因此选择利用Windows的TTF字库,参考了网上的一些资料,现己试验成功,主要的VC++代码分享如下: LOGFONT lf; CFont newfont; lf.lfHeight = 10;        //字体宽 lf.lfWidth  = 10;        //字体高 lf.

shinepp的专栏 3315

在TTF字体中提取想要的文字

工具地址:http://pan.baidu.com/s/1eR8uERo 密码:a4z4 1. 确保你的电脑已经安装了Java环境(能运行Java命令),这是必须的。 2.复制要提取的源字体(jz.ttf)到sfnttool所在目录下。 3. 命令行进入到sfnttool所在目录下。(一个小技巧,在当前文件夹里按住Shift再右键,里面有个“在此处打开命令行”。) 4. 输入下面的命令即可...

weixin_30892763的博客 631

小程序领域H5的跨平台字体适配

随着企业数字化转型加速,基于小程序与H5的跨平台开发成为主流。字体作为用户界面的核心元素,其显示一致性直接影响品牌认知与用户体验。然而,微信小程序、支付宝小程序、Web浏览器等平台在字体渲染引擎、文件加载机制、安全策略上存在显著差异,导致字体显示错乱、加载延迟、文件体积过大等问题。不同平台字体文件格式兼容性(TTF/WOFF/WOFF2/OTF)字体加载阻塞与渲染性能优化多端字体样式定义的统一与差异化处理自定义字体的子集化与动态加载策略微信小程序特殊环境下的字体加载限制。

小程序开发 859

TTF字体中提取工具sfnttool

Java环境命令(能运行Java命令)在TTF字体中提取想要的文字工具 sfnttool 留着备用一般还是用bmfont好

【亲测免费】 让字体文件变迷你:TTF字体提取工具推荐

让字体文件变迷你:TTF字体提取工具推荐 项目介绍 在网页设计和开发中,字体文件的大小往往是一个不容忽视的问题。过大的字体文件不仅会影响网页的加载速度,还可能增加用户的等待时间。为了解决这一问题,我们推荐一款名为“sfnttool”的开源工具,它能够帮助你从TTF字体文件中提取出你想要的文字,从而生成一个更小的字体文件。 项目技术分析 “sfnttool”是一个基于Java的字体子集工具,它通过提...

gitblog_00364的博客 1328

ttf字体抽取工具-仅供参考

ttf字体抽取工具

[TTF字体]提取TTF字体的轮廓(一)

一. 相关结构 TrueType Font ,由Apple和微软公司合作推出的文字文件格式. 一个TTF字符由许多轮廓组成,每一个轮廓由一个名叫TTPOLYGONHEADER的数据结构开始,跟在TTPOLYGONHEADER后面的是一系列的TTPOLYCURVE数据结构体。轮廓的顶点是POINTFX类型的数据结构点. TTPOLYGONHEADER的结构如下: typedef str

cay22的专栏 1万+

多模态情感识别(MER)数据集实战指南:从IEMOCAP到应用落地

本文提供了多模态情感识别(MER)从数据集到应用落地的完整实战指南。以经典IEMOCAP数据集为例,详细讲解了音频、视觉、文本等多模态数据的预处理、特征提取与融合技术,并分享了模型训练调优心得及面向智能客服、在线教育等场景的部署考量,帮助开发者快速构建高效可用的MER系统。

h3i4j的博客 1071

【sap2000】部分模型通过.s2k文件合并模型generating a global model through partial models by .s2k text file

现在需要通过选项File → Import → SAP2000 .s2k Text File → Add to existing model(如果使用其中一个部分模型作为基础)或New model(如果使用新文件)添加部分模型,并使用以下导入选项。模型A(阶段1/5) Model A (Phase 1/5)模型B(阶段2/5) Model B (Phase 2/5)模型C(阶段3/5) Model C (Phase 3/5)模型E(阶段5/5) Model E (Phase 5/5)

hmywillstronger的博客 1750

Java 通过指定的ttf字体库,提取特定文字

前言    web开发中常常须要用到各类字体,可是网上下载的TTF字体文件最小也有好几兆,要是须要用到几种字体,那简直惨不忍睹。    一般状况下,咱们会用BMFont代替TTF字体,BMFont也有着不少的优点,可是缺点也很明显,每次修改都要美工的配合,并且不支持字号改变(不考虑缩放)。    那么有没有办法能把TTF字体文件变小点呢?答案是确定的,除了用FontCreator那种累死人不偿命的东

tuonioooo 4841

中小团队必看!用Harbor+Jenkins打造轻量级K3S交付流水线(含成本优化方案)

本文为中小团队详细介绍了如何利用K3S、Harbor与Jenkins构建一套高性价比的自动化交付流水线。内容涵盖单节点K3S集群的效能配置、Harbor镜像仓库的磁盘空间优化、Jenkins共享库实现流水线复用,并提供了完整的实战案例与成本优化方案,帮助团队以较低成本快速落地高效的自动化部署。

weixin_29223603的博客 503

提取 TTF文件中的字体, 并生成新的TTF文件

工具地址 链接 提取码:ysnb 确保你的电脑已经安装了Java环境(能运行Java命令),这是必须的。 复制要提取的源字体(jz.ttf)到sfnttool所在目录下。 命令行进入到sfnttool所在目录下。(一个小技巧,在当前文件夹里按住Shift再右键,里面有个“在此处打开命令行”。) 输入下面的命令即可 java -jar sfnttool.jar -s "这是要提取的文字,单引号表示时不能有空格" haibaob.ttf haibao.ttf 新的TTF文件,有可能不能

u013118695的专栏 3997

告别SquareLine!用免费的NXP GUI-Guider为海思3516AV300开发LVGL界面(附完整移植流程)

本文详细介绍了如何利用免费的NXP GUI-Guider工具为海思Hi3516AV300开发LVGL界面,包括环境配置、代码移植和性能优化等全流程实战指南。特别针对二维码组件缺失等常见问题提供解决方案,帮助开发者零成本构建高效嵌入式GUI系统。

weixin_28292761的博客 416

数值计算之 插值法(4)切比雪夫零点插值

数值计算之 插值法(4)切比雪夫零点插值前言插值点选取第一类切比雪夫多项式拉格朗日插值多项式的余项切比雪夫零点插值后记 前言 上篇插值法讨论了多项式插值的解,以及龙格现象。本篇将介绍一种在抽取节点时有效降低龙格现象的方法——切比雪夫零点插值。 插值点选取 插值多项式阶数较高时,在取值空间均匀取点,容易出现龙格现象。 即区间边缘的插值结果与原函数差异很大,而区间中央的插值结果相对较好。这表明,高阶多项式插值对区间中央的节点拟合好,而对两端节点拟合效果差。 自然而然会想到,在两端多采样一些节点,在中间少采样一

qq_41035283的博客 1万+

ttf字体文件抽取自己想要的字

【说明】游戏中经常需要用到各种字体,但是网上下载的TTF字体文件最小也有好几兆,要是游戏中需要用到几种字体,那简直不能忍。通常情况下,我们会用BMFont代替TTF字体,BMFont也有着很多的优势,但是缺点也很明显,每次修改都要美工的配合,而且不支持字号改变(不考虑缩放)。那么有没有办法能把TTF字体文件变小点呢?答案是肯定的,除了用FontCreator那种累死人不偿命的东西之外,这里介绍一个简

ithouse的专栏 2万+

Qt C++ HTTP 调用通义千问大模型 X 学术论文润色工具(SCI 格式适配)

请求地址:`https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation`;| Windows | 打包时携带 `Qt6Network.dll`/`libcrypto-1_1-x64.dll` 等依赖;| Linux | 安装 `libssl-dev` 和 `libcurl4-openssl-dev`;| API 调用失败 | 检查 API-KEY 是否有效;

寒寒豆豆软件公司的博客 104

对ttf字体文件提取,用于压缩字体文件大小(nodejs)

字体文件压缩

Danchaofan_23的博客 1980

知识图谱(Knowledge Graph)原理与代码实战案例讲解

知识图谱(Knowledge Graph)原理与代码实战案例讲解 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming 1. 背景介绍 1.1 问题的由来

AI天才研究院 1078

把业务变化变成实时流动:SAP Event Mesh 的概念、能力与落地方法

SAP Event Mesh 是 SAP BTP 上的云消息与事件服务,通过异步事件通信实现系统解耦。核心功能包括:1)提供Topic(广播)和Queue(持久化)两种消息模式;2)支持AMQP、MQTT、REST等多种协议接入;3)作为SAP生态的事件枢纽,可与SAP Integration Suite、CAP框架等无缝集成。典型应用场景:S/4HANA业务事件驱动流程、微服务扩展、IoT设备数据上云等。相比同步调用,它能显著提升系统弹性,避免雪崩故障,特别适合需要实时性与松耦合的企业级集成。高级版本(A

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 250

在TTF字体中提取想要的文字,让字体文件变迷你

为什么80%的码农都做不了架构师?>>> ...

weixin_33724059的博客 322

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

如何使用思源黑体字体转换工具生成TTF格式文件

思源黑体是一款广泛使用的开源中文字体,本项目提供了将其转换为TTF格式的完整解决方案。通过简单的几步操作,即使是非专业用户也能轻松完成字体格式转换,满足不同场景的应用需求。 ## 获取项目资源 首先需要将项目代码库克隆到本地环境。打开终端,执行以下命令: ```bash git clone https://gitcode.com/gh_mirrors/so/source-han-sans-t

gitblog_00027的博客 961

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【亲测免费】 SVG2TTF:将SVG图标转换为TTF字体文件的利器

SVG2TTF 是一个开源工具,由 [Fontello](https://fontello.com/) 团队维护,旨在帮助开发者和设计师轻松地将SVG(Scalable Vector Graphics)格式的图标转换成TTF(TrueType Font)字体文件。这使得图标在网页和其他数字媒体中可以像文本一样灵活且高效地渲染。通过这个工具,用户可以创建自定义的图标字体集合,从而提升网站或应用程序的...

gitblog_00040的博客 1907

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

python提取ttf文件包含的所有字符

需求 在字体生成项目中,获取ttf文件能够表达的所有字符 简单说:输入指定ttf文件,输出该ttf文件能够表达的所有字符 代码如下 from fontTools.ttLib import TTFont def get_char_list_from_ttf(font_file): ' 给定font_file,获取它的中文字符 ' f_obj = TTFont(font_file) m_dict = f_obj.getBestCmap() unicode_list =

Joseph__Lagrange的博客 6129
上一篇: 【基础】SQLite的基本使用方法
下一篇: 【发布】App Store 预览视频制作总结
ldp晴天
博客等级 码龄17年 18粉丝 15原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值