Tracé d’un caractère par des courbes de Bézier
Auteur ou autrice : Jacques André.
Mise en ligne le 11 avril 2023
C'est un exemple très simple d'emploi de Metapost, ressemblant un peu aux exemples 40 et 45 du Manuel MetaPost. Il reprend les données utilisées par Yves Soulet dans son introduction à Tikz: Yves Soulet, Manuel de prise en main pour TikZ, Cahier GUTenberg no 50 (2008), p. 5-87 (voir page 80).
Code
beginfig(2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Programme e-garamond
%% Auteur : Jacques André
%% email = Jacques.AndreNN@gmail.com avec NN=35
%%%%%%%%%%%%%% Déclaration des points de contrôle
z0=(91,276);
z1=(402, 276);
z2=(399, 380);
z3=( 334, 458);
z4=( 226, 458);
z5=(102, 458);
z6=( 22, 356);
z7=( 22, 214);
z8=(22, 95);
z9=( 97, -10);
z10=(212, -10);
z11=(312, -10);
z12= (390, 68);
z13=( 421,158);
z14=(405,164);
z15=(374,109);
z16=( 319,55);
z17= (253,57);
z18=(140, 57);
z19=( 92, 181);
z20= (91, 276);
z21=(94, 308);
z22=(103, 372);
z23=( 134, 424);
z24=(204, 423);
z25=(270, 423);
z26=( 297, 366);
z27=( 300, 308);
%
%%%%%%%%%%%%%%%%%%%%%%%%% Tracé des contours et remplissage
fill z0--z1 ..controls z2and z3 .. z4
..controls z5 and z6..z7
..controls z8 and z9..z10
..controls z11 and z12..z13--z14
..controls z15 and z16..z17
.. controls z18. and z19..z20--cycle withcolor .7white ;
unfill z21.. controls z22 and z23..z24
.. controls z25 and z26..z27--cycle;
%%%%%%%%%%%%%%%%%%%%%%%%% Tracé des tangentes
ahangle := 20; ahlength:=15bp;
drawarrow z1--z2;
drawdblarrow z3--z5;
drawdblarrow z6--z8;
drawdblarrow z9--z11;
drawarrow z13--z12;
drawarrow z14--z15;
drawdblarrow z16--z18;
drawarrow z20--z19;
drawarrow z21--z22;
drawdblarrow z23--z25;
drawarrow z27--z26;
%%%%%%%%%%%%%%%%%%%%%% Noms des points de contrôle
dotlabeldiam:=4bp;labeloffset:=3mm;
defaultscale:=2;
dotlabel.lrt("z0",z0);
dotlabel.rt("z1",z1);
dotlabel.rt("z2",z2);
dotlabel.rt("z3",z3);
dotlabel.top("z4",z4);
dotlabel.urt("z5",z5);
dotlabel.lft("z6",z6);
dotlabel.lft("z7",z7);
dotlabel.lft("z8",z8);
dotlabel.lft("z9",z9);
dotlabel.bot("z10",z10);
dotlabel.rt("z11",z11);
dotlabel.rt("z12",z12);
dotlabel.rt("z13",z13);
dotlabel.urt("z14",z14);
dotlabel.lft("z15",z15);
dotlabel.urt("z16",z16);
dotlabel.urt("z17",z17);
dotlabel.urt("z18",z18);
dotlabel.rt("z19",z19);
dotlabel.urt("z20",z20);
dotlabel.urt("z21",z21);
%dotlabel.urt("z22",z22);
%dotlabel.urt("z23",z23);
dotlabel.bot("z24",z24);
%dotlabel.urt("z25",z25);
%dotlabel.urt("z26",z26);
dotlabel.ulft("z27",z27);
endfig;
end.
Mots clés : typographieBéziertangentedotlabelcontrolsarrow