muveex 发表于 2019-3-23 13:03:40

tonyhsie 发表于 2019-3-22 20:31
有問題的字型移除掉就好了 你既然能裝上去,肯定也能移除掉吧




举个例子,我们这里上千台电脑都以Active Directory连在一起,一个人在一台电脑上存储数据以后,换一台电脑用相同的用户名密码登录,不需要任何手动操作就能把这些文件和设置从服务器上转移过来。一般用户没有管理员权限,也禁止执行或安装除现有程序和MS Store App以外的所有程序,但能做的事情很多,一般足够用了。如果我们是一个设计公司,那可能会希望设计师们能自己有权限来自行安装卸载不同的字体。
对一般程序而言系统如何使用字体是透明的;对一般程序而言,获取字体列表比较好的实现方式不是枚举注册表而是调用API,比如.NET 里的 InstalledFontCollection 对象。

tonyhsie 发表于 2019-3-23 14:05:50

举个例子,我们这里上千台电脑都以Active Directory连在一起,一个人在一台电脑上存储数据以后,换一台电脑用相同的用户名密码登录,不需要任何手动操作就能把这些文件和设置从服务器上转移过来。一般用户没有管理员权限,也禁止执行或安装除现有程序和MS Store App以外的所有程序,但能做的事情很多,一般足够用了。如果我们是一个设计公司,那可能会希望设计师们能自己有权限来自行安装卸载不同的字体。
其實我並不是要你 "想像出一種可能會用到 user font 的場合",而是想知道 "實際確實會用到 user font 的情況是怎麼樣的"

以你舉的例子來說,假設有這種設計師好了,在 Win 10 1809 之前他們沒辦法作業嗎? 不可能吧
所以代表 user font 對他們來說也並非一個必要功能,不是嗎?


就我看來,ListAssFonts 面向的用戶,或者說一般用戶,需要使用 user font 功能的機會並不是很高

畢竟 LAF 也是兩年多前就有的東西了,當時沒有 user font 這玩意也沒什麼問題
現在雖然有這玩意了,但我看不出一般用戶把字型安裝成 user font 而非 system font 來用,能帶來什麼好處?

对一般程序而言系统如何使用字体是透明的;对一般程序而言,获取字体列表比较好的实现方式不是枚举注册表而是调用API,比如.NET 里的 InstalledFontCollection 对象。


InstalledFontCollection 有不少漏網字型,並不是尋找系統上所有字型的一個完美解答


另外,你可以試看看 Aegisub 能不能找到 user font 吧

你可能以為 user font 應該能直接無痛被所有程式支援,而現實卻不是那麼美好
那難道你要一個個去請不支援 user font 的程式作者去改版來支援 user font,還是選擇自己照舊使用 system font?


這問題我當初升級到 1809 時就考慮過了,我選了後者,所以 LAF 支援 user font 的計畫也就擱置了,畢竟 user font 的必要性真的不大

http://bbs.acgrip.com/forum.php?mod=redirect&goto=findpost&ptid=1894&pid=41025&fromuid=8179


另外有個問題,如果 user 沒有管理員權限,無法自行安裝字型

那他有權限把系統字型 copy 出來嗎?這我不太清楚

muveex 发表于 2019-3-24 02:04:54

本帖最后由 muveex 于 2019-3-24 04:39 编辑

tonyhsie 发表于 2019-3-23 14:05
其實我並不是要你 "想像出一種可能會用到 user font 的場合",而是想知道 "實際確實會用到 user font 的情 ...
可以試看看 Aegisub 能不能找到 user font
测试了一下,Aegisub(最新是2014年的3.2.2版)可以列出user font,可以正常保存字幕,但是font collector不能复制导出user font。不太清楚它是怎么实现的。我记得列举字体有好几种不同的API和库刚才找到了这里bit.ly/2FsiVOV    ,Aegisub的Font Collector调用了get_installed_fonts(),这个函数是枚举注册表的(作者虽然写了一个GdiFontFileLister,但它里面仍然是调用了这个列举注册表的函数),于是就报错了。
但是,一般的功能可以正常工作(比如Style Editor),原因是是直接调用了wxWidgets框架的wxFontEnumerator::GetFacenames(),而wxWidgets for windows部分源码bit.ly/2U6c4Uw中似乎是调用了Windows GDI的EnumFontFamiliesEx(),所以跟着正常工作了。不过这个API列出来的很多字体名称前带@,这些是垂直书写字体,与InstalledFontCollection结果不同。
也许对LAF 或者Aegisub font collector来说最适合的还是直接枚举注册表吧。
他有權限把系統字型 copy 出來嗎?這我不太清楚可以的。LAF本身是以普通用户权限运行的,这也是它在1809上可以保存系统字体的原因。



