Usando tikz para transformar una sola letra

Usando tikz para transformar una sola letra

Quiero transformar una letra en una portada de una manera muy específica. Para ilustrar el efecto que intento lograr, adjunto una imagen. Observe cómo la mitad izquierda de la letra H es más corta que la mitad derecha, pero la parte superior de la letra está nivelada. Sospecho que querré distorsionarlo de alguna manera usando tikz, pero no estoy seguro de cómo lograrlo. ¿Alguien puede ayudar?

Letra estirada H

Respuesta1

Descargo de responsabilidad:Esta NO es una respuesta de TikZ, pero como sea...

TomandoLa respuesta de Thruston a esta pregunta sobre los esquemas de textoComo referencia, puedes hacer lo siguiente para obtener una letra H deformada. Es una prueba de concepto, por lo que solo funciona con letras individuales, pero es posible adaptarlo a palabras completas con más ajustes.

\documentclass{standalone}
\usepackage[latex,shellescape]{gmp}
\begin{document}
\begin{mpost}[name=H]
picture nice;
path P, PP;

nice := image(draw thelabel(\btex H etex,origin));

%Transformation
vardef T(expr p) =
    save x, y;
    x := xpart p; y := ypart p;
%0.01 by guessing. Play with other values
    (x,0.01x*y) 
enddef;

%Assumes a cyclic path
%It can be done better
vardef TT(expr P) =
    T(point 0 of P) 
    .. controls
    T(postcontrol 0 of P) and T(precontrol 1 of P) 
    for j = 1 upto (length P - 1):
        .. T(point j of P) 
        .. controls T(postcontrol j of P) 
            and T(precontrol (j+1) of P) 
    endfor
    .. cycle
enddef;

for i within nice:
    if textual i:
        for j = 1 upto length textpart i:
            string s; s := substring(j-1,j) of textpart i;
            picture g; g := glyph ASCII s of fontpart i scaled 1/10;
            picture r; r := image(
            for x within g:
                picture xx; xx := image(draw g);
%75 is also guessing. Try other values
%Bad filling. It works for the letter H, tho.
                fill TT(pathpart x shifted (llcorner xx - ulcorner xx + 75right)) withcolor
                if greypart x = 1:
                    1
                else:
                    (1,0.843,0)
                fi;
            endfor
            );
            draw r;
        endfor 
    fi
endfor
\end{mpost}\usempost{H}%
\end{document}

ingrese la descripción de la imagen aquí

A modo de comparación, este es el resultado para la letra Q (se aplica un relleno falso):

ingrese la descripción de la imagen aquí

información relacionada