Feb 18

用于MKV内嵌的字体精简工具[2011-12-03更新]

2011-12-03:之前修改过代码忘记发布了,经taro( @06_taro )提醒才想起来orz

能想起来的改动:

* 在转换后的ASS内记录字体名字映射

其它的懒得去翻log了(死

 

这次主要的改进是加入字体名称随机化功能,可以解决字体残留所带来的影响。暂时没发现其它的副作用。。。

6.21:发现SSARepFont的帮助太简单。。。加了点内容。。。

7.11:GUI更新。。。支持字体名称随机化了。。。

09.2.18:小更新。。。修复了x64系统下不能运行的问题。。。(感谢squallatf!)

3.1:更新支持TTC格式。。。(其实很容易。。。之前一直懒得弄。。。orz

能根据字幕的内容删除字体中无用的字符,把字体缩小。测试显示1集正常动画的字幕所需字体的大小为原来的1/10左右,相对于MKV大小基本可以忽略了。配合附带的SSATextRip可以为特效和正文分别制作精简版字体。

好吧,其实也并不是只能用于MKV内嵌字体,虽然我也没想到其它用途。。。

点击这里下载

 

系统需求:Windows XP或以上,.Net Framework 2.0

更新日志:

SubsetFont:

1.1.3:

支持TTC格式

1.1.2:

修复了x64系统下不能运行的问题

1.1.1:

之前字体名称随机化后有一处校验和未重新计算,已修正(话说貌似没什么程序会去校验。。。

1.1.0:

新增功能:

字体名称随机化(-randomize, -r),可配合附带工具SSARepFont将SSA/ASS文件内的字体名称一同修改。(GUI暂时不支持此功能,可参考附带的范例来创建批处理)

预览输出字体(-preview, -p)

1.0.1:处理过程中输出更多信息

1.0.0:显示未包含在新字体里的字符(出现这种情况基本是因为那些字符原字体里面也没有。。。

0.9.0:在漫游发布的初始版本

 

SSATextRip:

1.0.2:修正非系统代码页的文件输出错误的问题

1.0.1:修正一处笔误。。。orz

GUI:

1.0.3:兼容性及其它小更新

1.0.2:支持字体名称随机化

1.0.1:支持创建批处理

Feb 12

第一个实用(?)的.Net AVS插件 – EPTextSub(EP特效内嵌插件。。。)

最近受人所托,压一个非常ep的特效,足有200MB+。。。估计是VSFilter内存泄漏的缘故,其中某几个部分压的时候内存占用会飙升,导致内存不足而crash。。。(据说某个part没人压成功过。。。

后来经过试验,发现一个非常EP的解决方法,就是分段压制。。。压最BT的part的时候,要分成每6帧一段。。。因为觉得分段和合并非常麻烦,于是这个插件就出现了。。。

使用方法:

 

#请预先加载VSFilter.dll
SetMemoryMax(16) #非必要,但推荐这么做 
LoadPlugin("AvsFilterNet.dll")
#…
EPTextSub(字幕文件[,内存限制]) #内存限制单位为MB,默认1024
# 或
EPEval("""TextSub(xxx)"""[,内存限制]) 

 

然后当压制程序的内存占用达到内存限制值时,就会自动重新加载字幕以释放VSFilter占用的内存。。。(顺便提一下,如果字幕文件非常巨大的话。。。压制进程可能会停顿N分钟。。。

 

下载:

 

 

 

 

(2.13小更新,主要是引入更简便的AVSValue释放机制。。。其它部分无改动。。。

2011-12-06:增加EPEval,其实也是很久以前写好的,忘记更新这里了orz

 

使用时的截图:

image

心电图

某人语。。。

 

系统需求:

.Net Framework 2.0+

如果安装.Net后还是不能运行的话,就要装这个:

Visual C++ 2008 SP1 Redistributable

 

最后,让我们期待下roozhou大对VSFilter的优化吧。。。orz