Alegreya 字体字距问题

Alegreya 字体字距问题

我有一个问题,是否有可能调整某些特定符号周围的字距,而无需关心接下来要写什么符号。另外,我是否可以只调整特定字体形状的字距?

具体来说,我需要使用 Alegreya 字体,但我注意到某些符号(例如双引号、f 字母)后面留下的空间很小。

请查看下面的图片及其源代码:斜体字形看起来比罗马字形更糟糕,我几乎无法分辨某些单词之间是否有空格。只有插入双倍的空间带来不同。

Alegreya 字体

\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}
\setmainfont[
  Numbers=OldStyle,
  Extension = .ttf,
  UprightFont= *-Regular,
  BoldFont=*-Bold,
  ItalicFont=*-Italic,
  BoldItalicFont=*-BoldItalic,
  SmallCapsFont=*SC-Regular,
  ItalicFeatures={SmallCapsFont=*SC-Italic},
  ]{Alegreya}

\begin{document}
    Types of $^\text{6}_\text{4}$ chords.\par
    \textit{Types of $^\text{6}_\text{4}$ chords.}\par
    ``good'' harmonic progressions of motion,'' most cases are\par
    \textit{``good'' harmonic progressions of motion,'' most cases are}\par
    \textit{``good' harmonic progressions of motion,' most cases are}\par
    \textit{``good''\/ harmonic progressions of motion,''\/ most cases are}\par
    \textit{``good''~harmonic progressions of motion,''~most cases are}\par
    \textit{``good''~~harmonic progressions of motion,''~~most cases are}\par
    \textbf{``good'' harmonic progressions of motion,'' most cases are}\par
    \textbf{\textit{ ``good'' harmonic progressions of motion,'' most cases are}}\par
    transformed himself transformed himself\par
    \textit{transformed himself transformed himself}    
\end{document}

我看到过一些使用 microtype 包的建议(例如,非侵入式字距/间距修改:有哪些选项?),但我注意到,microtype 和分词功能不能很好地协同工作。请参见下面的图片及其源代码(使用 TeX Live 2015 LuaTeX 测试):注意使用和不使用 microtype 包的分词连字符对齐情况。

微缩类型和分词

\documentclass[twocolumn]{article}
\usepackage{lipsum}
\usepackage{microtype}
\usepackage{fontspec}
\setmainfont[
  Numbers=OldStyle,
  Extension = .ttf,
  UprightFont= *-Regular,
  BoldFont=*-Bold,
  ItalicFont=*-Italic,
  BoldItalicFont=*-BoldItalic,
  SmallCapsFont=*SC-Regular,
  ItalicFeatures={SmallCapsFont=*SC-Italic}
  ]{Alegreya}

% code to draw two column margin is taken from:
% https://tex.stackexchange.com/questions/271285/show-frame-margin-in-two-column-layout/271294 
\usepackage{showframe}
\newlength\Fcolumnseprule
\setlength\Fcolumnseprule{0.4pt}
\makeatletter
\def\@outputdblcol{%
  \if@firstcolumn
    \global \@firstcolumnfalse
    \global \setbox\@leftcolumn \box\@outputbox
  \else
    \global \@firstcolumntrue
    \setbox\@outputbox \vbox {%
                         \hb@xt@\textwidth {%
                           \hb@xt@\columnwidth {%
                             \box\@leftcolumn \hss}%
                           \vrule \@width\Fcolumnseprule\hfil
                                {\normalcolor\vrule \@width\columnseprule}%original:
                                                %\normalcolor\vrule \@width\columnseprule
                           \hfil\vrule \@width\Fcolumnseprule
                           \hb@xt@\columnwidth {%
                             \box\@outputbox \hss}%
                                             }%
                              }%
    \@combinedblfloats
    \@outputpage
    \begingroup
      \@dblfloatplacement
      \@startdblcolumn
      \@whilesw\if@fcolmade \fi
        {\@outputpage
         \@startdblcolumn}%
    \endgroup
  \fi
}
\makeatother

\begin{document}
\section{Without microtype}
\microtypesetup{activate=false}
\lipsum[3]
\section{With microtype}
\microtypesetup{activate=true}
\lipsum[6]
\end{document}

我将非常感激您的一些建议。

编辑:亨利·孟克向我展示了设置protrusion=False,有助于使用microtype包修复连字符对齐。因此,我尝试使用 修复最初的问题,\SetExtraKerning结果发现该kerning选项不适用于 LuaTeX。

相关内容