(This is a bit of a mess, so apologies. The final solution ended up being in a different place than I first expected. Ultimately, what was happening is a combination of a bug in Linux Libertine O, and that it appears to me that fontspec, with TTF fonts, will not respect Ligatures=Rare, etc, but will respect RawFeature=+hlig, and other equivalents. see below for fuller explanation and final working solution, though not explanation for why it worked.)
[original post] I am trying to typeset a document for someone who wants to use a handwritten font. However the font does not have bold, italic, or bold italic, so I have found 3 other appropriate fonts, and am using fontspec to switch between these. But, for small caps, he wants to use linux libertine O but vary the color. Lastly, and most importantly, it appears that LLO is using a ligature for Th, and I want to use a non-ligated version.
I can get the various colors to work, but I can't seem to apply the ligatures=NoCommon to the smallcaps font.
The code below is from lyx. The "ThStrictWurtziteFirefly"'s are there so I can see the ligatures.
OK, this is my best effort:
\fontspec{Linux Libertine O}
ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly}Th \textbf{Th}
\textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}
\addfontfeature{Ligatures=Historic}ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly}
Th \textbf{Th} \textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}
\addfontfeature{Ligatures={Rare}}ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly}
Th \textbf{Th} \textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}
\addfontfeature{Ligatures={NoCommon}}ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly}
Th \textbf{Th} \textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}
----
\fontspec{Linux Libertine O}0 ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly}
Th \textbf{Th} \textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}
\addfontfeature{UprightFont={SNsanafonmaruP},UprightFeatures={SmallCapsFont={Linux Libertine Capitals O}, SmallCapsFeatures = {Ligatures={NoCommon},Color=1470CF}}}1
ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly} Th \textbf{Th}
\textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}
\addfontfeature{BoldFont={SNsanafonkakuP}, BoldFeatures={Color = 470CF1,SmallCapsFont={Linux Libertine Capitals O}, SmallCapsFeatures = {Ligatures={NoCommon}, Color=70CF14} }}2
ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly} Th \textbf{Th}
\textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}
\addfontfeature{ItalicFont={SNsanafonP}, ItalicFeatures={Color = 0CF147, SmallCapsFont={Linux Libertine Capitals O}, SmallCapsFeatures = {Ligatures={NoCommon},Color=CF1470}}}3
ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly} Th \textbf{Th}
\textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}
\addfontfeature{BoldItalicFont={nagurigaki}, BoldItalicFeatures={ Color = 888844, SmallCapsFont={Linux Libertine Capitals O}, SmallCapsFeatures = {Ligatures={NoCommon}, Color=444422}}}4
ThStrictWurtziteFirefly \textsc{ThStrictWurtziteFirefly} Th \textbf{Th}
\textit{Th }\textbf{\textit{Th}}\textsc{ Th }\textbf{\textsc{Th}}\textbf{\textit{
}}{\itshape {\scshape Th}}{\bfseries \itshape {\scshape Th}}
Th Upright {\scshape Th Small Caps}\\
\itshape Th Italic {\scshape Th Italic Small Caps}\\
\upshape\bfseries Th Bold {\scshape Th Bold Small Caps}\\
\itshape Th Bold Italic {\scshape Th Bold Italic Small Caps}
Thx in advance for any help...
[update] I just [found out][1] that this is actually a bug in linux libertine o, due to "Automatically produced font substyles" that they are not going to fix and recommend using "Open Type Features". I am not sure what this means, but I will hit the books and figure it out. Shows to go ya...
see below for my final answer.
lockstep
asks a question and earns 94 upvotes for a good question, andlockstep
also answer the question and earns 92 upvotes for a good answer.