Here is a hundred percent handcrafted pure-TikZ solution (no libraries no nothing).
It does pretty much the same thing as pgf-blur
or contour
I guess.
\documentclass[tikz]{standalone}
\pgfmathsetmacro{\randamp}{0.005}
\pgfmathtruncatemacro{\totshadow}{30}
\begin{document}
\begin{tikzpicture}
\begin{scope}[xshift=0.2em,yshift=-0.2ex]
\path[opacity=0.01] foreach \nshadow [evaluate=\nshadow as \angshadow using \nshadow/\totshadow*360] in {1,...,\totshadow}{
node at (\angshadow:\randamp) {Text}
};
\end{scope}
\node[] at (0,0) {Text};
\end{tikzpicture}
\end{document}
EDIT : Here is something that aims at begin a bit closer to the request in the comments. Without the definition of the parameters "spread" and others, I can't know for sure though.
\documentclass[tikz]{standalone}
\pgfmathsetmacro{\shadowangle}{132}
\newlength{\shadowdistance}
\pgfmathsetlength{\shadowdistance}{0.2ex}
\pgfmathsetmacro{\shadowopacity}{0.9}
\pgfmathsetmacro{\shadowspread}{0.002}
\pgfmathsetmacro{\shadowsize}{0}
\pgfmathtruncatemacro{\totshadow}{100}
\begin{document}
\begin{tikzpicture}
\path[opacity={\shadowopacity/\totshadow},shift={({\shadowangle-180}:\shadowdistance)},scale={1+\shadowsize}]
foreach \nshadow [evaluate=\nshadow as \angshadow using \nshadow/\totshadow*360] in {1,...,\totshadow}{
node at (\angshadow:\shadowspread) {Text}
};
\node[] at (0,0) {Text};
\end{tikzpicture}
\end{document}
