LuaLaTeX OpenType style sets by 4-character style set code

Here’s an updated version of the summary I made for myself when I began using fontspec.

| tag  | fontspec option                      | comments                                            |
|------+--------------------------------------+-----------------------------------------------------|
| abvm | Diacritics=[No]AboveBase             | default                                             |
| afrc | Fractions=Alternate                  |                                                     |
| anum | Numbers=Arabic                       | luatex only: see manual §10.3                       |
| blvm | Diacritics=[No]BelowBase             | default                                             |
| c2pc | Letters=UppercasePetiteCaps          |                                                     |
| c2sc | Letters=UppercaseSmallCaps           |                                                     |
| calt | Contextuals=[No]Alternate            | default in xetex, not in luatex                     |
| case | Letters=Uppercase                    |                                                     |
| clig | Ligatures=[No]Contextual             | default                                             |
| cpsp | Kerning=Uppercase                    |                                                     |
| cswh | Contextuals=[No]Swash                |                                                     |
| cv01 | CharacterVariant=1                   | see manual §10.8                                    |
| dlig | Ligatures=Rare/Discretionary         |                                                     |
| dnom | VerticalPosition=Denominator         |                                                     |
| expt | CJKShape=Expert                      |                                                     |
| falt | Contextuals=[No]LineFinal            |                                                     |
| fina | Contextuals=[No]WordFinal            | has sometimes worked in xetex                       |
| frac | Fractions=On[/Off]                   |                                                     |
| fwid | CharacterWidth=Full                  | for Asian fonts                                     |
| halt | CharacterWidth=AlternateHalf         |                                                     |
| hist | Style=Historic                       |                                                     |
| hkna | Style=HorizontalKana                 |                                                     |
| hlig | Ligatures=Historic                   |                                                     |
| hwid | CharacterWidth=Half                  |                                                     |
| init | Contextuals=[No]WordInitial          | has sometimes worked in xetex                       |
| ital | Style=Italic                         |                                                     |
| jp78 | CJKShape=JIS1978                     |                                                     |
| jp83 | CJKShape=JIS1983                     |                                                     |
| jp90 | CJKShape=JIS1990                     |                                                     |
| kern | Kerning=On[/Off]                     | default                                             |
| liga | Ligatures=[No]Common                 | default                                             |
| lnum | Numbers=Uppercase/Lining             |                                                     |
| mark | Diacritics=[No]MarkToBase            | default                                             |
| medi | Contextuals=[No]Inner                | has sometimes worked in xetex                       |
| mkmk | Diacritics=[No]MarkToMark            | default                                             |
| nalt | Annotation=#…                        | see manual §10.14                                   |
| nlck | CJKShape=NLC                         |                                                     |
| numr | VerticalPosition=Numerator           |                                                     |
| onum | Numbers=Lowercase/OldStyle           |                                                     |
| ordn | VerticalPosition=Ordinal             |                                                     |
| palt | CharacterWidth=AlternateProportional |                                                     |
| pcap | Letters=PetiteCaps                   |                                                     |
| pnum | Numbers=Proportional                 |                                                     |
| pwid | CharacterWidth=Proportional          |                                                     |
| qwid | CharacterWidth=Quarter               |                                                     |
| rand | Letters=Random                       |                                                     |
| rlig | Ligatures=[No]Required               | default                                             |
| ruby | Style=Ruby                           |                                                     |
| salt | Style=Alternate or Alternate=…       | see manual §10.9                                    |
| sinf | VerticalPosition=ScientificInferior  |                                                     |
| size | SizeFeatures={…} and OpticalSize=…   | default for some fonts; see manual §§7.6, 8.6, 12.4 |
| smcp | Letters=SmallCaps                    |                                                     |
| smpl | CJKShape=Simplified                  |                                                     |
| ss01 | StylisticSet=1                       |                                                     |
| subs | VerticalPosition=Inferior            |                                                     |
| sups | VerticalPosition=Superior            | see also realscripts package                        |
| swsh | Style=Swash                          |                                                     |
| titl | Style=TitlingCaps                    |                                                     |
| tnum | Numbers=Monospaced                   |                                                     |
| trad | CJKShape=Traditional                 |                                                     |
| twid | CharacterWidth=Third                 |                                                     |
| unic | Letters=Unicase                      |                                                     |
| vkna | Style=VerticalKana                   |                                                     |
| zero | Numbers=[No]SlashedZero              |                                                     |

(Ignore the color, which is this web site taking my ASCII table for .tex source.)

Note that defaults may vary by script; see Khaled Hosny’s remarks at article.gmane.org/gmane.comp.tex.xetex/15187.

To judge from the manual at §28.0.12, there are also vertical kerning options, probably to be explained in §10.17.

Update

Since version 2.5c (2017/01/20), the fontspec manual also has a table; in version 2.6g (2017/11/09), it’s Table 2, on page 35.


EDIT: Based on the accepted answer above, the following answer, and comments, I have been able to solve my problem in detail. Thanks, all! Here is a MWE showing how it works.

% !TeX program = LuaLaTeX
% !TEX encoding = UTF-8
\documentclass{article}
\usepackage{fontspec} % required with LuaLaTeX
\setmainfont[
  Ligatures=TeX,
  Numbers=Proportional, % but cannot use Monospaced as below
]{Adobe Garamond Pro}
\newfontfamily{\myCustom}[
  Ligatures=TeX,
]{RAcustom} % my own created opentype font
\newcommand\myFraktur{\addfontfeature{StylisticSet=1}} % only for \myCustom
\newcommand\myUncial{\addfontfeature{StylisticSet=2}} % only for \myCustom
\newcommand\myEmoticons{\addfontfeature{StylisticSet=3}} % only for \myCustom
\begin{document}
Hello {\myCustom world.} Here: {\myCustom\myEmoticons ^^^^46c7}
\end{document}

The above gives the expected output: "Hello " in AGaramondPro, "world." in RAcustom, "Here: " in AGaramondPro, and Unicode 46c7 (which would ordinarily be an Asian Han character) in RAcustom opentype feature ss03, which is a grin emoticon. Factoid: the Han character means "grin." I didn't want to use the full Unicode range beyond the BMP.

Thank you thank you thank you!

Image of output: