chiark / gitweb /
wip new arrangements
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 5 Mar 2019 13:59:02 +0000 (13:59 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 5 Mar 2019 13:59:02 +0000 (13:59 +0000)
cmyk.ps

diff --git a/cmyk.ps b/cmyk.ps
index 143a6cd3b64c5787484a615b62643fdb54d12326..dd6d66dfd108ff2412f4f4b98afeda0af7b03a01 100644 (file)
--- a/cmyk.ps
+++ b/cmyk.ps
@@ -18,6 +18,7 @@
 %          horiz M     } M-C-K grid
 %            vert' C   } M-C-K grid
 
+% OLD
 %   16^3 x    0 .. 3       1 Y per page
 %    8^3 x    4 .. 7       4 Y per page      8 = 0 2 4 6 8 10 12 15
 %             8 10 13 15
         blacky  knx mul add
        get
 } def
-/kentry_moveto {
-                blackx                         stridix mul
-                 blacky  neg kmy add           stridiy mul
-                 szfy +0.5 mul add
+/kentry_x {
+    textx
+    magenta stridox mul  add
+    blackx  stridix mul  add
+    
 } def
+/kentry_y {
+    blacky  neg kmy add  stridiy mul
+    cyan    neg gm add   stridoy mul  add
+} def 
 
 /someyellow {
     
     /szfx  stridix  margix sub  def
     /szfy  stridiy  margiy sub  def
 
-    0 1 gm {           /magenta exch def
     0 1 gm {           /cyan    exch def
+    0 1 kmy {          /blacky exch def
 
-    gsave
-        textx  0      translate
-
-        magenta                        stridox mul
-        cyan    neg gm add     stridoy mul  translate
+    0 1 gm {           /magenta exch def
+    0 1 kmx {          /blackx  exch def
 
+    gsave
         szfy setlinewidth
-        0 1 kmx {      /blackx exch def
-        0 1 kmy {      /blacky exch def
+        kentry_x kentry_y translate
 
                cyan            gn div
                  magenta       gn div
                  yellow                gn div
-
-               klist_get base div
+                klist_get maxval div
 
                  setcmykcolor
 
-               kentry_moveto moveto
-
+                0  szfy +0.5 mul  moveto
                 szfx 0 rlineto stroke
 
-        } for
-        } for
+      cyan 0 le  blacky 0 le and {  % top row
+          0  texty neg  translate
+         0 0 moveto
+         text_u
+      } if
 
     grestore
+
     } for
     } for
 
-    gsave
-
-      0  gridoy translate
-
-      text_l_p text_u_p and {
-       gsave
-         0 0 moveto  (K) show
-
-       gsave
-         0  stridoy neg  translate
-
-         0 1 kmx {     /blackx exch def
-         0 1 kmy {     /blacky exch def
-           kentry_moveto exch 0.65 mul exch moveto
-           klist_get digits exch get
-           show
-         } for
-         } for
-       grestore
-        grestore
-      } if
-
-      text_u_p {
-        gsave
-         textx 0 translate
-         0 0 moveto (Y) show ytext show
+      gsave
+        0  kentry_y  translate
+       0 0 moveto
+       text_l
+      grestore
 
-         1 1 gm {              /magenta    exch def
-            gm stridox mul  0 moveto
-            digits gm get  show
-          } for
-
-       grestore  
-      } if
+    } for
+    } for
 
+    gsave
+      0  printareay texty sub  translate
+      0 0 moveto  text_ul
     grestore
 
 } def
 
-/ranges {
-
-    0 1 gm {                   /yellow  exch def
-
-        /ytext digits yellow get def
-
-        someyellow
-
-    finish_page
-    } for
-
-} def
-
 /start_page {
     margin margin translate
 } def
@@ -181,59 +149,89 @@ start_page
     start_page
 } def
 
-/base 16 def
+/maxval 8 def
 
-/gm 15 def
 
-/knx 2 def
-/kny 2 def
 
-/klist [ 0 1 2 3 ] def
+/gm 8 def
+
+/knx 1 def
+/kny 3 def
+
+/klist [ 0 1 2 ] def
 /ylist [ 0 1 2 3 5 8 11 15 ] def
 
 /gridox szox def
 /gridoy szoy def
 
-/text_l_p true def
-/text_u_p true def
+/text_ul {
+    (Y) show
+    yellow (_) cvs show
+} def
 
-ranges
+/text_cyan {
+    (C) show
+    cyan (_) cvs show
+} def
+/text_magenta {
+    (C) show
+    magenta (_) cvs show
+} def
 
-/ranges2 {
+/text_l {
+    cyan 0 le {
+      gsave
+       0 texty rmoveto
+ (K) show
+      klist blacky get (_) cvs show
+       grestore
+    } if
+    blacky 0 le {
+       text_cyan
+    } if
+} def
+/text_u {
+    text_magenta
+} def
 
-/gm 8 def
+/ranges {
+    0 1 gm {                   /yellow  exch def
 
-/gridox szox 2 div margbx sub def
-/gridoy szoy 2 div margby sub def
+        /ytext { digits yellow get } def
 
-0 1 1 {        /yellowpage exch def
-0 1 1 { /yellowx exch def
-0 1 1 { /yellowy exch def
+        someyellow
 
-/yellowix
-  yellowpage            4 mul
-  yellowy    neg 1 add  2 mul add
-  yellowx                     add def
+    finish_page
+    } for
+} def
+ranges
 
-gsave
- yellowx  gridox margbx add  mul
- yellowy  gridoy margby add  mul
- translate
+/gm 4 def
 
- /yellow  ylist yellowix get  def
+/knx 2 def
+/kny 1 def
 
- /text_l_p  yellowx 0 le  def
- /text_u_p  yellowy 1 ge  def
+/ranges2 {
 
- someyellow
-grestore
+  /gridoy szoy 5 div margby 4 mul sub def
 
-} for
-} for
-finish_page
-} for
+  0 1 gm { /yellowy exch def
+
+    /yellow    yellowy maxval mul  gm div  def
+    /text_u_p  yellowy 1 ge  def
+    gsave
+      0
+        yellowy  gridoy margby add  mul
+        translate
+     someyellow
+    grestore
+  } for
+
+  finish_page
 
 } def
 
-/klist [ 4 5 6 7 ] def   ranges2
-/klist [ 8 10 13 15 ] def ranges2
+  /text_l_p true  def  
+
+/klist [ 3 4 ] def  ranges2
+/klist [ 6 8 ] def  /text_l_p false def  ranges2