%
% this is file 'unilogo65mm.mf' written by Stefan Gastinger, August 1988.
% 
 
%mode = CanonCX;
mode_setup;
special "grayfont grays";
 
numeric Faktor;		Faktor	     := 1;
numeric Rotation;	Rotation     := 0;
 
numeric Durchmesser#;	Durchmesser# := Faktor*68mm#;
numeric PenThin#;	PenThin#     := 0.5*0.001*Durchmesser#;
numeric PenThick#;	PenThick#    := 0.5*0.003*Durchmesser#;
numeric PenXThick#;	PenXThick#   := 0.008*Durchmesser#;
numeric PenXXThick#;	PenXXThick#  := 0.016*Durchmesser#;
numeric CharWidth#;	CharWidth#   := Durchmesser#;
numeric CharHeight#;	CharHeight#  := Durchmesser#;
numeric Dummy#;		Dummy#	     := 10mm#;
 
define_pixels( CharWidth, CharHeight );
define_pixels( PenThin, Dummy );
define_pixels( PenThick, Dummy );
define_pixels( PenXThick, Dummy );
define_pixels( PenXXThick, Dummy );
 
def Distance = (0.022*CharHeight) enddef;
 
numeric LetterHeight; LetterHeight := 0.107*CharHeight;
numeric FigureHeight; FigureHeight := 0.94*(CharHeight-LetterHeight-Distance);
numeric FigureWidth;  FigureWidth  := 0.94*(FigureHeight*145/245);
numeric Radius;       Radius 	   := 0.5*(CharWidth-PenXThick);
 
 
beginchar( "a", CharWidth#, CharHeight#, 0 );
 
input unilogos;
 
%%% Test-Makros:
   %def   mode = draw enddef; 
   %def unmode = draw enddef;
    def   mode =   fill enddef;
    def unmode = unfill enddef;
 
%%% Stift-Dicken:
    def penthin    = pickup pencircle scaled PenThin    enddef;
    def penthick   = pickup pencircle scaled PenThick   enddef;
    def penXthick  = pickup pencircle scaled PenXThick  enddef;
    def penXXthick = pickup pencircle scaled PenXXThick enddef;
 
%%% Drehen des Button um den Mittelpunkt:
    CopySystem;
    MoveSystem(  0.5*CharWidth,  0.5*CharHeight );
    RotateSystem( Rotation, Rotation );
    MoveSystem( -0.5*CharWidth, -0.5*CharHeight );
 
%%% Verschieben des Button zum Testen am Bildschirm:
  %  MoveSystem( -30, -95 );
 
%%% Stift aufnehmen:
    pickup pencircle;	
 
%%%%% Drawing Button %%%%%
EnterSystem( (0.5*CharWidth,0.5*CharHeight), 1, Radius, 0, 1, Radius, 0 );
   penXthick;	show reading file; input easycircle;
LeaveSystem;
 
 
%%%%% Drawing Figure %%%%%
EnterSystem( (0.5*(CharWidth-FigureWidth), Distance ),
	     145, FigureWidth , 0,
	     245, FigureHeight, 0
	   );
     		show reading file; input filled;
   penthin;	show reading file; input thin;
   penthick;	show reading file; input thick;
   penXthick;	show reading file; input Xthick;
   penXXthick;	show reading file; input XXthick;
LeaveSystem;
 
def Letter( expr w, h, r ) =
    CopySystem;
    MoveSystem( 0.5*CharWidth, 0.5*CharHeight );
    RotateSystem( r, r );
    MoveSystem( 0, (0.5*CharHeight)-LetterHeight-Distance );
    SetInputScale ( w, h );
    SetOutputScale( 0.95,0.95 );
    SetOutputScale( LetterHeight/h*w/CharWidth, LetterHeight/CharHeight );
    MoveSystem( -0.5*w, 0 );
    show reading file; 
enddef;
 
%%%%% Drawing Letters %%%%%
numeric rot; rot = -1;
 
   penthick;
   Letter( 145, 142,  142.0+rot ); input v; LeaveSystem;
   Letter( 149, 142,  127.0+rot ); input n; LeaveSystem;
   Letter(  64, 142,  115.0+rot ); input i; LeaveSystem;
   Letter( 145, 142,  105.0+rot ); input v; LeaveSystem;
   Letter( 125, 140,   92.0+rot ); input e; LeaveSystem;
   Letter( 135, 139,   76.6+rot ); input r; LeaveSystem;
   Letter(  97, 146,   62.4+rot ); input s; LeaveSystem;
   Letter(  64, 142,   52.7+rot ); input i; LeaveSystem;
   Letter( 123, 142,   42.2+rot ); input t; LeaveSystem;
   Letter( 149, 146,   29.7+rot ); input a; LeaveSystem;
   Letter(  97, 146,   14.6+rot ); input s; LeaveSystem;
 
   Letter( 116, 142,   -8.5+rot ); input p; LeaveSystem;
   Letter( 149, 146,  -19.5+rot ); input a; LeaveSystem;
   Letter( 123, 142,  -33.5+rot ); input t; LeaveSystem;
   Letter( 149, 146,  -46.0+rot ); input a; LeaveSystem;
   Letter( 145, 142,  -58.0+rot ); input v; LeaveSystem;
   Letter(  64, 142,  -68.2+rot ); input i; LeaveSystem;
   Letter( 125, 140,  -80.1+rot ); input e; LeaveSystem;
   Letter( 149, 142,  -96.5+rot ); input n; LeaveSystem;
   Letter(  97, 146, -110.0+rot ); input s; LeaveSystem;
   Letter(  64, 142, -120.0+rot ); input i; LeaveSystem;
   Letter(  97, 146, -131.0+rot ); input s; LeaveSystem;
 
%SystemInfo;
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
endchar;
%showit;
end;



