请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
楼主: tonyhsie

ListAssFonts: 小工具,分析字幕使用的字型 (2020/5/17 更新)

  • TA的每日心情
    郁闷
    2016-12-31 01:33
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    25

    主题

    547

    帖子

    4474

    VC币

    星辰大海

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

    积分
    601496

    卓越贡献

    tonyhsie  楼主| 发表于 2020-5-16 21:35:36 | 显示全部楼层
    本帖最后由 tonyhsie 于 2020-5-16 21:37 编辑
    wyj-aln 发表于 2020-5-16 18:55
    感谢楼主的即时回答:
    1、我的不加\fe的符号不能正常显示应该和系统环境不同导致编码预设字型不同有关, ...
    2、关于经典中圆简和迷你简细行楷这两款字体不同版本的LAF运行情况:
    ①v200321:识别为已安装,黑色,无问题;
    ②v200427:识别为已安装,黑色,但是NeedVerify里会认为所有该字型的字都为缺字;
    ③v200509:识别为未安装,红色,NeedVerify里不会认为正常显示的字为缺字。
    应该和.NET Framework版本有关?

    我安裝這兩個字型後,從「設定->個人化->字型」去找這兩個字型,發現它們並排在第一位,中繼資料也不太正常


    不管那個版本的 .NET Framework 都抓不到這兩個字型檔案的內容
    大概是字型檔案本身有些缺陷,.NET Framework 乾脆就不處理了


    在 v200509 以前,LAF 有作容錯的動作,把這種抓不到內容的字型的 RegKey,當成它的字型名稱來處理,所以 v200321 沒問題

    從 v200427 開始,LAF 會紀錄字型內所有的字元資料,而這種有缺陷的字型,根本無從得知它有哪些字元,所以它的字元資料為空,所有字都是缺字

    在 v200509 開始,LAF 拿掉了容錯的動作,對於這種 .NET Framework 抓不到內容的字型,就不做特別處理了,所以看起來就是未安裝的狀態

         只有已安裝字型,才能得知它的檔案裡包含了哪些字元,因此能作缺字的判斷
         所以未安裝字型,肯定是不會缺字的,因為 LAF 沒辦法憑空猜測它的字型檔案會有什麼內容


    另外,我去找了一下這兩個字型

    迷你簡細行楷有另外兩個版本,可以正常被 .NET Framework 辨識出來,或許可以替換掉你現有的版本

      https://www.fontke.com/font/10106386/download/
      https://www.fontke.com/font/10455771/download/


    經典中圓簡,則不管哪個版本,通通都無法辨識


    對於這種有問題的字型,作容錯的話,也是無法判斷缺字的,單純只是顯示上已安裝(黑色)或未安裝(紅色)的差別


    再想想怎麼做好了

    3、PS:第一次作快取时,面板里有句话“Don't worry, it's just an One-time job.”这里应该为a One-time job,,定冠词用a还是an应该看后面的音标而不是字母的元辅性。


    感謝回報,下一版會修正


    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2016-12-31 01:33
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    25

    主题

    547

    帖子

    4474

    VC币

    星辰大海

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

    积分
    601496

    卓越贡献

    tonyhsie  楼主| 发表于 2020-5-17 22:03:29 | 显示全部楼层
    本帖最后由 tonyhsie 于 2020-5-17 22:08 编辑

    v200517

    新功能 或 bug 修正

    1. 修正沒缺字時,"NeedVerify.txt" 可能沒被刪除的問題
    2. 修正移除某些字體後,ListAssFonts 會出現「未經處理的異常」問題
    3. 新增參數 "-OCL",(意指 Only Check Letters),缺字檢查時只檢查文字,對於數字、標點、符號、空白,一律略過不管
                           未加此參數時,會檢查文字、數字、標點、符號,只略過空白
    4. 對於某些 .Net Framework 無法處理的字型,如:「经典中圆简」、「迷你简细行楷
     以額外支援的方式,讓它們在 ListAssFonts 裡能夠正常顯示安裝狀態、已安裝的話也能順利使用字型檔案複製功能
     但不支援缺字檢查功能(此功能需 .Net Framework 支援)
    5. 將有用到「未安裝字型」、或是「不支援檢查缺字功能的字型」的字幕檔案,列進程式自動產生的「NeedVerify.txt」裡
     (當有加 -NNV 參數時,此功能無效,因為 NNV = No Need Verify,不會產生 NeedVerify.txt)


    現在的 NeedVerify.txt 大概長這樣



    字幕檔案A
    Not Installed = 未安裝字型A、B、...、N
    Installed but without any character information = 已安裝,但不支援缺字檢查功能的字型A、B、...、N
    Lack of Characters = 缺字字型A,以及所缺的字、出現在哪一行
    Lack of Characters = 缺字字型B,以及所缺的字、出現在哪一行
    ...

    字幕檔案B
    ...
    ...

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2016-12-31 01:33
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    25

    主题

    547

    帖子

    4474

    VC币

    星辰大海

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

    积分
    601496

    卓越贡献

    tonyhsie  楼主| 发表于 2020-5-17 22:30:02 | 显示全部楼层
    wyj-aln 发表于 2020-5-16 10:15
    感谢楼主的回答!附件里针对性地给了显示不正确的两款字体:经典中圆简和迷你简细行楷以及测试用的ass文 ...

    v200517 支援了這些字體

    但因為有需要新增一些資訊到 cache files 裡面

    請先刪除 %USERPROFILE%\AppData\Local\ListAssFonts 這個目錄,再重新執行 ListAssFonts




    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2016-12-31 01:33
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    25

    主题

    547

    帖子

    4474

    VC币

    星辰大海

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

    积分
    601496

    卓越贡献

    tonyhsie  楼主| 发表于 2020-5-17 23:09:38 | 显示全部楼层
    本帖最后由 tonyhsie 于 2020-5-17 23:17 编辑

    關於 -OCL 參數,再說明一下


    目前 Unicode 有對所有字元作分類

    我把 BIG5 跟 GBK 裡的所有字元(2 bytes 部分),都拿去做測試,測試結果在附件,檔名開頭分別為 BIG5 跟 GBK 的兩個文字檔


    以 GBK 為例的話,檔案的前半部分如圖:




    加上 -OCL,會讓 ListAssFonts 只檢查文字部分的字元有沒有缺字

    文字部分的字元,指的就是上圖的紅框部分的字元,共有 83 + 113 +10 +21130 + 未列入的半型文字字元 (ABC, def 之類)


    不加 -OCL,ListAssFonts 除了空白字元以外通通會檢查缺字

    也就是整份檔案內的所有字元,都會檢查,比文字部分僅多了數百個數字、標點、及符號


    要不要使用 -OCL 這個參數,可以根據附件來自行判斷

    另外,BIG5 跟 GBK 只是用來舉例,了解一下各編碼內有多少不同種的字元而已

    實際上 ListAssFonts 並不是根據 BIG5 或 GBK 來做字元判斷的
    所有字元都是按照 Unicode 的分類標準,來做缺字檢查


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2017-1-5 09:24
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    14

    主题

    31

    帖子

    73

    VC币

    中级会员

    Rank: 3Rank: 3

    积分
    8853
    BK-201 发表于 3 天前 | 显示全部楼层

    大佬这是啥意思 0517版
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2016-12-31 01:33
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    25

    主题

    547

    帖子

    4474

    VC币

    星辰大海

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

    积分
    601496

    卓越贡献

    tonyhsie  楼主| 发表于 前天 03:49 | 显示全部楼层
    BK-201 发表于 2020-5-23 18:22
    大佬这是啥意思 0517版

    第一次執行 ListAssFonts 時,會先花上好幾分鐘來作字型快取
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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