level 12
遥遥心航
楼主
这是一款可以根据简单模拟CSS规则,将设置有效的字体与对应的文本进行匹配并子集化的插件。CSS引用形式支持link引用、@import引用、style元素、style内联样式。可根据CSS各类选择器优先级判断节点字体属性继承关系,!important优先级设置也是有效的。基本上简单模拟了浏览器对一个节点的CSS属性解析情况,这种程度的模拟可令epub制作者在CSS代码上自由发挥而不必担心字体和字符匹配失效。

插件安装说明
sigil --> 编辑 --> 配置 --> 插件 --> 添加插件
“SigilFontSubset_vx.x.x.zip”整个压缩包导入sigil,不用解压。
然后添加插件快捷方式即可。
(注意勾上‘使用绑定的python’)
【插件的特色】
相比于calibre集成的子集化工具,这款子集化工具有四个比较明显的亮点:
1、对于 font-family: font1, font2, font3......这种多个字体属性的设置,可依照顺序从先从font1查找字符,如果font1缺乏字符则从font2查找,一直到不缺乏字符或着没字体可找为止。这个功能目前还没发现其他子集化工具带有,大多数都是font1,font2和font3都匹配相同字符,这样无法最让体积最精简化。
2、可提醒你字体所缺乏的字符,便于自行补充字符或更换字体。
3、面对乱七八糟的epub文件结构也不会解析错误。有些epub并不是sigil做的,文件结构要多乱有多乱,这些在calibre子集化工具中很可能导致匹配错误。但是对于本插件,有严格验证字体或CSS文件的引用路径,epub结构混乱也不会导致匹配出错。
4、calibre的子集化工具仅仅是删除字体的矢量,删除字体矢量后残留下来的表格结构还会占用很多空间,本插件的子集化更为彻底,不会残留多余的表格结构。
(不过目前尚不支持解析兄弟选择器和伪类伪元素,毕竟在epub中没啥卵用,懒得支持。就算你在CSS中用了这些选择器也没事,只要不在这些选择器中设置font-family就不会影响解析的准确度。)
2022年06月01日 05点06分
1

插件安装说明sigil --> 编辑 --> 配置 --> 插件 --> 添加插件
“SigilFontSubset_vx.x.x.zip”整个压缩包导入sigil,不用解压。
然后添加插件快捷方式即可。
(注意勾上‘使用绑定的python’)
【插件的特色】
相比于calibre集成的子集化工具,这款子集化工具有四个比较明显的亮点:
1、对于 font-family: font1, font2, font3......这种多个字体属性的设置,可依照顺序从先从font1查找字符,如果font1缺乏字符则从font2查找,一直到不缺乏字符或着没字体可找为止。这个功能目前还没发现其他子集化工具带有,大多数都是font1,font2和font3都匹配相同字符,这样无法最让体积最精简化。
2、可提醒你字体所缺乏的字符,便于自行补充字符或更换字体。
3、面对乱七八糟的epub文件结构也不会解析错误。有些epub并不是sigil做的,文件结构要多乱有多乱,这些在calibre子集化工具中很可能导致匹配错误。但是对于本插件,有严格验证字体或CSS文件的引用路径,epub结构混乱也不会导致匹配出错。
4、calibre的子集化工具仅仅是删除字体的矢量,删除字体矢量后残留下来的表格结构还会占用很多空间,本插件的子集化更为彻底,不会残留多余的表格结构。
(不过目前尚不支持解析兄弟选择器和伪类伪元素,毕竟在epub中没啥卵用,懒得支持。就算你在CSS中用了这些选择器也没事,只要不在这些选择器中设置font-family就不会影响解析的准确度。)