当前位置: 首页 > news >正文

draw.io 默认字体太丑?用这一招瞬间变高级!

背景

draw.io 是一款简洁、高效的画图工具,但其默认可选字体较为有限:

如果你想在图表中使用自己喜欢的字体(如第三方中文字体),往往会发现列表里压根找不到。要解决这一问题,必须先了解:draw.io 依赖本地字体库。你本机安装了哪些字体,它才能识别哪些字体。


一、本地字体库:文本软件的字体从哪里来?

在一台电脑或手机上,大多数应用(Word、Pages、TextEdit、Sublime Text、VSCode、浏览器、PS 等)默认都会从“本地字体库”加载字体,而不是自己携带字体文件。原因在于:

  • 字体体积通常较大
  • 商业字体有授权成本
  • 系统统一管理可避免重复安装和冲突

以 MacOS 为例,本地字体主要来自三个目录(按优先级排序):

  1. 当前用户字体库(优先级最高)

    ~/Library/Fonts

    特点:

    • 当前用户独享
    • 同名字体会覆盖全局字体和系统字体
    • 自己安装的字体一般会安装到这个里
  2. 全局字体库(优先级次于用户字体)

    /Library/Fonts

    特点:

    • 所有用户均可使用
    • 安装时需要管理员权限
    • 同名字体会覆盖系统字体
  3. 系统字体库(优先级最低)

    /System/Library/Fonts

    特点:

    • 默认内置了一些字体,
    • 受SIP保护,无法手动往这个字体库安装新的字体
    • 应用在用户字体库和全局字体库都找不到某字体时,才会加载这里的字体

下图就是系统字体库自带的部分字体,每个字体文件后缀为.ttf,在图中可以看到有些字体库的体积可以达到数百MB:

在Windows中,字体目录一般为C:\Windows\Fonts


二、如何在电脑中安装字体?

除了电脑中自带的字体,如果想安装其他字体,可以先下载对应字体文件,一般是以.ttf后缀结尾的文件。安装一般有两种方式:

方式1:把文件直接复制到字体库的目录即可,在MacOS中,一般是放到用户字体库~/Library/Fonts

方式2(推荐):双击字体文件,根据提示,即可安装到本地,就跟我们平时安装软件一样,在MacOS中,字体会安装到用户字体库~/Library/Fonts

这里列几个常用的免费/商用字体资源:

  • 站长之家:https://font.chinaz.com/
  • 字体天下:https://www.fonts.net.cn/
  • 汉字形体:https://justfont.com/
  • 方正字库: https://www.foundertype.com/
  • Adobe Fonts:https://fonts.adobe.com/
  • Google Fonts:https://fonts.google.com/
  • Github上也有很多比如:https://github.com/lxgw/LxgwWenKai

三、在 draw.io 中添加自定义字体

前提:你必须已在本机安装了对应的字体。

draw.io 仅能调用本地字体,无法直接加载未安装的字体文件。

配置自定义字体步骤

  1. 打开 draw.io

  2. 在菜单栏依次点击:【其他】 → 【配置】

  3. 在弹出的 JSON 配置中加入你想新增的字体名称:

    { "customFonts": [ "华文仿宋", "华文宋体", "汉仪文润宋韵", "瑞美加张清平硬笔楷书", "听说巷尾樱花盛开", "礼品卉自由理想体" ] }
  4. 点击【应用】之后,重启draw.io就可以看到已经可以选择新增的字体了:

注意:配置中字体的名称不是字体文件(以.ttf后缀结尾的文件)的名称,而是字体的名称,这个名称可以在字体册中看到:

也可以在文件的简介(右键-显示简介)中看到,比如我下载了一个名为“lipinhuiziyoulixiangti.ttf”的字体文件,实际上字体名称为“礼品卉自由理想体”:


总结


要在 draw.io 中添加自定义字体,核心流程是:

1 . 先在本机安装字体
2 . 在配置中加入字体名称
3 . 重启 draw.io 生效

draw.io 不会独立管理字体,它只读取系统字体库,因此只要理解本地字体加载机制,就能顺利添加任意第三方字体。

http://www.cnnetsun.cn/news/8925.html

相关文章:

  • 干货分享,大厂内部压测方案设计
  • Python_work3
  • AFLplusplus模糊测试实战:10个高效调试技巧解决常见问题
  • 探索三电平T型LCL并网逆变器的双闭环PI + SVPWM控制仿真之旅
  • VSCode如何实时连接IBM Quantum?一文掌握核心配置参数(含实操代码)
  • python如何获取字符串最后一个字符
  • 赋能个体,智创全球——CCF 程序员大会“个人出海论坛”圆满落幕
  • 零基础学CMD:从关机命令开始的Windows命令行入门
  • Wan2.2-T2V-A14B与Runway Gen-3的技术差异全面对比
  • 为什么90%的工程师写不好Agentic Apps配置?Docker Compose权威解析
  • 【Azure量子开发权威解析】:掌握这8个考点,轻松拿下MCP认证
  • 第三方接口调用不用愁!JNPF 数据接口神技,鉴权 + 变量提取一键搞定
  • LED显示屏话筒生产厂家
  • 企业级Java开发:Eclipse定制化安装全攻略
  • 字节面试:如何测试RocketMQ、RocketMQ?测试点有哪些?
  • 访答:数字化时代的知识管理新范式
  • 基于Hadoop的游戏在线时长大数据分析系统毕业设计项目源码
  • 《智能座舱时代:车载HMI渲染引擎的选型、架构与实践》第 1 章 车载座舱对渲染的特殊要求
  • WiFi 定位的基本原理与技术
  • 测试自动化框架设计与最佳实践:构建高效测试体系的路径
  • 【高并发场景下的秘密武器】:ASP.NET Core 9 WebSocket压缩协议实战落地
  • RAG实践指南:一文搞定大模型RAG过程
  • 一份全面的AI_Agent知识地图
  • 软件、硬件的兼容性的测试,你知多少?
  • 【翻译】【SOMEIP-SD】Page37 - Page39
  • Raft算法(二)
  • 一文讲透大模型应用开发:新时代技术核心竞争力人人都能掌握!
  • 创维E900V21E/E900V21C/E900V21D/E900V22E_S905L3B_安卓9.0_当贝桌面线刷固件包
  • AI如何读懂语义?从One-hot到Embedding,揭秘文字概念理解技术演进!
  • Debye-Wolf积分计算器