找回密码
 立即注册
楼主: Apache553

自动按需加载字体的轮子

5

主题

492

回帖

215

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
368961
苏辰汐 发表于 2022-2-21 11:20:18 来自手机 | 显示全部楼层
shadows 发表于 2022-2-21 10:58
直接用系统自带的“任务计划”就可以设置开机启动……

vbs自启动的方法更傻瓜式,使用任务计划还要每个人自己去添加启动任务并配置执行参数
回复

使用道具 举报

5

主题

492

回帖

215

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
368961
苏辰汐 发表于 2022-2-21 11:33:06 来自手机 | 显示全部楼层
shadows 发表于 2022-2-21 10:37
调用libmpv的播放器竟然也能使用……

hook的是VSFilter和libass的api请求,别说libmpv了,隔壁服务Aegisub的ass.dll和服务DirectWrite播放器的XySubFilter with libas也可以正常hook使用。vlc倒是没试过,应该也可以
回复

使用道具 举报

2

主题

35

回帖

0

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
262369
Apache553  楼主| 发表于 2022-2-23 18:08:46 | 显示全部楼层
总而言之重写完了,看起来正常多了)

点评

tql  发表于 2022-2-23 18:26
回复

使用道具 举报

5

主题

492

回帖

215

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
368961
苏辰汐 发表于 2022-2-23 18:45:13 | 显示全部楼层
本帖最后由 苏辰汐 于 2022-2-23 19:02 编辑
Apache553 发表于 2022-2-23 18:08
总而言之重写完了,看起来正常多了)

测试了下,发现hook mpc-be的进程的话,会导致mpc-be切换视频和退出时卡住无响应,关掉SubtitleFontAutoLoaderDaemon.exe后正常。在mpc-hc和potplayer还有mpv上不会复现。旧版本无此问题

尝试回退mpc-be的版本测试依然卡死无响应,改用32位的话直接卡死在打开文件时。重构的新版似乎和mpc-be不兼容
回复

使用道具 举报

3

主题

406

回帖

42

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
205625

活跃达人

shadows 发表于 2022-2-23 18:45:49 | 显示全部楼层
觉得配置文件用ini、yaml、toml之类的更方便编辑
回复

使用道具 举报

2

主题

35

回帖

0

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
262369
Apache553  楼主| 发表于 2022-2-23 19:13:26 | 显示全部楼层
苏辰汐 发表于 2022-2-23 18:45
测试了下,发现hook mpc-be的进程的话,会导致mpc-be切换视频和退出时卡住无响应,关掉SubtitleFontAutoLo ...

感谢反馈
我抓到虫了! 原因是播放器以空字符串调用了被钩住的API,然后让我的RPC卡住了马上上传新的版本


回复

使用道具 举报

2

主题

35

回帖

0

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
262369
Apache553  楼主| 发表于 2022-2-23 19:27:57 | 显示全部楼层
shadows 发表于 2022-2-23 18:45
觉得配置文件用ini、yaml、toml之类的更方便编辑

是的确实是这样

但是xml比较容易操作一点,不用引入别的库
ini又太简陋了
回复

使用道具 举报

5

主题

492

回帖

215

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
368961
苏辰汐 发表于 2022-2-23 19:43:36 | 显示全部楼层
本帖最后由 苏辰汐 于 2022-2-23 19:45 编辑
Apache553 发表于 2022-2-23 19:13
感谢反馈
我抓到虫了! 原因是播放器以空字符串调用了被钩住的API,然后让我的RPC卡住了马上上传新的版本
...

嗯,最新版确实可以正常工作了,好评!
还有个事比较好奇,重构后的版本支持解析和加载非unicode编码的字体名称了吗?
大部分已知的此类中文字体我前不久进行了修复处理,见此贴:文鼎和汉鼎字体修正包。不过如果软件本身就能够处理就更好了
回复

使用道具 举报

2

主题

35

回帖

0

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
262369
Apache553  楼主| 发表于 2022-2-23 19:51:08 | 显示全部楼层
苏辰汐 发表于 2022-2-23 19:43
嗯,最新版确实可以正常工作了,好评!
还有个事比较好奇,重构后的版本支持解析和加载非unicode编码的字 ...

我是尽可能按照Windows的方式去读取了

具体来说就是对于Microsoft平台的SFNT条目,如果是GB2312/BIG5/WANSUNG编码就去除输入双字节中的高位空字节过后按照对应编码页解码并转到Unicode,其他的都当作Unicode(UTF16BE)处理

这样应该是工作的,具体成效您可以试试
回复

使用道具 举报

5

主题

492

回帖

215

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
368961
苏辰汐 发表于 2022-2-23 19:59:07 | 显示全部楼层
Apache553 发表于 2022-2-23 19:51
我是尽可能按照Windows的方式去读取了

具体来说就是对于Microsoft平台的SFNT条目,如果是GB2312/BIG5/WA ...

用華康圓體注音这个非unicode编码的字体测试了下,新版本确实可以正常识别并加载。太赞了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表