Latin Modern Roman 12 Regular 中没有 U+2003

Latin Modern Roman 12 Regular 中没有 U+2003

我在我的系统(Linux Ubuntu)上使用拉丁现代字体的 OTF 变体XeLaTexhttp://www.gust.org.pl/projects/e-foundry/latin-modern

我无法设置 Em Space:https://www.compart.com/de/unicode/U+2003 因为有警告

[WARNING] Missing character: There is no   (U+2003) (U+2003) in font Latin Modern Roman 12 Regular

这是为什么?我以为该字体支持 Unicode?

梅威瑟:

\documentclass[
  12pt,
  paper=a4,
  twoside,
  titlepage=true,
  openright,
  abstract=on,
  toc=listofnumbered,
  numbers=noenddot,
  chapterprefix=true,
  headings=optiontohead,
  svgnames,
  dvipsnames]{scrreprt}
\usepackage{amsmath,amssymb}

  \usepackage{unicode-math}
  \defaultfontfeatures{Scale=MatchLowercase}
  \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
  \setmainfont[]{Latin Modern Roman}
  \setsansfont[]{Latin Modern Sans}
  \setmonofont[]{Latin Modern Mono}
  \setmathfont[]{Latin Modern Math}


\begin{document}
EN space     
\end{document}

答案1

字体“支持 Unicode”并不意味着它必须支持每一个字形。LaTeX我认为最简单的方法就是使用\quad

也就是说,如果您的文档中经常出现这类空格并且想要自动处理它们,请查看uspace(“Unicode Space”)包。https://ctan.org/pkg/uspace

它还支持零宽度空格(U+200B)、三倍空格(U+2004)、四倍空格、细空格(U+2009)、细空格(U+200A)等,并且适用于所有字体。

答案2

TeX 不将空格视为字符。你可以这样做来获得相同的结果

\catcode"2003=\active
\protected\def^^^^2003{\quad}

完整示例。

\documentclass{article}
\usepackage{fontspec}

\catcode"2003=\active
\protected\def^^^^2003{\quad}

\begin{document}

EN space

EN\quad space% for check

\end{document}

在此处输入图片描述

我认为,输入\quad更加清晰。

相关内容