TA的每日心情 | 郁闷 2016-12-31 01:33 |
---|
签到天数: 6 天 [LV.2]偶尔看看I
星辰大海
- 积分
- 2969756
|
NeedVerify.txt 可以說是全新的功能,跟以往的 NeedVerify.ass 完全不一樣
以前的 NeedVerify.ass,是用猜測的方式,把可能有缺字嫌疑者,全都抓起來,再通通交給使用者自行判斷
現在的 NeedVerify.txt,是把字幕檔的文字,用字型檔來一個個檢查,就跟「 Aegisub 的字型檢查功能」一模一樣
目前的 NeedVerify.txt 格式如下圖:
第一行是字幕檔的路徑
"D:\アクセル・ワールド\[SumiSora][Accel_World][BDRip][04-05-06][x264_flac](0EF606CC).tc.Appended.ass"
第二行開始,
是缺字的字型,以及所缺的字,( ) 內的數字是行號,表示這個字出現在字幕檔裡的第幾行
华文细黑 <STXihei>:「,」(#1190,#1191);「收」(#1190);「有」(#1175);「行」(#1190);「的」(#1189,#1190);「時」(#1190);「託」(#1190);「郵」(#1175);「開」(#1190);「新」(#1175);「準」(#1191);「酬」(#1190);「認」(#1190);「確」(#1190);「輸」(#1189)
後面依此類推
ListAssFonts 是先把各字幕檔的所有文字收集起來之後,最後才會到字型檔裡去確認有沒有缺字
在字幕檔案不多、大小不大的情況下,效能差異不大
但如果字幕數多、或檔案大小較大,對效能會有一定的影響
這個收集文字的過程,會讓 ListAssFonts 的記憶體使用量持續上升,程式也沒有回應,這是完全正常的現象
(我測試了自己電腦上的 2,207 個字幕檔,大小 1.275 GB,記憶體最高峰時大概會用到 1.05 GB,產生 NeedVerify.txt 之後會正常釋放掉)
一些實驗數據
| 字幕總數 | 字幕總大小 | 字型數 | 字元數 | 找缺字時間 | 不找缺字時間 | 備註 | 1. | 2,207 | 1.275 GB | 703 | 295,733 | 470.83 秒 | 275.02 秒 | 大量字幕檔 | 2. | 6 | 253.19 MB | 14 | 2,568 | 75.72 秒 | 70.38 秒 | 超大字幕檔 | 3. | 14 | 453.26 KB | 6 | 1,992 | 0.165 秒 | 0.089 秒 | 一般情況 | 4. | 28 | 920.34 KB | 9 | 3,934 | 1.012 秒 | 1.179 秒 | 一般情況 |
從上表可以發現,在極端的情況下,找缺字可能會對 ListAssFonts 的效能產生巨大的影響 (1. 的執行時間多了 71.2%、多了 3 分 16 秒)
但在一般情況下,影響不大 (2. 多了 7.59%,3. 多了 85.4% 但實際上差不到 0.1 秒,4. 多了 16.5% 但實際上差不到 0.2 秒)
目前 ListAssFonts 預設是開啟 NeedVerify 找缺字功能的 (不管系統是簡中 或繁中 OS 都一樣),但可以使用參數 "-nnv" 來強制關閉此功能
而 ListAssFonts 如果在剖析字幕檔的過程中
發現有 "未安裝字型" 或是 "定義錯誤字型"
便會自動暫時停止找缺字的功能,以減少不必要的執行時間、記憶體空間的浪費
ListAssFonts 跟 Aegisub 的字型檢查功能
目前的差異大概是這些:
1. ListAssFonts 可接受複數字幕檔,而 Aegisub 只能一次餵一個
2. 新增或移除字型後,ListAssFonts 不需要花時間重建資料庫,但 Aegisub 需要
3. Aegisub 會判斷出「'方正粗圆_GBK' 缺少下列字形: - U+00A0 NO-BREAK SPACE (\h)」,但 ListAssFonts 不會,因為 LAF 會跳過空白類的字元
4. Aegisub 有「樣式 '*Default' 不存在」而無法判斷字幕缺字的問題,但 ListAssFonts 沒有,因為 LAF 會把 "*Default" 當成 "Default" 看待,正常判斷缺字
因為這是全新功能,還沒經過時間的考驗
為了後續改版的參考用,也歡迎大家提供各式各樣意見
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
查看全部评分
|