如果我使用带有 的字体LuaTeX
,通常,我知道有TeXGyrePagellaX
多少个( )并且我知道如何激活它们(),但是:它们之间的实际区别是什么,在哪里可以找到描述?我花了很多很多时间在我的字体文件和互联网上寻找它,最后我找到了 变体的描述,但没有。我想有一个简单的解决方案......StylisticSet
otfinfo -f TeXGyrePagellaX-Regular.otf
\setmainfont{TeX Gyre Pagella X}[variant=2]
Linux Libertine
Pagella X
答案1
FontForge可以用来检查不同风格变体的替换:
Element -> Font Info -> Lookups -> GSUB -> ss01, ss02, ss03, ss04
简而言之:
ss01
:似乎是 和 的ss02
并ss03
集ss04
。ss02
:at
,copyright
,fraction
,paragraph
,registered
被其替代词替换,例如上标位置的版权。ss03
:一些希腊字母的替代品。ss04
:长音符的替代品以及带有长音符的字母,替代形式更短。
没有 FontForge
TeXGyrePagellaX-Regular.otf
似乎源自texgyrepagella-regular.pdf
。其文档可在以下位置找到:
TDS:doc/fonts/tex-gyre/
qpl-info.pdf
显示一些特征和字形。qplr.fea
包含特征定义。
答案2
我从以下网址下载了 Adobe 字体开发工具包http://www.adobe.com/devnet/opentype/afdko.html并安装它。
然后我就跑了
spot -F /usr/local/texlive/2016/texmf-dist/fonts/opentype/public/newpx/TeXGyrePagellaX-Regular.otf
获取功能列表:
GSUB Features:
Script 'DFLT'
Default language system
[ 0]='aalt' LookupListIndex: 0 1
[ 1]='c2sc' LookupListIndex: 14
[ 2]='dlig' LookupListIndex: 13
[ 3]='frac' LookupListIndex: 4
[ 4]='hlig' LookupListIndex: 12
[ 5]='liga' LookupListIndex: 10 11
[ 6]='lnum' LookupListIndex: 6
[ 7]='onum' LookupListIndex: 5
[ 8]='pnum' LookupListIndex: 7
[ 9]='salt' LookupListIndex: 15
[10]='smcp' LookupListIndex: 3
[11]='ss01' LookupListIndex: 16
[12]='ss02' LookupListIndex: 17
[13]='ss03' LookupListIndex: 18
[14]='ss04' LookupListIndex: 19
[15]='sups' LookupListIndex: 9
[16]='tnum' LookupListIndex: 8
[17]='zero' LookupListIndex: 20
下一步是查看 GSUB 表
spot -t GSUB /usr/local/texlive/2016/texmf-dist/fonts/opentype/public/newpx/TeXGyrePagellaX-Regular.otf > gsub.txt
我得到的文件很长,但也信息量很大。搜索Lookup [16]
显示
--- Lookup [16] (00ac)
LookupType =0001
LookupFlag =0000
SubTableCount=1
--- SubTable[index]=offset
[0]=10c6
--- Subtable [0] (000010c6)
--- SingleSubst
SubstFormat=2
Coverage =0026
GlyphCount =16
--- Substitute[index]=glyphId glyphName/CID
[0]=833 (at.alt) [1]=881 (copyright.alt) [2]=870 (registered.alt) [3]=820 (macron.alt) [4]=435 (mu) [5]=865 (paragraph.alt) [6]=883 (Imacron.alt) [7]=882 (imacron.alt) [8]=453 (uni03F5) [9]=449 (uni03D1) [10]=451 (uni03D6) [11]=452 (uni03F1) [12]=450 (uni03D5) [13]=642 (fraction.alt) [14]=819 (macron.cap.alt) [15]=710 (imacron.alt.sc)
--- Coverage (0026)
CoverageFormat=1
GlyphCount =16
--- GlyphArray[index]=glyphId glyphName/CID
[0]=33 (at) [1]=105 (copyright) [2]=110 (registered) [3]=111 (macron) [4]=117 (uni00B5) [5]=118 (paragraph) [6]=234 (Imacron) [7]=235 (imacron) [8]=428 (epsilon) [9]=431 (theta) [10]=439 (pi) [11]=440 (rho) [12]=445 (phi) [13]=611 (fraction) [14]=818 (macron.cap) [15]=937 (imacron.sc)
--- Lookup [17] (00b4)
LookupType =0001
LookupFlag =0000
SubTableCount=1
--- SubTable[index]=offset
[0]=1108
--- Subtable [0] (00001108)
--- SingleSubst
SubstFormat=2
Coverage =0010
GlyphCount =5
--- Substitute[index]=glyphId glyphName/CID
[0]=833 (at.alt) [1]=881 (copyright.alt) [2]=870 (registered.alt) [3]=865 (paragraph.alt) [4]=642 (fraction.alt)
--- Coverage (0010)
CoverageFormat=1
GlyphCount =5
--- GlyphArray[index]=glyphId glyphName/CID
[0]=33 (at) [1]=105 (copyright) [2]=110 (registered) [3]=118 (paragraph) [4]=611 (fraction)
--- Lookup [18] (00bc)
LookupType =0001
LookupFlag =0000
SubTableCount=1
--- SubTable[index]=offset
[0]=111e
--- Subtable [0] (0000111e)
--- SingleSubst
SubstFormat=2
Coverage =0012
GlyphCount =6
--- Substitute[index]=glyphId glyphName/CID
[0]=435 (mu) [1]=453 (uni03F5) [2]=449 (uni03D1) [3]=451 (uni03D6) [4]=452 (uni03F1) [5]=450 (uni03D5)
--- Coverage (0012)
CoverageFormat=1
GlyphCount =6
--- GlyphArray[index]=glyphId glyphName/CID
[0]=117 (uni00B5) [1]=428 (epsilon) [2]=431 (theta) [3]=439 (pi) [4]=440 (rho) [5]=445 (phi)
--- Lookup [19] (00c4)
LookupType =0001
LookupFlag =0000
SubTableCount=1
--- SubTable[index]=offset
[0]=1138
--- Subtable [0] (00001138)
--- SingleSubst
SubstFormat=2
Coverage =0010
GlyphCount =5
--- Substitute[index]=glyphId glyphName/CID
[0]=820 (macron.alt) [1]=883 (Imacron.alt) [2]=882 (imacron.alt) [3]=819 (macron.cap.alt) [4]=710 (imacron.alt.sc)
--- Coverage (0010)
CoverageFormat=1
GlyphCount =5
--- GlyphArray[index]=glyphId glyphName/CID
[0]=111 (macron) [1]=234 (Imacron) [2]=235 (imacron) [3]=818 (macron.cap) [4]=937 (imacron.sc)
这就是您正在寻找的列表。