metapost

Le code qui permet de dessiner le point d'interrogation

% ----- Q U E S T I O N   M A R K ----- %
glyphe(63,0, 5);
z0:=(1u,3u);
z1:=(3u,5u);
z2:=(5u,3u);
z3:=(2u,2u);
z4 :=(3u,0u);
draw z0{up}..z1{right}..z2..z3--z4 withcolor red;
draw(3u,-0.3u)..(3.5u,-0.5u)..(3u,-0.7u)..(3u,-0.3u) withcolor red;
endfig;

+ Fonction Glyphe

% fonction glyphe pour générer une grille pour chaque glyphe avec argument "unicode" = nom glyphe
def glyphe(suffix unicode, visible, chasseunit)= % , visible
    beginfig(unicode);
    chasse:=chasseunit*u;
    draw (0u,- descendante);
    draw (chasse, hauteurcapitale + 1u);
    if visible > 0:
        epaisseurgrille:=u/20;
        pickup pencircle scaled epaisseurgrille;
        % boucle grille verticale
        for i=0 upto chasse/u:
          draw (i*u, (hauteurcapitale+1u))--(i*u, -2u) withcolor .7white;
        endfor
        % boucle grille horizontale
        for i=0 upto 5:
          draw (0, i*u)--(chasse,i*u) withcolor .7white;
        endfor
        % boucle grille descendante
        for i=0 upto descendante/u:
          draw (0, - i*u)--(chasse, - i*u) withcolor .7white;
        endfor
        pickup pencircle scaled epaisseurgrille*2;
        % ligne de base
        draw (0,0)--(chasse,0) withcolor black;
        % ligne de hauteur de capitale
        draw (0,hauteurcapitale)--(chasse,hauteurcapitale) withcolor black;
        % ligne de hauteur de basdecasse
        draw (0,hauteurbasdecasse)--(chasse,hauteurbasdecasse) withcolor black;
        % pencircle
    fi;

xgraisse:=u;                                         % graisse x
ygraisse:=u/3;                                         % graisse y
    pickup pencircle xscaled xgraisse yscaled ygraisse rotated 45;
enddef;

def numeros=
defaultscale:=3pt;
for i=1 upto 20:
 dotlabels.top([i]);
endfor;
enddef;