开源字体设计工具字玩 FontPlayer

字玩FontPlayer开发笔记4 性能优化 首屏加载时间优化 字玩FontPlayer开发笔记2 性能优化 首屏加载时间优化 阅读详情

开源字体设计工具字玩 FontPlayer 内测版 v0.2.0 于 2025 年 5 月 9 日发布

  • 基础功能:用户可以使用该工具绘制字体并导出 otf 字体文件,设计属于自己的字库。
  • 脚本功能:提供了脚本功能,用户可以用程序的方式绘制字形组件,增加了设计的灵活性。
  • 自定义组件:支持自定义字形组件,通过复用字形组件,能够提升设计效率。
  • 参考字样:该版本使用模板笔画组装了《登鹳雀楼》20 字黑体字样,结构上参考了思源黑体,用户可以通过调参快速修改字形。
  • 技术框架:使用 Vue3 + ElementUI + Tauri2 开发,支持 Web 端、MacOS 和 Windows 平台。

字玩 FontPlayer 的脚本功能是该工具的一大特色

  • 功能概述:字玩 FontPlayer 支持用户对字形添加自定义脚本,脚本使用 JavaScript 进行编写。通过编写脚本,用户能够用程序的方式绘制形状,从而实现更复杂的设计需求,这为字体设计带来了极大的灵活性和创造性。
  • 使用示例:例如要制作一个简单的笔画 “横”,并设置长度与字重两个基础可调参数。用户可新建 “横” 字形,进入编辑面板后,打开参数与脚本页面,在左侧 “字形参数” Tab 新建 “长度” 和 “字重” 两个参数,分别设置初始值。然后在右侧脚本界面的脚本函数中输入相应代码,点击运行按钮,即可在字形编辑面板看到绘制出的 “横”,并且可以通过调整参数来预览不同效果。
  • 与其他功能结合:脚本功能可以和参数模块结合使用,创作出可调参的参数化字形,方便设计复用1。例如用户可以通过脚本来定义字形如何随着参数的变化而改变,实现一些具有规律变化的字体设计效果,大大提高设计效率。

字玩 FontPlayer 的脚本功能在字体设计工具领域具有独特的定位

1. 技术栈与平台适配

  • 轻量级框架集成
    FontPlayer 基于 Vue3 + Tauri2 开发,脚本系统深度集成于前端环境,支持 Web 端、桌面端(Mac/Windows)无缝运行。相比之下,FontForge(Python 脚本)依赖传统桌面环境,而 Glyphs(AppleScript/Lua)则仅限 macOS。
  • 低代码友好性
    脚本语法采用简化的 JavaScript,无需编译即可实时预览效果,对非专业开发者更友好。而 FontForge 需掌握 Python API,学习门槛较高。

2. 参数化设计的深度整合

  • 实时参数联动
    FontPlayer 的脚本可直接绑定 UI 参数面板(如长度、字重),形成 “代码 + 滑块” 的双向调节机制。例如:

    javascript

    // 定义横笔画的脚本示例
    function drawHorizontalLine(ctx, params) {
      const { length, weight } = params;
      ctx.beginPath();
      ctx.moveTo(0, 0);
      ctx.lineTo(length, 0);
      ctx.lineWidth = weight;
      ctx.stroke();
    }
    

    其他工具的脚本多为独立执行,需手动编写参数解析逻辑。
  • 组件化复用
    通过脚本定义的字形组件(如 “横”“点”)可保存为模板,在不同字体项目中复用,类似编程中的函数调用。这一特性在专业工具(如 Adobe Illustrator)中需通过复杂插件实现。

3. 设计思维的差异化

  • 从 “绘制” 到 “生成”
    FontPlayer 鼓励用算法生成复杂字形(如动态调整比例、自动填充图案),适合创建可变字体或实验性字体。传统工具的脚本更侧重自动化重复操作(如批量导出、对齐调整)。
  • 可视化调试界面
    脚本执行结果实时渲染在编辑面板中,并支持断点调试,降低了代码试错成本。而专业工具的脚本调试往往依赖控制台输出。

4. 社区生态与扩展性

  • 中文社区支持
    作为国产工具,FontPlayer 的文档和社区资源更贴合中文用户需求,脚本库可能包含更多针对中文字体设计的模板(如偏旁部首生成器)。
  • 插件生态整合
    未来可能支持与 Vue 生态的其他工具(如 Figma 插件、SVG 库)无缝对接,形成更高效的工作流。

