JUSTIFY:
	dots.needed%=dpl%-ldots%		REM NEEDED TO FILL OUT LINE
	if pitch.factor=1.2 then \SETS ACTUAL DOTS USED!
		dots.needed%=dots.needed%*pitch.factor
	if pitch.factor=.72 then \SETS ACTUAL DOTS USED! PSVALUES.SML USES 10
		dots.needed%=dots.needed%/10	REM CHARS FOR DOTS AS INTEGER!
	if space.place% then \
		dotseach%=dots.needed%/space.place%: \DOTS @ EACH SPACE
		extra.dots%= \
			mod(dots.needed%,space.place%)	REM EXTRA DOTS
	for x%=1 to dotseach%
		graph$=graph$+chr$(0)
	next x%
	last.graph$=graph$			REM SETS LATER GRAPHICS$s
	graph$=graph$+chr$(0)			REM USED IF EXTRA.DOTS%
	just$=""
for x%=1 to len(out$)
	i%=asc(mid$(out$,x%,1))
	if i%=173 then soft.hyphen%=true%
	if i%>127 then i%=i%-128		REM STRIPS HI-BIT FOR TESTING
	if i%=2 then \^B IN TEXT TOGGLES TAB
		if tabbing% then \TAB IS BEING TOGGLED OFF - PRINT IT!
			just$=just$+chr$(27)+chr$(9)+chr$(tab%): \SET @WRAPTIME
			tabbing%=false%:tab%=false% \TAB% RESETS HERE!!!!
		ELSE tabbing%=x%	REM NOTES THAT TABBING HAS BEGUN
	if tabbing% then goto GET.NEXT.CHAR	REM DON'T PRINT TAB VALUES
	if i%=20 then \^T IN TEXT - TOGGLES SUPERSCRIPT
		if superscript% then \
			just$=just$+chr$(27)+chr$(85): \ESC U - OFF
			superscript%=false% \
		ELSE \
			just$=just$+chr$(27)+chr$(68): \ESC D - ON
			superscript%=true%
	if i%=21 then \^U IN TEXT=ROLL UP ONE LINE
		if lin% then \WILL NOT ROLL UP ABOVE HEADER!!!
			just$=just$+chr$(27)+chr$(10): \ESC LF - UP 1 LINE
			lin%=lin%-1
	if i%=22 then \^V IN TEXT=SUBSCRIPT TOGGLE
		if subscript% then \
			just$=just$+chr$(27)+chr$(68): \ESC D - OFF
			subscript%=false% \
		ELSE \
			just$=just$+chr$(27)+chr$(85): \ESC U - ON
			subscript%=true%
	if i%=3 then \^C IN TEXT FOR PAUSE
		CONSOLE:print just$:call panic:LPRINTER
	if i%=24 then \^X IN TEXT=eXpanded print
		if expanded.print% then \
			just$=just$+chr$(20): \CANCELS EXPANDED PRINT
			expanded.print%=false% \ALSO CANCELLED BY CR!!
		ELSE \
			just$=just$+chr$(14): \EXPANDED PRINT
			expanded.print%=true%
	if i%=25 then \^Y IN TEXT=SHADOW PRINTING (81=ON; 82=0FF)
		if shadow.printing% then \
			just$=just$+chr$(27)+chr$(82): \
			shadow.printing%=false% \
		ELSE \
			just$=just$+chr$(27)+chr$(81): \
			shadow.printing%=true%
	if i%=32 then space.found%=space.found%+1: \
		if space.found%>extra.dots% then \
			inserted.len%=dotseach%: \
			graphics$=last.graph$ \
		ELSE \
			inserted.len%=dotseach%+1: \
			graphics$=graph$
	if i%=32 then \
		if justify% then \LINE NEEDS JUSTIFICATION
			just$=just$+" "+ \
				chr$(27)+chr$(106)+chr$(inserted.len%)+ \
				chr$(0)+graphics$ \
		ELSE just$=just$+" "
	if i%=45 then \
		if soft.hyphen% then soft.hyphen%=false%:i%=false%: \
			if x%=len(out$) then\LAST CHARACTER IN LINE
				just$=just$+chr$(45): \CHANGE TO HARD HYPHEN
				goto JUSTEXIT
	if i%>32 then \
		just$=just$+chr$(i%)
GET.NEXT.CHAR:
next x%

JUSTEXIT:
	out$=just$
	return
