style.doc June 30, 1982 10:02 am

the <pname> => pushes current parameter value
<value> <pname> => pops value and assigns it to parameter

family => name of current font family, such as "TimesRoman"

style => name of current style

face => { regular, bold, italic, bold+italic }
 { +bold, -bold, +italic, -italic } face to add or remove italic or bold

lineFormatting => { flushLeft flushRight centered justified };
 raggedRight is defined == flushLeft, and raggedLeft == flushRight

for numeric parameters,
 <amount> bigger <pname> => adds amount to parameter value
 <amount> smaller <pname> => substracts amount from parameter value
 <amount> percent <pname> => multiplies value by specified percentage
  i.e., value ← (amount/100)*value
 <amount> percent bigger <pname> => increases value by specified percentage
  same as <100+amount> percent <pname>
 <amount> percent smaller <pname> => decreases value by specified percentage
  same as <100-amount> percent <pname>

size => font size in pts

leftIndent => left indent in pts
rightIndent => right indent in pts
firstIndent
restIndent
topIndent
bottomIndent

leading => line leading size in pts
leadingStretch
leadingShrink
leadingGlue => size stretch shrink for leading

topLeading => top leading size in pts
topLeadingStretch
topLeadingShrink
topLeadingGlue => size stretch shrink for top leading

bottomLeading => bottom leading size in pts
bottomLeadingStretch
bottomLeadingShrink
bottomLeadingGlue => size stretch shrink for bottom leading

tabStops => distance between stops starting from left indent

pathType => { filled, outlined, filled+outlined } -- for graphics

lineWeight => width of graphics lines
textRotation => rotation for graphics text

areaHue => hue for filled graphics areas
areaSaturation => saturation for graphics filled areas
areaBrightness => brightness for graphics filled areas
areaColor => hue, saturation, and brightness for graphics filled areas

outlineHue => hue for graphics outlines
outlineSaturation => saturation for graphics outlines
outlineBrightness => brightness for graphics outlines
outlineColor => hue, saturation, and brightness for graphics outlines

textHue => hue for filled text
textSaturation => saturation for text
textBrightness => brightness for text
textColor => hue, saturation, and brightness for text

pageWidth
pageLength
leftMargin
rightMargin
topMargin
bottomMargin
headerMargin
footerMargin
bindingMargin
lineLength
column -- number of columns

pageBreakPenalty
pageBreakAfterFirstLinePenalty
pageBreakAfterLastLinePenalty
pageBreakBeforeFirstLinePenalty
pageBreakBeforeLastLinePenalty

style can check if the node is a comment
 isComment => .true/.false according to comment property of node

style can check the nesting level of the node
 nestingLevel => integer; 0 for root, 1 for top level, ...

style can have user defined parameters --
 declare in style by entry of the form: (name) <initial value> StyleParam
 access & set in same way as other style parameters

dimensions
 pt point
 pc pica
 in inches
 cm centimeters
 mm millimeters
 dd didot points
 em ems
 en ens
 sp spaces
 fil 10^5 points
 fill 10^10 points

to debug a new style,
 (1) JaM typescript.
 (2) type <StyleName> TestScreenStyle or <StyleName> TestPrintStyle
 (3) type root to call the root formatting type
 (4) type <name> to call other formatting types
(5) type ss to display values for style parameters
 (6) type reset to clear style info before testing something else


See [Indigo]<Tioga>StrikeFonts> for available screen fonts. Bold and italic will be synthesized if they are not available as a separate font.