Windows升级A搞挂了B其实挺常见的,而且bug也多,比如stack overflow上有个非常诡异的问答:win10系统无法预览和安装字体,结果最后发现解决方法竟然是完全没有关系的“启用Windows防火墙”…… superuser.com/questions/957907/unable-to-install-fonts-on-windows-10

tonyhsie 发表于 2019-3-24 05:41:42

测试了一下,Aegisub(最新是2014年的3.2.2版)可以列出user font,可以正常保存字幕,但是font collector不能复制导出user font。不太清楚它是怎么实现的。我记得列举字体有好几种不同的API和库刚才找到了这里bit.ly/2FsiVOV    ,Aegisub的Font Collector调用了get_installed_fonts(),这个函数是枚举注册表的(作者虽然写了一个GdiFontFileLister,但它里面仍然是调用了这个列举注册表的函数),于是就报错了。
但是,一般的功能可以正常工作(比如Style Editor),原因是是直接调用了wxWidgets框架的wxFontEnumerator::GetFacenames(),而wxWidgets for windows部分源码bit.ly/2U6c4Uw中似乎是调用了Windows GDI的EnumFontFamiliesEx(),所以跟着正常工作了。不过这个API列出来的很多字体名称前带@,这些是垂直书写字体,与InstalledFontCollection结果不同。
也许对LAF 或者Aegisub font collector来说最适合的还是直接枚举注册表吧。目前 LAF 也能辨識出字幕有此字型,加上系統是否已安裝此字型,這些功能都正常,有問題的部分只是無法把字型複製出來

對不支援 user font 的字型程式來說,這種結果應該都是一樣的

窮舉 Registry 是必然的,看起來你也是專業的程式工作者,或許你再想想就能知道原因了

可以的。LAF本身是以普通用户权限运行的,这也是它在1809上可以保存系统字体的原因。



Windows升级A搞挂了B其实挺常见的,而且bug也多,比如stack overflow上有个非常诡异的问答:win10系统无法预览和安装字体,结果最后发现解决方法竟然是完全没有关系的“启用Windows防火墙”…… superuser.com/questions/957907/unable-to-install-fonts-on-windows-10

哈哈,真虧他能找出這個辦法


seven202 发表于 2019-4-10 03:34:01

本帖最后由 seven202 于 2019-4-10 03:35 编辑

回文不小心犯傻了
麻煩管理員大大刪文一下了<O>

tonyhsie 发表于 2019-5-27 16:26:20

本帖最后由 tonyhsie 于 2019-5-27 16:27 编辑

muveex 发表于 2019-3-22 15:24
报告一个bug:
windows 10 1809改变了字体的安装和存储方式,用户自行安装字体不再需要管理员权限,默认情况 ...
v190527

新功能

  1. 完整支援 user fonts:字型列表、字型拷貝等功能都適用於 user fonts
       (Win 10v1809 之後新增的特性,允許使用者新增字型到自己帳戶上,而不是新增到系統上)

  2. 支援內嵌字型的字幕檔,能把 .ass 裡 區段裡的亂碼抽取成字型檔案,並另外產生移除此區段的新字幕檔 "*.RemoveFonts.ass"




linkthis 发表于 2019-5-27 17:38:52

开始打开程序的时候程序是按照比例缩放的,然后只要使用只会程序窗口就会自动缩小

tonyhsie 发表于 2019-5-28 00:01:18

linkthis 发表于 2019-5-27 17:38
开始打开程序的时候程序是按照比例缩放的,然后只要使用只会程序窗口就会自动缩小 ...

參考這篇看看有沒有幫助

http://bbs.acgrip.com/forum.php?mod=redirect&goto=findpost&ptid=1894&pid=40676&fromuid=8179

linkthis 发表于 2019-5-28 07:39:28

tonyhsie 发表于 2019-5-28 00:01
參考這篇看看有沒有幫助

http://bbs.acgrip.com/forum.php?mod=redirect&goto=findpost&ptid=1894&pid=40 ...

感谢提醒,设置过后已经正常了




tonyhsie 发表于 2019-5-29 07:01:03

linkthis 发表于 2019-5-28 07:39
感谢提醒,设置过后已经正常了


开始打开程序的时候程序是按照比例缩放的,然后只要使用只会程序窗口就会自动缩小


我修改了一下程式,你看看是否可以在不作任何額外設定的情況下,解決你原先的問題

页: 10 11 12 13 14 15 16 17 18 19 [20] 21 22 23 24 25 26 27 28 29
查看完整版本: ListAssFonts: 小工具,分析字幕使用的字型 (暫停更新及下載)