适用场景对比

工具FontPlayer 脚本FontForge/Glyphs 脚本
初学者友好度★★★★☆(JavaScript 基础)★★☆☆☆(需编程经验)
参数化设计★★★★★(内置参数面板)★★★☆☆(需自定义实现)
实验性字体★★★★★(算法生成优势)★★★☆☆(侧重手工调整)
工业级生产★★☆☆☆(功能仍在完善)★★★★☆(成熟字体工程支持)
字玩FontPlayer开发笔记7 Tauri2动态切换菜单enbaled状态 前两天初步完成了Tauri配置和菜单设置,今天继续将原有Electron代码替换成Tauri。在字玩的设计中,菜单按钮的enbaled状态需要动态切换…… 阅读详情

相关推荐

字玩FontPlayer开发笔记5 Tauri初体验

字玩目前是用Electron进行桌面端应用打包,但是性能体验不太好,一直想替换成Tauri。Tauri的功能和Electron类似,都可以把前端代码打包生成桌面端(比如Windows和Mac)应用……

玩具工匠的博客 567

FontPlayer:实用中文字体设计工具

FontPlayer是一款专为中文设计的开源字体创作工具,基于Vue3和Tauri2构建,支持Web和桌面端。它通过参数化笔画、拖拽组字和脚本编程等创新方式,显著提升中文字体设计效率。内置32种笔画模板可覆盖7000常用汉字,支持批量编辑和风格迁移。相比传统工具,FontPlayer更轻量、易用且专注中文需求,适合教育、设计和游戏开发等场景。提供详细的安装指南和实用案例,支持从基础绘制到高级脚本开发的完整工作流。作为MIT许可的开源项目,用户可自由定制并用于商业用途。

lzy_leogeo的博客 1697

字玩FontPlayer开发笔记6 Tauri2设置菜单

继昨天初步尝试Tauri后,今天学习了下Tauri的原生菜单设置……

玩具工匠的博客 837

字玩FontPlayer开发笔记1 路径去除重叠功能的添加

在中文字体设计中,笔者经常先设计笔画,然后再用几个笔画叠加在一起形成字形,最近发现这样直接导出,即使路径顺序都符合非零环绕规则,在部分软件中,还是会出现重叠部分镂空问题。参考了别的成熟软件,发现这个问题可以用合并路径的方式去除重叠。其中有一点令笔者不太满意,就是由于字玩自己的字形数据结构,和paper.js使用的数据结构差异较大,需要进行前后两次转换,耽误处理时间,这里以后看看要不要做优化。paper.js提供了强大的对贝塞尔路径的布尔操作,笔者借助了paper.js帮我解决了这个问题。

玩具工匠的博客 466

字玩FontPlayer开发笔记3 性能优化 大量canvas渲染卡顿问题

在笔者的开源项目中,经常需要对大量canvas进行渲染,比如渲染字体预览列表,一个字库可能要包含上千上万个字符,这时候界面会卡住一段时间,体验非常不好。目前项目中主要采用了三个方法进行优化...

玩具工匠的博客 1763

字玩FontPlayer开发笔记14 Vue3实现多边形工具

多变形工具允许用户创建自定义多边形形状,笔记记录了如何使用Vue3实现多边形工具

玩具工匠的博客 1129

字玩FontPlayer开发笔记13 Vue3实现钢笔工具

钢笔工具是设计工具很重要的一个功能。钢笔工具通过创建一组贝塞尔曲线,使得用户可以编辑创建任意不规则的曲线形状。钢笔工具使用三次贝塞尔曲线,每段贝塞尔曲线包含两个锚点定义起点和终点,两个控制点分别定义起始切线和收尾切线,通过特定算法形成曲线线段,基本可以拟合任意形状。

玩具工匠的博客 1231

字玩FontPlayer开发笔记8 Tauri2文件系统

Tauri2提供了js端可调用的plugin,可以方便前端轻松实现文件操作……

玩具工匠的博客 1682

字玩FontPlayer开发笔记12 Vue3撤销重做功能

撤销重做功能是设计工具必不可少的模块,以前尝试使用成熟的库实现撤销重做功能,但是细节问题有很多,就一直搁置了。这几天着手自己实现撤销重做模块,目前基本成形,虽然还有很多地方待完善,但还是先记录一下成果。

