%%%%%%%%%%%%%%%%%% ifsym.gen %%%%%%%%%%%%%%%%%%%%%%%
% (c) Ingo Kloeckl
% This program can be redistributed and/or modified under the terms
% of the LaTeX Project Public License Distributed from CTAN
% archives in directory macros/latex/base/lppl.txt; either
% version 1 of the License, or any later version.

% History
% 20.12.1999 v1.0  IK 
% 25.05.2000 v1.1  IK ligtable for pulse diagrams improved
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% miscellaneous and alpinistic symbols
% by I.Kloeckl, ingo.kloeckl@2k-software.de

pen normalpen, boldpen;
normalpen := pencircle scaled 1linewidth;
if boldface=1:
  boldpen = pencircle scaled 2linewidth;
else:
  boldpen = pencircle scaled 4linewidth;
fi;

transform t;
if italic=0:
  t := identity;
else:
  t := identity slanted 0.2;
fi;


%
% miscellaneous symbols
%
% sectioning symbols
"Diamonds1";
beginchar(1,10pt#,10pt#,0);
  pickup normalpen;
  path p;
  p = (2pt,0pt)--(0pt,2pt)--(-2pt,0pt)--(0pt,-2pt)--cycle;
  draw p shifted (5pt,9pt);  draw p shifted (5pt,1pt);
  draw p shifted (2pt,5pt);  draw p shifted (8pt,5pt);
endchar;

"FilledDiamonds1";
beginchar(2,10pt#,10pt#,0);
  pickup normalpen;
  path p;
  p = (2pt,0pt)--(0pt,2pt)--(-2pt,0pt)--(0pt,-2pt)--cycle;
  fill p shifted (5pt,9pt);  fill p shifted (5pt,1pt);
  fill p shifted (2pt,5pt);  fill p shifted (8pt,5pt);
endchar;

% paper symbol
"Portrait";
beginchar(3,6pt#,10pt#,0);
  pickup normalpen;
  draw (0pt,0pt)--(6pt,0pt)--(6pt,10pt)--(2pt,10pt)--(0pt,8pt)--cycle;
  pickup pencircle scaled .7linewidth;
  draw (2pt,10pt)--(2pt,8pt)--(0pt,8pt);
  pickup pencircle scaled .3linewidth;
  for i=1.5 upto 7.5:
    draw (1pt,i*1pt)--(5pt,i*1pt);
  endfor
endchar;

"Landscape";
beginchar(4,10pt#,6pt#,0);
  pickup normalpen;
  draw (0pt,0pt)--(10pt,0pt)--(10pt,6pt)--(2pt,6pt)--(0pt,4pt)--cycle;
  pickup pencircle scaled .7linewidth;
  draw (2pt,6pt)--(2pt,4pt)--(0pt,4pt);
  pickup pencircle scaled .3linewidth;
  for i=1.5 upto 4.5:
    draw (2pt,i*1pt)--(8pt,i*1pt);
  endfor
endchar;

"Envelope";
beginchar(0,10pt#,7pt#,0);
  pickup normalpen;
  draw unitsquare xscaled w yscaled h;% shifted(w/2,h/2);
  z0=(0,h); z1=(w/2,h/3); z2=(w,h);
  z3=(0,0); z4=(w/2,2*h/3); z5=(w,0);
  numeric s; s[z3,z4] = whatever[z0,z1];
  draw z0--z1--z2; draw z3--s[z3,z4]; draw z5--s[z5,z4];
endchar;

% seven-segment digits
path seg[];
seg[0] = (.5pt,8.5pt)--(1pt,9pt)--(4pt,9pt)--(4.5pt,8.5pt)--
	(4pt,8pt)--(1pt,8pt)--cycle;
seg[1] = (4.5pt,8.5pt)--(5pt,8pt)--(5pt,5pt)--(4.5pt,4.5pt)--
	(4pt,5pt)--(4pt,8pt)--cycle;
seg[2] = (4.5pt,4.5pt)--(5pt,4pt)--(5pt,1pt)--(4.5pt,0.5pt)--
	(4pt,1pt)--(4pt,4pt)--cycle;
seg[3] = (.5pt,0.5pt)--(1pt,1pt)--(4pt,1pt)--(4.5pt,0.5pt)--
	(4pt,0)--(1pt,0)--cycle;
seg[5] = (0.5pt,8.5pt)--(1pt,8pt)--(1pt,5pt)--(0.5pt,4.5pt)--
	(0pt,5pt)--(0pt,8pt)--cycle;
seg[4] = (0.5pt,4.5pt)--(1pt,4pt)--(1pt,1pt)--(0.5pt,0.5pt)--
	(0pt,1pt)--(0pt,4pt)--cycle;
seg[6] = (.5pt,4.5pt)--(1pt,5pt)--(4pt,5pt)--(4.5pt,4.5pt)--
	(4pt,4pt)--(1pt,4pt)--cycle;

beginchar("0",7pt#,10pt#,0);
  pickup normalpen;
  fill seg[0] transformed t; fill seg[1] transformed t;
  fill seg[2] transformed t; fill seg[3] transformed t;
  fill seg[4] transformed t; fill seg[5] transformed t;
endchar;
beginchar("1",7pt#,10pt#,0);
  pickup normalpen;
  fill seg[1] transformed t; fill seg[2] transformed t;
endchar;
beginchar("2",7pt#,10pt#,0);
  pickup normalpen;
  fill seg[0] transformed t; fill seg[1] transformed t;
  fill seg[6] transformed t; fill seg[4] transformed t;
  fill seg[3] transformed t;
endchar;
beginchar("3",7pt#,10pt#,0);
  pickup normalpen;
  fill seg[0] transformed t; fill seg[1] transformed t;
  fill seg[6] transformed t; fill seg[2] transformed t;
  fill seg[3] transformed t;
endchar;
beginchar("4",7pt#,10pt#,0);
  pickup normalpen;
  fill seg[5] transformed t; fill seg[6] transformed t;
  fill seg[1] transformed t; fill seg[2] transformed t;
endchar;
beginchar("5",7pt#,10pt#,0);
  pickup normalpen;
  fill seg[0] transformed t; fill seg[5] transformed t;
  fill seg[6] transformed t; fill seg[2] transformed t;
  fill seg[3] transformed t;
endchar;
beginchar("6",7pt#,10pt#,0);
  pickup normalpen;
  fill seg[0] transformed t; fill seg[5] transformed t;
  fill seg[4] transformed t; fill seg[3] transformed t;
  fill seg[2] transformed t; fill seg[6] transformed t;
endchar;
beginchar("7",7pt#,10pt#,0);
  pickup normalpen;
  fill seg[5] transformed t; fill seg[0] transformed t;
  fill seg[1] transformed t; fill seg[2] transformed t;
endchar;
beginchar("8",7pt#,10pt#,0);
  pickup normalpen;
  fill seg[0] transformed t; fill seg[1] transformed t;
  fill seg[2] transformed t; fill seg[3] transformed t;
  fill seg[4] transformed t; fill seg[5] transformed t;
  fill seg[6] transformed t;
endchar;
beginchar("9",7pt#,10pt#,0);
  pickup normalpen;
  fill seg[6] transformed t; fill seg[5] transformed t;
  fill seg[0] transformed t; fill seg[1] transformed t;
  fill seg[2] transformed t; fill seg[3] transformed t;
endchar;
beginchar("-",7pt#,10pt#,0); % minus
  pickup normalpen;
  fill seg[6] transformed t;
endchar;
beginchar(".",0pt#,10pt#,0);
  pickup boldpen; drawdot (-1pt,0) transformed t;
endchar;
beginchar("b",7pt#,10pt#,0);
endchar; % space (width of 1 digit)

def basis_cube =
  pickup normalpen;
  draw unitsquare scaled 10pt;
  pickup boldpen;
enddef;

"Cube1";
beginchar(5,10pt#,10pt#,0);
  basis_cube; drawdot (5pt,5pt);
endchar;

"Cube2";
beginchar(6,10pt#,10pt#,0);
  basis_cube; drawdot (2pt,2pt);  drawdot (8pt,8pt);
endchar;

"Cube3";
beginchar(7,10pt#,10pt#,0);
  basis_cube; drawdot (2pt,8pt);  drawdot (5pt,5pt);  drawdot (8pt,2pt);
endchar;

"Cube4";
beginchar(8,10pt#,10pt#,0);
  basis_cube;
  drawdot (2pt,2pt);  drawdot (2pt,8pt);  drawdot (8pt,2pt);  drawdot (8pt,8pt);
endchar;

"Cube5";
beginchar(9,10pt#,10pt#,0);
  basis_cube; drawdot (2pt,2pt);  drawdot (2pt,8pt); 
  drawdot (8pt,2pt);  drawdot (8pt,8pt); drawdot (5pt,5pt);
endchar;

"Cube6";
beginchar(10,10pt#,10pt#,0);
  basis_cube;
  drawdot (2pt,2pt);  drawdot (2pt,5pt);  drawdot (2pt,8pt);
  drawdot (8pt,2pt);  drawdot (8pt,5pt);  drawdot (8pt,8pt);
endchar;


% dangerous symbols
"Irritant";
beginchar(11,10pt#,10pt#,0);
  pickup normalpen;
  fill (0.5pt,1.5pt)--(1.5pt,0.5pt)--(9.5pt,8.5pt)--(8.5pt,9.5pt)--cycle;
  fill (0.5pt,8.5pt)--(1.5pt,9.5pt)--(9.5pt,1.5pt)--(8.5pt,0.5pt)--cycle;
endchar;

%"Fire";
beginchar(12,10pt#,10pt#,0);
  pickup normalpen;
  fill (1pt,1.5pt)--(9pt,1.5pt)--(9pt,0.5pt)--(1pt,0.5pt)--cycle;
  fill (2.2pt,4.9pt){dir -40}..{dir -45}(3.4pt,2.2pt)..(4.8pt,1.5pt)..
	 {dir 120}(6.8pt,4.4pt){dir -90}..{dir -40}(6pt,3pt){dir 100}..
	 (6.3pt,5pt)..{dir 100}(4pt,7.3pt){dir -100}..{dir -135}(4.5pt,3.3pt){dir 120}..
	 {dir 120}(3pt,5.2pt){dir -80}..{dir -100}(3.7pt,2.8pt){dir 90}..{dir 160}cycle;
  fill (4.7pt,3pt){dir 140}..{dir 110}(3.7pt,6.2pt){dir -40}..{dir -120}cycle;
  fill (3.5pt,5.9pt){dir 80}..{dir 120}(2.2pt,7.5pt){dir -80}..{dir -50}cycle;
  fill (2.5pt,5.2pt){dir 90}..{dir 135}(1.5pt,6.5pt){dir -100}..{dir -45}cycle;
  fill (7.1pt,4.6pt){dir 60}..{dir 160}(6.4pt,6.1pt){dir -60}..{dir -100}cycle;
  fill (5pt,7.6pt){dir 80}..{dir 140}(4pt,8.6pt){dir -100}..{dir -50}cycle;
endchar;

%"Death";
%beginchar(13,10pt#,10pt#,0);
%  pickup pencircle scaled 1linewidth;
%  fill (5pt,9.4pt){dir 180}..{dir -90}(1.8pt,7.5pt)..{dir -60}(2.8p,5.4pt)..
%         {dir 0}(5pt,2.9pt){dir 0}..(7.2pt,5.4pt){dir 60}..
%         (8.2pt,7.5pt){dir90}..{dir 180}cycle;
%  unfill (2.9pt,7.6pt)..(3.3pt,7.1pt)..(4.2pt,8pt)..(3.7pt,8.3pt)..cycle;
%  unfill (7.1pt,7.6pt)..(6.7pt,7.1pt)..(5.8pt,8pt)..(6.3pt,8.3pt)..cycle;
%  % Nase
%  unfill (5pt,6.4pt)..{dir -120}(4.7pt,5.8pt)..{dir 0}(5pt,5.4pt){dir 0}..
%	 (5.3pt,8.3pt){dir 120}..cycle;
%  % Mund
%  unfill (4.1pt,4.7pt){dir -80}..{dir 0}(5pt,4.4pt}{dir 0}..{dir 80}(5.9pt,4.7pt){dir -90}..
%         {dir 180}(5pt,3.8pt){dir 180}..{dir 90}cycle;
%  % Knochen
%  fill (5pt,2.5pt){dir 180}..{dir 135}(3.1pt,3.6pt)..{dir 180}(1.8pt,5.2pt)..
%	 {dir -90}(1.8pt,4.2pt)..{dir -90}(1.2pt,3.8pt)..{dir -30}(2.2pt,3.3pt)..
%	  {dir -90}(3.4pt,2.2pt)..{dir -135}(2.6pt,1.6pt)..{dir 180}(1.2pt,.6pt)..
%	  {dir -90}(0.8pt,1.2pt)..{dir -45}(1.3pt,0.8pt)..{dir 0}(1.7pt,0pt)..
%	  {dir 30}(2.4pt,0.8pt)..{dir 50}(3.8pt,1.4pt)..{dir 0}(5pt,1.9pt)--cycle;
%endchar;

"Radiation";
beginchar(14,10pt#,10pt#,0);
  pickup normalpen;
  fill fullcircle scaled 3pt shifted(5pt,5pt);
  z0=(7pt,5pt); z1=(10pt,5pt);
  z2=z0 rotatedaround((5pt,5pt),60);
  z3=z1 rotatedaround((5pt,5pt),60);
  path p; p := z0--z1{dir 90}..{dir 150}z3--z2{dir -30}..{dir -90}cycle;
  fill p rotatedaround((5pt,5pt),60);
  fill p rotatedaround((5pt,5pt),180);
  fill p rotatedaround((5pt,5pt),300);
endchar;

% telephone
beginchar(40,15pt#,10pt#,0);
  pickup normalpen;
  numeric x[], y[];
  z0=(1.8pt,0); z1=(1.8pt,2.25pt); z2=(w/2,3.9pt);
  z3=(w-1.8pt,2.25pt); z4=(w-1.8pt,0);
  fill z0--z1..z2..z3--z4--cycle;
  % Hoerer
  z5=(0.3pt,3.3pt); z6=(3.3pt,3.3pt); z7=(3.3pt,4.2pt);
  z8=(7.5pt,4.95pt);
  z9=(w-3.3pt,4.2pt); z10=(w-3.3pt,3.3pt); z11=(w-0.3pt,3.3pt);
  z12=(w-0.3pt,4.2pt);
  z13=(7.5pt,5.7pt);
  z14=(0.3pt,4.2pt);
  fill z5--z6--z7..z8..z9--z10--z11--z12..z13..z14--cycle;
  % keyboard
  unfill fullcircle xscaled 4.5pt yscaled 2.4pt shifted(7.5pt,2.25pt);
endchar;

% up arrow symbolizing spin +1/2
beginchar(41,5pt#,10pt#,0);
  pickup normalpen;
  draw (2.5pt,2pt)--(2.5pt,8pt);
  draw (1pt,6pt)--(2.5pt,8pt)--(4pt,6pt);
endchar;

% down arrow symbolizing spin -1/2
beginchar(42,10pt#,10pt#,0);
  pickup normalpen;
  draw (7.5pt,2pt)--(7.5pt,8pt);
  draw (6pt,4pt)--(7.5pt,2pt)--(9pt,4pt);
endchar;

% bar (one stroke for "1")
beginchar(58,2pt#,10pt#,0);
  pickup normalpen;
  numeric x[], y[]; path p;
  lft z0=(0,0); lft z1=(0,8pt); p := z0--z1;
  draw p transformed t;
endchar;
% bar group (five strokes for "5")
beginchar(59,10pt#,10pt#,0);
  pickup normalpen;
  path p; p:=(0,0)--(0,8pt);
  draw p shifted(1pt,0) transformed t; draw p shifted(3pt,0) transformed t;
  draw p shifted(5pt,0) transformed t; draw p shifted(7pt,0) transformed t;
  path p; p := (0,2pt)--(8pt,6pt);
  draw p transformed t;
endchar;


%
% electronic symbols
%
%
% first, some symbols for pulse/clock diagrams
%
"RaisingEdge";
beginchar(32,8pt#,6pt#,0);
  pickup normalpen;
  draw (0pt,0pt)--(4pt,0pt)--(4pt,6pt)--(8pt,6pt);
endchar;

"FallingEdge";
beginchar(33,8pt#,6pt#,0);
  pickup normalpen;
  draw (0pt,6pt)--(4pt,6pt)--(4pt,0pt)--(8pt,0pt);
endchar;

"ShortPulseHigh";
beginchar(34,10pt#,6pt#,0);
  pickup normalpen;
  draw (0pt,0pt)--(4pt,0pt)--(4pt,6pt)--(6pt,6pt)--(6pt,0pt)--(10pt,0pt);
endchar;

"ShortPulseLow";
beginchar(35,10pt#,6pt#,0);
  pickup normalpen;
  draw (0pt,6pt)--(4pt,6pt)--(4pt,0pt)--(6pt,0pt)--(6pt,6pt)--(10pt,6pt);
endchar;

"PulseHigh";
beginchar(36,14pt#,6pt#,0);
  pickup normalpen;
  draw (0pt,0pt)--(4pt,0pt)--(4pt,6pt)--(10pt,6pt)--(10pt,0pt)--(14pt,0pt);
endchar;

"PulseLow";
beginchar(37,14pt#,6pt#,0);
  pickup normalpen;
  draw (0pt,6pt)--(4pt,6pt)--(4pt,0pt)--(10pt,0pt)--(10pt,6pt)--(14pt,6pt);
endchar;

"LongPulseHigh";
beginchar(38,18pt#,6pt#,0);
  pickup normalpen;
  draw (0pt,0pt)--(4pt,0pt)--(4pt,6pt)--(14pt,6pt)--(14pt,0pt)--(18pt,0pt);
endchar;

"LongPulseLow";
beginchar(39,18pt#,6pt#,0);
  pickup normalpen;
  draw (0pt,6pt)--(4pt,6pt)--(4pt,0pt)--(14pt,0pt)--(14pt,6pt)--(18pt,6pt);
endchar;

%
% constructing pulse diagrams out of basic characters
%
"RaiseFall";
beginchar("|",0pt#,10pt#,0); 
  pickup normalpen; draw (0pt,0pt)--(0pt,10pt);
endchar;

"LowLineShort";
beginchar("l",5pt#,10pt#,0);
  pickup normalpen; draw (0pt,0pt)--(5pt,0pt);
endchar;

"MiddleLineShort";
beginchar("m",5pt#,10pt#,0);
  pickup normalpen; draw (0pt,5pt)--(5pt,5pt);
endchar;

"DoubleLineShort";
beginchar("d",5pt#,10pt#,0);
  pickup normalpen; draw (0pt,0pt)--(5pt,0pt); draw (0pt,10pt)--(5pt,10pt);
endchar;

"HighLineShort";
beginchar("h",5pt#,10pt#,0);
  pickup normalpen; draw (0pt,10pt)--(5pt,10pt);
endchar;

"LowLineLong";
beginchar("L",10pt#,10pt#,0);
  pickup normalpen; draw (0pt,0pt)--(10pt,0pt);
endchar;

"MiddleLineLong";
beginchar("M",10pt#,10pt#,0);
  pickup normalpen; draw (0pt,5pt)--(10pt,5pt);
endchar;

"DoubleLineLong";
beginchar("D",10pt#,10pt#,0);
  pickup normalpen; draw (0pt,0pt)--(10pt,0pt); draw (0pt,10pt)--(10pt,10pt);
endchar;

"HighLineLong";
beginchar("H",10pt#,10pt#,0);
  pickup normalpen; draw (0pt,10pt)--(10pt,10pt);
endchar;

"Opening";
beginchar("<",5pt#,10pt#,0);
  pickup normalpen; draw (w,h)--(0,.5h)--(w,0);
endchar;

"Closing";
beginchar(">",5pt#,10pt#,0);
  pickup normalpen; draw (0,h)--(w,.5h)--(0,0);
endchar;

"LongOpening"; % <<
beginchar(61,10pt#,10pt#,0);
  pickup normalpen; draw (w,h)--(0,.5h)--(w,0);
endchar;

"LongClosing"; % >>
beginchar(63,10pt#,10pt#,0);
  pickup normalpen; draw (0,h)--(w,.5h)--(0,0);
endchar;

ligtable "l":
	"l" =: "L",
	"h" |=:| "|",
	"H" |=:| "|";
ligtable "h":
	"h" =: "H",
	"l" |=:| "|",
	"L" |=:| "|";
ligtable "L":
	"h" |=:| "|",
	"H" |=:| "|";
ligtable "H":
	"l" |=:| "|",
	"L" |=:| "|";
ligtable "<":
	"<" =: 61;
ligtable ">":
	">" =: 63;

%
% alpine symbols
%
"SummitSign";
beginchar(16,8pt#,9pt#,0);
  pickup boldpen;
  draw (4pt,1pt)--(4pt,8pt);  draw (1pt,6pt)--(7pt,6pt);
endchar;

"StoneMan";
beginchar(17,6pt#,8pt#,0);
  pickup normalpen;
  fill (0pt,1pt)--(5pt,1pt)--(2.5pt,8pt)--cycle;
endchar;

"Hut";
beginchar(18,8pt#,9pt#,0);
  pickup normalpen;
  draw (1pt,5pt)--(1pt,1pt)--(7pt,1pt)--(7pt,5pt)--
    (8pt,5pt)--(4pt,9pt)--(0pt,5pt)--cycle;
endchar;

"FilledHut";
beginchar(19,8pt#,9pt#,0);
  pickup normalpen;
  fill (1pt,5pt)--(1pt,1pt)--(7pt,1pt)--(7pt,5pt)--
    (8pt,5pt)--(4pt,9pt)--(0pt,5pt)--cycle;
endchar;

"Summit";
beginchar(20,10pt#,10pt#,0);
  pickup normalpen;
  fill (-0.5pt,-0.5pt)--(0.5pt,-0.5pt)--(0pt,0.5pt)--cycle 
    scaled 10 shifted(5pt,5pt);
endchar;

"Mountain";
beginchar(21,10pt#,0pt#,0);
  pickup normalpen;
  fill (0pt,0pt)--(10pt,0pt)--(7pt,5pt)--cycle;
  fill (0pt,0pt)--(3pt,8pt)--(7pt,0pt)--cycle;
endchar;

"IceMountain";
beginchar(22,10pt#,0pt#,0);
  pickup normalpen;
  fill (0pt,0pt)--(10pt,0pt)--(7pt,5pt)--cycle;
  draw (0pt,0pt)--(3pt,8pt)--(7pt,0pt)--cycle;
endchar;

"Mountain2";
beginchar(23,10pt#,0pt#,0);
  pickup normalpen;
  fill (0pt,0pt)--(2pt,6.5pt)--(3.4pt,3.3pt)--(5.6pt,4.3pt)--
       (6.5pt,3pt)--(7.2pt,3.8pt)--(10pt,0pt)--cycle;
endchar;

"IceMountain2";
beginchar(24,10pt#,0pt#,0);
  pickup normalpen;
  fill (0pt,0pt)--(2pt,6.5pt)--(3.4pt,3.3pt)--(5.6pt,4.3pt)--
       (6.5pt,3pt)--(7.2pt,3.8pt)--(10pt,0pt)--cycle;
  unfill (0.6pt,1.6pt)--(1.9pt,6.1pt)--(1.9pt,3.9pt)--(3.2pt,2.9pt)--
	 (5.6pt,4.1pt)--(5.2pt,3.4pt)--(6.2pt,3.1pt)--(4.0pt,2.1pt)--cycle;
  unfill (3.5pt,1.2pt)--(5.9pt,2.7pt)--(7.2pt,3.6pt)--(6.9pt,1.7pt)--cycle;
endchar;

"Vermessung";
beginchar(25,8pt#,8pt#,0);
  pickup normalpen;
  draw (0pt,0pt)--(8pt,0pt)--(4pt,8pt)--cycle;
  pickup boldpen;
  drawdot (4pt,3pt);
endchar;

"Joch";
beginchar(26,6pt#,8pt#,0);
  pickup normalpen;
  fill (0pt,0pt)--(2pt,2pt)--(2pt,6pt)--(0pt,8pt)--
		  (1pt,6pt)--(1pt,2pt)--cycle;
  fill (6pt,0pt)--(4pt,2pt)--(4pt,6pt)--(6pt,8pt)--
		  (5pt,6pt)--(5pt,2pt)--cycle;
endchar;

"Fahne";
beginchar(27,10pt#,10pt#,0);
  pickup normalpen;
  draw (3pt,0pt)--(3pt,10pt);
  fill (3pt,10pt)--(0pt,8pt)--(3pt,6pt)--cycle;
endchar;

"varFahne";
beginchar(29,10pt#,10pt#,0);
  pickup normalpen;
  draw (3pt,0pt)--(3pt,10pt);
  fill (3pt,10pt)--(0pt,10pt)--(0pt,7pt)--(3pt,7pt)--cycle;
endchar;

"Zelt";
beginchar(28,10pt#,10pt#,0);
  z0 = (0pt,0pt);
  z1 = (10pt,0pt);
  z2 = (5pt,7pt);
  pickup normalpen;
  fill z0--z1--z2--cycle;
  draw 1.3[z0,z2]--z0--z1--1.3[z1,z2];
  unfill (3pt,0pt)--(7pt,0pt)--(5pt,3pt)--cycle;
endchar;

"HalfFilledHut";
beginchar(31,8pt#,9pt#,0);
  pickup normalpen;
  draw (1pt,5pt)--(1pt,1pt)--(7pt,1pt)--(7pt,5pt)--
    (8pt,5pt)--(4pt,9pt)--(0pt,5pt)--cycle;
  fill (1pt,1pt)--(7pt,1pt)--(7pt,5pt)--cycle;
endchar;

"WhiteSummit";
beginchar(30,10pt#,10pt#,0);
  pickup normalpen;
  path p; 
  p:= (-0.5pt,-0.5pt)--(0.5pt,-0.5pt)--(0pt,0.5pt)--cycle;
  draw p scaled 10 shifted(5pt,5pt);
endchar;

end.

%%%%%%%%%%%%%%%%%% end of ifsym.gen %%%%%%%%%%%%%%%%%%%%%%%
