Кращий варіант міліметрівки на PostScript — можна задавати межі у міліметрах від краю паперу.
Ну, і аглоритм мені подобається більше :-)
І не лише мені, схоже, — ps2pdf
створив pdf розміром 5,4K (замість тих 54K для попереднього варіанту).
%!PS-Adobe-2.0 %%DocumentPaperSizes: a4 %%EndComments % For A4! In PostScript points! /paperw { 595 } def /paperh { 842 } def % 1 mm contains so much PostScript points: /mm { 72 mul 25.4 div } def % 2.8346457 points/mm % % Here You can specify Left, Right, Top and Bottom margins, % and thicknesses for grid lines. % % left, right, top, bottom: /LM { 10 mm } def /RM { 10 mm } def /TM { 10 mm } def /BM { 10 mm } def % Grid setup: /unit { 1 mm } def % 1mm grid /thickstep 10 def % thick lines every 10 mm /semithickstep 5 def % semi-thick lines every 5 mm % For inch-grid: % /unit { 72 16 div } def % 1/16inch grid % /thickstep 16 def % thick lines every inch % /semithickstep 8 def % semi thick lines every 1/2 inch % thicknesses for lines: /thinthickness 0.1 def /thickthickness 0.9 def /semithickthickness 0.4 def % % Those staff below i did not manage to understand ;O) % /units { unit mul } def /increase-n { n 1 add /n exch def } def /setwidth { /n exch def n thickstep mod 0 eq { thickthickness } { n semithickstep mod 0 eq { semithickthickness } { thinthickness } ifelse } ifelse setlinewidth } def /vline { setwidth 0 paperh TM sub BM sub rlineto stroke } def /hline { setwidth paperw LM sub RM sub 0 rlineto stroke } def /n 0 def LM BM moveto { currentpoint pop paperw LM sub le { n vline increase-n LM n units add BM moveto } { exit } ifelse } loop /n 0 def LM BM moveto { currentpoint paperh TM sub le { pop % throw away X part of currentpoint (to keep stack clear) n hline increase-n LM BM n units add moveto } { exit } ifelse } loop showpage % i liked that! % % vim: set ts=2 expandtab: |
Горизонт заваленорозфарбовувальник слово for і числа в коментарях виділив :-) Трохи він не розбирається.Колись я схожим чином робив тестові зображення для калібрування оптики багатокамерних рентґенівських приймачів. PostScript — цяця-ляля, це було швидше і точніше, ніж в корелі і на фотовивід однак ps треба було нести.
Розфарбовувальник — якийсь модуль до WP, “знає купу мов”, але купи і не знає :О)
Я сказав, щоб він фарбував під PHP .)