summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@src.gnome.org>2000-01-13 04:12:07 +0000
committerOwen Taylor <otaylor@src.gnome.org>2000-01-13 04:12:07 +0000
commit282fb5fc9f9d01c4d933a6eb6bee6ae9f0d512c7 (patch)
tree0b19c69692a2fe52a1b33d5e27c97b26a64417e3 /tools
parent66ae87f9fc45f5f564acf5014e9bd1341d052958 (diff)
downloadpango-282fb5fc9f9d01c4d933a6eb6bee6ae9f0d512c7.tar.gz
Initial revision
Diffstat (limited to 'tools')
-rw-r--r--tools/Makefile.am7
-rwxr-xr-xtools/add-copyright62
-rwxr-xr-xtools/compress-table.pl43
-rwxr-xr-xtools/make-table.sh16
-rw-r--r--tools/maps/README12
5 files changed, 140 insertions, 0 deletions
diff --git a/tools/Makefile.am b/tools/Makefile.am
new file mode 100644
index 00000000..bdf8f083
--- /dev/null
+++ b/tools/Makefile.am
@@ -0,0 +1,7 @@
+## Process this file with automake to create Makefile.in.
+
+EXTRA_DIST= \
+ add-copyright \
+ compress-table.pl \
+ make-table.sh \
+ maps/README
diff --git a/tools/add-copyright b/tools/add-copyright
new file mode 100755
index 00000000..201d887d
--- /dev/null
+++ b/tools/add-copyright
@@ -0,0 +1,62 @@
+#!/usr/local/bin/perl -w
+
+# Spit the copyright
+
+# If there is a leading block comment that looks like this
+# license, don't add the license.
+
+$ARGV[0] =~ s!^\./!!;
+
+open IN, "<$ARGV[0]" or die "Cannot open $ARGV[0]: $!";
+open OUT, ">$ARGV[0].new" or die "Cannot open $ARGV[0].new: $!";
+
+$old = "";
+while (<IN>) {
+ $old .= $_;
+ m!^(/| )\*! or last;
+}
+
+if ($old !~ /Free Software Foundation/) {
+ while (<DATA>) {
+ s/\@NAME\@/$ARGV[0]/;
+ print OUT;
+ }
+}
+
+print OUT $old;
+while (<IN>) {
+ print OUT;
+}
+
+close IN;
+close OUT;
+
+if (system("diff $ARGV[0] $ARGV[0].new > /dev/null") != 0) {
+ system ("mv $ARGV[0] $ARGV[0].bak");
+ system ("mv $ARGV[0].new $ARGV[0]");
+} else {
+ system ("rm $ARGV[0].new");
+}
+
+__DATA__
+/* Pango
+ * @NAME@:
+ *
+ * Copyright (C) 1999 Red Hat Software
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
diff --git a/tools/compress-table.pl b/tools/compress-table.pl
new file mode 100755
index 00000000..83b268cb
--- /dev/null
+++ b/tools/compress-table.pl
@@ -0,0 +1,43 @@
+#!/usr/bin/perl -w
+
+sub convert {
+ $s = shift;
+ $s = "ENC_".uc($s);
+ $s =~ s/-/_/g;
+ return $s;
+}
+
+open TABLE, "table";
+
+$encodings = "";
+
+while (<TABLE>) {
+ if (/^(0x[0-9a-fA-F]+)\s+([^:]*):(0x[0-9a-fA-F]+)/) {
+ ($u, $e) = ($1, $2);
+
+ $u = oct($u);
+
+ if (!defined $start) {
+ $start = $u;
+ $old_u = $u;
+ $encodings = convert($e);
+ $end = $u;
+ } elsif ($old_u ne $u) {
+ if (!defined $old_encodings) {
+ $old_encodings = $encodings;
+ } elsif ($old_encodings ne $encodings || $old_u != $end + 1) {
+
+ printf "{ %#x, %#x, $old_encodings },\n", $start, $end;
+ $start = $old_u;
+ $old_encodings = $encodings;
+ }
+ $end = $old_u;
+ $encodings = convert($e);
+ $old_u = $u;
+ } else {
+ $encodings .= "|".convert($e);
+ }
+ }
+}
+
+close TABLE;
diff --git a/tools/make-table.sh b/tools/make-table.sh
new file mode 100755
index 00000000..e4a3963b
--- /dev/null
+++ b/tools/make-table.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+echo -n > table.tmp
+
+for i in maps/* ; do
+ name=`basename $i`
+ case $name in
+ README | CVS)
+ ;;
+ *)
+ cat $i | grep -v '^#' | awk "{ printf \"%s %s:%s\\n\", \$2, \"$name\", \$1 }" >> table.tmp
+ ;;
+ esac
+done
+sort table.tmp > table
+rm table.tmp
diff --git a/tools/maps/README b/tools/maps/README
new file mode 100644
index 00000000..036fc5b1
--- /dev/null
+++ b/tools/maps/README
@@ -0,0 +1,12 @@
+This directory is intentionally empty. It is located
+here so that mapping tables can be put here when
+running the make-table.sh script in the parent directory.
+
+However, the mapping tables that I've used are those
+provided by the Unicode consortium, which can't be
+distributed in their original form, though the data
+is freely useable.
+
+Owen Taylor
+otaylor@redhat.com
+10 Jul 1999 \ No newline at end of file