Date: Wed, 12 Aug 2009 12:49:52 +0000 (UTC) From: Edwin Groothuis <edwin@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r196140 - in user/edwin/locale: . etc tools Message-ID: <200908121249.n7CCnqdV064921@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: edwin Date: Wed Aug 12 12:49:52 2009 New Revision: 196140 URL: http://svn.freebsd.org/changeset/base/196140 Log: - Follow up of move from tools/*.xml and tools/charmaps to etc/. - Add etc/unicode.conf to specify the unicode.org data. - Improve argument handling in cldr2def. Added: user/edwin/locale/etc/unicode.conf Modified: user/edwin/locale/Makefile user/edwin/locale/tools/charmaps.pm user/edwin/locale/tools/cldr2def.pl user/edwin/locale/tools/whatis.pl Modified: user/edwin/locale/Makefile ============================================================================== --- user/edwin/locale/Makefile Wed Aug 12 12:47:47 2009 (r196139) +++ user/edwin/locale/Makefile Wed Aug 12 12:49:52 2009 (r196140) @@ -2,17 +2,17 @@ # $FreeBSD$ # -UNICODEDIR?= /home/edwin/unicode/ -CLDRVERSION?= 1.7.1 -CLDRDIR?= ${UNICODEDIR}/cldr/${CLDRVERSION}/ -UNIDATAVERSION?=5.2.0 -UNIDATADIR?= ${UNICODEDIR}/UNIDATA/${UNIDATAVERSION}/ +CLDRDIR!= grep ^cldr etc/unicode.conf | cut -f 2 -d " " +UNIDATADIR!= grep ^unidata etc/unicode.conf | cut -f 2 -d " " -XMLDIR?= /home/edwin/svn/edwin/locale/tools/ -XMLFILE?= charmaps.xml +ETCDIR= ${.CURDIR}/etc TYPES?= monetdef numericdef msgdef timedef +.if defined(LC) +LC:= --lc=${LC} +.endif + all: .for t in ${TYPES} test -d ${t} || mkdir ${t} @@ -30,7 +30,11 @@ install: .for t in ${TYPES} build-${t}: test -d ${t} || mkdir ${t} - perl -I tools tools/cldr2def.pl ${CLDRDIR} ${UNIDATADIR} ${XMLDIR} ${XMLDIR}/${XMLFILE} ${t} ${LC} + perl -I tools tools/cldr2def.pl \ + --cldr=$$(realpath ${CLDRDIR}) \ + --unidata=$$(realpath ${UNIDATADIR}) \ + --etc=$$(realpath ${ETCDIR}) \ + --type=${t} ${LC} .endfor clean: Added: user/edwin/locale/etc/unicode.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/etc/unicode.conf Wed Aug 12 12:49:52 2009 (r196140) @@ -0,0 +1,2 @@ +cldr ~/unicode/cldr/1.7.1 +unidata ~/unicode/UNIDATA/5.2.0 Modified: user/edwin/locale/tools/charmaps.pm ============================================================================== --- user/edwin/locale/tools/charmaps.pm Wed Aug 12 12:47:47 2009 (r196139) +++ user/edwin/locale/tools/charmaps.pm Wed Aug 12 12:49:52 2009 (r196140) @@ -13,9 +13,9 @@ my %d = (); my $index = -1; sub get_xmldata { - my $xmlfile = shift; + my $etcdir = shift; - open(FIN, $xmlfile); + open(FIN, "$etcdir/charmaps.xml"); my @xml = <FIN>; chomp(@xml); close(FIN); Modified: user/edwin/locale/tools/cldr2def.pl ============================================================================== --- user/edwin/locale/tools/cldr2def.pl Wed Aug 12 12:47:47 2009 (r196139) +++ user/edwin/locale/tools/cldr2def.pl Wed Aug 12 12:49:52 2009 (r196140) @@ -8,23 +8,33 @@ use strict; use XML::Parser; use Tie::IxHash; use Data::Dumper; +use Getopt::Long; use Digest::SHA qw(sha1_hex); require "charmaps.pm"; + if ($#ARGV < 2) { - print "Usage: $0 <cldrdir> <unidatadir> <xmldirs> <charmaps> <type> [la_CC]\n"; + print "Usage: $0 --cldr=<cldrdir> --unidata=<unidatadir> --etc=<etcdir> --type=<type> [--lc=<la_CC>]\n"; exit(1); } my $DEFENCODING = "UTF-8"; -my $CLDRDIR = shift(@ARGV); -my $UNIDATADIR = shift(@ARGV); -my $XMLDIR = shift(@ARGV); -my $CHARMAPS = shift(@ARGV); -my $TYPE = shift(@ARGV); -my $doonly = shift(@ARGV); my @filter = (); +my $CLDRDIR = undef; +my $UNIDATADIR = undef; +my $ETCDIR = undef; +my $TYPE = undef; +my $doonly = undef; + +my $result = GetOptions ( + "cldr=s" => \$CLDRDIR, + "unidata=s" => \$UNIDATADIR, + "etc=s" => \$ETCDIR, + "type=s" => \$TYPE, + "lc=s" => \$doonly + ); + my %convertors = (); my %ucd = (); @@ -40,7 +50,7 @@ my %utf8map = (); my %utf8aliases = (); get_unidata($UNIDATADIR); get_utf8map("$CLDRDIR/posix/$DEFENCODING.cm"); -get_encodings("$XMLDIR/charmaps"); +get_encodings("$ETCDIR/charmaps"); my %keys = (); tie(%keys, "Tie::IxHash"); @@ -198,7 +208,8 @@ sub callback_altmon { sub get_unidata { my $directory = shift; - open(FIN, "$directory/UnicodeData.txt"); + open(FIN, "$directory/UnicodeData.txt") + or die("Cannot open $directory/UnicodeData.txt");; my @lines = <FIN>; chomp(@lines); close(FIN); @@ -276,7 +287,7 @@ sub get_encodings { } sub get_languages { - my %data = get_xmldata($CHARMAPS); + my %data = get_xmldata($ETCDIR); %languages = %{$data{L}}; %translations = %{$data{T}}; %alternativemonths = %{$data{AM}}; @@ -315,7 +326,7 @@ sub get_fields { $file .= $c; my $filename = "$CLDRDIR/posix/$file.$DEFENCODING.src"; - $filename = "$XMLDIR/$file.$DEFENCODING.src" + $filename = "$ETCDIR/$file.$DEFENCODING.src" if (! -f $filename); if (! -f $filename && defined $languages{$l}{$f}{fallback}) { Modified: user/edwin/locale/tools/whatis.pl ============================================================================== --- user/edwin/locale/tools/whatis.pl Wed Aug 12 12:47:47 2009 (r196139) +++ user/edwin/locale/tools/whatis.pl Wed Aug 12 12:49:52 2009 (r196140) @@ -1,8 +1,8 @@ #!/bin/sh -UNIDATA=/home/edwin/unicode/UNIDATA/5.2.0/UnicodeData.txt -CHARMAPS=/home/edwin/svn/edwin/locale/tools/charmaps -UTF8=~/unicode/cldr/1.7.1/posix/UTF-8.cm +UNIDATA=$(grep ^unidata etc/unicode.conf | cut -f 2 -d " ") +UTF8=$(grep ^cldr etc/unicode.conf | cut -f 2 -d " ")/UTF-8.cm +CHARMAPS=etc/charmaps if [ -z "$1" ]; then echo "Usage: $0 <unicode string>"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908121249.n7CCnqdV064921>