玩具工匠的博客 1360

字玩FontPlayer开发笔记10 Tauri2多窗口通信

Tauri2多窗口通信

玩具工匠的博客 1590

字玩FontPlayer开发笔记9 Tauri2打包应用

最近开始着手替换成Tauri,前几天把基本功能迁移之后,今天开始打包测试,记录一下。

玩具工匠的博客 699

字玩FontPlayer开发笔记2 钢笔工具优化

今天笔者发现原先的钢笔工具逻辑有些问题,进行了修复和优化。

玩具工匠的博客 839

字玩FontPlayer开发笔记11 Tauri2剪切板模块

Tauri2剪切板模块

玩具工匠的博客 530

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 228

fontplayer-0.3.1.zip

FontPlayer作为一个开源的创意字体设计工具,专为中文字符量身定制。

Elsevier投稿实战:从ESWA模板到录用通知的全流程拆解

本文详细拆解了Elsevier旗下期刊ESWA(Expert Systems With Applications)的投稿全流程,从模板选择、投稿系统操作到审稿意见回复和录用后注意事项。重点分享了单栏LaTeX模板调整、APA文献格式处理、Highlights撰写技巧等实战经验,帮助研究者高效完成投稿并提升录用概率。

weixin_32715349的博客 241

6 款电商 AI 图片生成软件实测|国内 + 跨境卖家工具清单

电商 AI 作图工具已经从 "能不能用" 进入了 "好不好用" 的阶段。对于绝大多数卖家而言,现在的 AI 工具已经可以覆盖 60%-80% 的基础商品图需求,显著降低拍摄和设计成本。选择工具的核心逻辑不是 "哪款最强",而是 "哪款最适配你的品类、平台规模和团队能力"。垂直电商工具胜在工作流效率,通用生图工具强在创意上限,模板类工具赢在上手速度。建议根据自身业务阶段,搭配 1-2 款主力工具 + 1 款辅助工具,形成适合自己的视觉生产流程。

Mardi_Ladin的博客 401

基础篇.ARM架构介绍(1)

ARM公司主要向客户提供处理器IP。ARM体系结构是一种硬件规范,主要用来约定指令集、芯片内部体系结构等。以指令集为例,ARM体系结构并没规定每一条指令在硬件IP中如何实现,只是约定了每条指令的格式、行为规范、参数等。

heshuangzong的博客 7805

我用 GPUWorks 在 M1 Pro 上搭了个发票识别原型

公司里经常要看电子发票。我想先做个小原型:把 PDF 发给一个自己部署的图文模型,让它提取发票类型、日期、交易双方和金额,再把结果交给同事核对。这个原型不用先接财务系统,先看看从部署到调用要走多少步,模型返回的内容能不能帮上忙。

鸽芷咕的博客 2万+

算法-基于MACD的Adaboost股价涨跌预测模型

MACD是一个指标,具体用法是MACD>0看涨,反之看跌,果真是这样的吗?由于所有的技术指标都基于对历史数据的统计,指标的滞后性也就难免,有时候MACD明明大于0,股价仍然跌,有时候macd小于0,股价仍然涨。 本文基于Adaboost算法提出了一种基于macd的线性阀值分类器作为若分类器,通过在限定的解空间内寻找使得错误率最小的阀值和偏置,这样做避免了训练若分类器的复杂性,经验证,这种方法有效。

mtaxot的博客 8023

工业自动化进阶:西门子 S7-1200 PLC 调度 AGV 实现精确定点移动

本文介绍了基于西门子S7-1200PLC的AGV调度控制系统设计,包括系统架构、硬件选型和PLC程序设计。系统通过PROFINET通信实现PLC与AGV的数据交互,采用状态机控制逻辑实现任务管理、运动控制和闭环位置校正。重点阐述了通信协议实现、梯形图核心逻辑及系统调试优化方法。实际应用案例显示,该系统定位精度达±3mm,显著提升了物料配送效率。该方案为工业自动化升级提供了可靠的技术支持。

qq_52407556的博客 1888
上一篇: 谷歌 NotebookLM 支持生成中文播客
下一篇: API 接口开放平台 Crabc 3.2 发布
timer_017
博客等级 码龄2年 561粉丝 126原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值