localedata: Reorganize Unicode LC_CTYPE inclusion.

The commit does the following things:

* Move non-transliteration Unicode generated data to i18n_ctype.
* Copy the i18n_ctype data into i18n and add transliteration.

In the future, any locale which needs Unicode LC_CTYPE data can
also just use `copy i18n_ctype` and get the base character classes
and maps without transliteration.

Tested by compiling all the locales and my prototype C.UTF-8 which
uses it.

Signed-off-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
Carlos O'Donell 2017-10-12 23:52:14 -07:00
parent 18c08b9641
commit 8dc8be75d2
4 changed files with 2369 additions and 2309 deletions

View File

@ -1,3 +1,15 @@
2017-10-12 Carlos O'Donell <carlos@redhat.com>
* localedata/unicode-gen/Makefile (GENERATED): Use i18n_ctype.
(REPORTS): Likewise.
(check): Likewise.
(i18n): Rename to...
(i18n_ctype): ...this.
(i18n-report): Rename to...
(i18n_ctype-report): ...this.
* localedata/locales/i18n_ctype: Regenerate.
* localedata/locales/i18n: copy i18n_ctype.
2017-10-13 Joseph Myers <joseph@codesourcery.com>
* stdlib/strfroml.c: Include <bits/floatn.h>.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,7 @@
# This Makefile is NOT used as part of the GNU libc build. It needs
# to be run manually, within the source tree, at Unicode upgrades
# (change UNICODE_VERSION below), to update ../locales/i18n ctype
# (change UNICODE_VERSION below), to update ../locales/i18n_ctype ctype
# information (part of the file is preserved, so don't wipe it all
# out), and ../charmaps/UTF-8.
@ -41,15 +41,15 @@ PYTHON3 = python3
WGET = wget
DOWNLOADS = UnicodeData.txt DerivedCoreProperties.txt EastAsianWidth.txt PropList.txt
GENERATED = i18n tr_TR UTF-8 translit_combining translit_compat translit_circle translit_cjk_compat translit_font translit_fraction
REPORTS = i18n-report UTF-8-report
GENERATED = i18n_ctype tr_TR UTF-8 translit_combining translit_compat translit_circle translit_cjk_compat translit_font translit_fraction
REPORTS = i18n_ctype-report UTF-8-report
all: $(GENERATED)
check: check-i18n check-UTF-8
check: check-i18n_ctype check-UTF-8
install:
cp -p i18n ../locales/i18n
cp -p i18n_ctype ../locales/i18n_ctype
cp -p tr_TR ../locales/tr_TR
cp -p UTF-8 ../charmaps/UTF-8
cp -p translit_combining ../locales/translit_combining
@ -66,17 +66,17 @@ mostlyclean:
.PHONY: all check clean mostlyclean install
i18n: UnicodeData.txt DerivedCoreProperties.txt
i18n: ../locales/i18n # Preserve non-ctype information.
i18n: gen_unicode_ctype.py
i18n_ctype: UnicodeData.txt DerivedCoreProperties.txt
i18n_ctype: ../locales/i18n_ctype # Preserve non-ctype information.
i18n_ctype: gen_unicode_ctype.py
$(PYTHON3) gen_unicode_ctype.py -u UnicodeData.txt \
-d DerivedCoreProperties.txt -i ../locales/i18n -o $@ \
-d DerivedCoreProperties.txt -i ../locales/i18n_ctype -o $@ \
--unicode_version $(UNICODE_VERSION)
i18n-report: i18n ../locales/i18n
i18n-report: ctype_compatibility.py ctype_compatibility_test_cases.py
$(PYTHON3) ./ctype_compatibility.py -o ../locales/i18n \
-n i18n -a -m > $@
i18n_ctype-report: i18n_ctype ../locales/i18n_ctype
i18n_ctype-report: ctype_compatibility.py ctype_compatibility_test_cases.py
$(PYTHON3) ./ctype_compatibility.py -o ../locales/i18n_ctype \
-n i18n_ctype -a -m > $@
check-i18n: i18n-report
@if grep '\(Missing\|Added\) [^0]\|^Number of errors[^=]* = [^0]' \