perm filename TVFONT.DOC[GEM,BGB] blob sn#030958 filedate 1973-03-25 generic text, type T, neo UTF8
00100	SAILON NUMBER XX.			                 XGP SOFTWARE
00200	
00300	
00400	STANFORD ARTIFICIAL INTELLIGENCE LABORATORY                APRIL 1973
00500	OPERATING NOTE NUMBER XX.
00600	
00700	
00800	draft - draft - draft - draft - draft - draft - draft - draft - draft
00900	                  XEROX GRAPHICS PRINTER SOFTWARE.
01000	
01100	
01200	                           Bruce Baumgart
01300	                             Ralph Gorin

01400	                             Robert Mass

01500	                             Tovar Mock
01600	                             Fred Wright
01700	
01800	
01900	
02000	ABSTRACT:
02100	
02200		This operating note is an anthology of documentation
02300	      for the several programs that are relevant to XGP output.
02400	
02500	
02600	CONTENTS:
02700	
02800		XGP HARDWARE INTERFACE	- Panofsky, Quam.
02900		SYSTEM MONITOR UUO  -  Gorin.
03000		COPY COMMAND MODE  -  Gorin, Helliwell.
03100		CAL COMP MODE  -  Wright, Helliwell.
03200		REM's Things.
03300		TVFONT - Baumgart, Mock.
03400		EDFONT - Mock.
03500		CRE - Baumgart.
03600		XAP - Baumgart, Mock.
     

00100	WARNING:
00200	
00300	TVFONT IS STILL EXPERIMENTAL AND MOST LIKELY HAS A LEAST SEVERAL
00400	BUGS IN IT,  KNOWN AND UNKNOWN.   YOU MAY USE IF YOU WISH BUT BE
00500	FOREWARNED. ALTHOUGH I APPRECIATE HEARING ABOUT ANY BUGS YOU MAY
00600	FIND, YOU SHOULD NOT EXPECT ME TO FIX THEM RIGHT AWAY AND PLEASE
00700	DO NOT TELL ME ABOUT THE SAME BUG REPEATEDLY.
00800	
00900	BETTER DOCUMENTATION SHOULD BE AVAILABLE BY THE END OF MARCH.
     

00100	APPENDIX I - TVFONT COMMAND SUMMARY
00200	
00300	A	ASSIGN ASCII CODE TO IMAGE.
00400	B	EXPAND/CONTRACT BY CONSTANT
00500	αB	EXPAND/CONTRACT IN Y DIRECTION
00600	βB	EXPAND/CONTRACT IN X DIRECTION
00700	εB	SLANT CHARACTER (1/2 SLANTS TO 45 DEGREE ANGLE)
00800	C	MAKE THRESHOLD CUT.
00900	D	ENABLE/DISABLE DELETION OF BABY POLYGONS (DEFAULT IS OFF).
01000	F	LOCATE NEAREST POINT, εF USE LIGHT PEN
01100	G	LEVEL OF CORRESPONDING CHARACTER CODE
01200	H	HISTOGRAM, "αH" ,"βH" BI-MODAL CUT.
01300	I	INPUT TV PICTURE FROM DISK.
01400	αI	INPUT CRE FILE
01500	K	KILL POLYGON OR VERTEX
01600	L	SHOW FONT IN BITS
01700	M	MOVE POLYGON TO NEXT IMAGE.
01800	αM	MOVE TO NEW IMAGE
01900	βM	MIDPOINT LINE
02000	N	NEXT IMAGE
02100	αN	PREVIOUS IMAGE
02200	βN	REPEAT NEXT IMAGE UNTIL A CHARACTER IS TYPED
02300	εN	REPEAT PREVIOUS IMAGE UNTIL A CHARACTER IS TYPED
02400	O	OUTPUT CAREYE FILE.
02500	αO	OUTPUT CRE FILE
02600	εO	OUTPUT FONT FILE
02700	P	PLOT OUTPUT FILE.
02800	Q	MAKE FONT
02900	αQ	MAKE 1/2 SIZE FONT
03000	R	DISPLAY BIT MATRIX FOR THIS CHARACTER.
03100	αR	ROTATE IMAGE, LEVEL OR POLYGON (ANGLE IN RADIANS)
03200	S	SMOOTH
03300	αS	SMOOTH AND KILL VIDEO INTENSITY CONTOUR
03400	βS	REPEAT 'S' FOR EACH IMAGE
03500	εS	REPEAT 'αS' FOR EACH IMAGE
03600	T	TAKE A TV PICTURE
03700	V	CREATE VERTEX AT CENTER
03800	αV	CREATE NEW VERTEX AT CURRENT VERTEX
03900	βV	CREATE NEW VERTEX IN NEW IMAGE
04000	W	CENTER IN THE WINDOW.
04100	αW	CENTER Y-POSITION ONLY.
04200	βW	CENTER X-POSITION ONLY.
04300	εW	MOVE POINT SPECIFIED BY LIGHT PEN TO CENTER.
04400	X	XTEND MODE COMMANDS
04500	Y	DISPLAY SMOOTHED FORM
04600	βY	DISPLAY VIDEO INTENSITY CONTOUR
04700	αY	DISPLAY BOTH OF ABOVE
04800	εY	DISPLAY VIDEO INTENSITY CONTOUR MUNGED ONTO PIXELS
04900	Z	ZERO DATA BUFFERS.
05000	αZ	RESET LOGICAL CAMERA POSITION
05100	βZ	RESET DISPLAY
     

