Mercurial > emacs
diff admin/unidata/bidimirror.awk @ 108984:684f6b36230b
Use Unicode database for attribute tables in bidi.c.
admin/unidata/bidimirror.awk: New file.
admin/unidata/BidiMirroring.txt: New file from
http://www.unicode.org/Public/6.0.0/ucd/BidiMirroring-6.0.0d1.txt.
admin/unidata/Makefile.in: (../../src/bidimirror.h): New target.
(all): Depend on ../../src/biditype.h and ../../src/bidimirror.h.
admin/unidata/makefile.w32-in (../../src/bidimirror.h): New target.
(all): Depend on ../../src/biditype.h and ../../src/bidimirror.h.
admin/unidata/biditype.awk: New file.
admin/unidata/Makefile.in (../../src/biditype.h): New target.
admin/unidata/makefile.w32-in (../../src/biditype.h): New target.
src/makefile.w32-in ($(BLD)/bidi.$(O)): Depend on biditype.h and
bidimirror.h.
src/deps.mk (bidi.o): Depend on biditype.h and bidimirror.h.
src/bidi.c (bidi_initialize): Remove explicit initialization of
bidi_type_table; include biditype.h instead. Don't support
entries whose second codepoint is zero. Initialize
bidi_mirror_table.
(bidi_mirror_char): Use bidi_mirror_table.
src/biditype.h: New file.
src/bidimirror.h: New file.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Sun, 13 Jun 2010 20:40:25 +0300 |
parents | 7e588bac2220 |
children | 6378d1b57038 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/admin/unidata/bidimirror.awk Sun Jun 13 20:40:25 2010 +0300 @@ -0,0 +1,37 @@ +# Generate data for bidi_mirroring_table, see src/bidi.c:bidi_initialize. + +# Copyright (C) 2010, Free Software Foundation, Inc. + +# This file is part of GNU Emacs. + +# GNU Emacs 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 3 of the License, or +# (at your option) any later version. + +# GNU Emacs 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 GNU Emacs. If not, see <http://www.gnu.org/licenses/>. + +# Written by Eli Zaretskii <eliz@gnu.org> + +BEGIN { + printf " struct {\n int from, to;\n } bidi_mirror[] = {\n"; + first = 1; + } + +$1 !~ /^#/ && NF >= 2 { + if (!first) + printf ",\n"; + else + first = 0; + printf "\t{ 0x%s, 0x%s }", $1, $2; + } + +END { + printf " };\n"; + }