\documentclass[handout]{beamer}
\usetheme[hideothersubsections]{PaloAlto}
\useinnertheme{rounded}
\usefonttheme[onlymath]{serif}
\setbeamercovered{dynamic}
\setbeamertemplate{navigation symbols}{}

\usepackage{fontspec}

\usepackage[french]{babel}

\setmainfont{Linux Libertine O}
\setsansfont{Linux Biolinum O}[Ligatures=TeX,Scale=MatchLowercase]
\setmonofont{TeXGyreCursor}[Scale=MatchLowercase]

\directlua{
fonts.handlers.otf.addfeature{
name = "finb",
type = "chainsubstitution",
lookups = {
{
type = "substitution",
data = {
["s"] = "s.fin",
["u"] = "u.fin",
["x"] = "x.fin",
},
},
},
data = {
	rules = {
		{
			after  = { { "period", "comma" } },
			current = { { "s" , "u" , "x" } },
			lookups = { 1 },
		},
	},
},
}
}

\begin{document}


\begin{frame}
	\frametitle{\textsc{Personalisation de Lua\LaTeX}}\framesubtitle{Substitution contextuelle}
	
	On va ici établir des substitutions contextuelles pour palier aux défauts de la feature fina.
	
	\bigskip
	
	\fontspec{FoglihtenNo07.otf}
	
	\addfontfeatures{RawFeature = +fina}
	
	\begin{block}{\textsc{En sortie :}}
	Un petit bateau ces petits voiliers
	
	Un petit bateau, ces petits voiliers.
	
	
	\addfontfeatures{RawFeature = +finb}
	
	Un petit bateau, ces petits voiliers.
	\end{block}
\end{frame}


\begin{frame}[fragile]
	\frametitle{\textsc{Lua\LaTeX}}\framesubtitle{Substitution contextuelle}
	
	La police possède une feature \textit{fina} qui change les dernières lettres des mots\dots
	
	Malheureusement, le point et la virgule sont ici des lettres\dots
	
	On a arrangé cela par une substitution contextuelle, appelée ici \textit{finb}.
	
	\begin{block}{\textsc{En entrée :}}
		{\scriptsize\begin{verbatim}
			\fontspec{FoglihtenNo07.otf}\\
			\addfontfeatures{RawFeature = +fina}
			
			Un petit bateau ces petits voiliers\\
			Un petit bateau, ces petits voiliers.
			
			\addfontfeatures{RawFeature = +finb}
			
			Un petit bateau, ces petits voiliers.
			\end{verbatim}}
	\end{block}
\end{frame}

\begin{frame}[fragile]
	\frametitle{\textsc{Lua\LaTeX}}\framesubtitle{La commande \textit{lua}}
	
	La dernière ligne utilise la feature \textit{finb} qui est bien sûr dans un {\scriptsize\verb|\directlua|} !
	{\scriptsize\begin{verbatim}
		fonts.handlers.otf.addfeature{
		   name = "finb",
		   type = "chainsubstitution",
		   lookups = {
		      { type = "substitution",
		         data = { ["s"] = "s.fin",
		                  ["u"] = "u.fin",
		                  ["x"] = "x.fin", }, }, },
		   data = {
		      rules = {
		         { after  = { { "period", "comma" } },
		           current = { { "s" , "u" , "x" } },
		           lookups = { 1 }, }, }, }, }		
		\end{verbatim}}
\end{frame}


\end{document}