PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   疑難雜症區 (https://www.pcdvd.com.tw/forumdisplay.php?f=34)
-   -   我的win10 微軟正黑粗體遇到"碧"字會多空白 (https://www.pcdvd.com.tw/showthread.php?t=1206367)

JackieRyo 2024-01-16 03:19 PM

引用:
作者ericshliao
一個正黑體TTC檔裡面包著幾個TTF檔, regular, bold, italic, 分別有各自的TTF, 其實是三個字型檔, 只是被包在一個TTC檔裡. 調用字型時, 還是會把TTC當成三個字型來使用. 我猜, 大概只修正了Regular, 但Bold沒修正.

只能這樣猜了,
不曉得 WIN11 的正黑體粗體有沒有改掉這問題,
有的話就拿來用好了!

JackieRyo 2024-01-16 03:22 PM

引用:
作者ericshliao
一個正黑體TTC檔裡面包著幾個TTF檔, regular, bold, italic, 分別有各自的TTF, 其實是三個字型檔, 只是被包在一個TTC檔裡. 調用字型時, 還是會把TTC當成三個字型來使用. 我猜, 大概只修正了Regular, 但Bold沒修正.

所以, 並沒有被誤用的問題, 就是正黑體Regular字型已修好, 沒問題, 但正黑體Bold沒修. 應該是這樣. 也就是說, 我一開始說是新舊版字型的問題, 只說對了一半.

微軟官網的說明是:"It addresses an issue that affects the font of three Chinese characters. When you format these characters as bold, the width size is wrong. "
說是改善了BOLD(粗體)的寬度問題,
結果居然沒改到,
這好像滿搞笑的! :laugh: :laugh: :laugh:

substar999 2024-01-22 08:51 AM

各位有沒有想過,問題不一定是字型造成的,而是Notepad.
為了驗證這點,我特地下載一版還是32bit版本的Notepad,
結果只要輸入那三個特定文字,後面就會跟著不明意義的空白。
而現在Win11內建最新版本的Notepad就無此問題。

JackieRyo 2024-01-23 06:48 AM

引用:
作者substar999
各位有沒有想過,問題不一定是字型造成的,而是Notepad.
為了驗證這點,我特地下載一版還是32bit版本的Notepad,
結果只要輸入那三個特定文字,後面就會跟著不明意義的空白。
而現在Win11內建最新版本的Notepad就無此問題。

其實我不只notepad會出現這問題,
我用totalcommander檔案列表也出現了這個問題,
所以才納悶怎會有這種問題!

substar999 2024-01-23 11:51 AM

剛還特別用了fontforge看了正黑體粗體的ttc檔案,裡面的碧字是沒空格的,
然後也試了ultraedit這個古老文字編輯器,同樣有碧字空一格的問題。
感覺應該是微軟某些特定API出了問題,這問題會導致碧字空一格的情況出現。
後續微軟的修正只針對新版API,而使用舊版API的軟體,問題就仍在。

ericshliao 2024-01-23 02:53 PM

引用:
作者substar999
剛還特別用了fontforge看了正黑體粗體的ttc檔案,裡面的碧字是沒空格的,
然後也試了ultraedit這個古老文字編輯器,同樣有碧字空一格的問題。
感覺應該是微軟某些特定API出了問題,這問題會導致碧字空一格的情況出現。
後續微軟的修正只針對新版API,而使用舊版API的軟體,問題就仍在。


我保證一定是字型檔的問題, 因為我十幾年前就試過了.
TTC裡包著幾個TTF, 你用FontForge打開TTC, 要再選Regular, Bold, Italic的TTF. 如果沒選, FF預設打開Regular TTF, 因為已經修正過了, 當然看不出來. 你要打開Bold TTF才看得到問題.

至於微軟說修正過了, 為何還有問題? 我想是因為, 有問題的字有好幾個, 負責修正的人沒有把每個字都檢查過一遍, 只修正了他已知清單上的字, 但不在修正清單上的就沒改.

substar999 2024-01-23 03:14 PM

不好意思,現在微軟正黑體複製出來有三個ttc檔案,
分別對應 一般、粗體及light,
我用fontforge開的是對應粗體的msjhbd.ttc檔,
裡面包的兩個字型一個叫「微軟正黑體Bold」,另一個叫「Microsoft JhengHei UI Bold」
若您覺得我說的有問題,您不妨現在操作看看再來打我的臉?

引用:
作者ericshliao
我保證一定是字型檔的問題, 因為我十幾年前就試過了.
TTC裡包著幾個TTF, 你用FontForge打開TTC, 要再選Regular, Bold, Italic的TTF. 如果沒選, FF預設打開Regular TTF, 因為已經修正過了, 當然看不出來. 你要打開Bold TTF才看得到問題.

至於微軟說修正過了, 為何還有問題? 我想是因為, 有問題的字有好幾個, 負責修正的人沒有把每個字都檢查過一遍, 只修正了他已知清單上的字, 但不在修正清單上的就沒改.

ericshliao 2024-01-23 03:18 PM

我剛才試著用FF, 確實試不出來, 不過我上次用FF是十幾件前的事了. 現在正確的操作要如何做才能顯示出那個問題, 我得再試試.

先聲明, 我回文和你不同意見不是要打你臉, 這種事沒什麼好打臉的, 有問題就是有問題, 你的操作有沒有問題我不知道, 但我很明確的知道那個問題是什麼. 微軟也知道, 只是沒完全修好.

ericshliao 2024-01-23 04:50 PM

放三張擷圖, 是用FontLab 7.0開啟msjhbd.ttc後, 選"碧"和另外兩個字做對比, 注意紅圈處的Bind right sidebearing數值, "碧"的數值是1202, 另外兩個字是156和160. 有興趣的人, 去查查bind right sidebearing在字型裡代表什麼意義. 照字面來翻譯, 就是鎖定右側軸心, 這個數值太大, 造成"碧"的右側會多出約一個字寬的空白, 但這還得看每個應用程式是否會去用這個數值來繪字體, 如果應用程式根本不用這個數值來計算字的寬度, 就不會有任何問題.

https://ibb.co/xHPZQ1q
https://ibb.co/pP4P1Hk
https://ibb.co/GFX6ZzV

至於TTC裡是否有多個TTF, 依我以前的記憶, 是有, 但我檢查Windows 10的正黑體TTC檔, 應該裡面只有一個TTF字型.

ericshliao 2024-01-23 05:49 PM

sidebearing是一對最大值和最小值的組合, 我記得FontForge以前的版本會顯示最大值和最小值, 但現在我只找到顯示最小值的選項, 可能是作者把它移除了, 而且是十年前就移除了. 還好用FontLab還能找到這個數值, 不然就沒法證明了.


所有的時間均為GMT +8。 現在的時間是04:27 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2024。