耗子的屯粮仓
  • 听我韶韶
  • 软件使用
    • 提取SWF文件中的图片
  • 动画相关
    • 资源搜索
      • 如何下载想要的动画?(上)
      • 如何下载想要的动画?(中)
      • 如何下载想要的动画?(下):字幕下载篇
    • 片源
      • 抓碟
        • UHD BD蓝光碟提取
        • BD蓝光碟的提取及SUP字幕提取
        • DVD的提取与DVD字幕的提取
      • 压制
        • 使用VidCoder进行一般项压制
    • 字幕
      • IdxSubOcr:基于MODI的图形字幕OCR软件
      • 字幕软件Subtitle Edit的易用之处
    • 字体
      • 使用ListAssFonts快速匹配ASS所需字体
      • 自动化字体加载工具SubtitleFontHelper
  • WEB相关
    • 某波兰文艺片平台视频获取思路
    • sbeam入库视频下载思路
    • Abema下载教程
  • 杂谈
    • 谜之BUG系列
      • 谜之BUG系列4:BE6500 Pro 存在MLO与IPv6冲突问题
      • 谜之BUG系列3:网速变慢居然是火绒的锅
Powered by GitBook
On this page
  • 1.获取字体大包
  • 2.下载并安装SubtitleFontHelper
  • exe路径寻找方法
  • 注册与启动相关
  1. 动画相关
  2. 字体

自动化字体加载工具SubtitleFontHelper

Previous使用ListAssFonts快速匹配ASS所需字体NextWEB相关

Last updated 9 months ago

又来碎碎念了:

上一次写的ListAssFonts其实更偏向于发布向的,批量导出ASS字幕所需字体,然后打包发布。此次要写的SubtitleFontHelper更偏向于个人使用,自动化加载ASS字幕所需的字体,无需安装字体的过程,释放安装过多字体的压力,也更加的“小白”化。自动化是真滴香喔!

接下来是正片:

1.获取字体大包

不重复写了,直接参考上一篇专栏吧

2.下载并安装SubtitleFontHelper

你可以从Anime字幕论坛(原VCB分享论坛)下载到此软件(见下方链接)或者从Github页面进行下载。

论坛帖:https://bbs.acgrip.com/thread-6358-1-1.html

Github:https://github.com/Apache553/SubtitleFontHelper

论坛页面可以直接下载压缩包。github访问不畅的,同样可以使用上篇中推荐的“watt toolkit” 进行辅助。

打开github页面,点击右侧的Releases,下载最新版的v1.0.4的ReleaseBuild.zip压缩包。

下载后解压到电脑合适的位置,比如我存放在图示的位置。

配置SubtitleFontHelper

将字体大包文件夹直接拖拽到FontDatabaseBuilder.exe上释放

(此处选N是将生成的索引文件FontIndex.xml存放在了字幕大包的文件夹里,也可以选Y更改为其它目录,不过我更改目录后没生成FontIndex.xml,你可以自行尝试这种操作)

将解压后的SubtitleFontHelper.example.xml文件,重命名为SubtitleFontHelper.xml。

打开SubtitleFontHelper.xml,更改其中的配置:

  • wmiPollInterval 指定WMI查询的间隔时间,毫秒数。较低的值导致较高的CPU使用率。较高的值可能会导致注入进程不够及时。

  • lruSize 指定服务启动时预加载的条目最大大小。

  • IndexFile元素 每个元素指定了索引文件的位置,在这里列出程序所使用的索引。元素开始和结束之间的所有字符(包括换行等字符)将会被当作文件路径使用,若提示找不到文件请检查相关内容。

  • MonitorProcess元素 每个元素指定了要监视的进程的路径或者进程名。由于程序使用了rundll32.exe作为注入过程中的辅助程序,指定该进程可能会导致灾难性的后果。

wmiPollInterval保持默认即可

第三行IndexFile调整为刚才你生成FontIndex.xml的实际路径,你可以右键FontIndex.xml属性,在安全选项卡下复制对象名称。

MonitorProcess代表监控并注入的软件名称(可指定路径),可指定多个exe,直接复制粘贴该行,然后更改对应的exe名称即可。

(注意仅支持传统桌面程序,不支持UWP等软件哦)

本程序可以对用户存放字体文件的目录进行扫描后建立字体信息的索引,在后台监视特定进程的创建并注入Dll劫持特定API的调用,使其在真正调用相关API之前先查询索引并装载相应的字体,从而实现自动加载字体。

目前,仅支持使用GDI相关函数来查询/加载字体的传统Win32桌面程序,不支持UWP应用,不支持使用IDWriteFontCollection/IDWriteFontSet等DirectWrite接口来查询/加载字体的程序。

exe路径寻找方法

比如我从官网下载并装了potplayer64位的版本,此时打开potplayer,打开任务管理器(快捷键:ctrl+ shift+ esc),选中Potplayer,打开“文件所在位置”,弹出文件管理器,并发现蓝框选中在PotPlayerMini64.exe上,那么就将PotPlayerMini64.exe填入到SubtitleFontHelper.xml中。

另一种方式:以aegisub为例

开始菜单找到aegisub,右键更多,打开文件位置。

桌面快捷方式也是同理右键。

此时定位到到开始菜单的快捷方式文件上

直接右键属性查看到对应exe名称aegisub64.exe。

或者右键继续“打开文件所在位置”定位exe。

点击保存后退出即可。

xml里可以根据你自己的需求,按需填入exe即可,目前我就用到这些,你也可以尝试整些新活。

注册与启动相关

右键registerETW.ps1,点击“使用PowerShell运行”,进行注册。

右键enableAutoStart.ps1,点击“使用PowerShell运行”,开启开机自启动。

注意检查启动目录内是否有相应快捷方式。

如需迁移软件位置,请先取消注册(运行unregisterETW.ps1)再进行注册(registerETW.ps1)。

取消开机自启动可以通过运行disableAutoStart.ps1或删除启动内的快捷方式等方法。

到此就已经设置完成了。

来检查下效果吧。

运行SubtitleFontAutoLoaderDaemon.exe,右下角就可以看到图标了。

来对比下效果吧!

Aegisub没想到也能支持,好耶!整字幕更加方便了。

快去给作者点个小星星!

使用ListAssFonts快速匹配ASS所需字体写在前面的一点点碎碎念: 鉴于被win11 22H2坑的不轻,已经没法正常使用我常用的软件了。所以直接重装回win10了,顿时丝滑流畅。不过Windows目录的字体没备份,所以就在寻找一个软件来满足自己的需求。能自动识别多个ASS字幕文件所需要的字体,并与指定的字体大包目录里的所有字体仅限匹配,然后导出所需要的字体。一方面是可以快速安装字体,另一方面在组内发布资源时确保字体不发生意外,由于字体文件名与实际显示名称不同的问题,之前被坑过。之前使用的是FontLoaderSub,不过有的字幕的文章hungry...1.3万883
Releases
v1.0.4的ReleaseBuild.zip
解压ReleaseBuild.zip
会弹出命令行窗口,选N即可
是否更改存放目录
SubtitleFontHelper.xml
FontIndex.xml对象名称
定位exe名称
打开文件位置
Aegisub快捷方式属性
自启动快捷方式
未开启
已开启
YES