欢迎光临散文网 会员登陆 & 注册

修正Obsidian Excalidraw生成SVG图片字体缺失问题

2023-10-20 00:56 作者:一鸣惊人_001  | 我要投稿

背景

之前这篇中做了在一个Excalidraw文件中引用另一个Excalidraw文件中的一部分的功能,这样能更方便复用,原始处修改,引用处都会更新。

Obsidian Excalidraw增加引用/嵌入另一个Excalidraw文件的一部分

但发现自定义多个字体后,引用生成的svg图片中缺失字体,使用的是默认字体。 因此修复此问题。

效果

1. 引用一个Excalidraw文件(左)中的一部分到另一个Excalidraw文件(右)中(这里演示了一个文字元素)

2. 点击引用可以跳转回原始位置(左)

修复

在生成svg的时候会进行自定义字体的修正,会修改svg HTML元素的 style defs部分,在这里设置正确的@font-face。 我使用的方法是遍历defs Node的所有text Node,提取它们的字体信息,然后设置到defs。 顺便修复了跳转时如果已打开文件,则不要再打开相同的文件,而是切换到已打开的标签

修正Obsidian Excalidraw生成SVG图片字体缺失问题的评论 (共 条)

分享到微博请遵守国家法律