[Tex/LaTex] Vectorized Text Effects/Transformations: Stretching & Expanding (WordArt)

text manipulationtext-decorations

I'd like to apply a text transformation similar to what the Inkscape extension 'Modify Path -> Envelope' does within LaTeX:

inkscape text effect transform vectorized text to fit to box

In-source documentation of the envelope extension:

This extension implements Bezier enveloping. It takes an arbitrary
path (the "letter") and a 4-sided path (the "envelope") as input. The
envelope must be 4 segments long. Unless the letter is to be rotated
or flipped, the envelope should begin at the upper left corner and be
drawn clockwise.

Presumably this can only be done with one of the more advanced drawing packages:

  • tikz (pgf/tikz library decorations.text, basic layer canvas transformation)
  • pstricks (possibly based on \psWarp form pst-text (v.1.01) together with a postscript font)
  • asymptote
  • MetaPost

Best Answer

Needs work (and not a TiKZ text effect):

\documentclass[border=5pt, tikz, mult]{standalone}
\usetikzlibrary{positioning,calc}
\begin{document}

  \begin{tikzpicture}
    \coordinate (o) at (0,0);
    \def\j{o}
    \foreach \i [count=\ino] in {T,E,X,T,-,E,F,F,E,C,T}
      {
        \node (\ino) [scale=\ino*\ino, right=0pt of \j, inner sep=0pt, outer sep=0pt] {\i};
        \global\let\j\ino
      }
    \path [draw] (1.north east) -- (\j.north west) -| (\j.south east) -- (\j.south west) -- (1.south west) -- cycle;
  \end{tikzpicture}

text-effect