(Test) Style
(BasicLooks) AttachStyle
(TestParam) (test) StyleParam
(Type1) () {
printstack
DoTests
(
Type1) .print
Helvetica family
regular face
caps+lowercase alphabets
none underlined
10 pt size
12 pt leading
flush left line formatting
2 pt top indent
3 pt bottom indent
12 pt first indent
0 body indent
20 pt left indent
21 pt right indent
22 pt top leading
25 pt bottom leading
1 pt min line gaps
0 vshift
printstack
} StyleRule
(Type2) () {
printstack
(
Type2) .print
TimesRoman family
bold face
caps+smallcaps alphabets
letters+digits underlined
36 pt size
42 pt leading
centered formatting
40 pt top indent
42 pt bottom indent
0 first indent
0 body indent
50 pt left indent
55 pt right indent
45 pt top leading
48 pt bottom leading
5 pt min line gaps
0 vshift
printstack
} StyleRule
(TestError1) () {
(
Test error recovery. Illegal value... ) .print
10 pt family
} StyleRule
(TestError2) () {
(
Test error recovery. Undef key... ) .print
foobar
} StyleRule
(DoTests) {
TestFace printstack TestAlphabets printstack TestUnderlining printstack TestFormatting
printstack TestStyle printstack TestFamily printstack TestSize
printstack TestTopIndent printstack TestBottomIndent
printstack TestFirstIndent printstack TestBodyIndent printstack
TestLeftIndent printstack TestRightIndent
printstack TestLeading printstack TestTopLeading printstack
TestBottomLeading printstack TestVShift printstack TestMinGaps
printstack TestDimensions printstack TestArith TestStyleParam printstack} .cvx .def
(TestFace) () {
(
TestFace) .print
regular face
the face regular .eq .not (0 error) .cvx .if
bold face
the face bold .eq .not (1 error) .cvx .if
-bold face
the face regular .eq .not (2 error) .cvx .if
italic face
the face italic .eq .not (3 error) .cvx .if
-italic face
the face regular .eq .not (4 error) .cvx .if
bold+italic face
the face bold+italic .eq .not (5 error) .cvx .if
-italic face
the face bold .eq .not (6 error) .cvx .if
+italic face
the face bold+italic .eq .not (7 error) .cvx .if
-bold face
the face italic .eq .not (8 error) .cvx .if
+bold face
the face bold+italic .eq .not (9 error) .cvx .if
regular face
the face regular .eq .not (10 error) .cvx .if
} StyleRule
(TestAlphabets) () {
(
TestAlphabets) .print
caps+lowercase alphabets
the alphabets caps+lowercase .eq .not (11 error) .cvx .if
caps+smallcaps alphabets
the alphabets caps+smallcaps .eq .not (12 error) .cvx .if
caps alphabet
the alphabets caps .eq .not (13 error) .cvx .if
lowercase alphabet
the alphabets lowercase .eq .not (14 error) .cvx .if
} StyleRule
(TestUnderlining) () {
(
TestUnderlining) .print
none underlined
the underlining none .eq .not (15 error) .cvx .if
all underlined
the underlining all .eq .not (16 error) .cvx .if
visible underlined
the underlining visible .eq .not (17 error) .cvx .if
letters+digits underlined
the underlining letters+digits .eq .not (18 error) .cvx .if
} StyleRule
(TestFormatting) () {
(
TestFormatting).print
flush left line formatting
the line formatting flushLeft .eq .not (19 error) .cvx .if
flush right formatting
the line formatting flushRight .eq .not (20 error) .cvx .if
ragged right line formatting
the formatting flushLeft .eq .not (21 error) .cvx .if
ragged left formatting
the line formatting flushRight .eq .not (22 error) .cvx .if
flushLeft line formatting
the line formatting flushLeft .eq .not (23 error) .cvx .if
flushRight formatting
the line formatting flushRight .eq .not (24 error) .cvx .if
justified line formatting
the formatting justified .eq .not (25 error) .cvx .if
centered line formatting
the line formatting centered .eq .not (26 error) .cvx .if
} StyleRule
(TestStyle) () {
(
TestStyle) .print
(Test1) style
the style (Test1) .eq .not (27 error) .cvx .if
(New) style
the style (New) .eq .not (28 error) .cvx .if
(Test) style
the style (Test) .eq .not (29 error) .cvx .if
} StyleRule
(TestFamily) () {
(
TestFamily) .print
TimesRoman family
the family TimesRoman .eq .not (30 error) .cvx .if
Helvetica family
the family Helvetica .eq .not (31 error) .cvx .if
} StyleRule
(TestSize) () {
(
TestSize) .print
13 pt size
the size 13 pt .eq .not (32 error) .cvx .if
} StyleRule
(TestTopIndent) () {
(
TestTopIndent) .print
3 pt top indent
the top indent 3 pt .eq .not (32 error) .cvx .if
} StyleRule
(TestBottomIndent) () {
(
TestBottomIndent) .print
5 pt bottom indent
the bottom indent 5 pt .eq .not (33 error) .cvx .if
} StyleRule
(TestFirstIndent) () {
(
TestFirstIndent) .print
12 pt first indent
the first indent 12 pt .eq .not (34 error) .cvx .if
} StyleRule
(TestBodyIndent) () {
(
TestBodyIndent) .print
1 pt body indent
the body indent 1 pt .eq .not (35 error) .cvx .if
} StyleRule
(TestLeftIndent) () {
(
TestLeftIndent) .print
25 pt left indent
the left indent 25 pt .eq .not (36 error) .cvx .if
} StyleRule
(TestRightIndent) () {
(
TestRightIndent) .print
30 pt right indent
the right indent 30 pt .eq .not (37 error) .cvx .if
} StyleRule
(TestLeading) () {
(
TestLeading) .print
14 pt line leading
the line leading 14 pt .eq .not (38 error) .cvx .if
12 pt leading
the leading 12 pt .eq .not (39 error) .cvx .if
} StyleRule
(TestTopLeading) () {
(
TestTopLeading) .print
22 pt top leading
the top leading 22 pt .eq .not (40 error) .cvx .if
} StyleRule
(TestBottomLeading) () {
(
TestBottomLeading) .print
24 pt bottom leading
the bottom leading 24 pt .eq .not (41 error) .cvx .if
} StyleRule
(TestVShift) () {
(
TestVShift) .print
3 pt vshift
the vshift 3 pt .eq .not (42 error) .cvx .if
} StyleRule
(TestMinGaps) () {
(
TestMinGaps) .print
1 pt gaps
the gaps 1 pt .eq .not (43 error) .cvx .if
2 pt line gaps
the line gaps 2 pt .eq .not (44 error) .cvx .if
3 pt min gaps
the min gaps 3 pt .eq .not (45 error) .cvx .if
4 pt min line gaps
the min line gaps 4 pt .eq .not (46 error) .cvx .if
} StyleRule
(TestDimensions) () {
(
TestDimensions) .print
(
pc) .print
1 pc leading
the leading 12 pt .eq .not (47 error) .cvx .if
(
in) .print
1.0 0.013870 .div leading
the leading 1.05 in .gt (48 error) .cvx .if
the leading .95 in .lt (49 error) .cvx .if
(
cm) .print
1 cm leading
the leading 1 in 2.54 .div same .not (50 error) .cvx .if
(
mm) .print
1 mm leading the leading 0.1 cm same .not (51 error) .cvx .if
(
dd) .print
1 dd leading
the leading 1 cm 26.6 .div same .not (52 error) .cvx .if
} StyleRule
(same) {.sub abs 0.001 .lt} .cvx .def
(abs) {.dup 0.0 .lt (.neg) .cvx .if} .cvx .def
(TestArith) () {
(
TestArith) .print
10 pt leading
the leading 10 pt .eq .not (53 error) .cvx .if
5 pt bigger leading
the leading 15 pt .eq .not (54 error) .cvx .if
5 pt smaller leading
the leading 10 pt .eq .not (55 error) .cvx .if
50 percent bigger leading
the leading 15 pt .eq .not (56 error) .cvx .if
50 percent smaller leading
the leading 7.5 pt .eq .not (57 error) .cvx .if
} StyleRule
(TestStyleParam) () {
(
TestStyleParam) .print
the TestParam (test) .eq .not (58 error) .cvx .if
10 pt TestParam the TestParam 10 pt .eq .not (59 error) .cvx .if
5 pt bigger TestParam the TestParam 15 pt .eq .not (60 error) .cvx .if
1 pt smaller TestParam the TestParam 14 pt .eq .not (61 error) .cvx .if
(foo) TestParam the TestParam (foo) .eq .not (62 error) .cvx .if
.true TestParam the TestParam .true .eq .not (63 error) .cvx .if
} StyleRule
(printstack) {
.cntstk (.dup == (
).print ) .cvx .rept
} .cvx .def
(error) { = ( error
) .print } .cvx .def
EndStyle