Verdana 字体不起作用

Verdana 字体不起作用

我从一个工作站移动到另一个工作站(都是 Win7),并使用相同的源文件进行了完全相同的安装:MikTeX 2.9.4813 + TeXstudio 2.6.4。

当在新工作站上编译相同的输入 *.tex 文件时,我在日志文件中收到以下消息:

"pdfTeX warning: pdflatex.exe (file C:/Windows/Fonts/verdana.ttf): glyph `a' not found"

所有字母都是如此。

生成的 pdf 显示空的方形符号而不是所有字母。

我尝试了较新版本的 MikTeX (2.9.6069) 以及 TeXstudio (2.11.2),没有变化。

我在用:

\usepackage[nofligs]{verdana}

\usepackage[T1]{fontenc}

如果我注释掉第一行,结果还可以,但没有我想要的 verdana 字体。

我该如何解决这个问题?


@Ulrike Fischer: 抱歉我回复晚了。

1.我新安装的 latex 中没有 tex256.enc。

2.如果我将其放在与旧安装中相同的位置并按照您的建议进行操作,我会在生成的 pdf 中获得默认字体,而不是 verdana。

3.如果我注释掉 \fontfamily{verdana}\selectfont,我仍然只能得到正方形。

4.我是第一个在“Windows 中较新版本的字体”上使用 verdana 字体的人吗?我的答案是没有。


感谢 Bernard 的建议,我找到了一个可行的解决方案:注释掉以下行:

%\usepackage[nofligs]{verdana}
%\usepackage[T1]{fontenc}

添加以下行:

\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Verdana}

并用 XeLaTeX 进行编译。

答案1

