%
% this is file 'fmilogo20mm.mf' written by Stefan Gastinger, August 1988.
% 
 
%mode = sun;
mode=CanonCX;
mode_setup;
 
%%% Weite und Hoehe des Zeichens im Originalzustand:
%%% Einheiten sind uninteressant, diese kuerzen sich mit
%%% denen der unten eingegebenen Koordinaten weg.
    inputwidth    = 110.5;
    inputheight   = 111.2;
 
%%% Weite und Hoehe des gedruckten Zeichens:
    %outputwidth#  = 12pt#;
    %outputheight# = 12pt#;
    outputwidth#  = 20mm#;
    outputheight# = 20mm#;
 
%%% Umrechnen der absoluten Ausgabe-Angaben in korrekte Pixelwerte:
    define_pixels(outputwidth,outputheight);
 
%%% Das Zeichen liegt auf dem grossen "P":
    beginchar("P",outputwidth#,outputheight#,0); "The letter P";
 
%%% Alle Laengenangaben sind i.f. Prozentangaben.
    x = outputwidth/inputwidth;  
    y = outputheight/inputheight;  
 
%%% Erst das "Pi" in schwarz zeichnen:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Oberer Querbalken:
x1 =   1.5x;   y1 =  70.0y;   h1 =  14.0y; 
x2 =  13.0x;   y2 =  82.2y;   h2 =   9.0y; 
x3 =  30.0x;   y3 =  83.0y;   h3 =  12.0y; 
x4 =  50.0x;   y4 =  78.0y;   h4 =  17.2y; 
x5 =  70.0x;   y5 =  76.0y;   h5 =  15.5y; 
x6 = 102.5x;   y6 =  88.0y;   h6 =  13.0y; 
 
y1  := y1 + 0.5h1;  penpos1(h1,90);
y2  := y2 + 0.5h2;  penpos2(h2,90);
y3  := y3 + 0.5h3;  penpos3(h3,90);
y4  := y4 + 0.5h4;  penpos4(h4,90);
y5  := y5 + 0.5h5;  penpos5(h5,90);
y6  := y6 + 0.5h6;  penpos6(h6,90);
 
penstroke z1e..z2e..z3e..z4e..z5e..z6e;
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Linker Stuetzbalken:
x7  =  32.5x;   y7  =  83.0y;   h7  =  15.5y; 
x8  =  31.0x;   y8  =  30.0y;   h8  =  15.7y; 
x9  =  30.5x;   y9  =  20.0y;   h9  =  14.5y; 
x10 =  25.5x;   y10 =   9.2y;   h10 =  10.5y; 
x11 =  20.0x;   y11 =   6.0y;   h11 =   6.0y; 
 
x7  := x7  + 0.5h7;   penpos7(h7,0);
x8  := x8  + 0.5h8;   penpos8(h8,0);
x9  := x9  + 0.5h9;   penpos9(h9,0);
x10 := x10 + 0.5h10;  penpos10(h10,0);
x11 := x11 + 0.5h11;  penpos11(h11,0);
 
penstroke z7e..z8e..z9e..z10e..z11e;
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Rechter Stuetzbalken:
x12 =  60.5x;   y12 =  80.0y;   h12 =  15.0y; 
x13 =  60.0x;   y13 =  40.0y;   h13 =  17.1y; 
x12  := x12 + 0.5h12;  penpos12(h12,0);
x13  := x13 + 0.5h13;  penpos13(h13,0);
 
z14 = (70x,24y);       penpos14(18.5x,20);
z15 = (86x,15.5y);     penpos15(12.8x,66.5);
z16 = (110x,27y);      penpos16(26.0x,90);
 
penstroke z12e..z13e{down}..z14e..z15e..z16e;
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
%%% Dann merken wir uns das gezeichnete "Pi" in "negativ":
    picture negativ; negativ = currentpicture;
 
%%% Aktuellen Bildschirm loeschen:
    clearit;
 
%%% Schwarz ausgefuellten Kreis als Hintergrund zeichnen: 
    fill (0,0.5outputheight)..(outputwidth,0.5outputheight)..cycle;
 
%%% Das gezeichnete "Pi" von diesem Kreis pixelweise subtrahieren:
    currentpicture := currentpicture - negativ;
 
endchar;
%showit;
end;
