when typesetting documents using opentype fonts, it is often necessary to check what scripts and languages are included in an opentype font file; there are two tex tools that can do this job;

otfinfo

otfinfo is a command line tool to report opentype font information;

it can be installed via (on fedora):

$ dnf install texlive-lcdftypetools

to report scripts and languages in an opentype file:

$ otfinfo -s {.ttf}

for example:

$ otfinfo -s Amiri-Regular.ttf
DFLT            Default
arab            Arabic
arab.SND        Arabic/Sindhi
arab.URD        Arabic/Urdu
latn            Latin
latn.TRK        Latin/Turkish

it can also report font features;

for example:

$ otfinfo --script=arab.URD -f Amiri-Regular.ttf
calt    Contextual Alternates
...
ss06    Stylistic Set 6

opentype-info.tex

opentype-info.tex is a .tex file that, when compiled, reports opentype font information in the generated .pdf file;

it can be installed via (on fedora):

$ dnf install texlive-xetexfontinfo

then its path can be found via:

$ kpsewhich opentype-info.tex

to report font info, make a copy of this file and edit font name therein:

% Select the font name:
\def\myfontname{Amiri}

then compile it using xetex:

$ xetex opentype-info.tex

this generates opentype-info.pdf with content:

OpenType Layout features found in ‘Amiri’
script = ’DFLT’
    language = ⟨default⟩
        features = ’calt’ ’ccmp’ ’dnom’ ’fina’ ’init’ ’liga’ ’medi’ ’numr’ ’pnum’ ’rlig’ ’rtlm’
        ’ss01’ ’ss02’ ’ss03’ ’ss04’ ’ss05’ ’ss06’ ’curs’ ’kern’ ’mark’ ’mkmk’ ’ss05’
script = ’arab’
    language = ’SND ’
        features = ’calt’ ’ccmp’ ’dnom’ ’fina’ ’init’ ’liga’ ’locl’ ’medi’ ’numr’ ’pnum’ ’rlig’
        ’rtlm’ ’ss01’ ’ss02’ ’ss03’ ’ss04’ ’ss05’ ’ss06’
    language = ’URD ’
        features = ’calt’ ’ccmp’ ’dnom’ ’fina’ ’init’ ’liga’ ’locl’ ’medi’ ’numr’ ’pnum’ ’rlig’
        ’rtlm’ ’ss01’ ’ss02’ ’ss03’ ’ss04’ ’ss05’ ’ss06’
    language = ⟨default⟩
        features = ’calt’ ’ccmp’ ’dnom’ ’fina’ ’init’ ’liga’ ’locl’ ’medi’ ’numr’ ’pnum’ ’rlig’
        ’rtlm’ ’ss01’ ’ss02’ ’ss03’ ’ss04’ ’ss05’ ’ss06’ ’curs’ ’kern’ ’mark’ ’mkmk’
        ’ss05’
script = ’latn’
    language = ’TRK ’
        features = ’calt’ ’ccmp’ ’dnom’ ’fina’ ’init’ ’liga’ ’locl’ ’medi’ ’numr’ ’pnum’ ’rlig’
        ’rtlm’ ’ss01’ ’ss02’ ’ss03’ ’ss04’ ’ss05’ ’ss06’
    language = ⟨default⟩
        features = ’calt’ ’ccmp’ ’dnom’ ’fina’ ’init’ ’liga’ ’medi’ ’numr’ ’pnum’ ’rlig’ ’rtlm’
        ’ss01’ ’ss02’ ’ss03’ ’ss04’ ’ss05’ ’ss06’ ’kern’ ’mark’ ’ss05’

font information shown here matches what reported by otfinfo;

acknowledgement