# OpenType 字體的連字與上下文替代字功能 OpenType 字體有很多先進的功能. 其中排版以及撰寫程式時最常遇到的可能就是[**連字 (ligatures)**](https://www.typenetwork.com/news/article/opentype-at-work-standard-ligatures)和[**上下文替代字了 (contextual alternates)**](https://www.typenetwork.com/news/article/opentype-at-work-contextual-alternates)。 ## 連字 連字指的是使用不同的字元來替代連續的字元, 以底下的 finacial 字樣為例: ![](https://i.imgur.com/N73g3ic.png) 你會看到小寫 i 上方的圓點因為和 f 的右上方靠很近, 顯得雜亂不好閱讀。如果開啟連字功能, 就會使用連起來的 fi 取代: ![](https://i.imgur.com/WYa3nQH.png) 整體看起來就會比較簡潔美觀。 ## 上下文替代字 上下文替代字則是針對上下文情境, 把個別字元替換成不同外型的字元。例如在程式語言的情境下, != 代表不等於的意思: ![](https://i.imgur.com/qFo6YrD.png) 如果開啟上下文替代字的功能, 就會把 ! 和 = 更換成不同的樣子, 使得這兩個字接起來呈現 ≠ 符號的外觀: ![](https://i.imgur.com/nObaMa7.png) 閱讀的人即使不懂得 != 的意思, 看到 ≠ 也就知道是不等於了。 ## Word 中的連字與上下文替代字選項 在預設的情況下, Word 並不會開啟這些 OpenType 的功能, 如果需要, 可以在**字型**交談窗中切換到**進階**頁次, 在 **OpenType 功能**區選取**連字**選項: ![](https://i.imgur.com/kFdNkd1.png) 或是勾選**使用上下文替代字**: ![](https://i.imgur.com/vznHWmV.png) # InDesign 的連字與上下文替代字選項 InDesign 中也可以針對段落樣式或是選取字元設定: ![](https://i.imgur.com/vic5uCy.png) ## Windows Terminal 的連字與上下文替代字設定 Windows Terminal 也支援 [OpenType 的這些功能](https://learn.microsoft.com/en-us/windows/terminal/customize-settings/profile-appearance#font-features), 以上下文替代字為例, 可以在設定檔中如下設定 : ```json "font": "face": "FiraCode NFM", "features": { "calt":0 // 取消上下文替代功能 即可取消 **c**contextual **alt**nates 功能。其他功能的代碼可[參考這裡](https://learn.microsoft.com/en-us/typography/opentype/spec/featurelist)。 ## VSCode 的連字與上下文替代自設定 VSCode 是把[這兩個設定](https://code.visualstudio.com/docs/getstarted/tips-and-tricks)綁在一起, 只能同時啟用或停用, 可如下設定: ```json "editor.fontFamily": "Fira Code", "editor.fontLigatures": true // 啟用連字與上下文替代字