程式開發人員被字型陰已不是新聞,我小時候就狠摔過(延伸閱讀:陰險的Bug,沈重的一擊), 但十幾年後,身為資歷老鳥還會踩坑,就值得好好反省記上一筆。

今天開啟 Notepad++ 修改某段 Office 相容 HTML,範例程式正常,我照著改寫卻出錯,花半小時還查不出原因。 最後靠著一段一段將問題程式置換成範例程式的內容,總於查到關鍵:

乍看兩行程式碼沒什麼不同,但上面可以執行,下面會出錯。怒開 16 進位編輯器才恍然大悟 - 我又被字型給陰了。 倒數第三個字元是關鍵,上面是 1 下面是 l。

調查發現 Notepad++ 的字型是 Courier New,也算是我蠻愛的字型,等寬、字型優美,只是,1 跟 l 搞到這麼像是要逼死誰?

改用其他字型,例如:Visual Studio 的奧林匹克指定字型 - Consolas:

或是雅黑體:

1 跟 l 的差異都算明顯,不致於弄錯。仔細想想,涉及程式開發的軟體要調字型,我習慣會選 Consolas,不會挑 Courier New,應該不是我設定的。

然後我想起來了,幾個月前換電腦新裝 Notepad++ 7.7,Courier New 應該是它的預設字型。

爬文後心情有好一點,看來我不孤獨。Notepad++ 討論區也有人反應預設字型易造成字元混淆:

由討論推測,Notepad++ 應是從 7.5 版(2017 發行)起預設字型改用 Courier New (之前似乎是 Times New Roman)的, 兩年後被我踩到。

Notepad++ 表示:我佈這個局佈了兩年之久....

Courier New 比 Consolas 普及,是等寬字型的優先選項,Notepad++ 將其設成預設字型還算合情理。 跟 Notepad++ 強大功能相比,這只是小瑕疵,無損其威能。 下回新裝 Notepad++,我會記得加上 SOP - 將字型改成 Consolas。

結案。


Comments

# by Huang

按鍵距離差這麼多,又不是看別人打的。XD

# by Lupin

Try Source Code Pro :)

# by 卡比

真的一模一模,這個地雷必須要中

Post a comment


96 - 7 =