Skip to content

Commit 8a204fc

Browse files
committed
New test for rendertext
1 parent 5cd704e commit 8a204fc

2 files changed

Lines changed: 255 additions & 0 deletions

File tree

tests/ps_tests/rendertext.ps.test

Lines changed: 255 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,255 @@
1+
% Barcode Writer in Pure PostScript
2+
% https://bwipp.terryburton.co.uk
3+
%
4+
% Copyright (c) 2004-2026 Terry Burton
5+
6+
% vim: set ts=4 sw=4 et :
7+
8+
/rendertext dup /uk.co.terryburton.bwipp findresource cvx def
9+
10+
/uk.co.terryburton.bwipp.global_ctx <<
11+
/named_colors <<
12+
(_testsep) [
13+
[ /Separation (Test Separation) /DeviceCMYK { dup 0.49 mul exch dup 0 mul exch dup 0.03 mul exch 0 mul } ] 1.0
14+
]
15+
>>
16+
>> def
17+
18+
/setup {
19+
/pixx 100 def
20+
/pixy 100 def
21+
/txt [] def
22+
/includetext false def
23+
/textcolor (unset) def
24+
/textxalign (unset) def
25+
/textyalign (unset) def
26+
/textdirection (forward) def
27+
/textfont (Courier) def
28+
/textsize 10.0 def
29+
/textxoffset 0.0 def
30+
/textyoffset 0.0 def
31+
/textgaps 0.0 def
32+
/textlinegaps 1.2 def
33+
/alttext () def
34+
/alttextsplit () def
35+
/alttextsubspace () def
36+
/extratext () def
37+
/extratextsubspace () def
38+
/extratextsplit () def
39+
/extratextlinegaps 1.2 def
40+
/extratextcolor (unset) def
41+
/extratextxalign (left) def
42+
/extratextyalign (above) def
43+
/extratextdirection (forward) def
44+
/extratextfont (Courier) def
45+
/extratextsize 10.0 def
46+
/extratextxoffset 0.0 def
47+
/extratextyoffset 0.0 def
48+
/extratextgaps 0.0 def
49+
} def
50+
51+
/ok_tmpl {
52+
{ 50 dict begin setup 0 exec rendertext end }
53+
dup 3 -1 roll 4 exch put
54+
stopped { stop } if
55+
} def
56+
57+
/er_tmpl {
58+
{ 50 dict begin setup 0 exec rendertext end }
59+
dup 4 5 -1 roll put
60+
exch isError
61+
} def
62+
63+
64+
%
65+
% includetext=false (no-op)
66+
%
67+
{ } ok_tmpl
68+
69+
70+
%
71+
% txt array (encoder-positioned text)
72+
%
73+
{ /includetext true def /txt [ [ (X) 0 0 (Courier) 10 ] ] def } ok_tmpl
74+
75+
{ /includetext true def /txt [ [ (X) 0 0 (Courier) 0 ] ] def } /bwipp.fontTooSmall er_tmpl
76+
{ /includetext true def /txt [ [ (X) 0 0 (Courier) -1 ] ] def } /bwipp.fontTooSmall er_tmpl
77+
78+
79+
%
80+
% alttext
81+
%
82+
{ /includetext true def /alttext (TEST) def } ok_tmpl
83+
84+
85+
%
86+
% textfont textsize
87+
%
88+
{ /includetext true def /alttext (TEST) def /textfont (Helvetica) def } ok_tmpl
89+
{ /includetext true def /alttext (TEST) def /textfont (Times-Roman) def } ok_tmpl
90+
{ /includetext true def /alttext (TEST) def /textsize 8.0 def } ok_tmpl
91+
{ /includetext true def /alttext (TEST) def /textsize 14.0 def } ok_tmpl
92+
93+
94+
%
95+
% alttextsplit alttextsubspace
96+
%
97+
{ /includetext true def /alttext (A|B) def /alttextsplit (|) def } ok_tmpl
98+
{ /includetext true def /alttext (A_B) def /alttextsubspace (_) def } ok_tmpl
99+
100+
{ /includetext true def /alttext (A|B) def /alttextsplit (||) def } /bwipp.alttextsplitBad er_tmpl
101+
102+
103+
%
104+
% textcolor
105+
%
106+
{ /includetext true def /alttext (TEST) def /textcolor (FF0000) def } ok_tmpl
107+
{ /includetext true def /alttext (TEST) def /textcolor (00FF0000) def } ok_tmpl
108+
{ /includetext true def /alttext (TEST) def /textcolor (_testsep) def } ok_tmpl
109+
110+
111+
%
112+
% textdirection
113+
%
114+
{ /includetext true def /alttext (TEST) def /textdirection (forward) def } ok_tmpl
115+
{ /includetext true def /alttext (TEST) def /textdirection (backward) def } ok_tmpl
116+
{ /includetext true def /alttext (TEST) def /textdirection (upward) def } ok_tmpl
117+
{ /includetext true def /alttext (TEST) def /textdirection (downward) def } ok_tmpl
118+
119+
120+
%
121+
% textxoffset textyoffset
122+
%
123+
{ /includetext true def /alttext (TEST) def /textxoffset 5.0 def } ok_tmpl
124+
{ /includetext true def /alttext (TEST) def /textxoffset -5.0 def } ok_tmpl
125+
{ /includetext true def /alttext (TEST) def /textyoffset 5.0 def } ok_tmpl
126+
{ /includetext true def /alttext (TEST) def /textyoffset -5.0 def } ok_tmpl
127+
128+
129+
%
130+
% textgaps textlinegaps
131+
%
132+
{ /includetext true def /alttext (TEST) def /textgaps 1.0 def } ok_tmpl
133+
{ /includetext true def /alttext (TEST) def /textlinegaps 2.0 def } ok_tmpl
134+
135+
136+
%
137+
% textxalign
138+
%
139+
{ /includetext true def /alttext (TEST) def /textxalign (left) def } ok_tmpl
140+
{ /includetext true def /alttext (TEST) def /textxalign (center) def } ok_tmpl
141+
{ /includetext true def /alttext (TEST) def /textxalign (right) def } ok_tmpl
142+
{ /includetext true def /alttext (TEST) def /textxalign (offleft) def } ok_tmpl
143+
{ /includetext true def /alttext (TEST) def /textxalign (offright) def } ok_tmpl
144+
145+
{ /includetext true def /alttext (TEST) def /textxalign (justify) def /textdirection (forward) def } ok_tmpl
146+
{ /includetext true def /alttext (TEST) def /textxalign (justify) def /textdirection (backward) def } ok_tmpl
147+
148+
{ /includetext true def /alttext (TEST) def /textxalign (justify) def /textdirection (upward) def } /bwipp.textxjustify er_tmpl
149+
{ /includetext true def /alttext (TEST) def /textxalign (justify) def /textdirection (downward) def } /bwipp.textxjustify er_tmpl
150+
151+
152+
%
153+
% textyalign
154+
%
155+
{ /includetext true def /alttext (TEST) def /textyalign (above) def } ok_tmpl
156+
{ /includetext true def /alttext (TEST) def /textyalign (below) def } ok_tmpl
157+
{ /includetext true def /alttext (TEST) def /textyalign (top) def } ok_tmpl
158+
{ /includetext true def /alttext (TEST) def /textyalign (bottom) def } ok_tmpl
159+
{ /includetext true def /alttext (TEST) def /textyalign (center) def } ok_tmpl
160+
161+
{ /includetext true def /alttext (TEST) def /textyalign (justify) def /textdirection (upward) def } ok_tmpl
162+
{ /includetext true def /alttext (TEST) def /textyalign (justify) def /textdirection (downward) def } ok_tmpl
163+
164+
{ /includetext true def /alttext (TEST) def /textyalign (justify) def /textdirection (forward) def } /bwipp.textyjustify er_tmpl
165+
{ /includetext true def /alttext (TEST) def /textyalign (justify) def /textdirection (backward) def } /bwipp.textyjustify er_tmpl
166+
167+
168+
%
169+
% extratext
170+
%
171+
{ /extratext (EXTRA) def } ok_tmpl
172+
173+
174+
%
175+
% extratextfont extratextsize
176+
%
177+
{ /extratext (EXTRA) def /extratextfont (Helvetica) def } ok_tmpl
178+
{ /extratext (EXTRA) def /extratextfont (Times-Roman) def } ok_tmpl
179+
{ /extratext (EXTRA) def /extratextsize 8.0 def } ok_tmpl
180+
{ /extratext (EXTRA) def /extratextsize 14.0 def } ok_tmpl
181+
182+
183+
%
184+
% extratextcolor
185+
%
186+
{ /extratext (EXTRA) def /extratextcolor (FF0000) def } ok_tmpl
187+
{ /extratext (EXTRA) def /extratextcolor (00FF0000) def } ok_tmpl
188+
{ /extratext (EXTRA) def /extratextcolor (_testsep) def } ok_tmpl
189+
190+
191+
%
192+
% extratextdirection
193+
%
194+
{ /extratext (EXTRA) def /extratextdirection (forward) def } ok_tmpl
195+
{ /extratext (EXTRA) def /extratextdirection (backward) def } ok_tmpl
196+
{ /extratext (EXTRA) def /extratextdirection (upward) def } ok_tmpl
197+
{ /extratext (EXTRA) def /extratextdirection (downward) def } ok_tmpl
198+
199+
200+
%
201+
% extratextxoffset extratextyoffset
202+
%
203+
{ /extratext (EXTRA) def /extratextxoffset 5.0 def } ok_tmpl
204+
{ /extratext (EXTRA) def /extratextxoffset -5.0 def } ok_tmpl
205+
{ /extratext (EXTRA) def /extratextyoffset 5.0 def } ok_tmpl
206+
{ /extratext (EXTRA) def /extratextyoffset -5.0 def } ok_tmpl
207+
208+
209+
%
210+
% extratextgaps extratextlinegaps
211+
%
212+
{ /extratext (EXTRA) def /extratextgaps 1.0 def } ok_tmpl
213+
{ /extratext (EXTRA) def /extratextlinegaps 2.0 def } ok_tmpl
214+
215+
216+
%
217+
% extratextsplit extratextsubspace
218+
%
219+
{ /extratext (A|B) def /extratextsplit (|) def } ok_tmpl
220+
{ /extratext (A_B) def /extratextsubspace (_) def } ok_tmpl
221+
222+
{ /extratext (A|B) def /extratextsplit (||) def } /bwipp.extratextsplitBad er_tmpl
223+
224+
225+
%
226+
% extratextxalign
227+
%
228+
{ /extratext (EXTRA) def /extratextxalign (left) def } ok_tmpl
229+
{ /extratext (EXTRA) def /extratextxalign (center) def } ok_tmpl
230+
{ /extratext (EXTRA) def /extratextxalign (right) def } ok_tmpl
231+
{ /extratext (EXTRA) def /extratextxalign (offleft) def } ok_tmpl
232+
{ /extratext (EXTRA) def /extratextxalign (offright) def } ok_tmpl
233+
234+
{ /extratext (EXTRA) def /extratextxalign (justify) def /extratextdirection (forward) def } ok_tmpl
235+
{ /extratext (EXTRA) def /extratextxalign (justify) def /extratextdirection (backward) def } ok_tmpl
236+
237+
{ /extratext (EXTRA) def /extratextxalign (justify) def /extratextdirection (upward) def } /bwipp.extratextxjustify er_tmpl
238+
{ /extratext (EXTRA) def /extratextxalign (justify) def /extratextdirection (downward) def } /bwipp.extratextxjustify er_tmpl
239+
240+
241+
%
242+
% extratextyalign
243+
%
244+
{ /extratext (EXTRA) def /extratextyalign (above) def } ok_tmpl
245+
{ /extratext (EXTRA) def /extratextyalign (below) def } ok_tmpl
246+
{ /extratext (EXTRA) def /extratextyalign (top) def } ok_tmpl
247+
{ /extratext (EXTRA) def /extratextyalign (bottom) def } ok_tmpl
248+
{ /extratext (EXTRA) def /extratextyalign (center) def } ok_tmpl
249+
250+
{ /extratext (EXTRA) def /extratextyalign (justify) def /extratextdirection (upward) def } ok_tmpl
251+
{ /extratext (EXTRA) def /extratextyalign (justify) def /extratextdirection (downward) def } ok_tmpl
252+
253+
{ /extratext (EXTRA) def /extratextyalign (justify) def /extratextdirection (forward) def } /bwipp.extratextyjustify er_tmpl
254+
{ /extratext (EXTRA) def /extratextyalign (justify) def /extratextdirection (backward) def } /bwipp.extratextyjustify er_tmpl
255+

tests/ps_tests/test.ps

49 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)