glibc-c-utf8-locale.patch (9102B)
- Short description: Add C.UTF-8 support.
- Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
- Origin: PATCH
- Upstream status: not-submitted
- This patch needs to upstream as part of Carlos O'Donell
- <carlos@redhat.com>'s work on enabling upstream C.UTF-8 support. This
- work is currently blocked on cleaning up the test results to prove that
- full code-point sorting is working as intended.
- Note that this patch does not provide full code-point sorting as
- expected.
- This patch needs to upstream as soon as possible since it would be nice
- to have this in F29 and fixed.
- From 2eda7b462b415105f5a05c1323372d4e39d46439 Mon Sep 17 00:00:00 2001
- From: Mike FABIAN <mfabian@redhat.com>
- Date: Mon, 10 Aug 2015 15:58:12 +0200
- Subject: [PATCH] Add a C.UTF-8 locale
- ---
- localedata/SUPPORTED | 1 +
- localedata/locales/C | 238 +++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 239 insertions(+)
- create mode 100644 localedata/locales/C
- diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED
- index 8ca023e..2a78391 100644
- --- a/localedata/SUPPORTED
- +++ b/localedata/SUPPORTED
- @@ -1,6 +1,7 @@
- # This file names the currently supported and somewhat tested locales.
- # If you have any additions please file a glibc bug report.
- SUPPORTED-LOCALES=\
- +C.UTF-8/UTF-8 \
- aa_DJ.UTF-8/UTF-8 \
- aa_DJ/ISO-8859-1 \
- aa_ER/UTF-8 \
- diff --git a/localedata/locales/C b/localedata/locales/C
- new file mode 100644
- index 0000000..fdf460e
- --- /dev/null
- +++ b/localedata/locales/C
- @@ -0,0 +1,238 @@
- +escape_char /
- +comment_char %
- +% Locale for C locale in UTF-8
- +
- +LC_IDENTIFICATION
- +title "C locale"
- +source ""
- +address ""
- +contact ""
- +email "mfabian@redhat.com"
- +tel ""
- +fax ""
- +language "C"
- +territory ""
- +revision "1.0"
- +date "2015-08-10"
- +%
- +category "i18n:2012";LC_IDENTIFICATION
- +category "i18n:2012";LC_CTYPE
- +category "i18n:2012";LC_COLLATE
- +category "i18n:2012";LC_TIME
- +category "i18n:2012";LC_NUMERIC
- +category "i18n:2012";LC_MONETARY
- +category "i18n:2012";LC_MESSAGES
- +category "i18n:2012";LC_PAPER
- +category "i18n:2012";LC_NAME
- +category "i18n:2012";LC_ADDRESS
- +category "i18n:2012";LC_TELEPHONE
- +category "i18n:2012";LC_MEASUREMENT
- +END LC_IDENTIFICATION
- +
- +LC_CTYPE
- +copy "i18n"
- +
- +translit_start
- +include "translit_combining";""
- +translit_end
- +
- +END LC_CTYPE
- +
- +LC_COLLATE
- +order_start forward
- +<U0000>
- +..
- +<UFFFF>
- +<U10000>
- +..
- +<U1FFFF>
- +<U20000>
- +..
- +<U2FFFF>
- +<UE0000>
- +..
- +<UEFFFF>
- +<UF0000>
- +..
- +<UFFFFF>
- +<U100000>
- +..
- +<U10FFFF>
- +UNDEFINED
- +order_end
- +END LC_COLLATE
- +
- +LC_MONETARY
- +% This is the 14652 i18n fdcc-set definition for
- +% the LC_MONETARY category
- +% (except for the int_curr_symbol and currency_symbol, they are empty in
- +% the 14652 i18n fdcc-set definition and also empty in
- +% glibc/locale/C-monetary.c. But localedef complains in that case).
- +%
- +% Using "USD" for int_curr_symbol. But maybe "XXX" would be better?
- +% XXX is "No currency" (https://en.wikipedia.org/wiki/ISO_4217)
- +int_curr_symbol "<U0055><U0053><U0044><U0020>"
- +% Using "$" for currency_symbol. But maybe <U00A4> would be better?
- +% U+00A4 is the "generic currency symbol"
- +% (https://en.wikipedia.org/wiki/Currency_sign_%28typography%29)
- +currency_symbol "<U0024>"
- +mon_decimal_point "<U002E>"
- +mon_thousands_sep ""
- +mon_grouping -1
- +positive_sign ""
- +negative_sign "<U002D>"
- +int_frac_digits -1
- +frac_digits -1
- +p_cs_precedes -1
- +int_p_sep_by_space -1
- +p_sep_by_space -1
- +n_cs_precedes -1
- +int_n_sep_by_space -1
- +n_sep_by_space -1
- +p_sign_posn -1
- +n_sign_posn -1
- +%
- +END LC_MONETARY
- +
- +LC_NUMERIC
- +% This is the POSIX Locale definition for
- +% the LC_NUMERIC category.
- +%
- +decimal_point "<U002E>"
- +thousands_sep ""
- +grouping -1
- +END LC_NUMERIC
- +
- +LC_TIME
- +% This is the POSIX Locale definition for
- +% the LC_TIME category.
- +%
- +% Abbreviated weekday names (%a)
- +abday "<U0053><U0075><U006E>";"<U004D><U006F><U006E>";/
- + "<U0054><U0075><U0065>";"<U0057><U0065><U0064>";/
- + "<U0054><U0068><U0075>";"<U0046><U0072><U0069>";/
- + "<U0053><U0061><U0074>"
- +
- +% Full weekday names (%A)
- +day "<U0053><U0075><U006E><U0064><U0061><U0079>";/
- + "<U004D><U006F><U006E><U0064><U0061><U0079>";/
- + "<U0054><U0075><U0065><U0073><U0064><U0061><U0079>";/
- + "<U0057><U0065><U0064><U006E><U0065><U0073><U0064><U0061><U0079>";/
- + "<U0054><U0068><U0075><U0072><U0073><U0064><U0061><U0079>";/
- + "<U0046><U0072><U0069><U0064><U0061><U0079>";/
- + "<U0053><U0061><U0074><U0075><U0072><U0064><U0061><U0079>"
- +
- +% Abbreviated month names (%b)
- +abmon "<U004A><U0061><U006E>";"<U0046><U0065><U0062>";/
- + "<U004D><U0061><U0072>";"<U0041><U0070><U0072>";/
- + "<U004D><U0061><U0079>";"<U004A><U0075><U006E>";/
- + "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/
- + "<U0053><U0065><U0070>";"<U004F><U0063><U0074>";/
- + "<U004E><U006F><U0076>";"<U0044><U0065><U0063>"
- +
- +% Full month names (%B)
- +mon "<U004A><U0061><U006E><U0075><U0061><U0072><U0079>";/
- + "<U0046><U0065><U0062><U0072><U0075><U0061><U0072><U0079>";/
- + "<U004D><U0061><U0072><U0063><U0068>";/
- + "<U0041><U0070><U0072><U0069><U006C>";/
- + "<U004D><U0061><U0079>";/
- + "<U004A><U0075><U006E><U0065>";/
- + "<U004A><U0075><U006C><U0079>";/
- + "<U0041><U0075><U0067><U0075><U0073><U0074>";/
- + "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";/
- + "<U004F><U0063><U0074><U006F><U0062><U0065><U0072>";/
- + "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
- + "<U0044><U0065><U0063><U0065><U006D><U0062><U0065><U0072>"
- +
- +% Week description, consists of three fields:
- +% 1. Number of days in a week.
- +% 2. Gregorian date that is a first weekday (19971130 for Sunday, 19971201 for Monday).
- +% 3. The weekday number to be contained in the first week of the year.
- +%
- +% ISO 8601 conforming applications should use the values 7, 19971201 (a
- +% Monday), and 4 (Thursday), respectively.
- +week 7;19971201;4
- +first_weekday 1
- +first_workday 1
- +
- +% Appropriate date and time representation (%c)
- +% "%a %b %e %H:%M:%S %Y"
- +d_t_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065><U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0059>"
- +
- +% Appropriate date representation (%x)
- +% "%m/%d/%y"
- +d_fmt "<U0025><U006D><U002F><U0025><U0064><U002F><U0025><U0079>"
- +
- +% Appropriate time representation (%X)
- +% "%H:%M:%S"
- +t_fmt "<U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053>"
- +
- +% Appropriate AM/PM time representation (%r)
- +% "%I:%M:%S %p"
- +t_fmt_ampm "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070>"
- +
- +% Equivalent of AM/PM (%p) "AM"/"PM"
- +%
- +am_pm "<U0041><U004D>";"<U0050><U004D>"
- +
- +% Appropriate date representation (date(1)) "%a %b %e %H:%M:%S %Z %Y"
- +date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065><U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U005A><U0020><U0025><U0059>"
- +END LC_TIME
- +
- +LC_MESSAGES
- +% This is the POSIX Locale definition for
- +% the LC_NUMERIC category.
- +%
- +yesexpr "<U005E><U005B><U0079><U0059><U005D>"
- +noexpr "<U005E><U005B><U006E><U004E><U005D>"
- +yesstr "<U0059><U0065><U0073>"
- +nostr "<U004E><U006F>"
- +END LC_MESSAGES
- +
- +LC_PAPER
- +% This is the ISO/IEC 14652 "i18n" definition for
- +% the LC_PAPER category.
- +% (A4 paper, this is also used in the built in C/POSIX
- +% locale in glibc/locale/C-paper.c)
- +height 297
- +width 210
- +END LC_PAPER
- +
- +LC_NAME
- +% This is the ISO/IEC 14652 "i18n" definition for
- +% the LC_NAME category.
- +% "%p%t%g%t%m%t%f"
- +% (also used in the built in C/POSIX locale in glibc/locale/C-name.c)
- +name_fmt "<U0025><U0070><U0025><U0074><U0025><U0067><U0025><U0074>/
- +<U0025><U006D><U0025><U0074><U0025><U0066>"
- +END LC_NAME
- +
- +LC_ADDRESS
- +% This is the ISO/IEC 14652 "i18n" definition for
- +% the LC_ADDRESS category.
- +% "%a%N%f%N%d%N%b%N%s %h %e %r%N%C-%z %T%N%c%N"
- +% (also used in the built in C/POSIX locale in glibc/locale/C-address.c)
- +postal_fmt "<U0025><U0061><U0025><U004E><U0025><U0066><U0025><U004E>/
- +<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
- +<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
- +<U004E><U0025><U0043><U002D><U0025><U007A><U0020><U0025><U0054><U0025>/
- +<U004E><U0025><U0063><U0025><U004E>"
- +END LC_ADDRESS
- +
- +LC_TELEPHONE
- +% This is the ISO/IEC 14652 "i18n" definition for
- +% the LC_TELEPHONE category.
- +% "+%c %a %l"
- +tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/
- +<U006C>"
- +% (also used in the built in C/POSIX locale in glibc/locale/C-telephone.c)
- +END LC_TELEPHONE
- +
- +LC_MEASUREMENT
- +% This is the ISO/IEC 14652 "i18n" definition for
- +% the LC_MEASUREMENT category.
- +% (same as in the built in C/POSIX locale in glibc/locale/C-measurement.c)
- +%metric
- +measurement 1
- +END LC_MEASUREMENT
- +
- --
- 2.4.3