以下是您可以尝试修复该问题的粗略草稿:

  1. 寻找tex256.enc
  2. 将其重命名为例如winfonts256.enc
  3. 将此文件中的替换/T1Encoding [/winfontsT1Encoding [
  4. 将字形名称替换为,uniXXXX其中 XXXX 是字形的 Unicode 编号,例如/Aby /uni0041and /aby /uni0061(共有 256 个字形,因此需要一些工作。)

经过一些替换后,您可以像这样测试它:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\pdfmapline{= rjvnr8t Verdana " winfontsT1Encoding ReEncodeFont " <winfonts256.enc <verdana.ttf}
\begin{document}

\fontfamily{verdana}\selectfont
AaTiäöpnß

\end{document}

我做了两次替换,因此现在得到这个输出:

在此处输入图片描述

您可能必须对 进行类似操作ts1-winfonts.enc。所有需要调整的地图条目均可在 中找到pdftex.map

答案2

这是winfonts256.enc我根据@Ulrike Fischer 的回答写的:

/winfontsT1Encoding [
/uni0060 %  grave
/uni00B4 %  acute
/uni005E %  circumflex
/uni007E %  tilde
/uni00A8 %  dieresis
/uni02DD %  hungarumlaut
/uni02DA %  ring
/uni02C7 %  caron
/uni02D8 %  breve
/uni00AF %  macron
/uni02D9 %  dotaccent
/uni00B8 %  cedilla
/uni02DB %  ogonek
/uni201A %  quotesinglbase
/uni2039 %  guilsinglleft
/uni203A %  guilsinglright

/uni201C %  quotedblleft
/uni201D %  quotedblright
/uni201E %  quotedblbase
/uni00AB %  guillemotleft
/uni00BB %  guillemotright
/uni2013 %  endash
/uni2014 %  emdash
/uniFEFF %  zerowidthnobreakspace
/uni2030 %  perthousand
/uni0131 %  dotlessi
/uni0237 %  dotlessj
/uniFB00 %  ff
/uniFB01 %  fi
/uniFB02 %  fl
/uniFB03 %  ffi
/uniFB04 %  ffl

/uni0020 % space
/uni0021 % exclam
/uni0022 % quotedbl
/uni0023 % numbersign
/uni0024 % dollar
/uni0025 % percent
/uni0026 % ampersand
/uni2019 % quoteright
/uni0028 % parenleft
/uni0029 % parenright
/uni002A % asterisk
/uni002B % plus
/uni002C % comma
/uni002D % hyphen
/uni002E % period
/uni002F % slash

/uni0030 % zero
/uni0031 % one
/uni0032 % two
/uni0033 % three
/uni0034 % four
/uni0035 % five
/uni0036 % six
/uni0037 % seven
/uni0038 % eight
/uni0039 % nine
/uni003A % colon
/uni003B % semicolon
/uni003C % less
/uni003D % equal
/uni003E % greater
/uni003F % question

/uni0040 % at
/uni0041 % A
/uni0042 % B
/uni0043 % C
/uni0044 % D
/uni0045 % E
/uni0046 % F
/uni0047 % G
/uni0048 % H
/uni0049 % I
/uni004A % J
/uni004B % K
/uni004C % L
/uni004D % M
/uni004E % N
/uni004F % O
/uni0050 % P
/uni0051 % Q
/uni0052 % R
/uni0053 % S
/uni0054 % T
/uni0055 % U
/uni0056 % V
/uni0057 % W
/uni0058 % X
/uni0059 % Y
/uni005A % Z
/uni005B % bracketleft
/uni005C % backslash
/uni005D % bracketright
/uni005E % asciicircum
/uni005F % underscore

/uni2018 % quoteleft
/uni0061 %  a
/uni0062 %  b
/uni0063 %  c
/uni0064 %  d
/uni0065 %  e
/uni0066 %  f
/uni0067 %  g
/uni0068 %  h
/uni0069 %  i
/uni006A %  j
/uni006B %  k
/uni006C %  l
/uni006D %  m
/uni006E %  n
/uni006F %  o

/uni0070 %  p
/uni0071 %  q
/uni0072 %  r
/uni0073 %  s
/uni0074 %  t
/uni0075 %  u
/uni0076 %  v
/uni0077 %  w
/uni0078 %  x
/uni0079 %  y
/uni007A %  z
/uni007B %  braceleft
/uni007C %  bar
/uni007D %  braceright
/uni007E %  asciitilde
/uni002D %  hyphen

/uni0102 %  Abreve
/uni0104 %  Aogonek
/uni0106 %  Cacute
/uni010C %  Ccaron
/uni010E %  Dcaron
/uni011A %  Ecaron
/uni0118 %  Eogonek
/uni011E %  Gbreve
/uni0139 %  Lacute
/uni013D %  Lcaron
/uni0141 %  Lslash
/uni0143 %  Nacute
/uni0147 %  Ncaron
/uni014A %  Eng
/uni0150 %  Ohungarumlaut
/uni0154 %  Racute

/uni0158 %  Rcaron
/uni015A %  Sacute
/uni0160 %  Scaron
/uni015E %  Scedilla % /Scommaaccent
/uni0164 %  Tcaron
/uni0162 %  Tcedilla % /Tcommaaccent
/uni0170 %  Uhungarumlaut
/uni016E %  Uring
/uni0178 %  Ydieresis
/uni0179 %  Zacute
/uni017D %  Zcaron
/uni017B %  Zdotaccent
/uni0132 %  IJ
/uni0130 %  Idotaccent
/uni0111 %  dcroat % /dbar % /dmacron
/uni00A7 %  section

/uni0103 %  abreve
/uni0105 %  aogonek
/uni0107 %  cacute
/uni010D %  ccaron
/uni010F %  dcaron % /dquoteright
/uni011B %  ecaron
/uni0119 %  eogonek
/uni011F %  gbreve
/uni013A %  lacute
/uni013E %  lcaron % /lquoteright
/uni0142 %  lslash
/uni0144 %  nacute
/uni0148 %  ncaron
/uni014B %  eng   % /ng
/uni0151 %  ohungarumlaut
/uni0155 %  racute

/uni0159 %  rcaron
/uni015B %  sacute
/uni0161 %  scaron
/uni015F %  scedilla % /scommaaccent
/uni0165 %  tcaron % /tquoteright
/uni0163 %  tcedilla % /tcommaaccent
/uni0171 %  uhungarumlaut
/uni016F %  uring
/uni00FF %  ydieresis
/uni017A %  zacute
/uni017E %  zcaron
/uni017C %  zdotaccent
/uni0133 %  ij
/uni00A1 %  exclamdown
/uni00BF %  questiondown
/uni00A3 %  sterling

/uni00C0 %  Agrave
/uni00C1 %  Aacute
/uni00C2 %  Acircumflex
/uni00C3 %  Atilde
/uni00C4 %  Adieresis
/uni00C5 %  Aring
/uni00C6 %  AE
/uni00C7 %  Ccedilla
/uni00C8 %  Egrave
/uni00C9 %  Eacute
/uni00CA %  Ecircumflex
/uni00CB %  Edieresis
/uni00CC %  Igrave
/uni00CD %  Iacute
/uni00CE %  Icircumflex
/uni00CF %  Idieresis

/uni00D0 %  Eth
/uni00D1 %  Ntilde
/uni00D2 %  Ograve
/uni00D3 %  Oacute
/uni00D4 %  Ocircumflex
/uni00D5 %  Otilde
/uni00D6 %  Odieresis
/uni0152 %  OE
/uni00D8 %  Oslash
/uni00D9 %  Ugrave
/uni00DA %  Uacute
/uni00DB %  Ucircumflex
/uni00DC %  Udieresis
/uni00DD %  Yacute
/uni00DE %  Thorn
/uni00DF %  SS

/uni00E0 %  agrave
/uni00E1 %  aacute
/uni00E2 %  acircumflex
/uni00E3 %  atilde
/uni00E4 %  adieresis
/uni00E5 %  aring
/uni00E6 %  ae
/uni00E7 %  ccedilla
/uni00E8 %  egrave
/uni00E9 %  eacute
/uni00EA %  ecircumflex
/uni00EB %  edieresis
/uni00EC %  igrave
/uni00ED %  iacute
/uni00EE %  icircumflex
/uni00EF %  idieresis

/uni00F0 %  eth
/uni00F1 %  ntilde
/uni00F2 %  ograve
/uni00F3 %  oacute
/uni00F4 %  ocircumflex
/uni00F5 %  otilde
/uni00F6 %  odieresis
/uni0153 %  oe
/uni00F8 %  oslash
/uni00F9 %  ugrave
/uni00FA %  uacute
/uni00FB %  ucircumflex
/uni00FC %  udieresis
/uni00FD %  yacute
/uni00FE %  thorn
/uni00DF %  germandbls
] def

第一列是 unicode,第二列是 PostScript 名称。
我从Adobe 字形列表 / aglfn13.txt 我手写了这些内容,希望没有出错。

我测试了几个字符。它在我的装有 MiKTeX 的 win11 电脑上运行良好。 在此处输入图片描述

答案3

这对我有用:

\documentclass{article}
\usepackage{fontspec}%déjà chargé par luatextra
%\defaultfontfeatures{Ligatures=TeX} % to have the automatics ligatures of TeX
\setromanfont{Verdana}

\begin{document}
\section{Example}
 This is a text in verdana

Math part is not in verdana
$x-3+2=8 $

\end{document}

结果是:

在此处输入图片描述

相关内容