%%
%% This is file `defcirc.mf',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% circ.dtx  (with options: `defcircmf')
%% Copyright 1997-98  Sebastian Tannert / Andreas Tille
%% 
%% This file is part of the CIRC package
%% -------------------------------------
%%   This package is distributed in the hope that it will be useful,
%%   but WITHOUT ANY WARRANTY; without even the implied warranty of
%%   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
%% 
%%   For error reports concerning UNCHANGED versions of this file no
%%   more than one year old, see CIRC.DVI.
%% 
%% IMPORTANT COPYRIGHT NOTICE:
%% 
%% You are NOT ALLOWED to distribute this file alone.
%% 
%% You are allowed to distribute this file under the condition that it
%% is distributed together with all the files listed in circ.txt.
%% 
%% If you receive only some of these files from someone, complain!
%% 
%% You are NOT ALLOWED to change this file.
mode_setup;
font_coding_scheme:="CIRC symbols";

message("CIRC %<*"&font_identifier_&">");
message("CIRC \freecirc");
message("CIRC \addCIRCfont "&font_identifier_);
message("CIRC %</"&font_identifier_&">");
message("CIRC %<+doc> \optionline "&optionname);
message("CIRC %<*"&font_identifier_&",doc>");
message("");

def endCIRCfont =
  message("CIRC %</"&font_identifier_&",doc>");
  message("CIRC %<*"&font_identifier_&">");
  message("CIRC \protectcirc");
  message("CIRC %</"&font_identifier_&">");
  message("");
  bye;
enddef;

CIu#:=7pt#; define_whole_pixels(CIu);

current_char_code:=0;

pair shiftpoint;

linethickness#:= 0.45pt#;
thinline#     := 0.5linethickness#;
normalline#   := 1.0linethickness#;
thickline#    := 1.5linethickness#;
verythickline#:= 2.5linethickness#;
define_whole_blacker_pixels(normalline,thinline,thickline,verythickline);

fontdimen6: 1CIu#;

extra_endchar:=extra_endchar & "labels(range 0 thru 100);";

def {{ =
   begingroup
   save T; transform T;
   T:=currenttransform;
   save currenttransform;
   transform currenttransform;
   currenttransform:=T;
enddef;

def }} = endgroup; enddef;

def addTF(text t) = currenttransform:=currenttransform t; enddef;

def twopinchar(text name, lab, doc)(expr wd, ht, dp)(text body) =
  message("CIRC \cdef "&name&" "&lab&" \CIRC"&
          font_identifier_&" "&decimal(current_char_code));
  message("CIRC %<+doc> {"&doc&"}");
  message("");
  beginchar(current_char_code, wd, ht, dp);
    body;
  endchar;
  current_char_code:=current_char_code+1;
  beginchar(current_char_code,dp,wd,ht);
    {{addTF(shifted -shiftpoint rotated -90); body;}}
  endchar;
  current_char_code:=current_char_code+1;
enddef;

def twopincharfour(text name, lab, pini, pinii, doc)
                  (expr wd, ht, dp)(text body) =
  message("CIRC \cdefiv "&name&" "&lab&" \CIRC"&
          font_identifier_&" "&decimal(current_char_code)&" "&
          pini&" "&pinii);
  message("CIRC %<+doc> {"&doc&"}");
  message("");
  beginchar(current_char_code,wd,ht,dp);
    body;
  endchar;
  current_char_code:=current_char_code+1;
  beginchar(current_char_code,dp,wd,ht);
    {{addTF(rotated 90); body;}}
  endchar;
  current_char_code:=current_char_code+1;
  beginchar(current_char_code,wd,dp,ht);
    {{addTF(shifted -shiftpoint rotated 180); body;}}
  endchar;
  current_char_code:=current_char_code+1;
  beginchar(current_char_code,ht,wd,dp);
    {{addTF(shifted -shiftpoint rotated -90); body;}}
  endchar;
  current_char_code:=current_char_code+1;
enddef;

def twopincharfourfour(text name, lab, pini, pinii, doc)
                  (expr wd, ht, dp)(text body) =
  message("CIRC \cdefiviv "&name&" "&lab&" \CIRC"&
          font_identifier_&" "&decimal(current_char_code)&" "&
          pini&" "&pinii);
  message("CIRC %<+doc> {"&doc&"}");
  message("");
  beginchar(current_char_code,wd,ht,dp);
    body;
  endchar;
  current_char_code:=current_char_code+1;
  beginchar(current_char_code,dp,wd,ht);
    {{addTF(rotated 90); body;}}
  endchar;
  current_char_code:=current_char_code+1;
  beginchar(current_char_code,wd,dp,ht);
    {{addTF(shifted -shiftpoint rotated 180); body;}}
  endchar;
  current_char_code:=current_char_code+1;
  beginchar(current_char_code,ht,wd,dp);
    {{addTF(shifted -shiftpoint rotated -90); body;}}
  endchar;
  current_char_code:=current_char_code+1;
  beginchar(current_char_code,wd,dp,ht);
    {{addTF(reflectedabout(left,right)); body;}}
  endchar;
  current_char_code:=current_char_code+1;
  beginchar(current_char_code,ht,wd,dp);
    {{addTF(reflectedabout(left,right) rotated 90); body;}}
  endchar;
  current_char_code:=current_char_code+1;
  beginchar(current_char_code,wd,ht,dp);
    {{addTF(reflectedabout (left,right) shifted -shiftpoint rotated 180); body;}}
  endchar;
  current_char_code:=current_char_code+1;
  beginchar(current_char_code,dp,wd,ht);
    {{addTF(reflectedabout(left,right) shifted -shiftpoint rotated -90); body;}}
  endchar;
  current_char_code:=current_char_code+1;
enddef;
%% 
%%
%% End of file `defcirc.mf'.
