]> git.pld-linux.org Git - packages/gfontview.git/blob - gfontview-gcc33.patch
- fix for multiline strings
[packages/gfontview.git] / gfontview-gcc33.patch
1 --- gfontview-0.5.0/ps.h.orig   Sun Jun 25 14:17:29 2000
2 +++ gfontview-0.5.0/ps.h        Tue Nov 25 13:29:38 2003
3 @@ -72,302 +72,302 @@
4  
5  
6  const char *text_samples = "\
7 -/TextSamplerDict 40 dict def
8 -TextSamplerDict begin
9 -/Inch {72 mul} def
10 -/linewidth 7 Inch def
11 -/yline 9.7 Inch def
12 -/LM 0.7 Inch def
13 -/wordbreak ( ) def
14 -/buf 8 string def
15 -
16 -/DoTitle { % fontname DoTitle
17 -  /Helvetica findfont 18 scalefont setfont
18 -  LM 10.5 Inch moveto
19 -  show 
20 -  ( at ) show fontsize buf cvs show ( points, spacing = ) show
21 -  spacing buf cvs show
22 -} def
23 -
24 -/DoSamples { % fontname fontsize spacing DoSamples
25 -  /spacing exch def
26 -  /fontsize exch def
27 -  /fontname exch def
28 -
29 -  fontname findfont fontsize scalefont setfont
30 -  /newline {/yline yline fontsize spacing mul sub def LM yline moveto} def
31 -  /breakwidth wordbreak stringwidth pop def
32 -  /curwidth 0 def
33 -  /lastwordbreak 0 def
34 -  /startchar 0 def
35 -  /restoftext textstring def
36 -
37 -
38 -  LM yline moveto
39 -  { restoftext wordbreak search
40 -    {
41 -      /nextword exch def pop
42 -      /restoftext exch def
43 -      /wordwidth nextword stringwidth pop def
44 -    
45 -      curwidth wordwidth add linewidth gt
46 -      {
47 -        textstring startchar lastwordbreak startchar sub getinterval
48 -        show newline
49 -        /startchar lastwordbreak def
50 -        /curwidth wordwidth breakwidth add def
51 -      }
52 -      {
53 -        /curwidth curwidth wordwidth breakwidth add add def
54 -      } 
55 -      ifelse
56 -      /lastwordbreak lastwordbreak nextword length 1 add add def
57 -    }
58 -    {pop exit}
59 -    ifelse
60 -  } loop
61 -  /lastchar textstring length def
62 -  textstring startchar lastchar startchar sub getinterval show
63 -} def
64 -end
65 +/TextSamplerDict 40 dict def\n\
66 +TextSamplerDict begin\n\
67 +/Inch {72 mul} def\n\
68 +/linewidth 7 Inch def\n\
69 +/yline 9.7 Inch def\n\
70 +/LM 0.7 Inch def\n\
71 +/wordbreak ( ) def\n\
72 +/buf 8 string def\n\
73 +\n\
74 +/DoTitle { % fontname DoTitle\n\
75 +  /Helvetica findfont 18 scalefont setfont\n\
76 +  LM 10.5 Inch moveto\n\
77 +  show \n\
78 +  ( at ) show fontsize buf cvs show ( points, spacing = ) show\n\
79 +  spacing buf cvs show\n\
80 +} def\n\
81 +\n\
82 +/DoSamples { % fontname fontsize spacing DoSamples\n\
83 +  /spacing exch def\n\
84 +  /fontsize exch def\n\
85 +  /fontname exch def\n\
86 +\n\
87 +  fontname findfont fontsize scalefont setfont\n\
88 +  /newline {/yline yline fontsize spacing mul sub def LM yline moveto} def\n\
89 +  /breakwidth wordbreak stringwidth pop def\n\
90 +  /curwidth 0 def\n\
91 +  /lastwordbreak 0 def\n\
92 +  /startchar 0 def\n\
93 +  /restoftext textstring def\n\
94 +\n\
95 +\n\
96 +  LM yline moveto\n\
97 +  { restoftext wordbreak search\n\
98 +    {\n\
99 +      /nextword exch def pop\n\
100 +      /restoftext exch def\n\
101 +      /wordwidth nextword stringwidth pop def\n\
102 +    \n\
103 +      curwidth wordwidth add linewidth gt\n\
104 +      {\n\
105 +        textstring startchar lastwordbreak startchar sub getinterval\n\
106 +        show newline\n\
107 +        /startchar lastwordbreak def\n\
108 +        /curwidth wordwidth breakwidth add def\n\
109 +      }\n\
110 +      {\n\
111 +        /curwidth curwidth wordwidth breakwidth add add def\n\
112 +      } \n\
113 +      ifelse\n\
114 +      /lastwordbreak lastwordbreak nextword length 1 add add def\n\
115 +    }\n\
116 +    {pop exit}\n\
117 +    ifelse\n\
118 +  } loop\n\
119 +  /lastchar textstring length def\n\
120 +  textstring startchar lastchar startchar sub getinterval show\n\
121 +} def\n\
122 +end\n\
123  ";
124  
125  
126  
127  const char *check_type42 = "\
128 -languagelevel 2 lt
129 -{
130 -  /Helvetica findfont 14 scalefont setfont
131 -  72 420 moveto
132 -  (Your printer or PostScript interpreter does not support PostScript Level 2) show
133 -  showpage
134 -  quit
135 -} if
136 -
137 -42 /FontType resourcestatus not
138 -{
139 -  /Helvetica findfont 14 scalefont setfont
140 -  72 420 moveto
141 -  (Your printer or PostScript interpreter does not support Type 42 fonts) show
142 -  showpage
143 -  quit
144 -} if
145 -pop pop
146 +languagelevel 2 lt\n\
147 +{\n\
148 +  /Helvetica findfont 14 scalefont setfont\n\
149 +  72 420 moveto\n\
150 +  (Your printer or PostScript interpreter does not support PostScript Level 2) show\n\
151 +  showpage\n\
152 +  quit\n\
153 +} if\n\
154 +\n\
155 +42 /FontType resourcestatus not\n\
156 +{\n\
157 +  /Helvetica findfont 14 scalefont setfont\n\
158 +  72 420 moveto\n\
159 +  (Your printer or PostScript interpreter does not support Type 42 fonts) show\n\
160 +  showpage\n\
161 +  quit\n\
162 +} if\n\
163 +pop pop\n\
164  ";
165  
166  
167  const char *phrase_samples = "\
168 -/PhraseSamplerDict 20 dict def
169 -PhraseSamplerDict begin
170 -/Inch {72 mul} def
171 -/LM 0.5 Inch def
172 -/RM 7.6 Inch def
173 -/Temp 64 string def
174 -/T /Helvetica findfont 10 scalefont def
175 -/T6 /Helvetica findfont 6 scalefont def 
176 -/Header {  % text height Header
177 -  RM exch moveto T6 setfont dup stringwidth pop neg 0 rmoveto show
178 -} def
179 -/FontName { % fontname fontfile height FontName
180 -  /y exch def
181 -  /FFile exch def
182 -  /FName exch def
183 -
184 -  LM y moveto
185 -  T setfont FName Temp cvs show
186 -  LM y 8 sub moveto
187 -  T6 setfont FFile show
188 -} def
189 -/FontSample {  % fontname size height FontSample
190 -  /y exch def
191 -  /FSize exch def
192 -  /FName exch def
193 -
194 -  LM 160 add y moveto
195 -  mark
196 -  {
197 -    FName findfont FSize scalefont setfont 
198 -    StringSample show
199 -  }
200 -  stopped {
201 -    LM 160 add y moveto
202 -    T6 setfont (Error: ) show
203 -    $error /errorname get Temp cvs show
204 -    ( [) show
205 -    $error /command get Temp cvs show
206 -    (] ) show               
207 -  }
208 -  if
209 -  cleartomark
210 -} def
211 -end
212 +/PhraseSamplerDict 20 dict def\n\
213 +PhraseSamplerDict begin\n\
214 +/Inch {72 mul} def\n\
215 +/LM 0.5 Inch def\n\
216 +/RM 7.6 Inch def\n\
217 +/Temp 64 string def\n\
218 +/T /Helvetica findfont 10 scalefont def\n\
219 +/T6 /Helvetica findfont 6 scalefont def \n\
220 +/Header {  % text height Header\n\
221 +  RM exch moveto T6 setfont dup stringwidth pop neg 0 rmoveto show\n\
222 +} def\n\
223 +/FontName { % fontname fontfile height FontName\n\
224 +  /y exch def\n\
225 +  /FFile exch def\n\
226 +  /FName exch def\n\
227 +\n\
228 +  LM y moveto\n\
229 +  T setfont FName Temp cvs show\n\
230 +  LM y 8 sub moveto\n\
231 +  T6 setfont FFile show\n\
232 +} def\n\
233 +/FontSample {  % fontname size height FontSample\n\
234 +  /y exch def\n\
235 +  /FSize exch def\n\
236 +  /FName exch def\n\
237 +\n\
238 +  LM 160 add y moveto\n\
239 +  mark\n\
240 +  {\n\
241 +    FName findfont FSize scalefont setfont \n\
242 +    StringSample show\n\
243 +  }\n\
244 +  stopped {\n\
245 +    LM 160 add y moveto\n\
246 +    T6 setfont (Error: ) show\n\
247 +    $error /errorname get Temp cvs show\n\
248 +    ( [) show\n\
249 +    $error /command get Temp cvs show\n\
250 +    (] ) show               \n\
251 +  }\n\
252 +  if\n\
253 +  cleartomark\n\
254 +} def\n\
255 +end\n\
256  ";
257  
258  
259  const char *size_samples = "\
260 -/SizeSamplerDict 40 dict def
261 -SizeSamplerDict begin
262 -/Strings 
263 -{ [
264 -       (ABCDEFGHIJKLMNOPQRSTUVWXYZ)
265 -       (abcdefghijklmnopqrstuvwxyz)
266 -       (0123456789<=>:;?@!\"#$%&')
267 -       (\\( \\)*+,-./ [ \\\\ ]^_`{|}~)
268 -] } def
269 -
270 -
271 -/Sizes 
272 -{ [
273 -  8 10 12 14 20 24 28
274 -] } def
275 -
276 -/infofont /Helvetica findfont 10 scalefont def
277 -/msg 8 string def
278 -/Inch {72 mul} def
279 -/DoTitle { % fontname DoTitle
280 -  % Write the font name on top of the page
281 -  /Helvetica findfont 18 scalefont setfont
282 -  dup stringwidth
283 -  exch 8 Inch exch sub 2 div exch
284 -  10.5 Inch exch sub
285 -  moveto show
286 -} def
287 -/DoSamples { % font DoSamples
288 -  % Make the font samples
289 -  /fontname exch def
290 -  /testfont fontname findfont def
291 -  1 setlinewidth
292 -  60 50 moveto
293 -
294 -  Sizes
295 -  {
296 -    /size exch def
297 -    testfont size scalefont setfont
298 -    currentpoint translate % start of line
299 -    5 0 rmoveto
300 -
301 -    Strings 
302 -    {
303 -      currentpoint
304 -      3 -1 roll show
305 -      moveto
306 -      0 1.2 size mul rmoveto  % add 30% of the size vertically
307 -    } forall  % Strings
308 -
309 -    -5 0 rmoveto
310 -    currentpoint         % end of line
311 -    newpath 0 0 moveto lineto
312 -    currentpoint stroke  % leave end of line pos in stack
313 -  
314 -  % Print the font size in the middle of the line
315 -    dup                            % leave y in the stack (x is 0)
316 -    infofont setfont
317 -    size msg cvs dup stringwidth   % Push string 'n' and its size on the stack
318 -    4 -1 roll exch sub 2 div         % Stack is 'string width ypos'
319 -    exch 5 add neg exch moveto show  % Move to the left and print
320 -
321 -    moveto         % take end of line pos from stack
322 -    0 15 rmoveto   % Add vertical space between groups
323 -  } forall % Sizes
324 -} def
325 -end
326 +/SizeSamplerDict 40 dict def\n\
327 +SizeSamplerDict begin\n\
328 +/Strings \n\
329 +{ [\n\
330 +       (ABCDEFGHIJKLMNOPQRSTUVWXYZ)\n\
331 +       (abcdefghijklmnopqrstuvwxyz)\n\
332 +       (0123456789<=>:;?@!\"#$%&')\n\
333 +       (\\( \\)*+,-./ [ \\\\ ]^_`{|}~)\n\
334 +] } def\n\
335 +\n\
336 +\n\
337 +/Sizes \n\
338 +{ [\n\
339 +  8 10 12 14 20 24 28\n\
340 +] } def\n\
341 +\n\
342 +/infofont /Helvetica findfont 10 scalefont def\n\
343 +/msg 8 string def\n\
344 +/Inch {72 mul} def\n\
345 +/DoTitle { % fontname DoTitle\n\
346 +  % Write the font name on top of the page\n\
347 +  /Helvetica findfont 18 scalefont setfont\n\
348 +  dup stringwidth\n\
349 +  exch 8 Inch exch sub 2 div exch\n\
350 +  10.5 Inch exch sub\n\
351 +  moveto show\n\
352 +} def\n\
353 +/DoSamples { % font DoSamples\n\
354 +  % Make the font samples\n\
355 +  /fontname exch def\n\
356 +  /testfont fontname findfont def\n\
357 +  1 setlinewidth\n\
358 +  60 50 moveto\n\
359 +\n\
360 +  Sizes\n\
361 +  {\n\
362 +    /size exch def\n\
363 +    testfont size scalefont setfont\n\
364 +    currentpoint translate % start of line\n\
365 +    5 0 rmoveto\n\
366 +\n\
367 +    Strings \n\
368 +    {\n\
369 +      currentpoint\n\
370 +      3 -1 roll show\n\
371 +      moveto\n\
372 +      0 1.2 size mul rmoveto  % add 30% of the size vertically\n\
373 +    } forall  % Strings\n\
374 +\n\
375 +    -5 0 rmoveto\n\
376 +    currentpoint         % end of line\n\
377 +    newpath 0 0 moveto lineto\n\
378 +    currentpoint stroke  % leave end of line pos in stack\n\
379 +  \n\
380 +  % Print the font size in the middle of the line\n\
381 +    dup                            % leave y in the stack (x is 0)\n\
382 +    infofont setfont\n\
383 +    size msg cvs dup stringwidth   % Push string 'n' and its size on the stack\n\
384 +    4 -1 roll exch sub 2 div         % Stack is 'string width ypos'\n\
385 +    exch 5 add neg exch moveto show  % Move to the left and print\n\
386 +\n\
387 +    moveto         % take end of line pos from stack\n\
388 +    0 15 rmoveto   % Add vertical space between groups\n\
389 +  } forall % Sizes\n\
390 +} def\n\
391 +end\n\
392  ";
393  
394  
395  
396  const char *map_samples = "\
397 -/MapSamplerDict 40 dict def
398 -MapSamplerDict begin
399 -/T /Helvetica findfont 10 scalefont def
400 -/T6 /Times-Roman findfont 6 scalefont def
401 -/Temp 64 string def
402 -/Inch {72 mul} def
403 -/Base 16 def    % char code output base
404 -/TempEncoding [ 256 { /.notdef } repeat ] def
405 -/ISOLatin1Dict 256 dict def
406 -ISOLatin1Encoding { ISOLatin1Dict exch true put } forall
407 -/min { 2 copy gt { exch } if pop } bind def
408 -/DoChar {
409 -  /C exch def
410 -  /S (_) dup 0 C put def
411 -  /N F /Encoding get C get def
412 -  /W F setfont S stringwidth pop def
413 -  T6 setfont
414 -  0 -20 moveto N Temp cvs show
415 -  0 -12 moveto
416 -  W 0.0005 add Temp cvs 0 5 getinterval show
417 -  N /.notdef ne {
418 -    3 0 translate
419 -    0 0 moveto F24 setfont S show
420 -    /W S stringwidth pop def
421 -    0 -6 moveto 0 24 lineto
422 -    W -6 moveto W 24 lineto
423 -    -3 0 moveto W 3 add 0 lineto
424 -    0 setlinewidth stroke
425 -  } if
426 -} def                            
427 -/DoTitle { % fontname DoTitle
428 -  /Helvetica findfont 18 scalefont setfont
429 -  dup stringwidth
430 -  exch 8 Inch exch sub 2 div exch
431 -  10.7 Inch exch sub
432 -  moveto show
433 -} def
434 -/Header {  % header Header
435 -  7.6 Inch 10.7 Inch moveto T setfont dup stringwidth pop neg 0 rmoveto show
436 -} def
437 -/DoBlock {      % firstcode lastcode DoBlock
438 -  /FirstCode 2 index def
439 -  1 exch {
440 -    /I exch def
441 -    /Xn I FirstCode sub 16 mod def /Yn I FirstCode sub 16 idiv def
442 -    gsave
443 -    Xn 36 mul 9 add Yn -56 mul 9.5 Inch add translate
444 -    I DoChar
445 -    grestore
446 -  } for
447 -} def                          
448 -/FontShow0 {  % fontname FontShow0
449 -  /FName exch def       % font name
450 -  /F FName findfont def
451 -  /Done 256 dict def
452 -  /NewEncoding [
453 -      ISOLatin1Encoding {
454 -        dup F /CharStrings get exch known {
455 -          dup Done exch known { pop } { dup Done exch true put } ifelse
456 -        } { pop } ifelse
457 -      } forall
458 -      F /CharStrings get {
459 -        pop dup ISOLatin1Dict exch known { pop } if
460 -      } forall
461 -  ] def
462 -  F length dict F {
463 -    1 index /FID eq { pop pop } { 2 index 3 1 roll put } ifelse
464 -  } forall
465 -  dup /Encoding NewEncoding put
466 -  /* exch definefont
467 -  /F exch def
468 -  /F24 F 24 scalefont def
469 -  70 160 translate
470 -  0.80 dup scale
471 -  0 NewEncoding length 1 sub DoBlock
472 -} def                        
473 -/FontShowV {  % encoding fontname FontShowV
474 -  /FName exch def       
475 -  /NewEncoding exch def
476 -  /F FName findfont def
477 -  F length dict F {
478 -    1 index /FID eq { pop pop } { 2 index 3 1 roll put } ifelse
479 -  } forall
480 -  dup /Encoding NewEncoding put
481 -  /* exch definefont
482 -  /F exch def
483 -  /F24 F 24 scalefont def
484 -  70 160 translate
485 -  0.80 dup scale
486 -  0 NewEncoding length 1 sub DoBlock
487 -} def
488 -end  
489 +/MapSamplerDict 40 dict def\n\
490 +MapSamplerDict begin\n\
491 +/T /Helvetica findfont 10 scalefont def\n\
492 +/T6 /Times-Roman findfont 6 scalefont def\n\
493 +/Temp 64 string def\n\
494 +/Inch {72 mul} def\n\
495 +/Base 16 def    % char code output base\n\
496 +/TempEncoding [ 256 { /.notdef } repeat ] def\n\
497 +/ISOLatin1Dict 256 dict def\n\
498 +ISOLatin1Encoding { ISOLatin1Dict exch true put } forall\n\
499 +/min { 2 copy gt { exch } if pop } bind def\n\
500 +/DoChar {\n\
501 +  /C exch def\n\
502 +  /S (_) dup 0 C put def\n\
503 +  /N F /Encoding get C get def\n\
504 +  /W F setfont S stringwidth pop def\n\
505 +  T6 setfont\n\
506 +  0 -20 moveto N Temp cvs show\n\
507 +  0 -12 moveto\n\
508 +  W 0.0005 add Temp cvs 0 5 getinterval show\n\
509 +  N /.notdef ne {\n\
510 +    3 0 translate\n\
511 +    0 0 moveto F24 setfont S show\n\
512 +    /W S stringwidth pop def\n\
513 +    0 -6 moveto 0 24 lineto\n\
514 +    W -6 moveto W 24 lineto\n\
515 +    -3 0 moveto W 3 add 0 lineto\n\
516 +    0 setlinewidth stroke\n\
517 +  } if\n\
518 +} def                            \n\
519 +/DoTitle { % fontname DoTitle\n\
520 +  /Helvetica findfont 18 scalefont setfont\n\
521 +  dup stringwidth\n\
522 +  exch 8 Inch exch sub 2 div exch\n\
523 +  10.7 Inch exch sub\n\
524 +  moveto show\n\
525 +} def\n\
526 +/Header {  % header Header\n\
527 +  7.6 Inch 10.7 Inch moveto T setfont dup stringwidth pop neg 0 rmoveto show\n\
528 +} def\n\
529 +/DoBlock {      % firstcode lastcode DoBlock\n\
530 +  /FirstCode 2 index def\n\
531 +  1 exch {\n\
532 +    /I exch def\n\
533 +    /Xn I FirstCode sub 16 mod def /Yn I FirstCode sub 16 idiv def\n\
534 +    gsave\n\
535 +    Xn 36 mul 9 add Yn -56 mul 9.5 Inch add translate\n\
536 +    I DoChar\n\
537 +    grestore\n\
538 +  } for\n\
539 +} def                          \n\
540 +/FontShow0 {  % fontname FontShow0\n\
541 +  /FName exch def       % font name\n\
542 +  /F FName findfont def\n\
543 +  /Done 256 dict def\n\
544 +  /NewEncoding [\n\
545 +      ISOLatin1Encoding {\n\
546 +        dup F /CharStrings get exch known {\n\
547 +          dup Done exch known { pop } { dup Done exch true put } ifelse\n\
548 +        } { pop } ifelse\n\
549 +      } forall\n\
550 +      F /CharStrings get {\n\
551 +        pop dup ISOLatin1Dict exch known { pop } if\n\
552 +      } forall\n\
553 +  ] def\n\
554 +  F length dict F {\n\
555 +    1 index /FID eq { pop pop } { 2 index 3 1 roll put } ifelse\n\
556 +  } forall\n\
557 +  dup /Encoding NewEncoding put\n\
558 +  /* exch definefont\n\
559 +  /F exch def\n\
560 +  /F24 F 24 scalefont def\n\
561 +  70 160 translate\n\
562 +  0.80 dup scale\n\
563 +  0 NewEncoding length 1 sub DoBlock\n\
564 +} def                        \n\
565 +/FontShowV {  % encoding fontname FontShowV\n\
566 +  /FName exch def       \n\
567 +  /NewEncoding exch def\n\
568 +  /F FName findfont def\n\
569 +  F length dict F {\n\
570 +    1 index /FID eq { pop pop } { 2 index 3 1 roll put } ifelse\n\
571 +  } forall\n\
572 +  dup /Encoding NewEncoding put\n\
573 +  /* exch definefont\n\
574 +  /F exch def\n\
575 +  /F24 F 24 scalefont def\n\
576 +  70 160 translate\n\
577 +  0.80 dup scale\n\
578 +  0 NewEncoding length 1 sub DoBlock\n\
579 +} def\n\
580 +end  \n\
581  ";
582  
583  
This page took 0.120582 seconds and 4 git commands to generate.