chiark / gitweb /
segment encoding seems right so far ...
authorian <ian>
Fri, 22 Oct 2004 14:31:10 +0000 (14:31 +0000)
committerian <ian>
Fri, 22 Oct 2004 14:31:10 +0000 (14:31 +0000)
layout/layout
layout/ours.m4
layout/segcmapassign

index 82496240c6be34fb772cfe8c13e070893fa997c6..217ec669febd35c338683e7a7e78b27991584746 100755 (executable)
@@ -623,6 +623,7 @@ sub segment_used_len ($) {
     $segments[1] -= $used;
     return if $segments[1] > 0;
     @segments= @segments[2..$#segments];
+    o("% segments @segments\n");
 }
     
 sub parametric_segment ($$$$$) {
@@ -664,8 +665,8 @@ print DEBUG "ps $p0 $p1 $lenperp ($ppu)\n";
                $red += 128;
                $red += 32 if $segments[0] =~ m/^\-/;
                $red %= 64;
-               $red /= 64.0;
                $red <<= 2;
+               $red /= 64.0;
                $red= sprintf("%f", $red);
                o("    $red $subsegcmap{$csegbare} setrgbcolor\n");
            } else {
index 1381446845db0e30c46f764b80f772e3854ed7bc..3cbdf55771e4b35b5e56b969a93a8fb761e97e04 100644 (file)
@@ -37,7 +37,7 @@ layer 0
 abs midx_x_m 930 700 90
 part midx_x cross_peco_s m
 
-segment -X1 200 X3
+segment -X1 165 -X3
 extend midx_x_tr -top_0rm_b parallel demos!right_main_up 315
 
 segment X7
@@ -83,20 +83,24 @@ extend bot_0lm_a -bot_0rm_c upto demo_bot_0rm_c
 
 layer =
 part bot_0rm pt_main_r c
+
+segment -X7
 extend -top_0rm_c top_0rme upto bot_0rm_c
+
+segment /
+
 join bot_0rm_b midx_x_br 315
 
+segment -X7
 extend top_0rme top_0rme1 ang 9 315
-
 extend top_0rme1 rim_0t uptoang -90 315
+segment /
+
 rel rim_0t rim_2t 0 -37
 rel rim_2t rim_3t 0 -37
 
-segment X7 200 X9
 join top_0lm_a -top_0rm_a 450
 
-segment /
-
 #---------- box
 
 layer l*
@@ -158,7 +162,9 @@ join bot_3lk -leb_3k 315 arcline
 join bot_23lj_a bot_2lk 450
 join bot_2lk -leb_2k 352
 
+segment -X7 20 -X9
 join rim_0t bot_0rm_c 315 arcline
+segment /
 
 join rim_2t bot_2rk 352 arcline
 
index f97d9c8ff8ed1775971fa7a408ead6467af25123..1ab90301db815cd5f9bd16a31d1d1a58a6a936b0 100755 (executable)
@@ -41,6 +41,8 @@
 #
 #  BLUE
 #     8 bits segment main IN REVERSE ORDER
+#
+# The unknown/unidentified segment is 00 0000 0000, with feature 000000.
 
 use strict;
 use IO::Handle;
@@ -69,12 +71,12 @@ while (<>) {
 }
 
 sub reverse_bits_in_byte ($) {
-    my ($b) = @_;
-    my ($c);
-    $c  = (($b >>  1) & 0x55) | (($b <<  1) & 0xaa);
-    $c |= (($b >>  2) & 0x33) | (($b <<  2) & 0xcc);
-    $c |= (($b >>  4) & 0x0f) | (($b <<  4) & 0xf0);
-    return $c;
+    my ($a) = @_;
+    my ($b,$c,$d);
+    $b = (($a >>  1) & 0x55) | (($a <<  1) & 0xaa);
+    $c = (($b >>  2) & 0x33) | (($b <<  2) & 0xcc);
+    $d = (($c >>  4) & 0x0f) | (($c <<  4) & 0xf0);
+    return $d;
 }
 
 sub cssnmap ($$$$) {