00100	APPENDIX I   (CONTINUED)
00200	
00300	+	FETCH FILM NODE
00400	α+	FETCH FIRST IMAGE FROM FILM
00500	β+	FETCH FIRST LEVEL FROM FILM
00600	ε+	FETCH FIRST POLYGON FROM FILM
00700	
00800	IF A NODE IS CURRENTLY BEING DISPLAYED, THESE COMMANDS AFFECT THAT NODE,
00900	OTHERWISE THEY AFFECT THE CAMERA (VIEWERS) POSITION. <CONTROL> MULTIPLIES
01000	BY 2, <META> MULTIPLIES BY 4.  
01100	;	MOVE LEFT (←) BY DELTA
01200	:	MOVE RIGHT (→) BY DELTA
01300	(	MOVE UP BY DELTA
01400	)	MOVE DOWN BY DELTA
01500	
01600	THESE COMMANDS AFFECT THE CAMERA (VIEWERS) POSITION.
01700	*	INCREASE MAGNIFICATION BY DELTA
01800	-	DECREASE MAGNIFICATION BY DELTA
01900	
02000	THESE COMMANDS CHANGE NODE BEING DISPLAYED
02100	.	FETCH COUNTER CLOCKWISE NODE IN RING.
02200	,	FETCH CLOCKWISE NODE IN RING.
02300	<	FETCH FATHER OF NODE
02400	>	FETCH SON OF NODE
02500	≤	FETCH ARC [OF POLYGON OR VERTEX]
02600	→	FETCH POLYGON [OF VERTEX]
02700	
02800	EXTENDED COMMANDS
02900	
03000	XEROX	OUTPUT TV IMAGE TO XGP
03100	HELP	DESCRIBE XTENDED FUNTIONS
03200	DDT	INVOKE DDT IF PRESENT, RETURN WITH αP
03300	EXIT	EXIT TO MONITER
03400	ARCWID	SET CONSTANT FOR SMOOTHING
03500	DISPLA	TURN ON DISPLAY
03600	-DISPL	TURN OFF DISPLAY
03700	KILVIC	FLUSH PRE-SMOOTHING LINES
03800	GRID	TURN ON GRID
03900	-GRID	TURN OFF GRID
04000	CAMERA	SELECT CAMERA, "αS" BCLIP, "βS" TCLIP.
04100	KILARC	KILL ARC VECTORS
04200	CENTER	CENTER ALL IMAGES
04300	POPJ	LEAVE TTY LOOP
04400	BABYKI	TOGGLE FLAG WHICH BABY POLYGONS
     

00100	APPENDIX II - NODE FORMATS
00200	
00300	 ________________________________________________________________
00400	|								 |
00500	|       VERTEX/ARC NODE.	POLYGON/REGION NODE.		 |
00600	|								 |
00700	|	0   VERTEX-RING		0   POLYGON-RING.		 |
00800	| 	1   ROW,,COL		1   DAD,,SON  			 |
00900	|	2   TYPE,,RELOC		2   TYPE,,RELOC			 |
01000	|	3    - ,, -		3    - ,, -			 |
01100	|	4   ARC,, -		4   ARC,,NCNT          		 |
01200	|	5    - ,,PGON		5    - ,,PGON			 |
01300	|	6   RT SEG,,LT SEG	6    - ,, -			 |
01400	|________________________________________________________________|
01500	|								 |
01600	|       IMAGE NODE.             LEVEL NODE.			 |
01700	|								 |
01800	|	0   IMAGE-RING		0   LEVEL-RING			 |
01900	| 	1    - ,,SON  		1    - ,,SON 			 |
02000	|	2   TYPE,,RELOC		2   TYPE,,RELOC			 |
02100	|	3    - ,, -		3    - ,, -    			 |
02200	|	4    - ,, -		4    - ,,NCNT 			 |
02300	|	5    - ,, - 		5    - ,, -			 |
02400	|	6    - ,, -		6   NTIME,,PTIME		 |
02500	|________________________________________________________________|
02600	|								 |
02700	|       FILM NODE.              EMPTY NODE.			 |
02800	|								 |
02900	|	0   CORESIZE 		0    - ,,AVAIL			 |
03000	| 	1    - ,,SON  		1    - ,, -			 |
03100	|	2   TYPE,,RELOC		2   TYPE,,RELOC			 |
03200	|	3    - ,,AVAIL  	3    - ,, -    			 |
03300	|	4   BLOCK COUNT		4    - ,, - 			 |
03400	|	5    - ,, - 		5    - ,, -			 |
03500	|	6   NTIME,,PTIME	6   NTIME,,PTIME		 |
03600	|________________________________________________________________|
03700	|								 |
03800	|	SEGMENT NODE.						 |
03900	|	0   SEGMENT RING					 |
04000	|	1    - ,, -						 |
04100	|	2   TYPE,,300003					 |
04200	|	3   LDEL,,RDEL						 |
04300	|	4   LCOL,,RCOL						 |
04400	|	5   LROW,,RROW  					 |
04500	|	6   LT,,RT						 |
04600	|________________________________________________________________|