【工具】在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万+

shader多图叠加变换

shader Shader "Paint3D/AddTexture" { Properties { _MainTex ("Main Texture", 2D) = "white" {} _MainColor("Main Color", Color)=(1,1,1,1) _AddTex0 ("Texture0", 2D) = "white" {} _AddTex1 ("Texture1", 2D) = "white" {} .

李长江的博客 908

PyMySQLSaver实战:构建高可靠性的LangGraph状态管理

本文详细介绍了如何使用PyMySQLSaver构建高可靠性的LangGraph状态管理系统。通过检查点机制和MySQL持久化技术,开发者可以确保AI应用在崩溃后从最近状态恢复,支持长时间运行任务和多轮交互。文章包含核心架构解析、生产环境部署指南及实战案例,帮助开发者掌握状态管理的核心技术。

weixin_29310605的博客 494

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

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

tuonioooo 4841

FR4板材实战:用ADS 2023快速设计微带线低通滤波器(附Line-Cal计算技巧)

本文详细介绍了使用ADS 2023在FR4板材上设计1-3GHz微带线低通滤波器的工程技巧。通过Line-Cal工具快速计算微带线参数,解决FR4板材的介质损耗和阻抗匹配问题,提供从集总参数转换到分布参数的实用方法,并分享版图设计与实测验证的关键要点,帮助工程师高效完成射频滤波器设计。

omega的博客 713

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

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

u013118695的专栏 3997

一张图看懂中国民航适航审定体系:从适航司到审定中心,到底谁管谁?

本文深入解析中国民航适航审定体系,从立法层到执行层的完整链条,揭示适航管理的金字塔结构和核心流程。涵盖适航司、审定中心等关键机构职能,以及型号审定、生产许可审定等全生命周期管理,展现中国适航体系的特色实践与创新探索。

weixin_30896511的博客 476

python如何给声音增加回声效果

创建任何声音对象的回声效果。使用sndarray和numpy来创建原始声音的偏移和衰减副本。目前它只是使用硬编码的值来设置回声的数量和延迟。你可以根据自己的需要轻松地重新创建。这段注释说明了make_echo函数的用途和实现方式,即通过pygame的sndarray模块和numpy库来处理声音数据,生成具有回声效果的声音。函数中使用了固定的回声数量和延迟时间,但这些值可以根据用户的需求进行调整。

zhangzhechun的专栏 977

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

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

ithouse的专栏 2万+

基于 Qt 的轻量化工业组态软件设计与实现

本文设计并实现了一种基于Qt框架的轻量化工业组态软件,解决了传统组态软件体积庞大、部署复杂等问题。该软件采用模块化架构,集成可视化图形编辑、设备数据采集、脚本扩展等核心功能,具有跨平台运行、资源占用低、启动速度快等特点。通过关键技术优化,实现了高效稳定的数据采集、脚本控制和网络通信,可广泛应用于工业机器人HMI、小型PLC监控等轻量化场景。测试结果表明,该软件体积约30MB,运行内存占用60-80MB,启动时间1.2秒,满足工业轻量化监控需求。未来可扩展更多工业组件和协议支持,进一步提升应用价值。

谢谢大家的关注和点赞!这里只有纯纯的知识干货,没有一句废话。希望能实实在在帮到大家~要是觉得有用,别忘了给我点支持哟,你 140

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

字体文件压缩

Danchaofan_23的博客 1980

如何在 Ubuntu 22.04 上安装和配置 VNC 服务器?

VNC(Virtual Network Computing)是一种图形桌面共享系统,通过网络允许用户控制另一台计算机的桌面环境。无论你是系统管理员还是开发人员,VNC 都可以在远程访问桌面环境时提供极大的便利。在安装和配置 VNC 服务器之前,我们需要确保系统是最新的,并安装一些基本工具。这些命令将更新你的软件包列表并升级所有已安装的软件包,以确保你拥有最新的安全修复和功能更新。

网络技术联盟站 4003

微信小程序 - 解决请求报错 request:fail errcode:-201 cronet_error_code:-201 error_msg:net::ERR_CERT_DATE_INVALID

微信小程序报错“request:fail errcode:-201 cronet_error_code:-201 error_msg:net::ERR_CERT_DATE_INVALID“,微信小程序请求报错,微信小程序errcode:-201,服务器报错,无法调用接口,微信小程序真机https请求失败,微信小程序wx.request接口报错,小程序真机调试运行接口都报错了,真机测试下网络请求都不行了且报错,证书没问题依旧报错,检查HTTPS证书,ssl证书,使用浏览器测试访问证书是正常的,不是证书问题,请

🏆 前端领域优质创作者 1万+

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

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

weixin_33724059的博客 322

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

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

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

gitblog_00027的博客 961

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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

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

gitblog_00040的博客 1907

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、付费专栏及课程。

余额充值