XeLaTeX 和 Roboto:無連字

XeLaTeX 和 Roboto:無連字

我正在嘗試使用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 下正確運行的全部內容。

相關內容