%% %% This is file `extras.mf', %% generated with the docstrip utility. %% %% The original source files were: %% %% universal.dtx (with options: `extras') %% %% Copyright (C) 1997 Christian Holm. %% %% This file is NOT the source for universal, because almost all %% comments have been stripped from it. It is NOT the preferred %% form of universal for making modifications to it. %% %% Therefore you can NOT redistribute and/or modify THIS file. %% You can however redistribute the complete source (universal.dtx %% and universal.ins) and/or modify it under the terms of the GNU %% General Public License as published by the Free Software %% Foundation; either version 2, or (at your option) any later %% version. %% %% The universal font and 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. See the GNU General Public License for more details. %% %% You should have received a copy of the GNU General Public %% License along with this program; if not, write to the %% Free Software Foundation, Inc., %% 675 Mass Ave, Cambridge, %% MA 02139, USA. %% %% See the file universal.dtx for further comments and documentation. %% picture blackpic; bauhausextra(hex"00","bauplus")%\bauplus z1 = (0,0); z2 = (0,h); z3 = (wi,h); z4 = (wi,0); fill z1--z2--z3--z4--cycle; blackpic := currentpicture; inn=.9wi; sp=.05wi; z5 = (1/3inn+sp,h-sp); z6 = (.5(wi-sp),y5); z7 = (x6,.5(h+.sp)); z8 = (x5,y7); path square ; square = z5--z6--z7--z8--cycle; unfill square; unfill (square rotatedaround((.5wi,.5h),90)); unfill (square rotatedaround((.5wi,.5h),180)); unfill (square rotatedaround((.5wi,.5h),270)); penlabels(1,2,3,4,5,6,7,8); endchar; bauhausextra(hex"01","baudash")%\baudash currentpicture := currentpicture + blackpic; innn=.9wi; z5 = (sp,.5(h+sp)); z6 = (sp,1/6innn+.5h); z7 = (.5(wi-sp),y6); z8 = (x7,.y5); path square[] ; square1 = z5--z6--z7--z8--cycle; square2 = (square1 reflectedabout((.5wi,0),(.5wi,h))); unfill square1; unfill (square1 reflectedabout((0,.5h),(wi,.5h))); unfill square2 ; unfill (square2 reflectedabout((0,.5h),(wi,.5h))); penlabels(1,2,3,4,5,6,7,8); endchar; bauhausextra(hex"02","bauequal")%\bauequal currentpicture := currentpicture + blackpic; z1 = (sp,.5(h+sp)); z2 = (sp,1/6innn+.5h); z3 = (.5(wi-sp),y2); z4 = (x3,.y1); z5 = (sp,sp); z6 = (sp,1/6innn+sp); z7 = (.5(wi-sp),y6); z8 = (x7,.y5); path square[] ; square1 = z1--z2--z3--z4--cycle; square2 = (square1 reflectedabout((.5wi,0),(.5wi,h))); square3 = z5--z6--z7--z8--cycle; square4 = (square3 reflectedabout((.5wi,0),(.5wi,h))); unfill square1; unfill square2; unfill square3 ; unfill square4; penlabels(1,2,3,4,5,6,7,8); endchar; bauhausextra(hex"03","bautriangle")%\bautriangle z1 = (0,0); z2 = (.5wi,h); z3 = (wi,0); fill z1--z2--z3--cycle; penlabels(1,2,3); endchar; bauhausextra(hex"04","baucircle")%\baucircle currentpicture := currentpicture + blackpic; pickup pencircle scaled 1/4wi; top z1 = (.5wi,h); rt z2 = (wi,.5h); bot z3 = (.5wi,0); lft z4 = (0,.5h); undraw z1..z2..z3..z4..cycle; penlabels(1,2,3,4); endchar; bauhausextra(hex"05","baucross")%\baucross bot lft z1 = (0,0) ; top lft z2 = (0,h) ; top rt z3 = (wi,h) ; bot rt z4 = (wi,0) ; draw z1--z2--z3--z4--cycle; z5 = (0,1/4h) ; z6 = (1/4wi,.5h) ; z7 = (0,3/4h) ; z8 = (1/4wi,h) ; z9 = (.5wi,3/4h) ; z10 = (3/4wi,h) ; z11 = (wi,3/4h) ; z12 = (3/4wi,.5h) ; z13 = (wi,1/4h) ; z14 = (3/4wi,0) ; z15 = (.5wi,1/4h) ; z16 = (1/4wi,0) ; fill z1--z5--z6--z7--z2--z8--z9--z10--z3--z11--z12-- z13--z4--z14--z15--z16--cycle; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); endchar; bauhausextra(hex"06","bauwindow")%\bauwindow bot lft z1 = (0,0) ; top lft z2 = (0,h) ; top rt z3 = (wi,h) ; bot rt z4 = (wi,0) ; draw z1--z2--z3--z4--cycle; top z5 = (.5wi,h) ; bot z6 = (.5wi,0) ; lft z7 = (0,.5h) ; rt z8 = (wi,.5h) ; draw z5--z6; draw z7--z8; penlabels(1,2,3,4,5,6,7,8); endchar; bauhausextra(hex"07","bauhole")%\bauhole top z1 = (.5wi,h); rt z2 = (wi,.5h); bot z3 = (x1,0); lft z4 = (0,y2); draw z1..z2..z3..z4..cycle; z5 = (.5wi,9/10h); z6 = (9/10wi,.5h); z7 = (x5,1/10h); z8 = (1/10wi,y6); fill z5..z6..z7..z8..cycle; penlabels(1,2,3,4,5,6,7,8); endchar; bauhausextra(hex"08","baueclipse")%\baueclipse pickup pencircle scaled p_thick; top z1 = (.5wi,h); rt z2 = (wi,.5h); bot z3 = (x1,0); lft z4 = (0,y2); draw z1..z2..z3..z4..cycle; delta = .05wi; z5 = bot z1 - (0,delta); z6 = lft z2 - (delta,0); z7 = top z3 + (0,.9delta); z8 = rt z4 + (.9delta,0); fill z5..z6..z7..z8..cycle; penlabels(1,2,3,4,5,6,7,8); endchar; bauhausextra(hex"09","bauquarter")%\bauquarter z1 = (.5wi,h); z2 = (.5wi,.5h); z3 = (wi,y2); z4 = (x1,0); z5 = (0,y2); top z7 = z1; rt z8 = z3; fill z4{left}..z5{up}..z1--z2--z3..cycle; draw z7{right}..z8{down}; penlabels(1,2,3,4,5,7,8); endchar; bauhausextra(hex"0A","bauarrow")%\bauarrow top z1 = (.5wi,h); rt z2 = (wi,.5h); bot z3 = (x1,0); lft z4 = (0,y2); draw z1..z2..z3..z4..cycle; z5 = (3/10wi,6/10h); z6 = (6/10wi,y5); z7 = (x6,y5+1/20wi); z8 = (x6+3/20wi,.5h); z9 = (x6,4/10h-1/20h); z10 = (x6,4/10h); z11 = (x5,y10); fill z5--z6--z7--z8--z9--z10--z11--cycle; penlabels(1,2,3,4,5,6,7,8,9,10,11); endchar; bauhausextra(hex"0B","bauwhitearrow")%\bauwhitearrow top z1 = (.5wi,h); rt z2 = (wi,.5h); bot z3 = (x1,0); lft z4 = (0,y2); draw z1..z2..z3..z4..cycle; z5 = (3/10wi,6/10h); z6 = (6/10wi,y5); z7 = (x6,y5+1/20wi); z8 = (x6+3/20wi,.5h); z9 = (x6,4/10h-1/20h); z10 = (x6,4/10h); z11 = (x5,y10); draw z5--z6--z7--z8--z9--z10--z11--cycle; penlabels(1,2,3,4,5,6,7,8,9,10,11); endchar; bauhausextra(hex"0C","bauhead")%\bauhead % Vertical variables a1 = 0.702h ; a2 = 0.561h ; a3 = 0.491h ; a4 = 0.351h ; a5 = 0.272h ; a6 = 0.140h ; % horizontal variables b1 = 0.202wi ; b2 = 0.307wi ; b3 = 0.412wi ; b4 = 0.447wi ; b5 = 0.465wi ; b6 = 0.518wi ; b7 = 0.588wi ; b8 = 0.623wi ; % eye pickup pensquare scaled .009wi ; top lft z1 = (b1,a1) ; top rt z2 = (b2,a1) ; draw z1--z2; bot rt z3 = (b4,a3) ; top rt z4 = (b4,a2) ; draw z3--z4; z5 = (b2,a1) ; z6 = (b4,a1) ; z7 = (b4,a2) ; z8 = (b2,a2) ; fill z5--z6--z7--z8--cycle; % nostril lft bot z9 = (b4,a4) ; rt bot z10 = (b7,a4) ; draw z9--z10 ; % chin lft bot z11 = (b2,a6) ; rt bot z12 = (b6,a6) ; draw z11--z12; % lips pickup pensquare scaled 0.035wi ; lft top z13 = (b5,a5) ; rt top z14 = (b6,a5) ; draw z13--z14; % bottom of face z15 = (b6,a4) ; z16 = (b7,a4) ; z17 = (b7,a6) ; z18 = (b6,a6) ; fill z15--z16--z17--z18--cycle ; % save the common stuff picture commonface ; commonface := currentpicture ; % head with circle path noselft, nosert, necklft, neckrt ; path headcircle , parttop, partbot; z19 = (b7,a4) ; z20 = (b7,h) ; noselft = z19--z20 ; z21 = (b8,h) ; z22 = (b8,a4) ; nosert = z21--z22 ; z23 = (b3,a6) ; z24 = (b3,0) ; necklft = z23--z24 ; z25 = (b6,0) ; z26 = (b6,a6) ; neckrt = z25--z26 ; % circle pickup pencircle scaled .009wi; top z27 = (.5wi,h) ; rt z28 = (wi,.5h) ; bot z29 = (.5wi,0) ; lft z30 = (0,.5h) ; headcircle := z27..z28..z29..z30..cycle ; draw headcircle ; % nose/forhead z31 = noselft intersectiontimes headcircle ; z32 = nosert intersectiontimes headcircle ; parttop = subpath(y31,y32) of headcircle ; fill z19--parttop--z22--cycle ; % nose/forhead z33 = neckrt intersectiontimes headcircle ; z34 = necklft intersectiontimes headcircle ; partbot = subpath(y34,y33) of headcircle ; fill z23--partbot--z26--cycle ; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20) ; penlabels(21,22,23,24,25,26,27,28,29,30); endchar; bauhausextra(hex"0D","bauface");%\bauface % head without cicle path noselft, nosert, necklft, neckrt ; % nose/forhead z19 = (b7,a4) ; z20 = (b7,h) ; noselft = z19--z20 ; z21 = (b8,h) ; z22 = (b8,a4) ; nosert = z21--z22 ; fill noselft--nosert--cycle; % neck z23 = (b3,a6) ; z24 = (b3,0) ; necklft = z23--z24 ; z25 = (b6,0) ; z26 = (b6,a6) ; neckrt = z25--z26 ; fill necklft--neckrt--cycle; currentpicture := currentpicture + commonface ; endchar; beginchar(hex"0E",5/7l_height#+f_space#,l_height#,p_depth#); %\bauquestion "The bauhaus symbol bauquestion"; pickup pencircle scaled 1/10p_thick ; spp=.01wi; wi#:=2/3l_height#; define_pixels(wi); z1 = (0,0) ; z2 = (0,h) ; z3 = (wi,h) ; z4 = (wi,0) ; fill z1--z2--z3--z4--cycle; z5 = (1/2(.5wi-spp)+spp,spp); z6 = (.5wi,y5) ; z7 = (.5wi,x5); z8 = (x5,x5); unfill z5--z6--z7--z8--cycle; z9 = (x6+3/2(x5-spp),y7); z10 = (x9,y7+x9-x6) ; z11 = (x6,y10) ; unfill z7--z9--z10--z11--cycle; z12 = (x6,y11+.5(wi-spp)) ; z13 = (spp,y12) ; z14 = (spp,y10) ; unfill z11--z12--z13--z14--cycle ; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14); endchar; bauhausextra(hex"84","bauforms");%\bauforms pickup pencircle scaled 1/32 wi; top z1 = (.5wi,h); rt z2 = (wi,.5h); bot z3 = (.5wi,0); lft z4 = (0,.5h); draw z1..z2..z3..z4..cycle; for phi := 20 step 0.1 until 40 : a1 := 31/32wi*cosd(phi); a2 := (31/32wi*(cosd(phi)**2))/(cosd(phi)+sind(phi)); a3 := a1*cosd(phi); a4 := a1*sind(phi); a5 := a2*cosd(phi); a6 := a2*sind(phi); a7 := a2*(cosd(phi)+2*sind(phi)); a8 := angle(a7-31wi/64,a6); a9 := 31wi/64*(1+cosd(a8)); a10 := 31wi/64*sind(a8); if abs(a7 - a9)<.1 : exitif abs(a6 - a10)<.1 ; fi; endfor; pickup pencircle scaled 1/64wi; lft z5 = (1/32wi,.5h); top z6 = (a3,a4)+(0,.5h); bot z7 = (a3,.5h-a4); draw z5--z6--z7--z5; pickup pencircle scaled 1/24wi; top lft z8 = (a5,a6)+(0,.5h); top rt z9 = (a7,a6)+(0,.5h); bot rt z10 = (a7,.5h-a6); bot lft z11 = (a5,.5h-a6); z12 = (a9,a10)+(0,.5h); draw z8--z9--z10--z11--z8; penlabels(1,2,3,4,5,6,7,8,9,10,11,12); endchar; bauhausextra(hex"85","baupunct");%\baupunct z1 = (.5wi,h); z2 = (wi,.5h); z3 = (.5wi,0); z4 = (0,.5h); fill z1..z2..z3..z4..cycle; penlabels(1,2,3,4); endchar; bauhausextra(hex"86","bausquare");%\bausquare z1 = (0,h); z2 = (wi,h); z3 = (wi,0); z4 = (0,0); fill z1--z2--z3--z4--cycle; penlabels(1,2,3,4); endchar; \endinput %% %% End of file `extras.mf'.