[..] La conception [swl] openmoji_bzhscl

Code
#define ROUND_1D(X) round(10*(X))/10 // Proposition de drapeau breton pour Openmoji>15.0 int openmoji_bzh_swl(){ scltracefa(§, ƒ, ); scltracefc("scl-%s (%s) : %s\n", sclver(), sclsec(), temps_char(0)); FILE *fid=fopen("./srt/1F3F4-E0066-E0072-E0062-E0072-E0065-E007F_swl.svg", "w+"); fprintf(fid, "<svg id=\"emoji\" viewBox=\"0 0 72 72\" xmlns=\"http://www.w3.org/2000/svg\">\n"); fprintf(fid, " <g id=\"color\">\n"); fprintf(fid, " <rect x=\"5\" y=\"17\" width=\"62\" height=\"38\" fill=\"#fff\"/>\n"); // Première ligne noire Bro-Sant-Brieg [bsb] double ya=18.0, dyl=40/9, db=2, xm=33; fprintf(fid, " <rect x=\"%lf\" y=\"%lf\" width=\"%lf\" height=\"%lf\" fill=\"#000\"/>\n", ROUND_1D(xm), ROUND_1D(ya), ROUND_1D(34-(xm-33)), ROUND_1D(dyl-db)); //-2 pour l'epaisseur de la bordure // Deuxième ligne noire Bro-Zol [bzl] ya = ya + dyl-db + dyl; fprintf(fid, " <rect x=\"%lf\" y=\"%lf\" width=\"%lf\" height=\"%lf\" fill=\"#000\"/>\n", ROUND_1D(xm), ROUND_1D(ya), ROUND_1D(34-(xm-33)), ROUND_1D(dyl)); // Troisième ligne noire Bro-Sant-Maloù [bsm] ya = ya + dyl + dyl; fprintf(fid, " <rect x=\"5\" y=\"%lf\" width=\"62\" height=\"%lf\" fill=\"#000\"/>\n", ROUND_1D(ya), ROUND_1D(dyl)); // Quatrième ligne noire Bro-Naoned [bnd] ya = ya + dyl + dyl; fprintf(fid, " <rect x=\"5\" y=\"%lf\" width=\"62\" height=\"%lf\" fill=\"#000\"/>\n", ROUND_1D(ya), ROUND_1D(dyl)); // Dernière ligne noire Bro-Roazhon [brn] ya = ya + dyl + dyl; fprintf(fid, " <rect x=\"5\" y=\"%lf\" width=\"62\" height=\"%lf\" fill=\"#000\"/>\n", ROUND_1D(ya), ROUND_1D(dyl-db)); //-2 pour l'epaisseur de la bordure fprintf(fid, " <g fill=\"#000\" stroke=\"#000\" stroke-linejoin=\"round\" stroke-width=\"2\">\n"); double hn_x=7, mx=2; double dxh=(xm-5-db/2-mx-mx-hn_x*db)/hn_x; //2.0 scltracefc("dxh=%lf\n", dxh); double hn_y=3, my=1; double dyh=(dyl-db+dyl+dyl+dyl-my-my-hn_y*db)/hn_y; //3.0 scltracefc("dyh=%lf\n", dyh); double x0=5+db/2+mx+db/2; ya = 18.0+my+db/2+dyh; double xa=x0; //9 fprintf(fid, " <polygon points=\"%lf %lf %lf %lf %lf %lf\"/>\n", ROUND_1D(xa), ROUND_1D(ya), ROUND_1D(xa+dxh), ROUND_1D(ya), ROUND_1D(xa+dxh/2), ROUND_1D(ya-dyh)); xa = xa + dxh + db/2 + db/2 + dxh + db/2 + db/2; //18 fprintf(fid, " <polygon points=\"%lf %lf %lf %lf %lf %lf\"/>\n", ROUND_1D(xa), ROUND_1D(ya), ROUND_1D(xa+dxh), ROUND_1D(ya), ROUND_1D(xa+dxh/2), ROUND_1D(ya-dyh)); xa = xa + dxh + db/2 + db/2 + dxh + db/2 + db/2; //27 fprintf(fid, " <polygon points=\"%lf %lf %lf %lf %lf %lf\"/>\n", ROUND_1D(xa), ROUND_1D(ya), ROUND_1D(xa+dxh), ROUND_1D(ya), ROUND_1D(xa+dxh/2), ROUND_1D(ya-dyh)); xa = xa + dxh + db/2 + db/2 + dxh + db/2 + db/2; //27 fprintf(fid, " <polygon points=\"%lf %lf %lf %lf %lf %lf\"/>\n", ROUND_1D(xa), ROUND_1D(ya), ROUND_1D(xa+dxh), ROUND_1D(ya), ROUND_1D(xa+dxh/2), ROUND_1D(ya-dyh)); ya = ya+db/2+db/2+dyh; xa = x0 + dxh + db/2 + db/2; // 13.5; fprintf(fid, " <polygon points=\"%lf %lf %lf %lf %lf %lf\"/>\n", ROUND_1D(xa), ROUND_1D(ya), ROUND_1D(xa+dxh), ROUND_1D(ya), ROUND_1D(xa+dxh/2), ROUND_1D(ya-dyh)); xa = xa + dxh + db/2 + db/2 + dxh + db/2 + db/2; //22.5 fprintf(fid, " <polygon points=\"%lf %lf %lf %lf %lf %lf\"/>\n", ROUND_1D(xa), ROUND_1D(ya), ROUND_1D(xa+dxh), ROUND_1D(ya), ROUND_1D(xa+dxh/2), ROUND_1D(ya-dyh)); xa = xa + dxh + db/2 + db/2 + dxh + db/2 + db/2; //22.5 fprintf(fid, " <polygon points=\"%lf %lf %lf %lf %lf %lf\"/>\n", ROUND_1D(xa), ROUND_1D(ya), ROUND_1D(xa+dxh), ROUND_1D(ya), ROUND_1D(xa+dxh/2), ROUND_1D(ya-dyh)); ya = ya+db/2+db/2+dyh; xa = x0; fprintf(fid, " <polygon points=\"%lf %lf %lf %lf %lf %lf\"/>\n", ROUND_1D(xa), ROUND_1D(ya), ROUND_1D(xa+dxh), ROUND_1D(ya), ROUND_1D(xa+dxh/2), ROUND_1D(ya-dyh)); xa = xa + dxh + db/2 + db/2 + dxh + db/2 + db/2; //18 fprintf(fid, " <polygon points=\"%lf %lf %lf %lf %lf %lf\"/>\n", ROUND_1D(xa), ROUND_1D(ya), ROUND_1D(xa+dxh), ROUND_1D(ya), ROUND_1D(xa+dxh/2), ROUND_1D(ya-dyh)); xa = xa + dxh + db/2 + db/2 + dxh + db/2 + db/2; //27 fprintf(fid, " <polygon points=\"%lf %lf %lf %lf %lf %lf\"/>\n", ROUND_1D(xa), ROUND_1D(ya), ROUND_1D(xa+dxh), ROUND_1D(ya), ROUND_1D(xa+dxh/2), ROUND_1D(ya-dyh)); xa = xa + dxh + db/2 + db/2 + dxh + db/2 + db/2; //27 fprintf(fid, " <polygon points=\"%lf %lf %lf %lf %lf %lf\"/>\n", ROUND_1D(xa), ROUND_1D(ya), ROUND_1D(xa+dxh), ROUND_1D(ya), ROUND_1D(xa+dxh/2), ROUND_1D(ya-dyh)); fprintf(fid, " </g>\n"); fprintf(fid, " </g>\n"); fprintf(fid, " <g id=\"line\">\n"); fprintf(fid, " <rect x=\"5\" y=\"17\" width=\"62\" height=\"38\" fill=\"none\" stroke=\"#000\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"/>\n"); fprintf(fid, " </g>\n"); fprintf(fid, "</svg>\n"); fclose(fid); scltracefe(§, ƒ, ); return 0; } /* ƒ décorée par 🔬 le 05-03-2025 23:42:15 */
Sortie
[>..\xpl\src\scl.swl.cpp.openmoji_bzh_swl] scl-25.03 (gwin64) : 05-03-2025 23:42:15 dxh=1.285714 dyh=2.592593 [<..\xpl\src\scl.swl.cpp.openmoji_bzh_swl]