我正在嘗試使用Roboto 字型系列使用 XeLaTeX(或 LuaLaTeX)。
當我在 XeLaTeX 中編寫文件時,沒有使用連字(但在 Android 上使用了連字,所以應該有連字)。
LCDF typetools 的 otfinfo 透過選項 --features 顯示 liga 可用。我在 Windows 8.1 上使用 MiKTeX。
這是一個最小的工作範例:
\documentclass[
11pt,
a4paper
]{scrartcl}
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text}
\setmainfont[
ExternalLocation,
Extension=.ttf,
UprightFont=*-Regular,
ItalicFont=*-Italic,
BoldFont=*-Bold,
BoldItalicFont=*-BoldItalic,
Ligatures=Common
]{Roboto}
\begin{document}
fi
\end{document}
答案1
(距離最初發布查詢已經過去一年多了。但是,以下答案可能對某些人仍然有用。)
讓這個程式在 XeLaTeX 下運行的關鍵似乎是Path
在發出指令時正確設定選項\setmainfont
。以下程式碼的修改版本假設您使用 TeXLive2015(或 MacTeX2015);如果字型位於 以外的某個位置,只需適當地變更 Path 變數即可/usr/local/texlive/2015/texmf-dist/fonts/truetype/google/roboto/
。
\documentclass[11pt, a4paper]{scrartcl}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures={TeX,Common}}
\setmainfont[
Path = /usr/local/texlive/2015/texmf-dist/fonts/truetype/google/roboto/,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-RegularItalic,
BoldFont = *-Bold,
BoldItalicFont = *-BoldItalic,
]{Roboto}
\begin{document}
Ligatures enabled: fi fl ffi ffl
Ligatures disabled: f\kern0pti f\kern0ptl f\kern0ptf\kern0pti f\kern0ptf\kern0ptl
\end{document}
相反,LuaLaTeX 似乎不需要該Path
選項來「尋找」字體檔案。事實上,發出指令
\setmainfont{Roboto}
看起來這就是程式在 LuaLaTeX 下正確運行的全部內容。