git/update_unicode.sh
Beat Bolli 69d84a3b58 update_unicode.sh: set UNICODE_DIR only once
The value is the same on both uniset invocations, so "Don't Repeat
Yourself" applies.

Since this is done as the last command in the sequence, there's no
need to unset UNICODE_DIR at the end.

Signed-off-by: Beat Bolli <dev+git@drbeat.li>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-12-22 10:02:46 -08:00

40 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
#See http://www.unicode.org/reports/tr44/
#
#Me Enclosing_Mark an enclosing combining mark
#Mn Nonspacing_Mark a nonspacing combining mark (zero advance width)
#Cf Format a format control character
#
UNICODEWIDTH_H=../unicode_width.h
if ! test -d unicode; then
mkdir unicode
fi &&
( cd unicode &&
if ! test -f UnicodeData.txt; then
wget http://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt
fi &&
if ! test -f EastAsianWidth.txt; then
wget http://www.unicode.org/Public/UCD/latest/ucd/EastAsianWidth.txt
fi &&
if ! test -d uniset; then
git clone https://github.com/depp/uniset.git
fi &&
(
cd uniset &&
if ! test -x uniset; then
autoreconf -i &&
./configure --enable-warnings=-Werror CFLAGS='-O0 -ggdb'
fi &&
make
) && {
UNICODE_DIR=. && export UNICODE_DIR &&
echo "static const struct interval zero_width[] = {" &&
./uniset/uniset --32 cat:Me,Mn,Cf + U+1160..U+11FF - U+00AD |
grep -v plane &&
echo "};" &&
echo "static const struct interval double_width[] = {" &&
./uniset/uniset --32 eaw:F,W &&
echo "};"
} >$UNICODEWIDTH_H
)