中英文1:2等寬字體

折騰了半天字體。linux

原由是在linux下用ReText寫rst格式文檔,寫標題的時候報錯文字下的標記長度不夠,明明是對對齊的。緣由是中英文字體不是嚴格1:2等寬,1箇中文字寬度不等於2個英文字寬度,形成錯覺。換了幾個等寬字體也不行。ubuntu

搜索折騰了一番。總結以下:vim

  1. 最簡單實用的辦法是安裝一個爲中文優化過的等寬英文字體,設置字體時就選這個等寬英文字體。這種字體很少,例如:ubuntu mono。聽說還有mplus fonts,應該是含有中日文的,沒試過。windows

  2. gnome terminal和vim,gvim有特殊處理,不用安裝特殊字體,自動中英文1:2等寬。字體

  3. Windos 7下,我記得有款達人自制的雅黑Consolas混合字體,挺棒的。中英文看起來都比較舒服。至因而不是中英文1:2等寬,有段時間沒用Windows 7,不太記得了。優化

  4. Windows 10下,看程序心情。設計

    • 正常程序notepad, notepad++, 選擇普通的等寬英文字體,自動中英文1:2等寬。ip

    • 自制雅黑Consolas混合字體,再也不中英文1:2等寬。文檔

    • 較高版本的Visual Studio 2012, 201七、SQL Server Management Studio 2017, 字體不會自動等寬。進入抽風模式terminal

      • 本來包含1:2等寬中英文的字體,如「新宋體」,能保持中英文1:2等寬
      • ubuntu mono,設置12號字體,能中英文1:2等寬
      • 其餘字體,抽風
    • Visual Studio 2008, 抽風模式

  5. 其餘:

    • Linux下可能會找到一些修改fontconfig的辦法。別折騰,弄來弄去不如安裝字體實用。人家字體設計就沒有爲中英文比例設計。再說強行等寬也不見的好看。

    • Windows下可能會有些FontLink方案,修改系統註冊表的SystemLink。也別折騰,弄來弄去,重啓註銷N次也調不出個好結果。

      另:FontLink時,有個縮放因子,比較難以調整把握,很難找到這個縮放因子的說明,附註一段找到的說明1, Mark一下。

如前所述,我找不到任何關於這兩個縮放因子的詳細資料,惟一能找到的相關信息就是開源軟件gdipp的一個源程序文件。在這個文件裏,Fontlink裏定義的兩個縮放因子被用來以以下方式計算另一個縮放參數:

new_info.scaling = (factor1 / 128.0) * (96.0 / factor2);

相關文章
相關標籤/搜索