Script to generate table header.
authordrepper <drepper>
Mon, 1 Dec 1997 17:00:15 +0000 (17:00 +0000)
committerdrepper <drepper>
Mon, 1 Dec 1997 17:00:15 +0000 (17:00 +0000)
iconvdata/gap.pl [new file with mode: 0644]
iconvdata/gaptab.pl [new file with mode: 0644]

diff --git a/iconvdata/gap.pl b/iconvdata/gap.pl
new file mode 100644 (file)
index 0000000..01ee9b2
--- /dev/null
@@ -0,0 +1,16 @@
+$first=$last=$idx=0;
+while (<>) {
+  local($ucs,%rest) = split;
+  local($u)=hex($ucs);
+  if ($u - $last > 6) {
+    if ($last != 0) {
+      printf ("  { start: %#06x, end: %#06x, idx: %5d },\n",
+             $first, $last, $idx - $first);
+      $idx += $last - $first + 1;
+    }
+    $first=$u;
+  }
+  $last=$u;
+}
+printf ("  { start: %#06x, end: %#06x, idx: %5d },\n",
+       $first, $last, $idx - $first);
diff --git a/iconvdata/gaptab.pl b/iconvdata/gaptab.pl
new file mode 100644 (file)
index 0000000..34eb2f9
--- /dev/null
@@ -0,0 +1,25 @@
+$first=$last=$idx=0;
+sub fmt {
+  printf ("\n ") if (($n % 8) == 0);
+  ++$n;
+  my($val) = pop(@_);
+  printf (" '\\x%02x',", $val);
+}
+while (<>) {
+  local($ucs,$char,%rest) = split;
+  local($u)=hex($ucs);
+  local($c)=hex($char);
+  if ($u - $last > 6) {
+    if ($last != 0) {
+      $idx += $last - $first + 1;
+    }
+    $first=$u;
+  } else {
+    for ($m = $last + 1; $m < $u; ++$m) {
+      fmt (0);
+    }
+  }
+  fmt ($c);
+  $last=$u;
+}
+printf ("\n");