[Tex/LaTex] Curved text with XeLaTeX and Tikz

tikz-pgfxetex

Trying to get curved text to work, using tikz, curve text works but I am unable to set an outline or color to the text. I am using XeLaTeX because of fontspec and being able to use my own custom fonts.

Below is what I have:

\documentclass[11pt]{article}

\usepackage[active, tightpage]{preview}
\usepackage{tikz}
\usepackage{fontspec}

\usetikzlibrary{decorations.text}
\usepackage{color}
\usepackage[outline]{contour}

\setlength\PreviewBorder{0.2pt}%

\setmainfont[ExternalLocation=/path/to/fonts/]{"HelveticaLTStd-Roman.ttf"}

\begin{document}
\begin{preview}
\begin{center}
\begin{tikzpicture}
  \node (Start) at (-3,0) {};
  \node (End) at (3,0) {};
  \draw [decorate,decoration={text along path,text align=center,text={SOME LONG TEXT}}] (Start) to [bend right=45] (End);
\end{tikzpicture}

\end{center}
\end{preview}
\end{document}

The end goal is to get something like this with a outline around each character.

Best Answer

If you want only to change text color you can add text color=... after text={...} command. For setting an outline to your text you can use and edit the code below.

\documentclass[11pt]{article}

\usepackage[active, tightpage]{preview}
\usepackage{tikz}
\usepackage{fontspec}

\usetikzlibrary{decorations.text}
\usepackage[outline]{contour}

\setlength\PreviewBorder{0.2pt}%

\setmainfont[ExternalLocation=/path/to/fonts/]{"HelveticaLTStd-Roman.ttf"}

\begin{document}
\begin{preview}
\begin{center}
\begin{tikzpicture}
  \def\mycontour#1{\textcolor{white}{\contour{blue}{#1}}}
  \node (Start) at (-3,0) {};
  \node (End) at (3,0) {};
  \draw [decorate,decoration={text along path,text align=center,text={SOME LONG TEXT},text effects along path,text effects/.cd, characters={character command=\mycontour, font=\tiny}}] (Start) to [bend right=45] (End);
\end{tikzpicture}
\end{center}
\end{preview}
\end{document}