-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: rxvt-unicode-sixel
action: commit
revision:
path_from:
revision_from: 2d62d1b130c8a7f7cc22355cecd4e075603ce2e7:
path_to:
revision_to:

git.thebackupbox.net

rxvt-unicode-sixel

git://git.thebackupbox.net/rxvt-unicode-sixel

commit 2d62d1b130c8a7f7cc22355cecd4e075603ce2e7
Author: Marc Lehmann <schmorp@schmorp.de>
Date:   Tue Mar 16 05:51:38 2004 +0000

    *** empty log message ***

diff --git a/src/defaultfont.C b/src/defaultfont.C

index 2700879f4fc7568b03eeeed7b6df1e5e79aef4fb..

index ..2efdabcb8bc164bd75cd70cb08f3f9601dd2ae8c 100644

--- a/src/defaultfont.C
+++ b/src/defaultfont.C
@@ -202,7 +202,10 @@ rxvt_font::clear_rect (rxvt_drawable &d, int x, int y, int w, int h, int color)
     }
 }

+#include "table/linedraw.h"
+
 struct rxvt_font_default : rxvt_font {
+
   rxvt_fontprop properties ()
   {
     rxvt_fontprop p;
@@ -219,7 +222,7 @@ struct rxvt_font_default : rxvt_font {
     width = 1; height = 1;
     ascent = 1; descent = 0;

-    set_name ("built-in pseudofont");
+    set_name (strdup ("built-in pseudofont"));

     return true;
   }
@@ -232,7 +235,8 @@ struct rxvt_font_default : rxvt_font {
     if (unicode >= 0x0080 && unicode <= 0x009f)
       return true;

-    if (unicode >= 0x2500 && unicode <= 0x259f)
+    if (unicode >= 0x2500 && unicode <= 0x259f
+        && linedraw_offs[unicode - 0x2500] & 15)
       return true;

     if (IS_COMPOSE (unicode))
@@ -252,35 +256,12 @@ struct rxvt_font_default : rxvt_font {
              int fg, int bg);
 };

-static void rect_stipple (Display *display, Drawable d, GC gc, int s1, int s2, int x, int y, int w, int h)
-{
-  XGCValues gcv;
-  char bm[2] = { s1, s2 };
-
-  gcv.fill_style = FillStippled;
-  gcv.stipple = XCreateBitmapFromData (display, d, bm, 2, 2);
-  gcv.ts_x_origin = x;
-  gcv.ts_y_origin = y;
-
-  if (!gcv.stipple)
-    return;
-
-  XChangeGC (display, gc, GCFillStyle | GCStipple | GCTileStipXOrigin | GCTileStipYOrigin, &gcv);
-  XFillRectangle (display, d, gc, x, y, w, h);
-
-  XFreePixmap (display, gcv.stipple);
-
-  gcv.fill_style = FillSolid;
-  XChangeGC (display, gc, GCFillStyle, &gcv);
-}
-
-#include "table/linedraw.h"
-
 void
 rxvt_font_default::draw (rxvt_drawable &d, int x, int y,
                          const text_t *text, int len,
                          int fg, int bg)
 {
+return;
   clear_rect (d, x, y, r->TermWin.fwidth * len, r->TermWin.fheight, bg);

   XSetForeground (d.display->display, TGC, r->PixColors[fg]);
@@ -292,37 +273,39 @@ rxvt_font_default::draw (rxvt_drawable &d, int x, int y,
 #endif
       text_t t = *text++;

-      int x_[16];
-      int y_[16];
-
       int W = r->TermWin.fwidth , w = (W - 1) / 2;
       int H = r->TermWin.fheight, h = (H - 1) / 2;
       int x0 = x, x1 = x + w, x2 = x + r->TermWin.fwidth ;
       int y0 = y, y1 = y + h, y2 = y + r->TermWin.fheight;

-      for (int i = 0; i <= 8; i++)
+      if (0x2500 <= t && t <= 0x259f
+          && linedraw_offs[t - 0x2500] & 15)
         {
-          x_[i] = x + ((W-1) * i + (i*7/8)) / 8;
-          y_[i] = y + ((H-1) * i + (i*7/8)) / 8;
-        }
+          uint16_t offs = linedraw_offs[t - 0x2500];
+          uint32_t *a = linedraw_command + (offs >> 4);
+          uint32_t *b = a + (offs & 15);

-      x_[10] = x + (W - 1) / 2; x_[9] = x_[10] - 1; x_[11] = x_[10] + 1;
-      y_[10] = y + (H - 1) / 2; y_[9] = y_[10] - 1; y_[11] = y_[10] + 1;
+          int x_[16];
+          int y_[16];

-      int i1 = linedraw_offs[t - 0x2500];
-      int i2 = linedraw_offs[t - 0x2500 + 1];
+          for (int i = 0; i <= 8; i++)
+            {
+              x_[i] = x + ((W-1) * i + (i*7/8)) / 8;
+              y_[i] = y + ((H-1) * i + (i*7/8)) / 8;
+            }

-      XGCValues gcv;
+          x_[10] = x + (W - 1) / 2; x_[9] = x_[10] - 1; x_[11] = x_[10] + 1;
+          y_[10] = y + (H - 1) / 2; y_[9] = y_[10] - 1; y_[11] = y_[10] + 1;

-      gcv.cap_style = CapButt;
-      gcv.line_width = 0;
-      XChangeGC (d.display->display, TGC, GCLineWidth | GCCapStyle, &gcv);
+          XGCValues gcv;

-      if (i1 != i2)
-        {
-          while (i1 < i2)
+          gcv.cap_style = CapButt;
+          gcv.line_width = 0;
+          XChangeGC (d.display->display, TGC, GCLineWidth | GCCapStyle, &gcv);
+
+          while (a < b)
             {
-              uint32_t command = linedraw_command [i1++];
+              uint32_t command = *a++;

               int op = (command >> 24) & 255;
               int a  = (command >> 20) & 15;
@@ -341,7 +324,7 @@ rxvt_font_default::draw (rxvt_drawable &d, int x, int y,
                   case 1: // rectangle, possibly stippled
                     if (a)
                       {
-                        static char bm[] = { 0,0 , 1,3 , 2,1 , 0,1 };
+                        static char bm[] = { 0,0 , 3,1 , 1,2 , 1,0 };

                         gcv.fill_style = FillStippled;
                         gcv.stipple = XCreateBitmapFromData (d.display->display, d, bm + a * 2, 2, 2);
@@ -359,30 +342,19 @@ rxvt_font_default::draw (rxvt_drawable &d, int x, int y,
                     if (a)
                       {
                         XFreePixmap (d.display->display, gcv.stipple);
+                        gcv.stipple = 0;
                         gcv.fill_style = FillSolid;
                         XChangeGC (d.display->display, TGC, GCFillStyle, &gcv);
                       }

                     break;
                   case 2: // arc
+                    XDrawArc (d.display->display, d, TGC,
+                              x1 - W/2, y1 - H/2, W-1, H-1,
+                              (a - 1) * 90*64, (b - 1) * 90*64);
                     break;
                 }
             }
-
-#if 0
-                  case 'A': XDrawArc (d.display->display, d, TGC, x1    , y1    , W-1, H-1,  90*64,  90*64); break;
-                  case 'B': XDrawArc (d.display->display, d, TGC, x1-W+1, y1    , W-1, H-1,   0*64,  90*64); break;
-                  case 'C': XDrawArc (d.display->display, d, TGC, x1-W+1, y1-H+1, W-1, H-1,   0*64, -90*64); break;
-                  case 'D': XDrawArc (d.display->display, d, TGC, x1    , y1-H+1, W-1, H-1, -90*64, -90*64); break;
-
-                  case 'i': XFillRectangle (d.display->display, d, TGC, x0, y0, x1 - x0 + 1, y1 - y0 + 1); break;
-                  case 'j': XFillRectangle (d.display->display, d, TGC, x1, y0, x2 - x1, y1 - y0 + 1); break;
-                  case 'k': XFillRectangle (d.display->display, d, TGC, x0, y1, x1 - x0 + 1, y2 - y1); break;
-                  case 'l': XFillRectangle (d.display->display, d, TGC, x1, y1, x2 - x1, y2 - y1); break;
-                }
-            }
-#endif
-
         }
 #if ENABLE_COMBINING
       else if (IS_COMPOSE (t) && (cc = rxvt_composite[t]))
@@ -406,33 +378,6 @@ rxvt_font_default::draw (rxvt_drawable &d, int x, int y,
             case ZERO_WIDTH_CHAR:
               break;

-#if 0
-            case 0x2580: XFillRectangle (d.display->display, d, TGC, x0, y0, W, y1 - y0 + 1); break;
-            case 0x2581: XFillRectangle (d.display->display, d, TGC, x0, y0 + (H * 7 - 1) / 8, W, H - (H * 7 - 1) / 8); break;
-            case 0x2582: XFillRectangle (d.display->display, d, TGC, x0, y0 + (H * 6 - 2) / 8, W, H - (H * 6 - 2) / 8); break;
-            case 0x2583: XFillRectangle (d.display->display, d, TGC, x0, y0 + (H * 5 - 3) / 8, W, H - (H * 5 - 3) / 8); break;
-            case 0x2584: XFillRectangle (d.display->display, d, TGC, x0, y0 + (H * 4 - 4) / 8, W, H - (H * 4 - 4) / 8); break;
-            case 0x2585: XFillRectangle (d.display->display, d, TGC, x0, y0 + (H * 3 - 5) / 8, W, H - (H * 3 - 5) / 8); break;
-            case 0x2586: XFillRectangle (d.display->display, d, TGC, x0, y0 + (H * 2 - 6) / 8, W, H - (H * 2 - 6) / 8); break;
-            case 0x2587: XFillRectangle (d.display->display, d, TGC, x0, y0 + (H * 1 - 7) / 8, W, H - (H * 1 - 7) / 8); break;
-            case 0x2588: XFillRectangle (d.display->display, d, TGC, x0, y0, W, H); break;
-            case 0x2589: XFillRectangle (d.display->display, d, TGC, x0, y0, (W * 7 - 1) / 8, H); break;
-            case 0x258a: XFillRectangle (d.display->display, d, TGC, x0, y0, (W * 6 - 2) / 8, H); break;
-            case 0x258b: XFillRectangle (d.display->display, d, TGC, x0, y0, (W * 5 - 3) / 8, H); break;
-            case 0x258c: XFillRectangle (d.display->display, d, TGC, x0, y0, (W * 4 - 4) / 8, H); break;
-            case 0x258d: XFillRectangle (d.display->display, d, TGC, x0, y0, (W * 3 - 5) / 8, H); break;
-            case 0x258e: XFillRectangle (d.display->display, d, TGC, x0, y0, (W * 2 - 6) / 8, H); break;
-            case 0x258f: XFillRectangle (d.display->display, d, TGC, x0, y0, (W * 1 - 7) / 8, H); break;
-            case 0x2590: XFillRectangle (d.display->display, d, TGC, x1, y0, x2 - x1, H); break;
-
-            case 0x2591: rect_stipple (d.display->display, d, TGC, 0x00, 0x01, x0, y0, W, H); break;
-            case 0x2592: rect_stipple (d.display->display, d, TGC, 0x02, 0x01, x0, y0, W, H); break;
-            case 0x2593: rect_stipple (d.display->display, d, TGC, 0x01, 0x03, x0, y0, W, H); break;
-
-            case 0x2594: XFillRectangle (d.display->display, d, TGC, x0, y0, W, (H * 1 - 7) / 8); break;
-            case 0x2595: XFillRectangle (d.display->display, d, TGC, x0 + (W * 7 - 1) / 8, y0, W - (W * 7 - 1) / 8, H); break;
-#endif
-
             default:
               int w = 0;
               while (len > 0 && *text == NOCHAR)
diff --git a/src/genlinedraw b/src/genlinedraw
new file mode 100755
index 0000000000000000000000000000000000000000..1d302be5b0c7a7b7f89f83d1c076259224ff0956
--- /dev/null
+++ b/src/genlinedraw
@@ -0,0 +1,350 @@
+#!/usr/bin/perl
+
+open TABLE, ">", "table/linedraw.h";
+select TABLE;
+
+my $ch = 0x2500;
+
+# coordinate system:
+#
+# 0..8 (equally spaced) 9,11 mid-1,mid+1, makes 4 bit
+# one point = 8 bit, two points = 16 bit
+
+# 8 bit opcode 0 line, 1 rect, 2 arc
+# 8 bit opcode arg
+
+# OOOOOOOO AAAABBBB X1X1Y1Y1 X2X2Y2Y2
+
+my $offs = 0;
+my @offs;
+
+sub emit {
+   my ($code, $x1, $y1, $x2, $y2, $a, $b) = @_;
+   $offs++;
+   printf " 0x%08lx,", ($code << 24)
+             | ($x1 << 12)
+             | ($y1 <<  8)
+             | ($x2 <<  4)
+             | ($y2 <<  0)
+             | ($a  << 20)
+             | ($b  << 16);
+}
+
+print "static uint32_t linedraw_command[] = {\n";
+
+while (<DATA>) {
+   next if /^\//;
+   next unless /\S/;
+
+   push @offs, $offs;
+
+   my ($v, $V, $h, $H, $s);
+
+   for (;;) {
+      /\G-/gc and last;
+      /\G$/gc and last;
+
+      /\G([123])/gc and $w = $1;
+
+      /\Gh/gc and $h = $w;
+      /\GH/gc and $H = $w;
+      /\Gv/gc and $v = $w;
+      /\GV/gc and $V = $w;
+
+      /\G\//gc and emit 0, 0, 8, 8, 0;
+      /\G\\/gc and emit 0, 0, 0, 8, 8;
+
+      /\GA/gc and emit 2, 8, 8, 0, 0, 2, 2;
+      /\GB/gc and emit 2, 0, 8, 0, 0, 1, 2;
+      /\GC/gc and emit 2, 0, 0, 0, 0, 1, 0;
+      /\GD/gc and emit 2, 8, 0, 0, 0, 0, 0;
+
+      /\Gi/gc and emit 1, 0, 0, 4, 4;
+      /\Gj/gc and emit 1, 4, 0, 8, 4;
+      /\Gk/gc and emit 1, 0, 4, 4, 8;
+      /\Gl/gc and emit 1, 4, 4, 8, 8;
+
+      /\Gs(\d)/gc and $s = $1;
+
+      /\Gr(\d+),(\d+),(\d+),(\d+)/gc and emit 1, $1, $2, $3, $4, $s;
+
+      /\G\s/gc;
+   }
+
+   if ($h) {
+      emit 0, 0,  9,10,  9 if $h > 1;
+      emit 0, 0, 10,10, 10 if $h & 1;
+      emit 0, 0, 11,10, 11 if $h > 1;
+   }
+
+   if ($H) {
+      emit 0,10,  9, 8,  9 if $H > 1;
+      emit 0,10, 10, 8, 10 if $H & 1;
+      emit 0,10, 11, 8, 11 if $H > 1;
+   }
+
+   if ($v) {
+      emit 0, 9,  0, 9, 10 if $v > 1;
+      emit 0,10,  0,10, 10 if $v & 1;
+      emit 0,11,  0,11, 10 if $v > 1;
+   }
+
+   if ($V) {
+      emit 0, 9, 10, 9,  8 if $V > 1;
+      emit 0,10, 10,10,  8 if $V & 1;
+      emit 0,11, 10,11,  8 if $V > 1;
+   }
+
+   $offs[-1] = ($offs[-1] << 4) | ($offs - $offs[-1]);
+
+   printf " // %04x\n", $ch;
+   $ch++;
+}
+
+print <<EOF;
+};
+
+static uint16_t linedraw_offs[] = {
+EOF
+
+for (@offs) {
+   printf " 0x%04x,", $_;
+   print "\n" if ++$cnt % 5 == 0;
+}
+
+print <<EOF;
+};
+
+EOF
+
+__END__
+// 2500
+
+1hH
+3hH
+1vV
+3vV
+
+r0,10,1,10 r3,10,5,10 r7,10,8,10
+r0,9,1,11 r3,9,5,11 r7,9,8,11
+r10,0,10,1 r10,3,10,5 r10,7,10,8
+r9,0,11,1 r9,3,11,5 r9,7,11,8
+
+r0,10,1,10 r2,10,3,10 r4,10,5,10 r6,10,7,10
+r0,9,1,11 r2,9,3,11 r4,9,5,11 r6,9,7,11
+r10,0,10,1 r10,2,10,3 r10,4,10,5 r10,6,10,7
+r9,0,11,1 r9,2,11,3 r9,4,11,5 r9,6,11,7
+
+1HV
+3H1V
+1H3V
+3HV
+
+
+// 2510
+
+1hV
+3h1V
+1h3V
+3hV
+
+1Hv
+3H1v
+1H3v
+3Hv
+
+1hv
+3h1v
+1h3v
+3hv
+
+1HvV
+3H1vV
+1HV3v
+1Hv3V
+
+
+// 2530
+
+1H3vV
+3Hv1V
+3HV1v
+3HvV
+
+1hvV
+3h1vV
+1hV3v
+1hv3V
+
+1h3vV
+3hv1V
+1v3hV
+3hvV
+
+1hHV
+3h1HV
+3H1hV
+3hH1V
+
+
+// 2530
+
+1hH3V
+3hV1H
+1h3HV
+3hHV
+
+1hHv
+1vH3h
+1hv3H
+1v3hH
+
+1hH3v
+1H3hv
+1h3Hv
+3hHv
+
+1hHvV
+1vVH3h
+1hvV3H
+1vV3hH
+
+
+// 2540
+
+1hHV3v
+1hHv3V
+1hH3vV
+1HV3hv
+
+1hV3Hv
+1Hv3hV
+1hv3HV
+1V3hHv
+
+1v3hHV
+1H3hvV
+1h3HvV
+3hHvV
+
+-
+-
+-
+-
+
+
+// 2550
+
+2hH
+2vV
+1V2H
+2V1H
+
+2VH
+2h1V
+1h2V
+2hV
+
+1v2H
+2v1H
+2vH
+2h1v
+
+1h2v
+2hv
+1vV2H
+2vV1H
+
+
+// 2560
+
+2vVH
+2h1vV
+1h2vV
+2hvV
+
+2hH1V
+2V1hH
+2hHV
+1v2hH
+
+2v1hH
+2vhH
+1vV2hH
+1hH2vV
+
+2hHvV
+A
+B
+C
+
+
+// 2570
+
+D
+1/
+1\
+1/\
+
+1h
+1v
+1H
+1V
+
+3h
+3v
+3H
+3V
+
+1h3H
+1v3V
+1H3h
+1V3v
+
+
+// 2580
+
+r0,0,8,4
+r0,7,8,8
+r0,6,8,8
+r0,5,8,8
+
+r0,4,8,8
+r0,3,8,8
+r0,2,8,8
+r0,1,8,8
+
+r0,0,8,8
+r0,0,7,8
+r0,0,6,8
+r0,0,5,8
+
+r0,0,4,8
+r0,0,3,8
+r0,0,2,8
+r0,0,1,8
+
+
+// 2590
+
+r4,0,8,8
+s3r0,0,8,8
+s2r0,0,8,8
+s1r0,0,8,8
+
+r0,0,8,1
+r7,0,8,8
+k
+l
+
+i
+ikl
+il
+ijk
+
+ijl
+j
+jk
+jkl
+
+
diff --git a/src/table/linedraw.h b/src/table/linedraw.h
new file mode 100644
index 0000000000000000000000000000000000000000..e76a6decd25c08983fa8ed1bb4f289dddb62eefa
--- /dev/null
+++ b/src/table/linedraw.h
@@ -0,0 +1,198 @@
+static uint32_t linedraw_command[] = {
+ 0x00000aaa, 0x0000aa8a, // 2500
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000a989, 0x0000aa8a, 0x0000ab8b, // 2501
+ 0x0000a0aa, 0x0000aaa8, // 2502
+ 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2503
+ 0x01000a1a, 0x01003a5a, 0x01007a8a, // 2504
+ 0x0100091b, 0x0100395b, 0x0100798b, // 2505
+ 0x0100a0a1, 0x0100a3a5, 0x0100a7a8, // 2506
+ 0x010090b1, 0x010093b5, 0x010097b8, // 2507
+ 0x01000a1a, 0x01002a3a, 0x01004a5a, 0x01006a7a, // 2508
+ 0x0100091b, 0x0100293b, 0x0100495b, 0x0100697b, // 2509
+ 0x0100a0a1, 0x0100a2a3, 0x0100a4a5, 0x0100a6a7, // 250a
+ 0x010090b1, 0x010092b3, 0x010094b5, 0x010096b7, // 250b
+ 0x0000aa8a, 0x0000aaa8, // 250c
+ 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000aaa8, // 250d
+ 0x0000aa8a, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 250e
+ 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 250f
+ 0x00000aaa, 0x0000aaa8, // 2510
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000aaa8, // 2511
+ 0x00000aaa, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2512
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2513
+ 0x0000aa8a, 0x0000a0aa, // 2514
+ 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000a0aa, // 2515
+ 0x0000aa8a, 0x0000909a, 0x0000a0aa, 0x0000b0ba, // 2516
+ 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000909a, 0x0000a0aa, 0x0000b0ba, // 2517
+ 0x00000aaa, 0x0000a0aa, // 2518
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000a0aa, // 2519
+ 0x00000aaa, 0x0000909a, 0x0000a0aa, 0x0000b0ba, // 251a
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000909a, 0x0000a0aa, 0x0000b0ba, // 251b
+ 0x0000aa8a, 0x0000a0aa, 0x0000aaa8, // 251c
+ 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000a0aa, 0x0000aaa8, // 251d
+ 0x0000aa8a, 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x0000aaa8, // 251e
+ 0x0000aa8a, 0x0000a0aa, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 251f
+ 0x0000aa8a, 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2520
+ 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x0000aaa8, // 2521
+ 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000a0aa, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2522
+ 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2523
+ 0x00000aaa, 0x0000a0aa, 0x0000aaa8, // 2524
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000a0aa, 0x0000aaa8, // 2525
+ 0x00000aaa, 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x0000aaa8, // 2526
+ 0x00000aaa, 0x0000a0aa, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2527
+ 0x00000aaa, 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2528
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x0000aaa8, // 2529
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000a0aa, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 252a
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 252b
+ 0x00000aaa, 0x0000aa8a, 0x0000aaa8, // 252c
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000aa8a, 0x0000aaa8, // 252d
+ 0x00000aaa, 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000aaa8, // 252e
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000aaa8, // 252f
+ 0x00000aaa, 0x0000aa8a, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2530
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000aa8a, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2531
+ 0x00000aaa, 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2532
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2533
+ 0x00000aaa, 0x0000aa8a, 0x0000a0aa, // 2534
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000aa8a, 0x0000a0aa, // 2535
+ 0x00000aaa, 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000a0aa, // 2536
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000a0aa, // 2537
+ 0x00000aaa, 0x0000aa8a, 0x0000909a, 0x0000a0aa, 0x0000b0ba, // 2538
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000aa8a, 0x0000909a, 0x0000a0aa, 0x0000b0ba, // 2539
+ 0x00000aaa, 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000909a, 0x0000a0aa, 0x0000b0ba, // 253a
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000909a, 0x0000a0aa, 0x0000b0ba, // 253b
+ 0x00000aaa, 0x0000aa8a, 0x0000a0aa, 0x0000aaa8, // 253c
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000aa8a, 0x0000a0aa, 0x0000aaa8, // 253d
+ 0x00000aaa, 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000a0aa, 0x0000aaa8, // 253e
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000a0aa, 0x0000aaa8, // 253f
+ 0x00000aaa, 0x0000aa8a, 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x0000aaa8, // 2540
+ 0x00000aaa, 0x0000aa8a, 0x0000a0aa, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2541
+ 0x00000aaa, 0x0000aa8a, 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2542
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000aa8a, 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x0000aaa8, // 2543
+ 0x00000aaa, 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x0000aaa8, // 2544
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000aa8a, 0x0000a0aa, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2545
+ 0x00000aaa, 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000a0aa, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2546
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x0000aaa8, // 2547
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000a0aa, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2548
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000aa8a, 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 2549
+ 0x00000aaa, 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 254a
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000a989, 0x0000aa8a, 0x0000ab8b, 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 254b
+ // 254c
+ // 254d
+ // 254e
+ // 254f
+ 0x000009a9, 0x00000bab, 0x0000a989, 0x0000ab8b, // 2550
+ 0x0000909a, 0x0000b0ba, 0x00009a98, 0x0000bab8, // 2551
+ 0x0000a989, 0x0000ab8b, 0x0000aaa8, // 2552
+ 0x0000aa8a, 0x00009a98, 0x0000bab8, // 2553
+ 0x0000a989, 0x0000ab8b, 0x00009a98, 0x0000bab8, // 2554
+ 0x000009a9, 0x00000bab, 0x0000aaa8, // 2555
+ 0x00000aaa, 0x00009a98, 0x0000bab8, // 2556
+ 0x000009a9, 0x00000bab, 0x00009a98, 0x0000bab8, // 2557
+ 0x0000a989, 0x0000ab8b, 0x0000a0aa, // 2558
+ 0x0000aa8a, 0x0000909a, 0x0000b0ba, // 2559
+ 0x0000a989, 0x0000ab8b, 0x0000909a, 0x0000b0ba, // 255a
+ 0x000009a9, 0x00000bab, 0x0000a0aa, // 255b
+ 0x00000aaa, 0x0000909a, 0x0000b0ba, // 255c
+ 0x000009a9, 0x00000bab, 0x0000909a, 0x0000b0ba, // 255d
+ 0x0000a989, 0x0000ab8b, 0x0000a0aa, 0x0000aaa8, // 255e
+ 0x0000aa8a, 0x0000909a, 0x0000b0ba, 0x00009a98, 0x0000bab8, // 255f
+ 0x0000a989, 0x0000ab8b, 0x0000909a, 0x0000b0ba, 0x00009a98, 0x0000bab8, // 2560
+ 0x000009a9, 0x00000bab, 0x0000a0aa, 0x0000aaa8, // 2561
+ 0x00000aaa, 0x0000909a, 0x0000b0ba, 0x00009a98, 0x0000bab8, // 2562
+ 0x000009a9, 0x00000bab, 0x0000909a, 0x0000b0ba, 0x00009a98, 0x0000bab8, // 2563
+ 0x000009a9, 0x00000bab, 0x0000a989, 0x0000ab8b, 0x0000aaa8, // 2564
+ 0x00000aaa, 0x0000aa8a, 0x00009a98, 0x0000bab8, // 2565
+ 0x000009a9, 0x00000bab, 0x0000a989, 0x0000ab8b, 0x00009a98, 0x0000bab8, // 2566
+ 0x000009a9, 0x00000bab, 0x0000a989, 0x0000ab8b, 0x0000a0aa, // 2567
+ 0x00000aaa, 0x0000aa8a, 0x0000909a, 0x0000b0ba, // 2568
+ 0x000009a9, 0x00000bab, 0x0000a989, 0x0000ab8b, 0x0000909a, 0x0000b0ba, // 2569
+ 0x000009a9, 0x00000bab, 0x0000a989, 0x0000ab8b, 0x0000a0aa, 0x0000aaa8, // 256a
+ 0x00000aaa, 0x0000aa8a, 0x0000909a, 0x0000b0ba, 0x00009a98, 0x0000bab8, // 256b
+ 0x000009a9, 0x00000bab, 0x0000a989, 0x0000ab8b, 0x0000909a, 0x0000b0ba, 0x00009a98, 0x0000bab8, // 256c
+ 0x02228800, // 256d
+ 0x02120800, // 256e
+ 0x02100000, // 256f
+ 0x02008000, // 2570
+ 0x00000880, // 2571
+ 0x00000088, // 2572
+ 0x00000880, 0x00000088, // 2573
+ 0x00000aaa, // 2574
+ 0x0000a0aa, // 2575
+ 0x0000aa8a, // 2576
+ 0x0000aaa8, // 2577
+ 0x000009a9, 0x00000aaa, 0x00000bab, // 2578
+ 0x0000909a, 0x0000a0aa, 0x0000b0ba, // 2579
+ 0x0000a989, 0x0000aa8a, 0x0000ab8b, // 257a
+ 0x00009a98, 0x0000aaa8, 0x0000bab8, // 257b
+ 0x00000aaa, 0x0000a989, 0x0000aa8a, 0x0000ab8b, // 257c
+ 0x0000a0aa, 0x00009a98, 0x0000aaa8, 0x0000bab8, // 257d
+ 0x000009a9, 0x00000aaa, 0x00000bab, 0x0000aa8a, // 257e
+ 0x0000909a, 0x0000a0aa, 0x0000b0ba, 0x0000aaa8, // 257f
+ 0x01000084, // 2580
+ 0x01000788, // 2581
+ 0x01000688, // 2582
+ 0x01000588, // 2583
+ 0x01000488, // 2584
+ 0x01000388, // 2585
+ 0x01000288, // 2586
+ 0x01000188, // 2587
+ 0x01000088, // 2588
+ 0x01000078, // 2589
+ 0x01000068, // 258a
+ 0x01000058, // 258b
+ 0x01000048, // 258c
+ 0x01000038, // 258d
+ 0x01000028, // 258e
+ 0x01000018, // 258f
+ 0x01004088, // 2590
+ 0x01300088, // 2591
+ 0x01200088, // 2592
+ 0x01100088, // 2593
+ 0x01000081, // 2594
+ 0x01007088, // 2595
+ 0x01000448, // 2596
+ 0x01004488, // 2597
+ 0x01000044, // 2598
+ 0x01000044, 0x01000448, 0x01004488, // 2599
+ 0x01000044, 0x01004488, // 259a
+ 0x01000044, 0x01004084, 0x01000448, // 259b
+ 0x01000044, 0x01004084, 0x01004488, // 259c
+ 0x01004084, // 259d
+ 0x01004084, 0x01000448, // 259e
+ 0x01004084, 0x01000448, 0x01004488, // 259f
+};
+
+static uint16_t linedraw_offs[] = {
+ 0x0002, 0x0026, 0x0082, 0x00a6, 0x0103,
+ 0x0133, 0x0163, 0x0193, 0x01c4, 0x0204,
+ 0x0244, 0x0284, 0x02c2, 0x02e4, 0x0324,
+ 0x0366, 0x03c2, 0x03e4, 0x0424, 0x0466,
+ 0x04c2, 0x04e4, 0x0524, 0x0566, 0x05c2,
+ 0x05e4, 0x0624, 0x0666, 0x06c3, 0x06f5,
+ 0x0745, 0x0795, 0x07e7, 0x0857, 0x08c7,
+ 0x0939, 0x09c3, 0x09f5, 0x0a45, 0x0a95,
+ 0x0ae7, 0x0b57, 0x0bc7, 0x0c39, 0x0cc3,
+ 0x0cf5, 0x0d45, 0x0d97, 0x0e05, 0x0e57,
+ 0x0ec7, 0x0f39, 0x0fc3, 0x0ff5, 0x1045,
+ 0x1097, 0x1105, 0x1157, 0x11c7, 0x1239,
+ 0x12c4, 0x1306, 0x1366, 0x13c8, 0x1446,
+ 0x14a6, 0x1508, 0x1588, 0x1608, 0x1688,
+ 0x1708, 0x178a, 0x182a, 0x18ca, 0x196a,
+ 0x1a0c, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0,
+ 0x1ac4, 0x1b04, 0x1b43, 0x1b73, 0x1ba4,
+ 0x1be3, 0x1c13, 0x1c44, 0x1c83, 0x1cb3,
+ 0x1ce4, 0x1d23, 0x1d53, 0x1d84, 0x1dc4,
+ 0x1e05, 0x1e56, 0x1eb4, 0x1ef5, 0x1f46,
+ 0x1fa5, 0x1ff4, 0x2036, 0x2095, 0x20e4,
+ 0x2126, 0x2186, 0x21e6, 0x2248, 0x22c1,
+ 0x22d1, 0x22e1, 0x22f1, 0x2301, 0x2311,
+ 0x2322, 0x2341, 0x2351, 0x2361, 0x2371,
+ 0x2383, 0x23b3, 0x23e3, 0x2413, 0x2444,
+ 0x2484, 0x24c4, 0x2504, 0x2541, 0x2551,
+ 0x2561, 0x2571, 0x2581, 0x2591, 0x25a1,
+ 0x25b1, 0x25c1, 0x25d1, 0x25e1, 0x25f1,
+ 0x2601, 0x2611, 0x2621, 0x2631, 0x2641,
+ 0x2651, 0x2661, 0x2671, 0x2681, 0x2691,
+ 0x26a1, 0x26b1, 0x26c1, 0x26d3, 0x2702,
+ 0x2723, 0x2753, 0x2781, 0x2792, 0x27b3,
+};
+

-----END OF PAGE-----

-- Response ended

-- Page fetched on Sun Jun 2 13:54:10 2024