X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/f0c20432f8c9dffd049c785f21cc85d98ff628fd..b1dd58fc4897589b78195dc174da043024255a71:/scripts/make-unidata diff --git a/scripts/make-unidata b/scripts/make-unidata index 1230aa7..28532a9 100755 --- a/scripts/make-unidata +++ b/scripts/make-unidata @@ -3,20 +3,18 @@ # This file is part of DisOrder. # Copyright (C) 2007 Richard Kettlewell # -# This program is free software; you can redistribute it and/or modify +# This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. -# -# This program 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 -# General Public License for more details. -# +# +# This program 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 General Public License for more details. +# # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -# USA +# along with this program. If not, see . # # # Generate Unicode support tables @@ -94,7 +92,7 @@ sub input { my $path = shift; my $lpath = basename($path); if(!-e $lpath) { - system("wget http://www.unicode.org/Public/5.0.0/ucd/$path"); + system("wget http://www.unicode.org/Public/6.0.0/ucd/$path"); chmod(0444, $lpath) or die "$lpath: $!\n"; } open(STDIN, "<$lpath") or die "$lpath: $!\n"; @@ -338,7 +336,13 @@ while(<>) { print STDERR "Generating unidata.h...\n"; open(STDOUT, ">unidata.h") or die "unidata.h: $!\n"; -out("/* Automatically generated file, see scripts/make-unidata */\n", +out("/** \@file lib/unidata.h\n", + " * \@brief Unicode tables\n", + " *\n", + " * Automatically generated file, see scripts/make-unidata\n", + " *\n", + " * DO NOT EDIT.\n", + " */\n", "#ifndef UNIDATA_H\n", "#define UNIDATA_H\n"); @@ -438,9 +442,14 @@ close STDOUT or die "unidata.h: $!\n"; print STDERR "Generating unidata.c...\n"; open(STDOUT, ">unidata.c") or die "unidata.c: $!\n"; -out("/* Automatically generated file, see scripts/make-unidata */\n", - "#include \n", - "#include \"types.h\"\n", +out("/** \@file lib/unidata.c\n", + " * \@brief Unicode tables\n", + " *\n", + " * Automatically generated file, see scripts/make-unidata\n", + " *\n", + " * DO NOT EDIT.\n", + " */\n", + "#include \"common.h\"\n", "#include \"unidata.h\"\n"); # Short aliases to keep .c file small @@ -553,9 +562,11 @@ for(my $base = 0; $base <= $max; $base += $modulus) { my @t; for(my $c = $base; $c < $base + $modulus; ++$c) { my $d = $data{$c}; - my $decompsym = ($data{$c}->{decompsym} or "0"); - my $cfsym = ($data{$c}->{cfsym} or "0"); - my $compsym = ($data{$c}->{compsym} or "0"); + my $decompsym = ($d->{decompsym} or "0"); + my $cfsym = ($d->{cfsym} or "0"); + my $compsym = ($d->{compsym} or "0"); + my $ccc = ($d->{ccc} or "0"); + my $gc = ($d->{gc} or "Cn"); my @flags = (); if($data{$c}->{ypogegrammeni}) { push(@flags, "NBC"); @@ -564,15 +575,15 @@ for(my $base = 0; $base <= $max; $base += $modulus) { push(@flags, "CD"); } my $flags = @flags ? join("|", @flags) : 0; - push(@t, "{". + push(@t, "{". join(",", $decompsym, $cfsym, $compsym, # $d->{ud}, # $d->{ld}, - $d->{ccc}, - $d->{gc}, + $ccc, + $gc, $flags, "GB$d->{gbreak}", "WB$d->{wbreak}",