summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xetex/xetexfontinfo/opentype-info.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/xetex/xetexfontinfo/opentype-info.tex')
-rw-r--r--Master/texmf-dist/tex/xetex/xetexfontinfo/opentype-info.tex98
1 files changed, 98 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/xetex/xetexfontinfo/opentype-info.tex b/Master/texmf-dist/tex/xetex/xetexfontinfo/opentype-info.tex
new file mode 100644
index 00000000000..c91b54f7a48
--- /dev/null
+++ b/Master/texmf-dist/tex/xetex/xetexfontinfo/opentype-info.tex
@@ -0,0 +1,98 @@
+%%% opentype-info.tex %%%
+% By Jonathan Kew
+%
+% Prints XeTeX font features for an OpenType
+% font using the "ICU" renderer of XeTeX.
+%
+% See 'aat-info.tex' for the equivalent
+% functionality with AAT fonts (Mac OS X only).
+%
+% Usage:
+% Type the name of the font below and compile this
+% document with plain `xetex` to receive a listing
+% of the OpenType font features, languages & scripts
+% supported by the chosen font.
+%
+% opentype-info is distributed under the Apache License v2:
+% <http://www.apache.org/licenses/LICENSE-2.0.html>
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Select the font name:
+\def\myfontname{Latin Modern Roman}
+%
+%%% OpenType-info.tex %%%
+
+\font\testfont="\myfontname/ICU" at 12pt
+
+\nopagenumbers
+\rightskip=0pt plus 1fil
+
+\font\title=ec-lmssbx10 at 14pt
+\font\tenrm=ec-lmss10 at 10pt \tenrm
+\font\tentt=ec-lmtt10 at 10pt
+
+\def\fourcharcode#1{\begingroup
+ \count0=#1\count1=\count0
+ \ifnum\count0=0
+ $\langle$default$\rangle$%
+ \else
+ \tentt
+ '%
+ \divide\count0 by "1000000
+ \char\count0
+ \multiply\count0 by "1000000
+ \advance\count1 by -\count0
+ \count0=\count1
+ \divide\count0 by "10000
+ \char\count0
+ \multiply\count0 by "10000
+ \advance\count1 by -\count0
+ \count0=\count1
+ \divide\count0 by "100
+ \char\count0
+ \multiply\count0 by "100
+ \advance\count1 by -\count0
+ \ifnum\count1=32 \ \else \char\count1 \fi
+ '%
+ \fi
+ \endgroup
+}
+
+\newcount\scriptcount
+\newcount\scriptindex
+\newcount\scripttag
+\newcount\langcount
+\newcount\langindex
+\newcount\langtag
+\newcount\featurecount
+\newcount\featureindex
+\newcount\featuretag
+
+\leftline{\title OpenType Layout features found in `\myfontname'}
+\nobreak\bigskip
+
+\scriptcount=\XeTeXOTcountscripts\testfont
+\ifnum\scriptcount=0 \noindent None\par\fi
+
+\loop
+ \ifnum\scriptindex<\scriptcount
+ \scripttag=\XeTeXOTscripttag\testfont\scriptindex
+ \noindent script = \fourcharcode{\scripttag}\endgraf\nobreak
+ \langcount=\XeTeXOTcountlanguages\testfont\scripttag
+ \advance\langcount by 1 % one extra to get the default language system
+ {\loop
+ \langtag=\XeTeXOTlanguagetag\testfont\scripttag\langindex
+ \indent language = \fourcharcode{\langtag}\endgraf\nobreak
+ \featurecount=\XeTeXOTcountfeatures\testfont\scripttag\langtag
+ {\indent\indent \hangindent=3\parindent \hangafter=1 features = \loop
+ \featuretag=\XeTeXOTfeaturetag\testfont\scripttag\langtag\featureindex
+ \fourcharcode{\featuretag}
+ \advance\featureindex by 1
+ \ifnum\featureindex<\featurecount \repeat\endgraf}
+ \advance\langindex by 1
+ \ifnum\langindex<\langcount \medskip \repeat}
+ \advance\scriptindex by 1
+ \bigskip \repeat
+
+\bye