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

ListAssFonts: 小工具,分析字幕使用的字型 (2023/06/13 更新)

  • TA的每日心情
    开心
    2021-8-24 00:57
  • 签到天数: 73 天

    [LV.6]常住居民II

    1

    主题

    6

    回帖

    0

    VC币

    中级会员

    Rank: 3Rank: 3

    积分
    8596
    陌宇凌锋 发表于 2018-3-12 20:09:50 | 显示全部楼层
    本帖最后由 陌宇凌锋 于 2018-3-12 20:10 编辑

    一直不知道有这种软件,每次都是一个一个自己看到底有哪些字体,感谢楼主
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-8-24 00:57
  • 签到天数: 73 天

    [LV.6]常住居民II

    1

    主题

    6

    回帖

    0

    VC币

    中级会员

    Rank: 3Rank: 3

    积分
    8596
    陌宇凌锋 发表于 2018-3-12 20:10:23 | 显示全部楼层
    卡了,发了两遍,编辑了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2023-10-22 17:49
  • 签到天数: 45 天

    [LV.5]常住居民I

    0

    主题

    22

    回帖

    0

    VC币

    中级会员

    Rank: 3Rank: 3

    积分
    5171
    lee850220 发表于 2018-3-17 17:38:36 | 显示全部楼层
    本帖最后由 lee850220 于 2018-3-17 17:55 编辑

    請問這個程式會因為安裝過多字型導致程式崩潰嗎,
    目前Fonts內有2000多個字體,
    每次開啟後顯示完第一次,再安裝一個新的字幕重新讓他列出字幕的時候就崩潰了。

    程式開啟運行第一次都會出現記憶體不足,然後重新再點一次就會正常顯示,猜測可能是有個wait()時限到了還來不及讀取完整個資料夾導致第一次都會失敗?

    然後我發現好像每次開啟都會重新讀取整個字體資料夾,因為只要打開程式就會有大約2GB的讀取量自Fonts資料夾,跟大約800MB的寫入量寫到FontCache的資料夾。初步研究這個讀寫動作跟WPF的Windows Font Cache Service有關。

    我只是把可能發生問題的地方列出來供參考~麻煩你了

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

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

    [LV.2]偶尔看看I

    69

    主题

    1324

    回帖

    1万

    VC币

    星辰大海

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

    积分
    2853503

    卓越贡献

    tonyhsie  楼主| 发表于 2018-3-17 19:34:29 | 显示全部楼层
    本帖最后由 tonyhsie 于 2018-3-18 02:09 编辑
    lee850220 发表于 2018-3-17 17:38
    請問這個程式會因為安裝過多字型導致程式崩潰嗎,
    目前Fonts內有2000多個字體,
    每次開啟後顯示完第一次, ...

    Windows 7 會有這種現象,Windows 10 似乎不會,這問題我也沒有好的解決方法
    這屬於 .Net Framework 在 Win7 環境的問題


    有些字型資訊無法直接透過 WPF 取得

    必須開啟字型檔案來確認,所以每次開啟程式後,第一次執行任一功能時,都會開啟字型檔案



    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2023-10-22 17:49
  • 签到天数: 45 天

    [LV.5]常住居民I

    0

    主题

    22

    回帖

    0

    VC币

    中级会员

    Rank: 3Rank: 3

    积分
    5171
    lee850220 发表于 2018-3-21 00:01:44 | 显示全部楼层
    本帖最后由 lee850220 于 2018-3-21 00:27 编辑
    請問這個程式會因為安裝過多字型導致程式崩潰嗎,
    目前Fonts內有2000多個字體,
    每次開啟後顯示完第一次,再安裝一個新的字幕重新讓他列出字幕的時候就崩潰了。 ...

    忘記附註操作環境:

    Windows 10 1709 build 16299.309 企業版 x64


    2018/03/21
    我把FontCache的路徑改到非系統碟後,讀寫問題已經解決,目前只剩下runtime error(只有剛運行第一次會出現),記憶體的問題也解決了,重複Run也不會崩潰了。

    完整錯誤訊息詳見附檔。

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

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

    [LV.2]偶尔看看I

    69

    主题

    1324

    回帖

    1万

    VC币

    星辰大海

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

    积分
    2853503

    卓越贡献

    tonyhsie  楼主| 发表于 2018-3-21 00:53:13 | 显示全部楼层
    lee850220 发表于 2018-3-21 00:01
    忘記附註操作環境:

    Windows 10 1709 build 16299.309 企業版 x64

    初步看來是你系統安裝的字型檔案中,有些路徑有不合法字元

    你可以用 RegEdit 去看 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts 這裡面各項的路徑
    看是哪一個有問題




    或者是在 ListAssFonts 裡按 F12


    5. 按F12/Menu鍵可導出 debug 用的純文字文件,方便報錯/除錯


    把 debug 文件發上來
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2023-10-22 17:49
  • 签到天数: 45 天

    [LV.5]常住居民I

    0

    主题

    22

    回帖

    0

    VC币

    中级会员

    Rank: 3Rank: 3

    积分
    5171
    lee850220 发表于 2018-3-22 13:54:57 | 显示全部楼层
    tonyhsie 发表于 2018-3-21 00:53
    初步看來是你系統安裝的字型檔案中,有些路徑有不合法字元

    你可以用 RegEdit 去看 HKEY_LOCAL_MACHINE\S ...

    從註冊表裡面發現有許多字體的名字是亂碼,都是文鼎系列的,修正之後已經沒有問題,雖然跑列表的時候會短暫出現記憶體不足,但是讀取完畢就會自動刷新恢復正常,基本上不影響使用!
    感謝解答
    回复 支持 反对

    使用道具 举报

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

    [LV.2]偶尔看看I

    69

    主题

    1324

    回帖

    1万

    VC币

    星辰大海

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

    积分
    2853503

    卓越贡献

    tonyhsie  楼主| 发表于 2018-3-22 17:36:48 | 显示全部楼层
    lee850220 发表于 2018-3-22 13:54
    從註冊表裡面發現有許多字體的名字是亂碼,都是文鼎系列的,修正之後已經沒有問題,雖然跑列表的時候會短 ...

    針對這個問題作了一個小改版


    v180322

    1. 為避免程式在掃描系統已字裝字型時中斷,跳過那些含有不合格字元的字型 Reg key (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts)
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    慵懒
    2023-10-22 17:49
  • 签到天数: 45 天

    [LV.5]常住居民I

    0

    主题

    22

    回帖

    0

    VC币

    中级会员

    Rank: 3Rank: 3

    积分
    5171
    lee850220 发表于 2018-3-23 15:00:47 | 显示全部楼层
    本帖最后由 lee850220 于 2018-3-23 15:03 编辑

    我又帶問題來了~

    圖中紅框應該是同一個字體吧?
    可是居然被安裝了兩次,分別被不同的名稱記錄在註冊表內。
    -----------------------我是分隔線-----------------------
    還有一些字體明明已經安裝過了,可是重複安裝並不會提示,反而重複安裝然後多了很多重複的檔案在Fonts裡面

    這兩個問題要怎麼解決?


    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

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

    [LV.2]偶尔看看I

    69

    主题

    1324

    回帖

    1万

    VC币

    星辰大海

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

    积分
    2853503

    卓越贡献

    tonyhsie  楼主| 发表于 2018-3-23 15:53:16 | 显示全部楼层
    lee850220 发表于 2018-3-23 15:00
    我又帶問題來了~

    圖中紅框應該是同一個字體吧?

    如果你是用 Windows 內建的安裝字型功能,當你安裝同一套字型時,應該都會提示

    惹是用第三方軟體裝的字型,可能就沒提示了,才會裝到一堆重複


    我建議安裝或反安裝,都盡量用 Windows 內建功能,比較不會有這些問題


    解決也只能手動一個個處理了,我也不曉得有沒有其它更快的方法


    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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