# xypic arrowtip for normal subobjects

In xypic, I would like to make an arrow tip which resembles the notation for normal subobjects given by \vartriangleleft. I would like the arrow to look more or less like the one in the picture below.

How can I make such an arrow?

One option for typesetting the \vartriangleleft symbol in the middle of the arrow is:

$\xymatrix{A\ar[r]|-{\vartriangleleft} & B}$


The problem is that the symbol does not rotate with the arrow. In particular, this method won't work for vertical or diagonal arrows.

If the use of a \xymatrix is not mandatory for you, here is a solution with tikz-cd.

P.S. = thanks to Symbol 1 for his/her solution here.

\documentclass[a4paper]{article}
\usepackage{amsmath,amssymb}
\usepackage{tikz-cd}
\usepackage{stackengine}
\newcommand{\mytri}{\stackinset{c}{}{c}{}{$\vartriangleleft$}{\textcolor{white}{$\blacktriangleleft$}}}
\tikzcdset{%
triarrow/.style ={rightarrowtail, "\mytri" {description, inner sep=-2pt}, sloped, allow upside down},
}

\begin{document}
\begin{center}
\begin{tikzcd}[column sep=large, row sep=large]
A \arrow[r,  triarrow]
\arrow[d, triarrow] &
B \arrow[dr, triarrow] \\
C \arrow[ur, triarrow] &
D \arrow[l, triarrow]
\arrow[u, triarrow] &
E
\end{tikzcd}
\end{center}
\end{document}