wyzdwdz / assfonts Goto Github PK
View Code? Open in Web Editor NEWSubset fonts and embed them into an ASS subtitle
License: GNU General Public License v3.0
Subset fonts and embed them into an ASS subtitle
License: GNU General Public License v3.0
您好, 用了几天这个工具, 感谢非常好用
在使用时我都会把缺少的字体放进字体库重新构建, 但是每次都是全量的, 速度很慢(因为文件夹字体很多)
所以能不能只检查json文件里没有的字体并加入, 这样应该能快很多
如下字体
font/a/1.ttf # 假如为"黑体"
font/b/1.ttf # 假如为"微软雅黑"
建立字体库后
如果字幕同时包含"黑体"和"微软雅黑"
只会生成1个1[0]_subset.ttf
感谢大佬开发出这么一款软件, 平常我经常用也发现挺好用, 以下是我使用过程中发现的可以优化的地方
不知为何我在 Arch Linux ArmV7 上编译会报:
ERROR: There are invalid packages:
cmake/3.26.3: Invalid: CMake binaries are only provided for x86_64 and armv8 architectures
Is it possible to add v0.7.0 linux x86_64 build binnary?
以下为WIndows GUI客户端的优化建议
1.建立数据库后,字体目录不要清空
使用场景:
子集化失败,查看日志发现缺字体后,打开浏览器,下载拖到超级字体包里进行补充-->发现目录为空->重新输入路径->再次重建数据库
希望优化成
设置好固定字体目录
发现缺字体->下载拖入字体路径->重建数据库
2.可以固定输出目录
使用场景:
D:\临时文件 是我的输出专用目录,而字体往往会在其他各个临时目录 ,如windows的下载目录
拖入字体->修改输出目录->子集化
希望优化成
设置好固定输出目录
之后拖入字体->子集化
3.结束后删除过程文件,或将过程文件归集到一个和输出目录无关的文件夹中
使用场景:
子集化->打开输出目录->从一堆文件中找出.rename.assfonts.ass ->拖入filebot进行文件名批量整理
希望仅仅保留子集化后的字幕,优化整个工作流变成
子集化->直接将输出目录拖入filebot进行文件名批量整理
正确情况:方正兰亭圆_GBK_准 -> ZNZOOHWY
bad.ass:方正兰亭圆_GBK_准 -> JHBAHEGA_准
file.zip
对于这种不规范的写法, 如{\rhaha}, 并且未指定haha这个样式
经过测试发现mpv上的效果等同于{\r}, 即使用当前行所指定的样式
而本程序会直接跳过后面的文字的子集化, 从而导致可能会缺字
问题字体与字幕
目前在新版(v0.6.1)中,输入多个字幕是会输出对应多个字幕的字体子集化结果的,但是存在这样一种情况:
一个视频有多个语言的字幕(比如:input.chs.ass, input.cht.ass),此时我期望输入这两个字幕,然后共享一个子集化的结果。
希望作者有时间能够实现这个功能,谢谢。
空样式名会让程序卡死
例如下面的字幕
[Script Info]
ScriptType: v4.00+
WrapStyle: 0
PlayResX: 640
PlayResY: 480
ScaledBorderAndShadow: yes
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
Style: ,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,,123
期望能抛出错误,或忽视这一行样式(不知道会不会让{\r}应用这一样式,还没验证)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.