% TiogaUtils.JaM
% last written by Bill Paxton, January 27, 1983 2:37 pm

(nullString) 0 .string .cvlit .def

(StyleError) {ReportStyleError .clrstk .stop} .cvx .def

.sysdict (TestPrintStyle) {
	TiogaStylesDictionary .begin
	OpenPrintStyle } .cvx .put

.sysdict (TestScreenStyle) {
	TiogaStylesDictionary .begin
	OpenScreenStyle } .cvx .put

(reset) {ResetTestStyle} .cvx .def % for use with TestPrintStyle/TestScreenStyle and ss

(prin1) { .cvs .print } .cvx .def

(showReal) { .dup 0 .eq {.pop .pop} {prin1 prin1 "\n" .print} .ifelse .cvx .exec } .cvx .def

(ss) {
	the family "\"" prin1 prin1 "\" font family" =
	" pt font size" the size showReal
	the face prin1 " face" =
	the lineFormatting prin1 " lineFormatting" =
	" pt leftIndent" the leftIndent showReal
	" pt rightIndent" the rightIndent showReal
	" pt firstIndent" the firstIndent showReal
	" pt restIndent" the restIndent showReal
	" pt topIndent" the topIndent showReal
	" pt bottomIndent" the bottomIndent showReal
	" pt leading" the leading showReal
	" pt leadingStretch" the leadingStretch showReal
	" pt leadingShrink" the leadingShrink showReal
	" pt topLeading" the topLeading showReal
	" pt topLeadingStretch" the topLeadingStretch showReal
	" pt topLeadingShrink" the topLeadingShrink showReal
	" pt bottomLeading" the bottomLeading showReal
	" pt bottomLeadingStretch" the bottomLeadingStretch showReal
	" pt bottomLeadingShrink" the bottomLeadingShrink showReal
	" sp tabStops" the tabStops showReal
	the pathType prin1 " pathType" =
	" pt lineWeight" the lineWeight showReal
	" areaHue" the areaHue showReal
	" areaSaturation" the areaSaturation showReal
	" areaBrightness" the areaBrightness showReal
	" outlineHue" the outlineHue showReal
	" outlineSaturation" the outlineSaturation showReal
	" outlineBrightness" the outlineBrightness showReal
	" textHue" the textHue showReal
	" textSaturation" the textSaturation showReal
	" textBrightness" the textBrightness showReal
	" textRotation" the textRotation showReal
	" in pageWidth" the pageWidth inches showReal
	" in pageLength" the pageLength inches showReal
	" in leftMargin" the leftMargin inches showReal
	" in rightMargin" the rightMargin inches showReal
	" in topMargin" the topMargin inches showReal
	" in bottomMargin" the bottomMargin inches showReal
	" in headerMargin" the headerMargin inches showReal
	" in footerMargin" the footerMargin inches showReal
	" in bindingMargin" the bindingMargin inches showReal
	" in lineLength" the lineLength inches showReal
	" pageBreakPenalty" the pageBreakPenalty showReal
	" pageBreakAfterFirstLinePenalty" the pageBreakAfterFirstLinePenalty showReal
	" pageBreakAfterLastLinePenalty" the pageBreakAfterLastLinePenalty showReal
	" pageBreakBeforeFirstLinePenalty" the pageBreakBeforeFirstLinePenalty showReal
	" pageBreakBeforeLastLinePenalty" the pageBreakBeforeLastLinePenalty showReal
	} .cvx .def

(inches) { 1.0 in .div } .cvx .def

(raggedRight) { flushLeft } .cvx .def
(raggedLeft) { flushRight } .cvx .def

(flush.left) { flushLeft } .cvx .def
(flush.right) { flushRight } .cvx .def
(line.formatting) { lineFormatting } .cvx .def
(left.indent) { leftIndent } .cvx .def
(right.indent) { rightIndent } .cvx .def
(first.indent) { firstIndent } .cvx .def
(rest.indent) { restIndent } .cvx .def
(top.indent) { topIndent } .cvx .def
(bottom.indent) { bottomIndent } .cvx .def
(leading.stretch) { leadingStretch } .cvx .def
(leading.shrink) { leadingShrink } .cvx .def
(leading.glue) { leadingGlue } .cvx .def
(top.leading) { topLeading } .cvx .def
(top.leading.stretch) { topLeadingStretch } .cvx .def
(top.leading.shrink) { topLeadingShrink } .cvx .def
(top.leading.glue) { topLeadingGlue } .cvx .def
(bottom.leading) { bottomLeading } .cvx .def
(bottom.leading.stretch) { bottomLeadingStretch } .cvx .def
(bottom.leading.shrink) { bottomLeadingShrink } .cvx .def
(bottom.leading.glue) { bottomLeadingGlue } .cvx .def
(vshift) { vShift } .cvx .def
(tab.stops) { tabStops } .cvx .def
(line.weight) { lineWeight } .cvx .def
(path.type) { pathType } .cvx .def
(area.hue) { areaHue } .cvx .def
(area.saturation) { areaSaturation } .cvx .def
(area.brightness) { areaBrightness } .cvx .def
(area.color) { areaColor } .cvx .def
(outline.hue) { outlineHue } .cvx .def
(outline.saturation) { outlineSaturation } .cvx .def
(outline.brightness) { outlineBrightness } .cvx .def
(outline.color) { outlineColor } .cvx .def
(text.hue) { textHue } .cvx .def
(text.saturation) { textSaturation } .cvx .def
(text.brightness) { textBrightness } .cvx .def
(text.color) { textColor } .cvx .def
(page.break.penalty) { pageBreakPenalty } .cvx .def
(page.break.after.first.line.penalty) { pageBreakAfterFirstLinePenalty } .cvx .def
(page.break.after.last.line.penalty) { pageBreakAfterLastLinePenalty } .cvx .def
(page.break.before.first.line.penalty) { pageBreakBeforeFirstLinePenalty } .cvx .def
(page.break.before.last.line.penalty) { pageBreakBeforeLastLinePenalty } .cvx .def
(is.comment) { isComment } .cvx .def

(.stkundflw)
{"**JaM Style Interpreter Stack Underflow" 1 StyleError } .cvx .def
	
(.undefname)
{"**JaM Style Interpreter Undefined Symbol: " 2 StyleError } .cvx .def
	
(.badname)
{"**JaM Style Interpreter Bad File Name" 1 StyleError}.cvx .def
	
(.typechk)
{"**JaM Style Interpreter Type Error" 1 StyleError}.cvx .def

(.dictfull)
{"**JaM Style Interpreter Dictionary Full" 1 StyleError}.cvx .def
	
(.syntaxerr)
{"**JaM Style Interpreter Syntax Error -- isolated right paren" 1 StyleError}.cvx .def
	
(.execovrflw)
{"**JaM Style Interpreter Exec Overflow" 1 StyleError}.cvx .def
		
(.overflow)
{"**JaM Style Interpreter Numeric Overflow" 1 StyleError}.cvx .def
	
(.stkovrflw)
{"**JaM Style Interpreter Stack Overflow" 1 StyleError}.cvx .def
	
(.rangechk)
{"**JaM Style Interpreter Range Error" 1 StyleError}.cvx .def
	
(.limitchk)
{"**JaM Style Interpreter Limit Error" 1 StyleError}.cvx .def