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