5583 lines
153 KiB
HTML
5583 lines
153 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<meta name="generator" content="HTML Tidy, see www.w3.org">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<link type="text/css" rel="stylesheet" href="style.css"><!-- Generated by The Open Group's rhtm tool v1.2.1 -->
|
|
<!-- Copyright (c) 2001 The Open Group, All Rights Reserved -->
|
|
<title>Locale</title>
|
|
</head>
|
|
<body bgcolor="white">
|
|
<script type="text/javascript" language="JavaScript" src="../jscript/codes.js">
|
|
</script>
|
|
|
|
<basefont size="3"> <!--header start-->
|
|
<center><font size="2">The Open Group Base Specifications Issue 6<br>
|
|
IEEE Std 1003.1-2001<br>
|
|
Copyright © 2001 The IEEE and The Open Group, All Rights reserved.</font></center>
|
|
|
|
<!--header end-->
|
|
<hr size="2" noshade>
|
|
<h2><a name="tag_07"></a>Locale</h2>
|
|
|
|
<h3><a name="tag_07_01"></a>General</h3>
|
|
|
|
<p>A locale is the definition of the subset of a user's environment that depends on language and cultural conventions. It is made
|
|
up from one or more categories. Each category is identified by its name and controls specific aspects of the behavior of components
|
|
of the system. Category names correspond to the following environment variable names:</p>
|
|
|
|
<dl compact>
|
|
<dt><i>LC_CTYPE</i></dt>
|
|
|
|
<dd>Character classification and case conversion.</dd>
|
|
|
|
<dt><i>LC_COLLATE</i></dt>
|
|
|
|
<dd>Collation order.</dd>
|
|
|
|
<dt><i>LC_MONETARY</i></dt>
|
|
|
|
<dd>Monetary formatting.</dd>
|
|
|
|
<dt><i>LC_NUMERIC</i></dt>
|
|
|
|
<dd>Numeric, non-monetary formatting.</dd>
|
|
|
|
<dt><i>LC_TIME</i></dt>
|
|
|
|
<dd>Date and time formats.</dd>
|
|
|
|
<dt><i>LC_MESSAGES</i></dt>
|
|
|
|
<dd>Formats of informative and diagnostic messages and interactive responses.</dd>
|
|
</dl>
|
|
|
|
<p>The standard utilities in the Shell and Utilities volume of IEEE Std 1003.1-2001 shall base their behavior on the
|
|
current locale, as defined in the ENVIRONMENT VARIABLES section for each utility. The behavior of some of the C-language functions
|
|
defined in the System Interfaces volume of IEEE Std 1003.1-2001 shall also be modified based on the current locale, as
|
|
defined by the last call to <a href="../functions/setlocale.html"><i>setlocale</i>()</a>.</p>
|
|
|
|
<p>Locales other than those supplied by the implementation can be created via the <a href=
|
|
"../utilities/localedef.html"><i>localedef</i></a> utility, provided that the _POSIX2_LOCALEDEF symbol is defined on the system.
|
|
Even if <a href="../utilities/localedef.html"><i>localedef</i></a> is not provided, all implementations conforming to the System
|
|
Interfaces volume of IEEE Std 1003.1-2001 shall provide one or more locales that behave as described in this chapter. The
|
|
input to the utility is described in <a href="#tag_07_03">Locale Definition</a> . The value that is used to specify a locale when
|
|
using environment variables shall be the string specified as the <i>name</i> operand to the <a href=
|
|
"../utilities/localedef.html"><i>localedef</i></a> utility when the locale was created. The strings <tt>"C"</tt> and
|
|
<tt>"POSIX"</tt> are reserved as identifiers for the POSIX locale (see <a href="#tag_07_02">POSIX Locale</a> ). When the value of a
|
|
locale environment variable begins with a slash ( <tt>'/'</tt> ), it shall be interpreted as the pathname of the locale definition;
|
|
the type of file (regular, directory, and so on) used to store the locale definition is implementation-defined. If the value does
|
|
not begin with a slash, the mechanism used to locate the locale is implementation-defined.</p>
|
|
|
|
<p>If different character sets are used by the locale categories, the results achieved by an application utilizing these categories
|
|
are undefined. Likewise, if different codesets are used for the data being processed by interfaces whose behavior is dependent on
|
|
the current locale, or the codeset is different from the codeset assumed when the locale was created, the result is also
|
|
undefined.</p>
|
|
|
|
<p>Applications can select the desired locale by invoking the <a href="../functions/setlocale.html"><i>setlocale</i>()</a> function
|
|
(or equivalent) with the appropriate value. If the function is invoked with an empty string, such as:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>setlocale(LC_ALL, "");
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>the value of the corresponding environment variable is used. If the environment variable is unset or is set to the empty string,
|
|
the implementation shall set the appropriate environment as defined in <a href="xbd_chap08.html#tag_08"><i>Environment
|
|
Variables</i></a> .</p>
|
|
|
|
<h3><a name="tag_07_02"></a>POSIX Locale</h3>
|
|
|
|
<p>Conforming systems shall provide a POSIX locale, also known as the C locale. The behavior of standard utilities and functions in
|
|
the POSIX locale shall be as if the locale was defined via the <a href="../utilities/localedef.html"><i>localedef</i></a> utility
|
|
with input data from the POSIX locale tables in <a href="#tag_07_03">Locale Definition</a> .</p>
|
|
|
|
<p>The tables in <a href="#tag_07_03">Locale Definition</a> describe the characteristics and behavior of the POSIX locale for data
|
|
consisting entirely of characters from the portable character set and the control character set. For other characters, the behavior
|
|
is unspecified. For C-language programs, the POSIX locale shall be the default locale when the <a href=
|
|
"../functions/setlocale.html"><i>setlocale</i>()</a> function is not called.</p>
|
|
|
|
<p>The POSIX locale can be specified by assigning to the appropriate environment variables the values <tt>"C"</tt> or
|
|
<tt>"POSIX"</tt> .</p>
|
|
|
|
<p>All implementations shall define a locale as the default locale, to be invoked when no environment variables are set, or set to
|
|
the empty string. This default locale can be the POSIX locale or any other implementation-defined locale. Some implementations may
|
|
provide facilities for local installation administrators to set the default locale, customizing it for each location.
|
|
IEEE Std 1003.1-2001 does not require such a facility.</p>
|
|
|
|
<h3><a name="tag_07_03"></a>Locale Definition</h3>
|
|
|
|
<p>The capability to specify additional locales to those provided by an implementation is optional, denoted by the
|
|
_POSIX2_LOCALEDEF symbol. If the option is not supported, only implementation-supplied locales are available. Such locales shall be
|
|
documented using the format specified in this section.</p>
|
|
|
|
<p>Locales can be described with the file format presented in this section. The file format is that accepted by the <a href=
|
|
"../utilities/localedef.html"><i>localedef</i></a> utility. For the purposes of this section, the file is referred to as the
|
|
"locale definition file", but no locales shall be affected by this file unless it is processed by <a href=
|
|
"../utilities/localedef.html"><i>localedef</i></a> or some similar mechanism. Any requirements in this section imposed upon the
|
|
utility shall apply to <a href="../utilities/localedef.html"><i>localedef</i></a> or to any other similar utility used to install
|
|
locale information using the locale definition file format described here.</p>
|
|
|
|
<p>The locale definition file shall contain one or more locale category source definitions, and shall not contain more than one
|
|
definition for the same locale category. If the file contains source definitions for more than one category, implementation-defined
|
|
categories, if present, shall appear after the categories defined by <a href="#tag_07_01">General</a> . A category source
|
|
definition contains either the definition of a category or a <b>copy</b> directive. For a description of the <b>copy</b> directive,
|
|
see <a href="../utilities/localedef.html"><i>localedef</i></a>. In the event that some of the information for a locale category, as
|
|
specified in this volume of IEEE Std 1003.1-2001, is missing from the locale source definition, the behavior of that
|
|
category, if it is referenced, is unspecified.</p>
|
|
|
|
<p>A category source definition shall consist of a category header, a category body, and a category trailer. A category header
|
|
shall consist of the character string naming of the category, beginning with the characters <i>LC_ .</i> The category trailer shall
|
|
consist of the string <tt>"END"</tt> , followed by one or more <blank>s and the string used in the corresponding category
|
|
header.</p>
|
|
|
|
<p>The category body shall consist of one or more lines of text. Each line shall contain an identifier, optionally followed by one
|
|
or more operands. Identifiers shall be either keywords, identifying a particular locale element, or collating elements. In addition
|
|
to the keywords defined in this volume of IEEE Std 1003.1-2001, the source can contain implementation-defined keywords.
|
|
Each keyword within a locale shall have a unique name (that is, two categories cannot have a commonly-named keyword); no keyword
|
|
shall start with the characters <i>LC_ .</i> Identifiers shall be separated from the operands by one or more <blank>s.</p>
|
|
|
|
<p>Operands shall be characters, collating elements, or strings of characters. Strings shall be enclosed in double-quotes. Literal
|
|
double-quotes within strings shall be preceded by the <<i>escape character</i>>, described below. When a keyword is followed
|
|
by more than one operand, the operands shall be separated by semicolons; <blank>s shall be allowed both before and after a
|
|
semicolon.</p>
|
|
|
|
<p>The first category header in the file can be preceded by a line modifying the comment character. It shall have the following
|
|
format, starting in column 1:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>"comment_char %c\n", <</tt><i>comment character</i><tt>>
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>The comment character shall default to the number sign ( <tt>'#'</tt> ). Blank lines and lines containing the <<i>comment
|
|
character</i>> in the first position shall be ignored.</p>
|
|
|
|
<p>The first category header in the file can be preceded by a line modifying the escape character to be used in the file. It shall
|
|
have the following format, starting in column 1:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>"escape_char %c\n", <</tt><i>escape character</i><tt>>
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>The escape character shall default to backslash, which is the character used in all examples shown in this volume of
|
|
IEEE Std 1003.1-2001.</p>
|
|
|
|
<p>A line can be continued by placing an escape character as the last character on the line; this continuation character shall be
|
|
discarded from the input. Although the implementation need not accept any one portion of a continued line with a length exceeding
|
|
{LINE_MAX} bytes, it shall place no limits on the accumulated length of the continued line. Comment lines shall not be continued on
|
|
a subsequent line using an escaped <newline>.</p>
|
|
|
|
<p>Individual characters, characters in strings, and collating elements shall be represented using symbolic names, as defined
|
|
below. In addition, characters can be represented using the characters themselves or as octal, hexadecimal, or decimal constants.
|
|
When non-symbolic notation is used, the resultant locale definitions are in many cases not portable between systems. The left angle
|
|
bracket ( <tt>'<'</tt> ) is a reserved symbol, denoting the start of a symbolic name; when used to represent itself it shall be
|
|
preceded by the escape character. The following rules apply to character representation:</p>
|
|
|
|
<ol>
|
|
<li>
|
|
<p>A character can be represented via a symbolic name, enclosed within angle brackets <tt>'<'</tt> and <tt>'>'</tt> . The
|
|
symbolic name, including the angle brackets, shall exactly match a symbolic name defined in the charmap file specified via the <a
|
|
href="../utilities/localedef.html"><i>localedef</i></a> <b>-f</b> option, and it shall be replaced by a character value determined
|
|
from the value associated with the symbolic name in the charmap file. The use of a symbolic name not found in the charmap file
|
|
shall constitute an error, unless the category is <i>LC_CTYPE</i> or <i>LC_COLLATE ,</i> in which case it shall constitute a
|
|
warning condition (see <a href="../utilities/localedef.html"><i>localedef</i></a> for a description of actions resulting from
|
|
errors and warnings). The specification of a symbolic name in a <b>collating-element</b> or <b>collating-symbol</b> section that
|
|
duplicates a symbolic name in the charmap file (if present) shall be an error. Use of the escape character or a right angle bracket
|
|
within a symbolic name is invalid unless the character is preceded by the escape character.</p>
|
|
|
|
<p>For example:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt><c>;<c-cedilla> "<M><a><y>"
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
</li>
|
|
|
|
<li>
|
|
<p>A character in the portable character set can be represented by the character itself, in which case the value of the character
|
|
is implementation-defined. (Implementations may allow other characters to be represented as themselves, but such locale definitions
|
|
are not portable.) Within a string, the double-quote character, the escape character, and the right angle bracket character shall
|
|
be escaped (preceded by the escape character) to be interpreted as the character itself. Outside strings, the characters:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>, ; < > </tt> <i>escape_char</i>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>shall be escaped to be interpreted as the character itself.</p>
|
|
|
|
<p>For example:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>c "May"
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
</li>
|
|
|
|
<li>
|
|
<p>A character can be represented as an octal constant. An octal constant shall be specified as the escape character followed by
|
|
two or three octal digits. Each constant shall represent a byte value. Multi-byte values can be represented by concatenated
|
|
constants specified in byte order with the last constant specifying the least significant byte of the character.</p>
|
|
|
|
<p>For example:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>\143;\347;\143\150 "\115\141\171"
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
</li>
|
|
|
|
<li>
|
|
<p>A character can be represented as a hexadecimal constant. A hexadecimal constant shall be specified as the escape character
|
|
followed by an <tt>'x'</tt> followed by two hexadecimal digits. Each constant shall represent a byte value. Multi-byte values can
|
|
be represented by concatenated constants specified in byte order with the last constant specifying the least significant byte of
|
|
the character.</p>
|
|
|
|
<p>For example:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>\x63;\xe7;\x63\x68 "\x4d\x61\x79"
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
</li>
|
|
|
|
<li>
|
|
<p>A character can be represented as a decimal constant. A decimal constant shall be specified as the escape character followed by
|
|
a <tt>'d'</tt> followed by two or three decimal digits. Each constant represents a byte value. Multi-byte values can be represented
|
|
by concatenated constants specified in byte order with the last constant specifying the least significant byte of the
|
|
character.</p>
|
|
|
|
<p>For example:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>\d99;\d231;\d99\d104 "\d77\d97\d121"
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
</li>
|
|
</ol>
|
|
|
|
<p>Implementations may accept single-digit octal, decimal, or hexadecimal constants following the escape character. Only characters
|
|
existing in the character set for which the locale definition is created shall be specified, whether using symbolic names, the
|
|
characters themselves, or octal, decimal, or hexadecimal constants. If a charmap file is present, only characters defined in the
|
|
charmap can be specified using octal, decimal, or hexadecimal constants. Symbolic names not present in the charmap file can be
|
|
specified and shall be ignored, as specified under item 1 above.</p>
|
|
|
|
<h4><a name="tag_07_03_01"></a>LC_CTYPE</h4>
|
|
|
|
<p>The <i>LC_CTYPE</i> category shall define character classification, case conversion, and other character attributes. In
|
|
addition, a series of characters can be represented by three adjacent periods representing an ellipsis symbol ( <tt>"..."</tt> ).
|
|
The ellipsis specification shall be interpreted as meaning that all values between the values preceding and following it represent
|
|
valid characters. The ellipsis specification shall be valid only within a single encoded character set; that is, within a group of
|
|
characters of the same size. An ellipsis shall be interpreted as including in the list all characters with an encoded value higher
|
|
than the encoded value of the character preceding the ellipsis and lower than the encoded value of the character following the
|
|
ellipsis.</p>
|
|
|
|
<p>For example:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>\x30;...;\x39;
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>includes in the character class all characters with encoded values between the endpoints.</p>
|
|
|
|
<p>The following keywords shall be recognized. In the descriptions, the term "automatically included" means that it shall not be
|
|
an error either to include or omit any of the referenced characters; the implementation provides them if missing (even if the
|
|
entire keyword is missing) and accepts them silently if present. When the implementation automatically includes a missing
|
|
character, it shall have an encoded value dependent on the charmap file in effect (see the description of the <a href=
|
|
"../utilities/localedef.html"><i>localedef</i></a> <b>-f</b> option); otherwise, it shall have a value derived from an
|
|
implementation-defined character mapping.</p>
|
|
|
|
<p>The character classes <b>digit</b>, <b>xdigit</b>, <b>lower</b>, <b>upper</b>, and <b>space</b> have a set of automatically
|
|
included characters. These only need to be specified if the character values (that is, encoding) differ from the implementation
|
|
default values. It is not possible to define a locale without these automatically included characters unless some implementation
|
|
extension is used to prevent their inclusion. Such a definition would not be a proper superset of the C or POSIX locale and, thus,
|
|
it might not be possible for conforming applications to work properly.</p>
|
|
|
|
<dl compact>
|
|
<dt><b>copy</b></dt>
|
|
|
|
<dd>Specify the name of an existing locale which shall be used as the definition of this category. If this keyword is specified, no
|
|
other keyword shall be specified.</dd>
|
|
|
|
<dt><b>upper</b></dt>
|
|
|
|
<dd>Define characters to be classified as uppercase letters.
|
|
|
|
<p>In the POSIX locale, the 26 uppercase letters shall be included:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>In a locale definition file, no character specified for the keywords <b>cntrl</b>, <b>digit</b>, <b>punct</b>, or <b>space</b>
|
|
shall be specified. The uppercase letters <A> to <Z>, as defined in <a href="xbd_chap06.html#tag_06_04"><i>Character
|
|
Set Description File</i></a> (the portable character set), are automatically included in this class.</p>
|
|
</dd>
|
|
|
|
<dt><b>lower</b></dt>
|
|
|
|
<dd>Define characters to be classified as lowercase letters.
|
|
|
|
<p>In the POSIX locale, the 26 lowercase letters shall be included:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>a b c d e f g h i j k l m n o p q r s t u v w x y z
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>In a locale definition file, no character specified for the keywords <b>cntrl</b>, <b>digit</b>, <b>punct</b>, or <b>space</b>
|
|
shall be specified. The lowercase letters <a> to <z> of the portable character set are automatically included in this
|
|
class.</p>
|
|
</dd>
|
|
|
|
<dt><b>alpha</b></dt>
|
|
|
|
<dd>Define characters to be classified as letters.
|
|
|
|
<p>In the POSIX locale, all characters in the classes <b>upper</b> and <b>lower</b> shall be included.</p>
|
|
|
|
<p>In a locale definition file, no character specified for the keywords <b>cntrl</b>, <b>digit</b>, <b>punct</b>, or <b>space</b>
|
|
shall be specified. Characters classified as either <b>upper</b> or <b>lower</b> are automatically included in this class.</p>
|
|
</dd>
|
|
|
|
<dt><b>digit</b></dt>
|
|
|
|
<dd>Define the characters to be classified as numeric digits.
|
|
|
|
<p>In the POSIX locale, only:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>0 1 2 3 4 5 6 7 8 9
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>shall be included.</p>
|
|
|
|
<p>In a locale definition file, only the digits <zero>, <one>, <two>, <three>, <four>, <five>,
|
|
<six>, <seven>, <eight>, and <nine> shall be specified, and in contiguous ascending sequence by numerical
|
|
value. The digits <zero> to <nine> of the portable character set are automatically included in this class.</p>
|
|
</dd>
|
|
|
|
<dt><b>alnum</b></dt>
|
|
|
|
<dd>Define characters to be classified as letters and numeric digits. Only the characters specified for the <b>alpha</b> and
|
|
<b>digit</b> keywords shall be specified. Characters specified for the keywords <b>alpha</b> and <b>digit</b> are automatically
|
|
included in this class.</dd>
|
|
|
|
<dt><b>space</b></dt>
|
|
|
|
<dd>Define characters to be classified as white-space characters.
|
|
|
|
<p>In the POSIX locale, at a minimum, the <space>, <form-feed>, <newline>, <carriage-return>, <tab>,
|
|
and <vertical-tab> shall be included.</p>
|
|
|
|
<p>In a locale definition file, no character specified for the keywords <b>upper</b>, <b>lower</b>, <b>alpha</b>, <b>digit</b>,
|
|
<b>graph</b>, or <b>xdigit</b> shall be specified. The <space>, <form-feed>, <newline>, <carriage-return>,
|
|
<tab>, and <vertical-tab> of the portable character set, and any characters included in the class <b>blank</b> are
|
|
automatically included in this class.</p>
|
|
</dd>
|
|
|
|
<dt><b>cntrl</b></dt>
|
|
|
|
<dd>Define characters to be classified as control characters.
|
|
|
|
<p>In the POSIX locale, no characters in classes <b>alpha</b> or <b>print</b> shall be included.</p>
|
|
|
|
<p>In a locale definition file, no character specified for the keywords <b>upper</b>, <b>lower</b>, <b>alpha</b>, <b>digit</b>,
|
|
<b>punct</b>, <b>graph</b>, <b>print</b>, or <b>xdigit</b> shall be specified.</p>
|
|
</dd>
|
|
|
|
<dt><b>punct</b></dt>
|
|
|
|
<dd>Define characters to be classified as punctuation characters.
|
|
|
|
<p>In the POSIX locale, neither the <space> nor any characters in classes <b>alpha</b>, <b>digit</b>, or <b>cntrl</b> shall
|
|
be included.</p>
|
|
|
|
<p>In a locale definition file, no character specified for the keywords <b>upper</b>, <b>lower</b>, <b>alpha</b>, <b>digit</b>,
|
|
<b>cntrl</b>, <b>xdigit</b>, or as the <space> shall be specified.</p>
|
|
</dd>
|
|
|
|
<dt><b>graph</b></dt>
|
|
|
|
<dd>Define characters to be classified as printable characters, not including the <space>.
|
|
|
|
<p>In the POSIX locale, all characters in classes <b>alpha</b>, <b>digit</b>, and <b>punct</b> shall be included; no characters in
|
|
class <b>cntrl</b> shall be included.</p>
|
|
|
|
<p>In a locale definition file, characters specified for the keywords <b>upper</b>, <b>lower</b>, <b>alpha</b>, <b>digit</b>,
|
|
<b>xdigit</b>, and <b>punct</b> are automatically included in this class. No character specified for the keyword <b>cntrl</b> shall
|
|
be specified.</p>
|
|
</dd>
|
|
|
|
<dt><b>print</b></dt>
|
|
|
|
<dd>Define characters to be classified as printable characters, including the <space>.
|
|
|
|
<p>In the POSIX locale, all characters in class <b>graph</b> shall be included; no characters in class <b>cntrl</b> shall be
|
|
included.</p>
|
|
|
|
<p>In a locale definition file, characters specified for the keywords <b>upper</b>, <b>lower</b>, <b>alpha</b>, <b>digit</b>,
|
|
<b>xdigit</b>, <b>punct,</b> <b>graph</b>, and the <space> are automatically included in this class. No character specified
|
|
for the keyword <b>cntrl</b> shall be specified.</p>
|
|
</dd>
|
|
|
|
<dt><b>xdigit</b></dt>
|
|
|
|
<dd>Define the characters to be classified as hexadecimal digits.
|
|
|
|
<p>In the POSIX locale, only:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>shall be included.</p>
|
|
|
|
<p>In a locale definition file, only the characters defined for the class <b>digit</b> shall be specified, in contiguous ascending
|
|
sequence by numerical value, followed by one or more sets of six characters representing the hexadecimal digits 10 to 15 inclusive,
|
|
with each set in ascending order (for example, <A>, <B>, <C>, <D>, <E>, <F>, <a>,
|
|
<b>, <c>, <d>, <e>, <f>). The digits <zero> to <nine>, the uppercase letters <A> to
|
|
<F>, and the lowercase letters <a> to <f> of the portable character set are automatically included in this
|
|
class.</p>
|
|
</dd>
|
|
|
|
<dt><b>blank</b></dt>
|
|
|
|
<dd>Define characters to be classified as <blank>s.
|
|
|
|
<p>In the POSIX locale, only the <space> and <tab> shall be included.</p>
|
|
|
|
<p>In a locale definition file, the <space> and <tab> are automatically included in this class.</p>
|
|
</dd>
|
|
|
|
<dt><b>charclass</b></dt>
|
|
|
|
<dd>Define one or more locale-specific character class names as strings separated by semicolons. Each named character class can
|
|
then be defined subsequently in the <i>LC_CTYPE</i> definition. A character class name shall consist of at least one and at most
|
|
{CHARCLASS_NAME_MAX} bytes of alphanumeric characters from the portable filename character set. The first character of a character
|
|
class name shall not be a digit. The name shall not match any of the <i>LC_CTYPE</i> keywords defined in this volume of
|
|
IEEE Std 1003.1-2001. Future revisions of IEEE Std 1003.1-2001 will not specify any <i>LC_CTYPE</i> keywords
|
|
containing uppercase letters.</dd>
|
|
|
|
<dt><i>charclass-name</i></dt>
|
|
|
|
<dd>Define characters to be classified as belonging to the named locale-specific character class. In the POSIX locale,
|
|
locale-specific named character classes need not exist.
|
|
|
|
<p>If a class name is defined by a <b>charclass</b> keyword, but no characters are subsequently assigned to it, this is not an
|
|
error; it represents a class without any characters belonging to it.</p>
|
|
|
|
<p>The <i>charclass-name</i> can be used as the <i>property</i> argument to the <a href=
|
|
"../functions/wctype.html"><i>wctype</i>()</a> function, in regular expression and shell pattern-matching bracket expressions, and
|
|
by the <a href="../utilities/tr.html"><i>tr</i></a> command.</p>
|
|
</dd>
|
|
|
|
<dt><b>toupper</b></dt>
|
|
|
|
<dd>Define the mapping of lowercase letters to uppercase letters.
|
|
|
|
<p>In the POSIX locale, at a minimum, the 26 lowercase characters:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>a b c d e f g h i j k l m n o p q r s t u v w x y z
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>shall be mapped to the corresponding 26 uppercase characters:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>In a locale definition file, the operand shall consist of character pairs, separated by semicolons. The characters in each
|
|
character pair shall be separated by a comma and the pair enclosed by parentheses. The first character in each pair is the
|
|
lowercase letter, the second the corresponding uppercase letter. Only characters specified for the keywords <b>lower</b> and
|
|
<b>upper</b> shall be specified. The lowercase letters <a> to <z>, and their corresponding uppercase letters <A>
|
|
to <Z>, of the portable character set are automatically included in this mapping, but only when the <b>toupper</b> keyword is
|
|
omitted from the locale definition.</p>
|
|
</dd>
|
|
|
|
<dt><b>tolower</b></dt>
|
|
|
|
<dd>Define the mapping of uppercase letters to lowercase letters.
|
|
|
|
<p>In the POSIX locale, at a minimum, the 26 uppercase characters:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>shall be mapped to the corresponding 26 lowercase characters:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>a b c d e f g h i j k l m n o p q r s t u v w x y z
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>In a locale definition file, the operand shall consist of character pairs, separated by semicolons. The characters in each
|
|
character pair shall be separated by a comma and the pair enclosed by parentheses. The first character in each pair is the
|
|
uppercase letter, the second the corresponding lowercase letter. Only characters specified for the keywords <b>lower</b> and
|
|
<b>upper</b> shall be specified. If the <b>tolower</b> keyword is omitted from the locale definition, the mapping is the reverse
|
|
mapping of the one specified for <b>toupper</b>.</p>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p>The following table shows the character class combinations allowed:<br>
|
|
</p>
|
|
|
|
<center><b><a name="tagtcjh_5"></a> Table: Valid Character Class Combinations</b></center>
|
|
|
|
<center>
|
|
<table cellpadding="3" align="center">
|
|
<tr valign="top">
|
|
<th align="left">
|
|
<p class="tent"> </p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>Can Also Belong To</b></p>
|
|
</th>
|
|
<th colspan="11" align="center">
|
|
<p class="tent"><b> </b></p>
|
|
</th>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<th align="left">
|
|
<p class="tent"> </p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>_</b></p>
|
|
</th>
|
|
<th colspan="11" align="center">
|
|
<p class="tent"><b> </b></p>
|
|
</th>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<th align="left">
|
|
<p class="tent">In Class</p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>upper</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>lower</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>alpha</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>digit</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>space</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>punct</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>graph</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>print</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>xdigit</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>blank</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b> </b></p>
|
|
</th>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent">upper</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b></b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent">lower</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>-</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent">alpha</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>-</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent">digit</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>x</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent">space</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>x</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">*</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">*</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">*</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent">cntrl</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>x</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent">punct</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>x</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent">graph</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>-</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent">print</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>-</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent">xdigit</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>-</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent">blank</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>x</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">*</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">*</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">*</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">x</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</center>
|
|
|
|
<br>
|
|
<basefont size="2">
|
|
|
|
<dl>
|
|
<dt><b>Notes:</b></dt>
|
|
|
|
<dd>
|
|
<ol>
|
|
<li>
|
|
<p>Explanation of codes:</p>
|
|
|
|
<dl compact>
|
|
<dt>A</dt>
|
|
|
|
<dd>Automatically included; see text.</dd>
|
|
|
|
<dt>-</dt>
|
|
|
|
<dd>Permitted.</dd>
|
|
|
|
<dt>x</dt>
|
|
|
|
<dd>Mutually-exclusive.</dd>
|
|
|
|
<dt>*</dt>
|
|
|
|
<dd>See note 2.</dd>
|
|
</dl>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The <space>, which is part of the <b>space</b> and <b>blank</b> classes, cannot belong to <b>punct</b> or <b>graph</b>,
|
|
but shall automatically belong to the <b>print</b> class. Other <b>space</b> or <b>blank</b> characters can be classified as any of
|
|
<b>punct</b>, <b>graph</b>, or <b>print</b>.</p>
|
|
</li>
|
|
</ol>
|
|
</dd>
|
|
</dl>
|
|
|
|
<basefont size="3">
|
|
|
|
<h5><a name="tag_07_03_01_01"></a>LC_CTYPE Category in the POSIX Locale</h5>
|
|
|
|
<p>The character classifications for the POSIX locale follow; the code listing depicts the <a href=
|
|
"../utilities/localedef.html"><i>localedef</i></a> input, and the table represents the same information, sorted by character.</p>
|
|
|
|
<pre>
|
|
<tt>LC_CTYPE
|
|
# The following is the POSIX locale LC_CTYPE.
|
|
# "alpha" is by default "upper" and "lower"
|
|
# "alnum" is by definition "alpha" and "digit"
|
|
# "print" is by default "alnum", "punct", and the <space>
|
|
# "graph" is by default "alnum" and "punct"
|
|
#
|
|
upper <A>;<B>;<C>;<D>;<E>;<F>;<G>;<H>;<I>;<J>;<K>;<L>;<M>;\
|
|
<N>;<O>;<P>;<Q>;<R>;<S>;<T>;<U>;<V>;<W>;<X>;<Y>;<Z>
|
|
#
|
|
lower <a>;<b>;<c>;<d>;<e>;<f>;<g>;<h>;<i>;<j>;<k>;<l>;<m>;\
|
|
<n>;<o>;<p>;<q>;<r>;<s>;<t>;<u>;<v>;<w>;<x>;<y>;<z>
|
|
#
|
|
digit <zero>;<one>;<two>;<three>;<four>;<five>;<six>;\
|
|
<seven>;<eight>;<nine>
|
|
#
|
|
space <tab>;<newline>;<vertical-tab>;<form-feed>;\
|
|
<carriage-return>;<space>
|
|
#
|
|
cntrl <alert>;<backspace>;<tab>;<newline>;<vertical-tab>;\
|
|
<form-feed>;<carriage-return>;\
|
|
<NUL>;<SOH>;<STX>;<ETX>;<EOT>;<ENQ>;<ACK>;<SO>;\
|
|
<SI>;<DLE>;<DC1>;<DC2>;<DC3>;<DC4>;<NAK>;<SYN>;\
|
|
<ETB>;<CAN>;<EM>;<SUB>;<ESC>;<IS4>;<IS3>;<IS2>;\
|
|
<IS1>;<DEL>
|
|
#
|
|
punct <exclamation-mark>;<quotation-mark>;<number-sign>;\
|
|
<dollar-sign>;<percent-sign>;<ampersand>;<apostrophe>;\
|
|
<left-parenthesis>;<right-parenthesis>;<asterisk>;\
|
|
<plus-sign>;<comma>;<hyphen>;<period>;<slash>;\
|
|
<colon>;<semicolon>;<less-than-sign>;<equals-sign>;\
|
|
<greater-than-sign>;<question-mark>;<commercial-at>;\
|
|
<left-square-bracket>;<backslash>;<right-square-bracket>;\
|
|
<circumflex>;<underscore>;<grave-accent>;<left-curly-bracket>;\
|
|
<vertical-line>;<right-curly-bracket>;<tilde>
|
|
#
|
|
xdigit <zero>;<one>;<two>;<three>;<four>;<five>;<six>;<seven>;\
|
|
<eight>;<nine>;<A>;<B>;<C>;<D>;<E>;<F>;<a>;<b>;<c>;<d>;<e>;<f>
|
|
#
|
|
blank <space>;<tab>
|
|
#
|
|
toupper (<a>,<A>);(<b>,<B>);(<c>,<C>);(<d>,<D>);(<e>,<E>);\
|
|
(<f>,<F>);(<g>,<G>);(<h>,<H>);(<i>,<I>);(<j>,<J>);\
|
|
(<k>,<K>);(<l>,<L>);(<m>,<M>);(<n>,<N>);(<o>,<O>);\
|
|
(<p>,<P>);(<q>,<Q>);(<r>,<R>);(<s>,<S>);(<t>,<T>);\
|
|
(<u>,<U>);(<v>,<V>);(<w>,<W>);(<x>,<X>);(<y>,<Y>);(<z>,<Z>)
|
|
#
|
|
tolower (<A>,<a>);(<B>,<b>);(<C>,<c>);(<D>,<d>);(<E>,<e>);\
|
|
(<F>,<f>);(<G>,<g>);(<H>,<h>);(<I>,<i>);(<J>,<j>);\
|
|
(<K>,<k>);(<L>,<l>);(<M>,<m>);(<N>,<n>);(<O>,<o>);\
|
|
(<P>,<p>);(<Q>,<q>);(<R>,<r>);(<S>,<s>);(<T>,<t>);\
|
|
(<U>,<u>);(<V>,<v>);(<W>,<w>);(<X>,<x>);(<Y>,<y>);(<Z>,<z>)
|
|
END LC_CTYPE
|
|
</tt>
|
|
</pre>
|
|
|
|
<center>
|
|
<table border="1" cellpadding="3" align="center">
|
|
<tr valign="top">
|
|
<th align="center">
|
|
<p class="tent"><b>Symbolic Name</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>Other Case</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>Character Classes</b></p>
|
|
</th>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><NUL></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><SOH></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><STX></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><ETX></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><EOT></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><ENQ></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><ACK></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><alert></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><backspace></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><tab></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl, space, blank</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><newline></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl, space</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><vertical-tab></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl, space</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><form-feed></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl, space</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><carriage-return></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl, space</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><SO></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><SI></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><DLE></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><DC1></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><DC2></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><DC3></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><DC4></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><NAK></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><SYN></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><ETB></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><CAN></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><EM></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><SUB></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><ESC></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><IS4></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><IS3></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><IS2></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><IS1></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><space></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>space, print, blank</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><exclamation-mark></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><quotation-mark></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><number-sign></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><dollar-sign></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><percent-sign></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><ampersand></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><apostrophe></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><left-parenthesis></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><right-parenthesis></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><asterisk></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><plus-sign></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><comma></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><hyphen></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><period></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><slash></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><zero></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>digit, xdigit, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><one></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>digit, xdigit, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><two></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>digit, xdigit, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><three></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>digit, xdigit, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><four></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>digit, xdigit, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><five></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>digit, xdigit, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><six></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>digit, xdigit, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><seven></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>digit, xdigit, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><eight></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>digit, xdigit, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><nine></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>digit, xdigit, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><colon></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><semicolon></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><less-than-sign></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><equals-sign></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><greater-than-sign></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><question-mark></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><commercial-at></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><A></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><a></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, xdigit, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><B></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, xdigit, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><C></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><c></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, xdigit, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><D></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><d></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, xdigit, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><E></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><e></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, xdigit, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><F></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><f></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, xdigit, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><G></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><g></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><H></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><h></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><I></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><i></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><J></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><j></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><K></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><k></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><L></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><l></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><M></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><m></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><N></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><n></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><O></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><o></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><P></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><p></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><Q></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><q></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><R></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><r></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><S></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><s></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><T></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><t></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><U></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><u></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><V></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><v></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><W></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><w></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><X></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><x></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><Y></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><y></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><Z></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><z></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>upper, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><left-square-bracket></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><backslash></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><right-square-bracket></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><circumflex></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><underscore></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><grave-accent></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><a></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><A></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, xdigit, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><B></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, xdigit, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><c></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><C></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, xdigit, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><d></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><D></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, xdigit, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><e></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><E></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, xdigit, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><f></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><F></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, xdigit, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><g></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><G></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><h></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><H></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><i></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><I></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><j></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><J></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><k></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><K></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><l></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><L></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><m></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><M></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><n></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><N></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><o></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><O></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><p></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><P></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><q></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><Q></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><r></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><R></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><s></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><S></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><t></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><T></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><u></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><U></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><v></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><V></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><w></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><W></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><x></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><X></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><y></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><Y></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><z></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"><Z></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>lower, alpha, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><left-curly-bracket></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><vertical-line></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><right-curly-bracket></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><tilde></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>punct, print, graph</b></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><DEL></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent"> </p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><b>cntrl</b></p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</center>
|
|
|
|
<h4><a name="tag_07_03_02"></a>LC_COLLATE</h4>
|
|
|
|
<p>The <i>LC_COLLATE</i> category provides a collation sequence definition for numerous utilities in the Shell and Utilities volume
|
|
of IEEE Std 1003.1-2001 ( <a href="../utilities/sort.html"><i>sort</i></a>, <a href=
|
|
"../utilities/uniq.html"><i>uniq</i></a>, and so on), regular expression matching (see <a href="xbd_chap09.html#tag_09"><i>Regular
|
|
Expressions</i></a> ), and the <a href="../functions/strcoll.html"><i>strcoll</i>()</a>, <a href=
|
|
"../functions/strxfrm.html"><i>strxfrm</i>()</a>, <a href="../functions/wcscoll.html"><i>wcscoll</i>()</a>, and <a href=
|
|
"../functions/wcsxfrm.html"><i>wcsxfrm</i>()</a> functions in the System Interfaces volume of IEEE Std 1003.1-2001.</p>
|
|
|
|
<p>A collation sequence definition shall define the relative order between collating elements (characters and multi-character
|
|
collating elements) in the locale. This order is expressed in terms of collation values; that is, by assigning each element one or
|
|
more collation values (also known as collation weights). This does not imply that implementations shall assign such values, but
|
|
that ordering of strings using the resultant collation definition in the locale behaves as if such assignment is done and used in
|
|
the collation process. At least the following capabilities are provided:</p>
|
|
|
|
<ol>
|
|
<li>
|
|
<p><b>Multi-character collating elements</b>. Specification of multi-character collating elements (that is, sequences of two or
|
|
more characters to be collated as an entity).</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><b>User-defined ordering of collating elements</b>. Each collating element shall be assigned a collation value defining its
|
|
order in the character (or basic) collation sequence. This ordering is used by regular expressions and pattern matching and, unless
|
|
collation weights are explicitly specified, also as the collation weight to be used in sorting.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><b>Multiple weights and equivalence classes</b>. Collating elements can be assigned one or more (up to the limit
|
|
{COLL_WEIGHTS_MAX}, as defined in <a href="limits.h.html"><i><limits.h></i></a> ) collating weights for use in sorting. The
|
|
first weight is hereafter referred to as the primary weight.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><b>One-to-many mapping</b>. A single character is mapped into a string of collating elements.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><b>Equivalence class definition</b>. Two or more collating elements have the same collation value (primary weight).</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><b>Ordering by weights</b>. When two strings are compared to determine their relative order, the two strings are first broken up
|
|
into a series of collating elements; the elements in each successive pair of elements are then compared according to the relative
|
|
primary weights for the elements. If equal, and more than one weight has been assigned, then the pairs of collating elements are
|
|
re-compared according to the relative subsequent weights, until either a pair of collating elements compare unequal or the weights
|
|
are exhausted.</p>
|
|
</li>
|
|
</ol>
|
|
|
|
<p>The following keywords shall be recognized in a collation sequence definition. They are described in detail in the following
|
|
sections.</p>
|
|
|
|
<dl compact>
|
|
<dt><b>copy</b></dt>
|
|
|
|
<dd>Specify the name of an existing locale which shall be used as the definition of this category. If this keyword is specified, no
|
|
other keyword shall be specified.</dd>
|
|
|
|
<dt><b>collating-element</b></dt>
|
|
|
|
<dd>Define a collating-element symbol representing a multi-character collating element. This keyword is optional.</dd>
|
|
|
|
<dt><b>collating-symbol</b></dt>
|
|
|
|
<dd>Define a collating symbol for use in collation order statements. This keyword is optional.</dd>
|
|
|
|
<dt><b>order_start</b></dt>
|
|
|
|
<dd>Define collation rules. This statement shall be followed by one or more collation order statements, assigning character
|
|
collation values and collation weights to collating elements.</dd>
|
|
|
|
<dt><b>order_end</b></dt>
|
|
|
|
<dd>Specify the end of the collation-order statements.</dd>
|
|
</dl>
|
|
|
|
<h5><a name="tag_07_03_02_01"></a>The collating-element Keyword</h5>
|
|
|
|
<p>In addition to the collating elements in the character set, the <b>collating-element</b> keyword can be used to define
|
|
multi-character collating elements. The syntax is as follows:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>"collating-element %s from \"%s\"\n", <</tt><i>collating-symbol</i><tt>>, <</tt><i>string</i><tt>>
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>The <<i>collating-symbol</i>> operand shall be a symbolic name, enclosed between angle brackets ( <tt>'<'</tt> and
|
|
<tt>'>'</tt> ), and shall not duplicate any symbolic name in the current charmap file (if any), or any other symbolic name
|
|
defined in this collation definition. The string operand is a string of two or more characters that collates as an entity. A
|
|
<<i>collating-element</i>> defined via this keyword is only recognized with the <i>LC_COLLATE</i> category.</p>
|
|
|
|
<p>For example:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>collating-element <ch> from "<c><h>"
|
|
collating-element <e-acute> from "<acute><e>"
|
|
collating-element <ll> from "ll"
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<h5><a name="tag_07_03_02_02"></a>The collating-symbol Keyword</h5>
|
|
|
|
<p>This keyword shall be used to define symbols for use in collation sequence statements; that is, between the <b>order_start</b>
|
|
and the <b>order_end</b> keywords. The syntax is as follows:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>"collating-symbol %s\n", <</tt><i>collating-symbol</i><tt>>
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>The <<i>collating-symbol</i>> shall be a symbolic name, enclosed between angle brackets ( <tt>'<'</tt> and
|
|
<tt>'>'</tt> ), and shall not duplicate any symbolic name in the current charmap file (if any), or any other symbolic name
|
|
defined in this collation definition. A <<i>collating-symbol</i>> defined via this keyword is only recognized within the
|
|
<i>LC_COLLATE</i> category.</p>
|
|
|
|
<p>For example:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>collating-symbol <UPPER_CASE>
|
|
collating-symbol <HIGH>
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>The <b>collating-symbol</b> keyword defines a symbolic name that can be associated with a relative position in the character
|
|
order sequence. While such a symbolic name does not represent any collating element, it can be used as a weight.</p>
|
|
|
|
<h5><a name="tag_07_03_02_03"></a>The order_start Keyword</h5>
|
|
|
|
<p>The <b>order_start</b> keyword shall precede collation order entries and also define the number of weights for this collation
|
|
sequence definition and other collation rules. The syntax is as follows:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>"order_start %s;%s;...;%s\n", <</tt><i>sort-rules</i><tt>>, <</tt><i>sort-rules</i><tt>> ...
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>The operands to the <b>order_start</b> keyword are optional. If present, the operands define rules to be applied when strings
|
|
are compared. The number of operands define how many weights each element is assigned; if no operands are present, one
|
|
<b>forward</b> operand is assumed. If present, the first operand defines rules to be applied when comparing strings using the first
|
|
(primary) weight; the second when comparing strings using the second weight, and so on. Operands shall be separated by semicolons (
|
|
<tt>';'</tt> ). Each operand shall consist of one or more collation directives, separated by commas ( <tt>','</tt> ). If the number
|
|
of operands exceeds the {COLL_WEIGHTS_MAX} limit, the utility shall issue a warning message. The following directives shall be
|
|
supported:</p>
|
|
|
|
<dl compact>
|
|
<dt><b>forward</b></dt>
|
|
|
|
<dd>Specifies that comparison operations for the weight level shall proceed from start of string towards the end of string.</dd>
|
|
|
|
<dt><b>backward</b></dt>
|
|
|
|
<dd>Specifies that comparison operations for the weight level shall proceed from end of string towards the beginning of
|
|
string.</dd>
|
|
|
|
<dt><b>position</b></dt>
|
|
|
|
<dd>Specifies that comparison operations for the weight level shall consider the relative position of elements in the strings not
|
|
subject to <b>IGNORE</b>. The string containing an element not subject to <b>IGNORE</b> after the fewest collating elements subject
|
|
to <b>IGNORE</b> from the start of the compare shall collate first. If both strings contain a character not subject to
|
|
<b>IGNORE</b> in the same relative position, the collating values assigned to the elements shall determine the ordering. In case of
|
|
equality, subsequent characters not subject to <b>IGNORE</b> shall be considered in the same manner.</dd>
|
|
</dl>
|
|
|
|
<p>The directives <b>forward</b> and <b>backward</b> are mutually-exclusive.</p>
|
|
|
|
<p>If no operands are specified, a single <b>forward</b> operand shall be assumed.<br>
|
|
</p>
|
|
|
|
<p>For example:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>order_start forward;backward
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<h5><a name="tag_07_03_02_04"></a>Collation Order</h5>
|
|
|
|
<p>The <b>order_start</b> keyword shall be followed by collating identifier entries. The syntax for the collating element entries
|
|
is as follows:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>"%s %s;%s;...;%s\n", <</tt><i>collating-identifier</i><tt>>, <</tt><i>weight</i><tt>>, <</tt><i>weight</i><tt>>, ...
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>Each <i>collating-identifier</i> shall consist of either a character (in any of the forms defined in <a href="#tag_07_03">Locale
|
|
Definition</a> ), a <<i>collating-element</i>>, a <<i>collating-symbol</i>>, an ellipsis, or the special symbol
|
|
<b>UNDEFINED</b>. The order in which collating elements are specified determines the character order sequence, such that each
|
|
collating element shall compare less than the elements following it.</p>
|
|
|
|
<p>A <<i>collating-element</i>> shall be used to specify multi-character collating elements, and indicates that the character
|
|
sequence specified via the <<i>collating-element</i>> is to be collated as a unit and in the relative order specified by its
|
|
place.</p>
|
|
|
|
<p>A <<i>collating-symbol</i>> can be used to define a position in the relative order for use in weights. No weights shall be
|
|
specified with a <<i>collating-symbol</i>>.</p>
|
|
|
|
<p>The ellipsis symbol specifies that a sequence of characters shall collate according to their encoded character values. It shall
|
|
be interpreted as indicating that all characters with a coded character set value higher than the value of the character in the
|
|
preceding line, and lower than the coded character set value for the character in the following line, in the current coded
|
|
character set, shall be placed in the character collation order between the previous and the following character in ascending order
|
|
according to their coded character set values. An initial ellipsis shall be interpreted as if the preceding line specified the NUL
|
|
character, and a trailing ellipsis as if the following line specified the highest coded character set value in the current coded
|
|
character set. An ellipsis shall be treated as invalid if the preceding or following lines do not specify characters in the current
|
|
coded character set. The use of the ellipsis symbol ties the definition to a specific coded character set and may preclude the
|
|
definition from being portable between implementations.</p>
|
|
|
|
<p>The symbol <b>UNDEFINED</b> shall be interpreted as including all coded character set values not specified explicitly or via the
|
|
ellipsis symbol. Such characters shall be inserted in the character collation order at the point indicated by the symbol, and in
|
|
ascending order according to their coded character set values. If no <b>UNDEFINED</b> symbol is specified, and the current coded
|
|
character set contains characters not specified in this section, the utility shall issue a warning message and place such
|
|
characters at the end of the character collation order.</p>
|
|
|
|
<p>The optional operands for each collation-element shall be used to define the primary, secondary, or subsequent weights for the
|
|
collating element. The first operand specifies the relative primary weight, the second the relative secondary weight, and so on.
|
|
Two or more collation-elements can be assigned the same weight; they belong to the same "equivalence class" if they have the same
|
|
primary weight. Collation shall behave as if, for each weight level, elements subject to <b>IGNORE</b> are removed, unless the
|
|
<b>position</b> collation directive is specified for the corresponding level with the <b>order_start</b> keyword. Then each
|
|
successive pair of elements shall be compared according to the relative weights for the elements. If the two strings compare equal,
|
|
the process shall be repeated for the next weight level, up to the limit {COLL_WEIGHTS_MAX}.</p>
|
|
|
|
<p>Weights shall be expressed as characters (in any of the forms specified in <a href="#tag_07_03">Locale Definition</a> ),
|
|
<<i>collating-symbol</i>>s, <<i>collating-element</i>>s, an ellipsis, or the special symbol <b>IGNORE</b>. A single
|
|
character, a <<i>collating-symbol</i>>, or a <<i>collating-element</i>> shall represent the relative position in the
|
|
character collating sequence of the character or symbol, rather than the character or characters themselves. Thus, rather than
|
|
assigning absolute values to weights, a particular weight is expressed using the relative order value assigned to a collating
|
|
element based on its order in the character collation sequence.</p>
|
|
|
|
<p>One-to-many mapping is indicated by specifying two or more concatenated characters or symbolic names. For example, if the
|
|
<eszet> is given the string <tt>"<s><s>"</tt> as a weight, comparisons are performed as if all occurrences of the
|
|
<eszet> are replaced by <tt>"<s><s>"</tt> (assuming that <tt>"<s>"</tt> has the collating weight
|
|
<tt>"<s>"</tt> ). If it is necessary to define <eszet> and <tt>"<s><s>"</tt> as an equivalence class, then
|
|
a collating element must be defined for the string <tt>"ss"</tt> .</p>
|
|
|
|
<p>All characters specified via an ellipsis shall by default be assigned unique weights, equal to the relative order of characters.
|
|
Characters specified via an explicit or implicit <b>UNDEFINED</b> special symbol shall by default be assigned the same primary
|
|
weight (that is, they belong to the same equivalence class). An ellipsis symbol as a weight shall be interpreted to mean that each
|
|
character in the sequence shall have unique weights, equal to the relative order of their character in the character collation
|
|
sequence. The use of the ellipsis as a weight shall be treated as an error if the collating element is neither an ellipsis nor the
|
|
special symbol <b>UNDEFINED</b>.</p>
|
|
|
|
<p>The special keyword <b>IGNORE</b> as a weight shall indicate that when strings are compared using the weights at the level where
|
|
<b>IGNORE</b> is specified, the collating element shall be ignored; that is, as if the string did not contain the collating
|
|
element. In regular expressions and pattern matching, all characters that are subject to <b>IGNORE</b> in their primary weight form
|
|
an equivalence class.</p>
|
|
|
|
<p>An empty operand shall be interpreted as the collating element itself.</p>
|
|
|
|
<p>For example, the order statement:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt><a> <a>;<a>
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>is equal to:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt><a>
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>An ellipsis can be used as an operand if the collating element was an ellipsis, and shall be interpreted as the value of each
|
|
character defined by the ellipsis.</p>
|
|
|
|
<p>The collation order as defined in this section affects the interpretation of bracket expressions in regular expressions (see <a
|
|
href="xbd_chap09.html#tag_09_03_05"><i>RE Bracket Expression</i></a> ).</p>
|
|
|
|
<p>For example:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<tt>order_start forward;backward
|
|
UNDEFINED IGNORE;IGNORE
|
|
<LOW>
|
|
<space> <LOW>;<space>
|
|
... <LOW>;...
|
|
<a> <a>;<a>
|
|
<a-acute> <a>;<a-acute>
|
|
<a-grave> <a>;<a-grave>
|
|
<A> <a>;<A>
|
|
<A-acute> <a>;<A-acute>
|
|
<A-grave> <a>;<A-grave>
|
|
<ch> <ch>;<ch>
|
|
<Ch> <ch>;<Ch>
|
|
<s> <s>;<s>
|
|
<eszet> "<s><s>";"<eszet><eszet>"
|
|
order_end
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>This example is interpreted as follows:</p>
|
|
|
|
<ol>
|
|
<li>
|
|
<p>The <b>UNDEFINED</b> means that all characters not specified in this definition (explicitly or via the ellipsis) shall be
|
|
ignored for collation purposes.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>All characters between <space> and <tt>'a'</tt> shall have the same primary equivalence class and individual secondary
|
|
weights based on their ordinal encoded values.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>All characters based on the uppercase or lowercase character <tt>'a'</tt> belong to the same primary equivalence class.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The multi-character collating element <ch> is represented by the collating symbol <ch> and belongs to the same
|
|
primary equivalence class as the multi-character collating element <Ch>.</p>
|
|
</li>
|
|
</ol>
|
|
|
|
<h5><a name="tag_07_03_02_05"></a>The order_end Keyword</h5>
|
|
|
|
<p>The collating order entries shall be terminated with an <b>order_end</b> keyword.</p>
|
|
|
|
<h5><a name="tag_07_03_02_06"></a>LC_COLLATE Category in the POSIX Locale</h5>
|
|
|
|
<p>The collation sequence definition of the POSIX locale follows; the code listing depicts the <a href=
|
|
"../utilities/localedef.html"><i>localedef</i></a> input.</p>
|
|
|
|
<pre>
|
|
<tt>LC_COLLATE
|
|
# This is the POSIX locale definition for the LC_COLLATE category.
|
|
# The order is the same as in the ASCII codeset.
|
|
order_start forward
|
|
<NUL>
|
|
<SOH>
|
|
<STX>
|
|
<ETX>
|
|
<EOT>
|
|
<ENQ>
|
|
<ACK>
|
|
<alert>
|
|
<backspace>
|
|
<tab>
|
|
<newline>
|
|
<vertical-tab>
|
|
<form-feed>
|
|
<carriage-return>
|
|
<SO>
|
|
<SI>
|
|
<DLE>
|
|
<DC1>
|
|
<DC2>
|
|
<DC3>
|
|
<DC4>
|
|
<NAK>
|
|
<SYN>
|
|
<ETB>
|
|
<CAN>
|
|
<EM>
|
|
<SUB>
|
|
<ESC>
|
|
<IS4>
|
|
<IS3>
|
|
<IS2>
|
|
<IS1>
|
|
<space>
|
|
<exclamation-mark>
|
|
<quotation-mark>
|
|
<number-sign>
|
|
<dollar-sign>
|
|
<percent-sign>
|
|
<ampersand>
|
|
<apostrophe>
|
|
<left-parenthesis>
|
|
<right-parenthesis>
|
|
<asterisk>
|
|
<plus-sign>
|
|
<comma>
|
|
<hyphen>
|
|
<period>
|
|
<slash>
|
|
<zero>
|
|
<one>
|
|
<two>
|
|
<three>
|
|
<four>
|
|
<five>
|
|
<six>
|
|
<seven>
|
|
<eight>
|
|
<nine>
|
|
<colon>
|
|
<semicolon>
|
|
<less-than-sign>
|
|
<equals-sign>
|
|
<greater-than-sign>
|
|
<question-mark>
|
|
<commercial-at>
|
|
<A>
|
|
<B>
|
|
<C>
|
|
<D>
|
|
<E>
|
|
<F>
|
|
<G>
|
|
<H>
|
|
<I>
|
|
<J>
|
|
<K>
|
|
<L>
|
|
<M>
|
|
<N>
|
|
<O>
|
|
<P>
|
|
<Q>
|
|
<R>
|
|
<S>
|
|
<T>
|
|
<U>
|
|
<V>
|
|
<W>
|
|
<X>
|
|
<Y>
|
|
<Z>
|
|
<left-square-bracket>
|
|
<backslash>
|
|
<right-square-bracket>
|
|
<circumflex>
|
|
<underscore>
|
|
<grave-accent>
|
|
<a>
|
|
<b>
|
|
<c>
|
|
<d>
|
|
<e>
|
|
<f>
|
|
<g>
|
|
<h>
|
|
<i>
|
|
<j>
|
|
<k>
|
|
<l>
|
|
<m>
|
|
<n>
|
|
<o>
|
|
<p>
|
|
<q>
|
|
<r>
|
|
<s>
|
|
<t>
|
|
<u>
|
|
<v>
|
|
<w>
|
|
<x>
|
|
<y>
|
|
<z>
|
|
<left-curly-bracket>
|
|
<vertical-line>
|
|
<right-curly-bracket>
|
|
<tilde>
|
|
<DEL>
|
|
order_end
|
|
#
|
|
END LC_COLLATE
|
|
</tt>
|
|
</pre>
|
|
|
|
<h4><a name="tag_07_03_03"></a>LC_MONETARY</h4>
|
|
|
|
<p>The <i>LC_MONETARY</i> category shall define the rules and symbols that are used to format monetary numeric information.</p>
|
|
|
|
<p>This information is available through the <a href="../functions/localeconv.html"><i>localeconv</i>()</a> function <sup>[<a href=
|
|
"javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"> and is used
|
|
by the <a href="../functions/strfmon.html"><i>strfmon</i>()</a> function. <img src="../images/opt-end.gif" alt="[Option End]"
|
|
border="0"></p>
|
|
|
|
<p><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
Some of the information is also available in an alternative form via the <a href=
|
|
"../functions/nl_langinfo.html"><i>nl_langinfo</i>()</a> function (see CRNCYSTR in <a href=
|
|
"langinfo.h.html"><i><langinfo.h></i></a> ). <img src="../images/opt-end.gif" alt="[Option End]" border="0"></p>
|
|
|
|
<p>The following items are defined in this category of the locale. The item names are the keywords recognized by the <a href=
|
|
"../utilities/localedef.html"><i>localedef</i></a> utility when defining a locale. They are also similar to the member names of the
|
|
<b>lconv</b> structure defined in <a href="locale.h.html"><i><locale.h></i></a> ; see <a href=
|
|
"locale.h.html"><i><locale.h></i></a> for the exact symbols in the header. The <a href=
|
|
"../functions/localeconv.html"><i>localeconv</i>()</a> function returns {CHAR_MAX} for unspecified integer items and the empty
|
|
string ( <tt>""</tt> ) for unspecified or size zero string items.</p>
|
|
|
|
<p>In a locale definition file, the operands are strings, formatted as indicated by the grammar in <a href="#tag_07_04">Locale
|
|
Definition Grammar</a> . For some keywords, the strings can contain only integers. Keywords that are not provided, string values
|
|
set to the empty string ( <tt>""</tt> ), or integer keywords set to -1, are used to indicate that the value is not available in the
|
|
locale. The following keywords shall be recognized:</p>
|
|
|
|
<dl compact>
|
|
<dt><b>copy</b></dt>
|
|
|
|
<dd>Specify the name of an existing locale which shall be used as the definition of this category. If this keyword is specified, no
|
|
other keyword shall be specified. <basefont size="2">
|
|
|
|
<dl>
|
|
<dt><b>Note:</b></dt>
|
|
|
|
<dd>This is a <a href="../utilities/localedef.html"><i>localedef</i></a> utility keyword, unavailable through <a href=
|
|
"../functions/localeconv.html"><i>localeconv</i>()</a>.</dd>
|
|
</dl>
|
|
|
|
<basefont size="3"></dd>
|
|
|
|
<dt><b>int_curr_symbol</b></dt>
|
|
|
|
<dd>The international currency symbol. The operand shall be a four-character string, with the first three characters containing the
|
|
alphabetic international currency symbol in accordance with those specified in the ISO 4217:1995 standard. The fourth
|
|
character shall be the character used to separate the international currency symbol from the monetary quantity.</dd>
|
|
|
|
<dt><b>currency_symbol</b></dt>
|
|
|
|
<dd>The string that shall be used as the local currency symbol.</dd>
|
|
|
|
<dt><b>mon_decimal_point</b></dt>
|
|
|
|
<dd>The operand is a string containing the symbol that shall be used as the decimal delimiter (radix character) in monetary
|
|
formatted quantities.</dd>
|
|
|
|
<dt><b>mon_thousands_sep</b></dt>
|
|
|
|
<dd>The operand is a string containing the symbol that shall be used as a separator for groups of digits to the left of the decimal
|
|
delimiter in formatted monetary quantities.</dd>
|
|
|
|
<dt><b>mon_grouping</b></dt>
|
|
|
|
<dd>Define the size of each group of digits in formatted monetary quantities. The operand is a sequence of integers separated by
|
|
semicolons. Each integer specifies the number of digits in each group, with the initial integer defining the size of the group
|
|
immediately preceding the decimal delimiter, and the following integers defining the preceding groups. If the last integer is not
|
|
-1, then the size of the previous group (if any) shall be repeatedly used for the remainder of the digits. If the last integer is
|
|
-1, then no further grouping shall be performed.</dd>
|
|
|
|
<dt><b>positive_sign</b></dt>
|
|
|
|
<dd>A string that shall be used to indicate a non-negative-valued formatted monetary quantity.</dd>
|
|
|
|
<dt><b>negative_sign</b></dt>
|
|
|
|
<dd>A string that shall be used to indicate a negative-valued formatted monetary quantity.</dd>
|
|
|
|
<dt><b>int_frac_digits</b></dt>
|
|
|
|
<dd>An integer representing the number of fractional digits (those to the right of the decimal delimiter) to be written in a
|
|
formatted monetary quantity using <b>int_curr_symbol</b>.</dd>
|
|
|
|
<dt><b>frac_digits</b></dt>
|
|
|
|
<dd>An integer representing the number of fractional digits (those to the right of the decimal delimiter) to be written in a
|
|
formatted monetary quantity using <b>currency_symbol</b>.</dd>
|
|
|
|
<dt><b>p_cs_precedes</b></dt>
|
|
|
|
<dd>An integer set to 1 if the <b>currency_symbol</b> precedes the value for a monetary quantity with a non-negative value, and set
|
|
to 0 if the symbol succeeds the value.</dd>
|
|
|
|
<dt><b>p_sep_by_space</b></dt>
|
|
|
|
<dd>An integer set to 0 if no space separates the <b>currency_symbol</b> from the value for a monetary quantity with a non-negative
|
|
value, set to 1 if a space separates the symbol from the value, and set to 2 if a space separates the symbol and the sign string,
|
|
if adjacent.</dd>
|
|
|
|
<dt><b>n_cs_precedes</b></dt>
|
|
|
|
<dd>An integer set to 1 if the <b>currency_symbol</b> precedes the value for a monetary quantity with a negative value, and set to
|
|
0 if the symbol succeeds the value.</dd>
|
|
|
|
<dt><b>n_sep_by_space</b></dt>
|
|
|
|
<dd>An integer set to 0 if no space separates the <b>currency_symbol</b> from the value for a monetary quantity with a negative
|
|
value, set to 1 if a space separates the symbol from the value, and set to 2 if a space separates the symbol and the sign string,
|
|
if adjacent.</dd>
|
|
|
|
<dt><b>p_sign_posn</b></dt>
|
|
|
|
<dd>An integer set to a value indicating the positioning of the <b>positive_sign</b> for a monetary quantity with a non-negative
|
|
value. The following integer values shall be recognized for <b>int_n_sign_posn</b>, <b>int_p_sign_posn</b>, <b>n_sign_posn</b>, and
|
|
<b>p_sign_posn</b>:
|
|
|
|
<dl compact>
|
|
<dt>0</dt>
|
|
|
|
<dd>Parentheses enclose the quantity and the <b>currency_symbol</b>.</dd>
|
|
|
|
<dt>1</dt>
|
|
|
|
<dd>The sign string precedes the quantity and the <b>currency_symbol</b>.</dd>
|
|
|
|
<dt>2</dt>
|
|
|
|
<dd>The sign string succeeds the quantity and the <b>currency_symbol</b>.</dd>
|
|
|
|
<dt>3</dt>
|
|
|
|
<dd>The sign string precedes the <b>currency_symbol</b>.</dd>
|
|
|
|
<dt>4</dt>
|
|
|
|
<dd>The sign string succeeds the <b>currency_symbol</b>.</dd>
|
|
</dl>
|
|
</dd>
|
|
|
|
<dt><b>n_sign_posn</b></dt>
|
|
|
|
<dd>An integer set to a value indicating the positioning of the <b>negative_sign</b> for a negative formatted monetary
|
|
quantity.</dd>
|
|
|
|
<dt><b>int_p_cs_precedes</b></dt>
|
|
|
|
<dd>An integer set to 1 if the <b>int_curr_symbol</b> precedes the value for a monetary quantity with a non-negative value, and set
|
|
to 0 if the symbol succeeds the value.</dd>
|
|
|
|
<dt><b>int_n_cs_precedes</b></dt>
|
|
|
|
<dd>An integer set to 1 if the <b>int_curr_symbol</b> precedes the value for a monetary quantity with a negative value, and set to
|
|
0 if the symbol succeeds the value.</dd>
|
|
|
|
<dt><b>int_p_sep_by_space</b></dt>
|
|
|
|
<dd>An integer set to 0 if no space separates the <b>int_curr_symbol</b> from the value for a monetary quantity with a non-negative
|
|
value, set to 1 if a space separates the symbol from the value, and set to 2 if a space separates the symbol and the sign string,
|
|
if adjacent.</dd>
|
|
|
|
<dt><b>int_n_sep_by_space</b></dt>
|
|
|
|
<dd>An integer set to 0 if no space separates the <b>int_curr_symbol</b> from the value for a monetary quantity with a negative
|
|
value, set to 1 if a space separates the symbol from the value, and set to 2 if a space separates the symbol and the sign string,
|
|
if adjacent.</dd>
|
|
|
|
<dt><b>int_p_sign_posn</b></dt>
|
|
|
|
<dd>An integer set to a value indicating the positioning of the <b>positive_sign</b> for a positive monetary quantity formatted
|
|
with the international format.</dd>
|
|
|
|
<dt><b>int_n_sign_posn</b></dt>
|
|
|
|
<dd>An integer set to a value indicating the positioning of the <b>negative_sign</b> for a negative monetary quantity formatted
|
|
with the international format.</dd>
|
|
</dl>
|
|
|
|
<h5><a name="tag_07_03_03_01"></a>LC_MONETARY Category in the POSIX Locale</h5>
|
|
|
|
<p>The monetary formatting definitions for the POSIX locale follow; the code listing depicting the <a href=
|
|
"../utilities/localedef.html"><i>localedef</i></a> input, the table representing the same information with the addition of <a href=
|
|
"../functions/localeconv.html"><i>localeconv</i>()</a> <sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src=
|
|
"../images/opt-start.gif" alt="[Option Start]" border="0"> and <a href=
|
|
"../functions/nl_langinfo.html"><i>nl_langinfo</i>()</a> <img src="../images/opt-end.gif" alt="[Option End]" border="0"> formats.
|
|
All values are unspecified in the POSIX locale.</p>
|
|
|
|
<pre>
|
|
<tt>LC_MONETARY
|
|
# This is the POSIX locale definition for
|
|
# the LC_MONETARY category.
|
|
#
|
|
int_curr_symbol ""
|
|
currency_symbol ""
|
|
mon_decimal_point ""
|
|
mon_thousands_sep ""
|
|
mon_grouping -1
|
|
positive_sign ""
|
|
negative_sign ""
|
|
int_frac_digits -1
|
|
frac_digits -1
|
|
p_cs_precedes -1
|
|
p_sep_by_space -1
|
|
n_cs_precedes -1
|
|
n_sep_by_space -1
|
|
p_sign_posn -1
|
|
n_sign_posn -1
|
|
#
|
|
END LC_MONETARY
|
|
</tt>
|
|
</pre>
|
|
|
|
<center>
|
|
<table border="1" cellpadding="3" align="center">
|
|
<tr valign="top">
|
|
<th align="center">
|
|
<p class="tent"><b> </b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>langinfo</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>POSIX Locale</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>localeconv()</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>localedef</b></p>
|
|
</th>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<th align="center">
|
|
<p class="tent"><b>Item</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>Constant</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>Value</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>Value</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>Value</b></p>
|
|
</th>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>int_curr_symbol</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">""</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">""</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>currency_symbol</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">CRNCYSTR</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">""</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">""</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>mon_decimal_point</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">""</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">""</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>mon_thousands_sep</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">""</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">""</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>mon_grouping</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">""</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-1</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>positive_sign</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">""</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">""</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>negative_sign</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">""</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">""</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>int_frac_digits</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">{CHAR_MAX}</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-1</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>frac_digits</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">{CHAR_MAX}</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-1</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>p_cs_precedes</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">CRNCYSTR</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">{CHAR_MAX}</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-1</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>p_sep_by_space</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">{CHAR_MAX}</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-1</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>n_cs_precedes</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">CRNCYSTR</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">{CHAR_MAX}</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-1</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>n_sep_by_space</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">{CHAR_MAX}</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-1</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>p_sign_posn</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">{CHAR_MAX}</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-1</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>n_sign_posn</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">{CHAR_MAX}</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-1</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</center>
|
|
|
|
<p><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
In the preceding table, the <b>langinfo Constant</b> column represents an XSI-conformant extension. <img src=
|
|
"../images/opt-end.gif" alt="[Option End]" border="0"> The entry N/A indicates that the value is not available in the POSIX
|
|
locale.</p>
|
|
|
|
<h4><a name="tag_07_03_04"></a>LC_NUMERIC</h4>
|
|
|
|
<p>The <i>LC_NUMERIC</i> category shall define the rules and symbols that are used to format non-monetary numeric information. This
|
|
information is available through the <a href="../functions/localeconv.html"><i>localeconv</i>()</a> function.</p>
|
|
|
|
<p><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
Some of the information is also available in an alternative form via the <a href=
|
|
"../functions/nl_langinfo.html"><i>nl_langinfo</i>()</a> function. <img src="../images/opt-end.gif" alt="[Option End]" border=
|
|
"0"></p>
|
|
|
|
<p>The following items are defined in this category of the locale. The item names are the keywords recognized by the <a href=
|
|
"../utilities/localedef.html"><i>localedef</i></a> utility when defining a locale. They are also similar to the member names of the
|
|
<b>lconv</b> structure defined in <a href="locale.h.html"><i><locale.h></i></a> ; see <a href=
|
|
"locale.h.html"><i><locale.h></i></a> for the exact symbols in the header. The <a href=
|
|
"../functions/localeconv.html"><i>localeconv</i>()</a> function returns {CHAR_MAX} for unspecified integer items and the empty
|
|
string ( <tt>""</tt> ) for unspecified or size zero string items.</p>
|
|
|
|
<p>In a locale definition file, the operands are strings, formatted as indicated by the grammar in <a href="#tag_07_04">Locale
|
|
Definition Grammar</a> . For some keywords, the strings can only contain integers. Keywords that are not provided, string values
|
|
set to the empty string ( <tt>""</tt> ), or integer keywords set to -1, shall be used to indicate that the value is not available
|
|
in the locale. The following keywords shall be recognized:</p>
|
|
|
|
<dl compact>
|
|
<dt><b>copy</b></dt>
|
|
|
|
<dd>Specify the name of an existing locale which shall be used as the definition of this category. If this keyword is specified, no
|
|
other keyword shall be specified. <basefont size="2">
|
|
|
|
<dl>
|
|
<dt><b>Note:</b></dt>
|
|
|
|
<dd>This is a <a href="../utilities/localedef.html"><i>localedef</i></a> utility keyword, unavailable through <a href=
|
|
"../functions/localeconv.html"><i>localeconv</i>()</a>.</dd>
|
|
</dl>
|
|
|
|
<basefont size="3"></dd>
|
|
|
|
<dt><b>decimal_point</b></dt>
|
|
|
|
<dd>The operand is a string containing the symbol that shall be used as the decimal delimiter (radix character) in numeric,
|
|
non-monetary formatted quantities. This keyword cannot be omitted and cannot be set to the empty string. In contexts where
|
|
standards limit the <b>decimal_point</b> to a single byte, the result of specifying a multi-byte operand shall be unspecified.</dd>
|
|
|
|
<dt><b>thousands_sep</b></dt>
|
|
|
|
<dd>The operand is a string containing the symbol that shall be used as a separator for groups of digits to the left of the decimal
|
|
delimiter in numeric, non-monetary formatted monetary quantities. In contexts where standards limit the <b>thousands_sep</b> to a
|
|
single byte, the result of specifying a multi-byte operand shall be unspecified.</dd>
|
|
|
|
<dt><b>grouping</b></dt>
|
|
|
|
<dd>Define the size of each group of digits in formatted non-monetary quantities. The operand is a sequence of integers separated
|
|
by semicolons. Each integer specifies the number of digits in each group, with the initial integer defining the size of the group
|
|
immediately preceding the decimal delimiter, and the following integers defining the preceding groups. If the last integer is not
|
|
-1, then the size of the previous group (if any) shall be repeatedly used for the remainder of the digits. If the last integer is
|
|
-1, then no further grouping shall be performed.</dd>
|
|
</dl>
|
|
|
|
<h5><a name="tag_07_03_04_01"></a>LC_NUMERIC Category in the POSIX Locale</h5>
|
|
|
|
<p>The non-monetary numeric formatting definitions for the POSIX locale follow; the code listing depicting the <a href=
|
|
"../utilities/localedef.html"><i>localedef</i></a> input, the table representing the same information with the addition of <a href=
|
|
"../functions/localeconv.html"><i>localeconv</i>()</a> values, <sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src=
|
|
"../images/opt-start.gif" alt="[Option Start]" border="0"> and <a href=
|
|
"../functions/nl_langinfo.html"><i>nl_langinfo</i>()</a> constants. <img src="../images/opt-end.gif" alt="[Option End]" border=
|
|
"0"></p>
|
|
|
|
<pre>
|
|
<tt>LC_NUMERIC
|
|
# This is the POSIX locale definition for
|
|
# the LC_NUMERIC category.
|
|
#
|
|
decimal_point "<period>"
|
|
thousands_sep ""
|
|
grouping -1
|
|
#
|
|
END LC_NUMERIC
|
|
</tt>
|
|
</pre>
|
|
|
|
<center>
|
|
<table border="1" cellpadding="3" align="center">
|
|
<tr valign="top">
|
|
<th align="center">
|
|
<p class="tent"><b> </b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>langinfo</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>POSIX Locale</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>localeconv()</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>localedef</b></p>
|
|
</th>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<th align="center">
|
|
<p class="tent"><b>Item</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>Constant</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>Value</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>Value</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>Value</b></p>
|
|
</th>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>decimal_point</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">RADIXCHAR</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">"."</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">"."</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">.</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>thousands_sep</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">THOUSEP</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">""</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">""</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>grouping</b></p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">""</p>
|
|
</td>
|
|
<td align="center">
|
|
<p class="tent">-1</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</center>
|
|
|
|
<p><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
In the preceding table, the <b>langinfo Constant</b> column represents an XSI-conforming extension. <img src=
|
|
"../images/opt-end.gif" alt="[Option End]" border="0"> The entry N/A indicates that the value is not available in the POSIX
|
|
locale.</p>
|
|
|
|
<h4><a name="tag_07_03_05"></a>LC_TIME</h4>
|
|
|
|
<p>The <i>LC_TIME</i> category shall define the interpretation of the conversion specifications supported by the <a href=
|
|
"../utilities/date.html"><i>date</i></a> utility and shall affect the behavior of the <a href=
|
|
"../functions/strftime.html"><i>strftime</i>()</a>, <a href="../functions/wcsftime.html"><i>wcsftime</i>()</a>, <a href=
|
|
"../functions/strptime.html"><i>strptime</i>()</a>, <sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src=
|
|
"../images/opt-start.gif" alt="[Option Start]" border="0"> and <a href=
|
|
"../functions/nl_langinfo.html"><i>nl_langinfo</i>()</a> <img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
functions. Since the interfaces for C-language access and locale definition differ significantly, they are described
|
|
separately.</p>
|
|
|
|
<h5><a name="tag_07_03_05_01"></a>LC_TIME Locale Definition</h5>
|
|
|
|
<p>In a locale definition, the following mandatory keywords shall be recognized:</p>
|
|
|
|
<dl compact>
|
|
<dt><b>copy</b></dt>
|
|
|
|
<dd>Specify the name of an existing locale which shall be used as the definition of this category. If this keyword is specified, no
|
|
other keyword shall be specified.</dd>
|
|
|
|
<dt><b>abday</b></dt>
|
|
|
|
<dd>Define the abbreviated weekday names, corresponding to the <tt>%a</tt> conversion specification (conversion specification in
|
|
the <a href="../functions/strftime.html"><i>strftime</i>()</a>, <a href="../functions/wcsftime.html"><i>wcsftime</i>()</a>, and <a
|
|
href="../functions/strptime.html"><i>strptime</i>()</a> functions). The operand shall consist of seven semicolon-separated strings,
|
|
each surrounded by double-quotes. The first string shall be the abbreviated name of the day corresponding to Sunday, the second the
|
|
abbreviated name of the day corresponding to Monday, and so on.</dd>
|
|
|
|
<dt><b>day</b></dt>
|
|
|
|
<dd>Define the full weekday names, corresponding to the <tt>%A</tt> conversion specification. The operand shall consist of seven
|
|
semicolon-separated strings, each surrounded by double-quotes. The first string is the full name of the day corresponding to
|
|
Sunday, the second the full name of the day corresponding to Monday, and so on.</dd>
|
|
|
|
<dt><b>abmon</b></dt>
|
|
|
|
<dd>Define the abbreviated month names, corresponding to the <tt>%b</tt> conversion specification. The operand shall consist of
|
|
twelve semicolon-separated strings, each surrounded by double-quotes. The first string shall be the abbreviated name of the first
|
|
month of the year (January), the second the abbreviated name of the second month, and so on.</dd>
|
|
|
|
<dt><b>mon</b></dt>
|
|
|
|
<dd>Define the full month names, corresponding to the <tt>%B</tt> conversion specification. The operand shall consist of twelve
|
|
semicolon-separated strings, each surrounded by double-quotes. The first string shall be the full name of the first month of the
|
|
year (January), the second the full name of the second month, and so on.</dd>
|
|
|
|
<dt><b>d_t_fmt</b></dt>
|
|
|
|
<dd>Define the appropriate date and time representation, corresponding to the <tt>%c</tt> conversion specification. The operand
|
|
shall consist of a string containing any combination of characters and conversion specifications. In addition, the string can
|
|
contain escape sequences defined in the table in <a href="xbd_chap05.html#tagtcjh_2"><i>Escape Sequences and Associated
|
|
Actions</i></a> ( <tt>'\\'</tt> , <tt>'\a'</tt> , <tt>'\b'</tt> , <tt>'\f'</tt> , <tt>'\n'</tt> , <tt>'\r'</tt> , <tt>'\t'</tt> ,
|
|
<tt>'\v'</tt> ).</dd>
|
|
|
|
<dt><b>d_fmt</b></dt>
|
|
|
|
<dd>Define the appropriate date representation, corresponding to the <tt>%x</tt> conversion specification. The operand shall
|
|
consist of a string containing any combination of characters and conversion specifications. In addition, the string can contain
|
|
escape sequences defined in <a href="xbd_chap05.html#tagtcjh_2"><i>Escape Sequences and Associated Actions</i></a> .</dd>
|
|
|
|
<dt><b>t_fmt</b></dt>
|
|
|
|
<dd>Define the appropriate time representation, corresponding to the <tt>%X</tt> conversion specification. The operand shall
|
|
consist of a string containing any combination of characters and conversion specifications. In addition, the string can contain
|
|
escape sequences defined in <a href="xbd_chap05.html#tagtcjh_2"><i>Escape Sequences and Associated Actions</i></a> .</dd>
|
|
|
|
<dt><b>am_pm</b></dt>
|
|
|
|
<dd>Define the appropriate representation of the <i>ante-meridiem</i> and <i>post-meridiem</i> strings, corresponding to the
|
|
<tt>%p</tt> conversion specification. The operand shall consist of two strings, separated by a semicolon, each surrounded by
|
|
double-quotes. The first string shall represent the <i>ante-meridiem</i> designation, the last string the <i>post-meridiem</i>
|
|
designation.</dd>
|
|
|
|
<dt><b>t_fmt_ampm</b></dt>
|
|
|
|
<dd>Define the appropriate time representation in the 12-hour clock format with <b>am_pm</b>, corresponding to the <tt>%r</tt>
|
|
conversion specification. The operand shall consist of a string and can contain any combination of characters and conversion
|
|
specifications. If the string is empty, the 12-hour format is not supported in the locale.</dd>
|
|
|
|
<dt><b>era</b></dt>
|
|
|
|
<dd>Define how years are counted and displayed for each era in a locale. The operand shall consist of semicolon-separated strings.
|
|
Each string shall be an era description segment with the format:
|
|
|
|
<pre>
|
|
<i>direction</i><tt>:</tt><i>offset</i><tt>:</tt><i>start_date</i><tt>:</tt><i>end_date</i><tt>:</tt><i>era_name</i><tt>:</tt><i>era_format</i>
|
|
</pre>
|
|
|
|
<p>according to the definitions below. There can be as many era description segments as are necessary to describe the different
|
|
eras. <basefont size="2"></p>
|
|
|
|
<dl>
|
|
<dt><b>Note:</b></dt>
|
|
|
|
<dd>The start of an era might not be the earliest point in the era-it may be the latest. For example, the Christian era BC starts
|
|
on the day before January 1, AD 1, and increases with earlier time.</dd>
|
|
</dl>
|
|
|
|
<basefont size="3">
|
|
|
|
<dl compact>
|
|
<dt><i>direction</i></dt>
|
|
|
|
<dd>Either a <tt>'+'</tt> or a <tt>'-'</tt> character. The <tt>'+'</tt> character shall indicate that years closer to the
|
|
<i>start_date</i> have lower numbers than those closer to the <i>end_date</i>. The <tt>'-'</tt> character shall indicate that years
|
|
closer to the <i>start_date</i> have higher numbers than those closer to the <i>end_date</i>.</dd>
|
|
|
|
<dt><i>offset</i></dt>
|
|
|
|
<dd>The number of the year closest to the <i>start_date</i> in the era, corresponding to the <tt>%Ey</tt> conversion
|
|
specification.</dd>
|
|
|
|
<dt><i>start_date</i></dt>
|
|
|
|
<dd>A date in the form <i>yyyy</i>/<i>mm</i>/<i>dd</i>, where <i>yyyy</i>, <i>mm</i>, and <i>dd</i> are the year, month, and day
|
|
numbers respectively of the start of the era. Years prior to AD 1 shall be represented as negative numbers.</dd>
|
|
|
|
<dt><i>end_date</i></dt>
|
|
|
|
<dd>The ending date of the era, in the same format as the <i>start_date</i>, or one of the two special values <tt>"-*"</tt> or
|
|
<tt>"+*"</tt> . The value <tt>"-*"</tt> shall indicate that the ending date is the beginning of time. The value <tt>"+*"</tt> shall
|
|
indicate that the ending date is the end of time.</dd>
|
|
|
|
<dt><i>era_name</i></dt>
|
|
|
|
<dd>A string representing the name of the era, corresponding to the <tt>%EC</tt> conversion specification.</dd>
|
|
|
|
<dt><i>era_format</i></dt>
|
|
|
|
<dd>A string for formatting the year in the era, corresponding to the <tt>%EY</tt> conversion specification.</dd>
|
|
</dl>
|
|
</dd>
|
|
|
|
<dt><b>era_d_fmt</b></dt>
|
|
|
|
<dd>Define the format of the date in alternative era notation, corresponding to the <tt>%Ex</tt> conversion specification.</dd>
|
|
|
|
<dt><b>era_t_fmt</b></dt>
|
|
|
|
<dd>Define the locale's appropriate alternative time format, corresponding to the <tt>%EX</tt> conversion specification.</dd>
|
|
|
|
<dt><b>era_d_t_fmt</b></dt>
|
|
|
|
<dd>Define the locale's appropriate alternative date and time format, corresponding to the <tt>%Ec</tt> conversion
|
|
specification.</dd>
|
|
|
|
<dt><b>alt_digits</b></dt>
|
|
|
|
<dd>Define alternative symbols for digits, corresponding to the <tt>%O</tt> modified conversion specification. The operand shall
|
|
consist of semicolon-separated strings, each surrounded by double-quotes. The first string shall be the alternative symbol
|
|
corresponding with zero, the second string the symbol corresponding with one, and so on. Up to 100 alternative symbol strings can
|
|
be specified. The <tt>%O</tt> modifier shall indicate that the string corresponding to the value specified via the conversion
|
|
specification shall be used instead of the value.</dd>
|
|
</dl>
|
|
|
|
<h5><a name="tag_07_03_05_02"></a>LC_TIME C-Language Access</h5>
|
|
|
|
<p><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
This section describes extensions to access information in the <i>LC_TIME</i> category using the <a href=
|
|
"../functions/nl_langinfo.html"><i>nl_langinfo</i>()</a> function. This functionality is dependent on support of the XSI extension
|
|
(and the rest of this section is not further marked for this option). <img src="../images/opt-end.gif" alt="[Option End]" border=
|
|
"0"></p>
|
|
|
|
<p>The following constants used to identify items of <i>langinfo</i> data can be used as arguments to the <a href=
|
|
"../functions/nl_langinfo.html"><i>nl_langinfo</i>()</a> function to access information in the <i>LC_TIME</i> category. These
|
|
constants are defined in the <a href="langinfo.h.html"><i><langinfo.h></i></a> header.</p>
|
|
|
|
<dl compact>
|
|
<dt>ABDAY_<i>x</i></dt>
|
|
|
|
<dd>The abbreviated weekday names (for example, Sun), where <i>x</i> is a number from 1 to 7.</dd>
|
|
|
|
<dt>DAY_<i>x</i></dt>
|
|
|
|
<dd>The full weekday names (for example, Sunday), where <i>x</i> is a number from 1 to 7.</dd>
|
|
|
|
<dt>ABMON_<i>x</i></dt>
|
|
|
|
<dd>The abbreviated month names (for example, Jan), where <i>x</i> is a number from 1 to 12.</dd>
|
|
|
|
<dt>MON_<i>x</i></dt>
|
|
|
|
<dd>The full month names (for example, January), where <i>x</i> is a number from 1 to 12.</dd>
|
|
|
|
<dt>D_T_FMT</dt>
|
|
|
|
<dd>The appropriate date and time representation.</dd>
|
|
|
|
<dt>D_FMT</dt>
|
|
|
|
<dd>The appropriate date representation.</dd>
|
|
|
|
<dt>T_FMT</dt>
|
|
|
|
<dd>The appropriate time representation.</dd>
|
|
|
|
<dt>AM_STR</dt>
|
|
|
|
<dd>The appropriate ante-meridiem affix.</dd>
|
|
|
|
<dt>PM_STR</dt>
|
|
|
|
<dd>The appropriate post-meridiem affix.</dd>
|
|
|
|
<dt>T_FMT_AMPM</dt>
|
|
|
|
<dd>The appropriate time representation in the 12-hour clock format with AM_STR and PM_STR.</dd>
|
|
|
|
<dt>ERA</dt>
|
|
|
|
<dd>The era description segments, which describe how years are counted and displayed for each era in a locale. Each era description
|
|
segment shall have the format:
|
|
|
|
<pre>
|
|
<i>direction</i><tt>:</tt><i>offset</i><tt>:</tt><i>start_date</i><tt>:</tt><i>end_date</i><tt>:</tt><i>era_name</i><tt>:</tt><i>era_format</i>
|
|
</pre>
|
|
|
|
<p>according to the definitions below. There can be as many era description segments as are necessary to describe the different
|
|
eras. Era description segments are separated by semicolons.</p>
|
|
|
|
<dl compact>
|
|
<dt><i>direction</i></dt>
|
|
|
|
<dd>Either a <tt>'+'</tt> or a <tt>'-'</tt> character. The <tt>'+'</tt> character shall indicate that years closer to the
|
|
<i>start_date</i> have lower numbers than those closer to the <i>end_date</i>. The <tt>'-'</tt> character shall indicate that years
|
|
closer to the <i>start_date</i> have higher numbers than those closer to the <i>end_date</i>.</dd>
|
|
|
|
<dt><i>offset</i></dt>
|
|
|
|
<dd>The number of the year closest to the <i>start_date</i> in the era.</dd>
|
|
|
|
<dt><i>start_date</i></dt>
|
|
|
|
<dd>A date in the form <i>yyyy</i>/<i>mm</i>/<i>dd</i>, where <i>yyyy</i>, <i>mm</i>, and <i>dd</i> are the year, month, and day
|
|
numbers respectively of the start of the era. Years prior to AD 1 shall be represented as negative numbers.</dd>
|
|
|
|
<dt><i>end_date</i></dt>
|
|
|
|
<dd>The ending date of the era, in the same format as the <i>start_date</i>, or one of the two special values <tt>"-*"</tt> or
|
|
<tt>"+*"</tt> . The value <tt>"-*"</tt> shall indicate that the ending date is the beginning of time. The value <tt>"+*"</tt> shall
|
|
indicate that the ending date is the end of time.</dd>
|
|
|
|
<dt><i>era_name</i></dt>
|
|
|
|
<dd>The era, corresponding to the <tt>%EC</tt> conversion specification.</dd>
|
|
|
|
<dt><i>era_format</i></dt>
|
|
|
|
<dd>The format of the year in the era, corresponding to the <tt>%EY</tt> conversion specification.</dd>
|
|
</dl>
|
|
</dd>
|
|
|
|
<dt>ERA_D_FMT</dt>
|
|
|
|
<dd>The era date format.</dd>
|
|
|
|
<dt>ERA_T_FMT</dt>
|
|
|
|
<dd>The locale's appropriate alternative time format, corresponding to the <tt>%EX</tt> conversion specification.</dd>
|
|
|
|
<dt>ERA_D_T_FMT</dt>
|
|
|
|
<dd>The locale's appropriate alternative date and time format, corresponding to the <tt>%Ec</tt> conversion specification.</dd>
|
|
|
|
<dt>ALT_DIGITS</dt>
|
|
|
|
<dd>The alternative symbols for digits, corresponding to the <tt>%O</tt> conversion specification modifier. The value consists of
|
|
semicolon-separated symbols. The first is the alternative symbol corresponding to zero, the second is the symbol corresponding to
|
|
one, and so on. Up to 100 alternative symbols may be specified.</dd>
|
|
</dl>
|
|
|
|
<h5><a name="tag_07_03_05_03"></a>LC_TIME Category in the POSIX Locale</h5>
|
|
|
|
<p>The <i>LC_TIME</i> category definition of the POSIX locale follows; the code listing depicts the <a href=
|
|
"../utilities/localedef.html"><i>localedef</i></a> input; the table represents the same information with the addition of <a href=
|
|
"../utilities/localedef.html"><i>localedef</i></a> keywords, conversion specifiers used by the <a href=
|
|
"../utilities/date.html"><i>date</i></a> utility and the <a href="../functions/strftime.html"><i>strftime</i>()</a>, <a href=
|
|
"../functions/wcsftime.html"><i>wcsftime</i>()</a>, and <a href="../functions/strptime.html"><i>strptime</i>()</a> functions,
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
and <a href="../functions/nl_langinfo.html"><i>nl_langinfo</i>()</a> constants. <img src="../images/opt-end.gif" alt=
|
|
"[Option End]" border="0"></p>
|
|
|
|
<pre>
|
|
<tt>LC_TIME
|
|
# This is the POSIX locale definition for
|
|
# the LC_TIME category.
|
|
#
|
|
# Abbreviated weekday names (%a)
|
|
abday "<S><u><n>";"<M><o><n>";"<T><u><e>";"<W><e><d>";\
|
|
"<T><h><u>";"<F><r><i>";"<S><a><t>"
|
|
#
|
|
# Full weekday names (%A)
|
|
day "<S><u><n><d><a><y>";"<M><o><n><d><a><y>";\
|
|
"<T><u><e><s><d><a><y>";"<W><e><d><n><e><s><d><a><y>";\
|
|
"<T><h><u><r><s><d><a><y>";"<F><r><i><d><a><y>";\
|
|
"<S><a><t><u><r><d><a><y>"
|
|
#
|
|
# Abbreviated month names (%b)
|
|
abmon "<J><a><n>";"<F><e><b>";"<M><a><r>";\
|
|
"<A><p><r>";"<M><a><y>";"<J><u><n>";\
|
|
"<J><u><l>";"<A><u><g>";"<S><e><p>";\
|
|
"<O><c><t>";"<N><o><v>";"<D><e><c>"
|
|
#
|
|
# Full month names (%B)
|
|
mon "<J><a><n><u><a><r><y>";"<F><e><b><r><u><a><r><y>";\
|
|
"<M><a><r><c><h>";"<A><p><r><i><l>";\
|
|
"<M><a><y>";"<J><u><n><e>";\
|
|
"<J><u><l><y>";"<A><u><g><u><s><t>";\
|
|
"<S><e><p><t><e><m><b><e><r>";"<O><c><t><o><b><e><r>";\
|
|
"<N><o><v><e><m><b><e><r>";"<D><e><c><e><m><b><e><r>"
|
|
#
|
|
# Equivalent of AM/PM (%p) "AM";"PM"
|
|
am_pm "<A><M>";"<P><M>"
|
|
#
|
|
# Appropriate date and time representation (%c)
|
|
# "%a %b %e %H:%M:%S %Y"
|
|
d_t_fmt "<percent-sign><a><space><percent-sign><b>\
|
|
<space><percent-sign><e><space><percent-sign><H>\
|
|
<colon><percent-sign><M><colon><percent-sign><S>\
|
|
<space><percent-sign><Y>"
|
|
#
|
|
# Appropriate date representation (%x) "%m/%d/%y"
|
|
d_fmt "<percent-sign><m><slash><percent-sign><d>\
|
|
<slash><percent-sign><y>"
|
|
#
|
|
# Appropriate time representation (%X) "%H:%M:%S"
|
|
t_fmt "<percent-sign><H><colon><percent-sign><M>\
|
|
<colon><percent-sign><S>"
|
|
#
|
|
# Appropriate 12-hour time representation (%r) "%I:%M:%S %p"
|
|
t_fmt_ampm "<percent-sign><I><colon><percent-sign><M><colon>\
|
|
<percent-sign><S><space><percent_sign><p>"
|
|
#
|
|
END LC_TIME
|
|
</tt>
|
|
</pre>
|
|
|
|
<center>
|
|
<table border="1" cellpadding="3" align="center">
|
|
<tr valign="top">
|
|
<th align="center">
|
|
<p class="tent"><b>localedef</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>langinfo</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>Conversion</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>POSIX</b></p>
|
|
</th>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<th align="center">
|
|
<p class="tent"><b>Keyword</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>Constant</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>Specification</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>Locale Value</b></p>
|
|
</th>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>d_t_fmt</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">D_T_FMT</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%c</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"%a %b %e %H:%M:%S %Y"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>d_fmt</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">D_FMT</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%x</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"%m/%d/%y"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>t_fmt</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">T_FMT</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%X</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"%H:%M:%S"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>am_pm</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">AM_STR</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%p</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"AM"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>am_pm</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">PM_STR</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%p</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"PM"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>t_fmt_ampm</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">T_FMT_AMPM</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%r</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"%I:%M:%S %p"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>day</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">DAY_1</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%A</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Sunday"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>day</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">DAY_2</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%A</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Monday"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>day</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">DAY_3</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%A</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Tuesday"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>day</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">DAY_4</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%A</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Wednesday"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>day</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">DAY_5</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%A</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Thursday"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>day</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">DAY_6</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%A</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Friday"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>day</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">DAY_7</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%A</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Saturday"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abday</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABDAY_1</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%a</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Sun"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abday</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABDAY_2</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%a</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Mon"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abday</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABDAY_3</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%a</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Tue"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abday</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABDAY_4</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%a</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Wed"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abday</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABDAY_5</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%a</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Thu"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abday</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABDAY_6</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%a</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Fri"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abday</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABDAY_7</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%a</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Sat"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>mon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">MON_1</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%B</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"January"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>mon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">MON_2</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%B</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"February"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>mon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">MON_3</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%B</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"March"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>mon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">MON_4</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%B</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"April"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>mon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">MON_5</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%B</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"May"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>mon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">MON_6</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%B</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"June"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>mon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">MON_7</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%B</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"July"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>mon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">MON_8</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%B</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"August"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>mon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">MON_9</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%B</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"September"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>mon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">MON_10</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%B</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"October"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>mon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">MON_11</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%B</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"November"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>mon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">MON_12</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%B</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"December"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abmon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABMON_1</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%b</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Jan"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abmon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABMON_2</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%b</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Feb"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abmon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABMON_3</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%b</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Mar"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abmon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABMON_4</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%b</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Apr"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abmon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABMON_5</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%b</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"May"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abmon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABMON_6</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%b</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Jun"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abmon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABMON_7</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%b</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Jul"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abmon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABMON_8</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%b</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Aug"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abmon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABMON_9</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%b</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Sep"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abmon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABMON_10</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%b</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Oct"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abmon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABMON_11</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%b</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Nov"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>abmon</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ABMON_12</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%b</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"Dec"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>era</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ERA</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%EC, %Ey, %EY</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>era_d_fmt</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ERA_D_FMT</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%Ex</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>era_t_fmt</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ERA_T_FMT</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%EX</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>era_d_t_fmt</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ERA_D_T_FMT</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%Ec</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>alt_digits</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">ALT_DIGITS</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">%O</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">N/A</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</center>
|
|
|
|
<p><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
In the preceding table, the <b>langinfo Constant</b> column represents an XSI-conformant extension. <img src=
|
|
"../images/opt-end.gif" alt="[Option End]" border="0"></p>
|
|
|
|
<p>The entry N/A indicates the value is not available in the POSIX locale.</p>
|
|
|
|
<h4><a name="tag_07_03_06"></a>LC_MESSAGES</h4>
|
|
|
|
<p>The <i>LC_MESSAGES</i> category shall define the format and values used by various utilities for affirmative and negative
|
|
responses. <sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]"
|
|
border="0"> This information is available through the <a href="../functions/nl_langinfo.html"><i>nl_langinfo</i>()</a> function.
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"></p>
|
|
|
|
<p><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
The message catalog used by the standard utilities and selected by the <a href="../functions/catopen.html"><i>catopen</i>()</a>
|
|
function shall be determined by the setting of <i>NLSPATH ;</i> see <a href="xbd_chap08.html#tag_08"><i>Environment
|
|
Variables</i></a> . The <i>LC_MESSAGES</i> category can be specified as part of an <i>NLSPATH</i> substitution field. <img src=
|
|
"../images/opt-end.gif" alt="[Option End]" border="0"></p>
|
|
|
|
<p>The following keywords shall be recognized as part of the locale definition file.</p>
|
|
|
|
<dl compact>
|
|
<dt><b>copy</b></dt>
|
|
|
|
<dd>Specify the name of an existing locale which shall be used as the definition of this category. If this keyword is specified, no
|
|
other keyword shall be specified. <basefont size="2">
|
|
|
|
<dl>
|
|
<dt><b>Note:</b></dt>
|
|
|
|
<dd>This is a <a href="../utilities/localedef.html"><i>localedef</i></a> keyword, unavailable through <a href=
|
|
"../functions/nl_langinfo.html"><i>nl_langinfo</i>()</a>.</dd>
|
|
</dl>
|
|
|
|
<basefont size="3"></dd>
|
|
|
|
<dt><b>yesexpr</b></dt>
|
|
|
|
<dd>The operand consists of an extended regular expression (see <a href="xbd_chap09.html#tag_09_04"><i>Extended Regular
|
|
Expressions</i></a> ) that describes the acceptable affirmative response to a question expecting an affirmative or negative
|
|
response.</dd>
|
|
|
|
<dt><b>noexpr</b></dt>
|
|
|
|
<dd>The operand consists of an extended regular expression that describes the acceptable negative response to a question expecting
|
|
an affirmative or negative response.</dd>
|
|
</dl>
|
|
|
|
<h5><a name="tag_07_03_06_01"></a>LC_MESSAGES Category in the POSIX Locale</h5>
|
|
|
|
<p>The format and values for affirmative and negative responses of the POSIX locale follow; the code listing depicting the <a href=
|
|
"../utilities/localedef.html"><i>localedef</i></a> input, the table representing the same information <sup>[<a href=
|
|
"javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"> with the
|
|
addition of <a href="../functions/nl_langinfo.html"><i>nl_langinfo</i>()</a> constants. <img src="../images/opt-end.gif" alt=
|
|
"[Option End]" border="0"></p>
|
|
|
|
<pre>
|
|
<tt>LC_MESSAGES
|
|
# This is the POSIX locale definition for
|
|
# the LC_MESSAGES category.
|
|
#
|
|
yesexpr "<circumflex><left-square-bracket><y><Y><right-square-bracket>"
|
|
#
|
|
noexpr "<circumflex><left-square-bracket><n><N><right-square-bracket>"
|
|
#
|
|
END LC_MESSAGES
|
|
</tt>
|
|
</pre>
|
|
|
|
<center>
|
|
<table border="1" cellpadding="3" align="center">
|
|
<tr valign="top">
|
|
<th align="center">
|
|
<p class="tent"><b>localedef Keyword</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>langinfo Constant</b></p>
|
|
</th>
|
|
<th align="center">
|
|
<p class="tent"><b>POSIX Locale Value</b></p>
|
|
</th>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>yesexpr</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">YESEXPR</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"^[yY]"</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><b>noexpr</b></p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">NOEXPR</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent">"^[nN]"</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</center>
|
|
|
|
<p><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
In the preceding table, the <b>langinfo Constant</b> column represents an XSI-conformant extension. <img src=
|
|
"../images/opt-end.gif" alt="[Option End]" border="0"></p>
|
|
|
|
<h3><a name="tag_07_04"></a>Locale Definition Grammar</h3>
|
|
|
|
<p>The grammar and lexical conventions in this section shall together describe the syntax for the locale definition source. The
|
|
general conventions for this style of grammar are described in the Shell and Utilities volume of IEEE Std 1003.1-2001, <a
|
|
href="../utilities/xcu_chap01.html#tag_01_10">Section 1.10, Grammar Conventions</a>. The grammar shall take precedence over the
|
|
text in this chapter.</p>
|
|
|
|
<h4><a name="tag_07_04_01"></a>Locale Lexical Conventions</h4>
|
|
|
|
<p>The lexical conventions for the locale definition grammar are described in this section.</p>
|
|
|
|
<p>The following tokens shall be processed (in addition to those string constants shown in the grammar):</p>
|
|
|
|
<dl compact>
|
|
<dt><b>LOC_NAME</b></dt>
|
|
|
|
<dd>A string of characters representing the name of a locale.</dd>
|
|
|
|
<dt><b>CHAR</b></dt>
|
|
|
|
<dd>Any single character.</dd>
|
|
|
|
<dt><b>NUMBER</b></dt>
|
|
|
|
<dd>A decimal number, represented by one or more decimal digits.</dd>
|
|
|
|
<dt><b>COLLSYMBOL</b></dt>
|
|
|
|
<dd>A symbolic name, enclosed between angle brackets. The string cannot duplicate any charmap symbol defined in the current charmap
|
|
(if any), or a <b>COLLELEMENT</b> symbol.</dd>
|
|
|
|
<dt><b>COLLELEMENT</b></dt>
|
|
|
|
<dd>A symbolic name, enclosed between angle brackets, which cannot duplicate either any charmap symbol or a <b>COLLSYMBOL</b>
|
|
symbol.</dd>
|
|
|
|
<dt><b>CHARCLASS</b></dt>
|
|
|
|
<dd>A string of alphanumeric characters from the portable character set, the first of which is not a digit, consisting of at least
|
|
one and at most {CHARCLASS_NAME_MAX} bytes, and optionally surrounded by double-quotes.</dd>
|
|
|
|
<dt><b>CHARSYMBOL</b></dt>
|
|
|
|
<dd>A symbolic name, enclosed between angle brackets, from the current charmap (if any).</dd>
|
|
|
|
<dt><b>OCTAL_CHAR</b></dt>
|
|
|
|
<dd>One or more octal representations of the encoding of each byte in a single character. The octal representation consists of an
|
|
escape character (normally a backslash) followed by two or more octal digits.</dd>
|
|
|
|
<dt><b>HEX_CHAR</b></dt>
|
|
|
|
<dd>One or more hexadecimal representations of the encoding of each byte in a single character. The hexadecimal representation
|
|
consists of an escape character followed by the constant <i>x</i> and two or more hexadecimal digits.</dd>
|
|
|
|
<dt><b>DECIMAL_CHAR</b></dt>
|
|
|
|
<dd>One or more decimal representations of the encoding of each byte in a single character. The decimal representation consists of
|
|
an escape character followed by a character <tt>'d'</tt> and two or more decimal digits.</dd>
|
|
|
|
<dt><b>ELLIPSIS</b></dt>
|
|
|
|
<dd>The string <tt>"..."</tt> .</dd>
|
|
|
|
<dt><b>EXTENDED_REG_EXP</b></dt>
|
|
|
|
<dd>An extended regular expression as defined in the grammar in <a href="xbd_chap09.html#tag_09_05"><i>Regular Expression
|
|
Grammar</i></a> .</dd>
|
|
|
|
<dt><b>EOL</b></dt>
|
|
|
|
<dd>The line termination character <newline>.</dd>
|
|
</dl>
|
|
|
|
<h4><a name="tag_07_04_02"></a>Locale Grammar</h4>
|
|
|
|
<p>This section presents the grammar for the locale definition.</p>
|
|
|
|
<pre>
|
|
<tt>%token LOC_NAME
|
|
%token CHAR
|
|
%token NUMBER
|
|
%token COLLSYMBOL COLLELEMENT
|
|
%token CHARSYMBOL OCTAL_CHAR HEX_CHAR DECIMAL_CHAR
|
|
%token ELLIPSIS
|
|
%token EXTENDED_REG_EXP
|
|
%token EOL
|
|
<br>
|
|
%start locale_definition
|
|
<br>
|
|
%%
|
|
<br>
|
|
locale_definition : global_statements locale_categories
|
|
| locale_categories
|
|
;
|
|
<br>
|
|
global_statements : global_statements symbol_redefine
|
|
| symbol_redefine
|
|
;
|
|
<br>
|
|
symbol_redefine : 'escape_char' CHAR EOL
|
|
| 'comment_char' CHAR EOL
|
|
;
|
|
<br>
|
|
locale_categories : locale_categories locale_category
|
|
| locale_category
|
|
;
|
|
<br>
|
|
locale_category : lc_ctype | lc_collate | lc_messages
|
|
| lc_monetary | lc_numeric | lc_time
|
|
;
|
|
<br>
|
|
/* The following grammar rules are common to all categories */
|
|
<br>
|
|
char_list : char_list char_symbol
|
|
| char_symbol
|
|
;
|
|
<br>
|
|
char_symbol : CHAR | CHARSYMBOL
|
|
| OCTAL_CHAR | HEX_CHAR | DECIMAL_CHAR
|
|
;
|
|
<br>
|
|
elem_list : elem_list char_symbol
|
|
| elem_list COLLSYMBOL
|
|
| elem_list COLLELEMENT
|
|
| char_symbol
|
|
| COLLSYMBOL
|
|
| COLLELEMENT
|
|
;
|
|
<br>
|
|
symb_list : symb_list COLLSYMBOL
|
|
| COLLSYMBOL
|
|
;
|
|
<br>
|
|
locale_name : LOC_NAME
|
|
| '"' LOC_NAME '"'
|
|
;
|
|
<br>
|
|
/* The following is the LC_CTYPE category grammar */
|
|
<br>
|
|
lc_ctype : ctype_hdr ctype_keywords ctype_tlr
|
|
| ctype_hdr 'copy' locale_name EOL ctype_tlr
|
|
;
|
|
<br>
|
|
ctype_hdr : 'LC_CTYPE' EOL
|
|
;
|
|
<br>
|
|
ctype_keywords : ctype_keywords ctype_keyword
|
|
| ctype_keyword
|
|
;
|
|
<br>
|
|
ctype_keyword : charclass_keyword charclass_list EOL
|
|
| charconv_keyword charconv_list EOL
|
|
| 'charclass' charclass_namelist EOL
|
|
;
|
|
<br>
|
|
charclass_namelist : charclass_namelist ';' CHARCLASS
|
|
| CHARCLASS
|
|
;
|
|
<br>
|
|
charclass_keyword : 'upper' | 'lower' | 'alpha' | 'digit'
|
|
| 'punct' | 'xdigit' | 'space' | 'print'
|
|
| 'graph' | 'blank' | 'cntrl' | 'alnum'
|
|
| CHARCLASS
|
|
;
|
|
<br>
|
|
charclass_list : charclass_list ';' char_symbol
|
|
| charclass_list ';' ELLIPSIS ';' char_symbol
|
|
| char_symbol
|
|
;
|
|
<br>
|
|
charconv_keyword : 'toupper'
|
|
| 'tolower'
|
|
;
|
|
<br>
|
|
charconv_list : charconv_list ';' charconv_entry
|
|
| charconv_entry
|
|
;
|
|
<br>
|
|
charconv_entry : '(' char_symbol ',' char_symbol ')'
|
|
;
|
|
<br>
|
|
ctype_tlr : 'END' 'LC_CTYPE' EOL
|
|
;
|
|
<br>
|
|
/* The following is the LC_COLLATE category grammar */
|
|
<br>
|
|
lc_collate : collate_hdr collate_keywords collate_tlr
|
|
| collate_hdr 'copy' locale_name EOL collate_tlr
|
|
;
|
|
<br>
|
|
collate_hdr : 'LC_COLLATE' EOL
|
|
;
|
|
<br>
|
|
collate_keywords : order_statements
|
|
| opt_statements order_statements
|
|
;
|
|
<br>
|
|
opt_statements : opt_statements collating_symbols
|
|
| opt_statements collating_elements
|
|
| collating_symbols
|
|
| collating_elements
|
|
;
|
|
<br>
|
|
collating_symbols : 'collating-symbol' COLLSYMBOL EOL
|
|
;
|
|
<br>
|
|
collating_elements : 'collating-element' COLLELEMENT
|
|
| 'from' '"' elem_list '"' EOL
|
|
;
|
|
<br>
|
|
order_statements : order_start collation_order order_end
|
|
;
|
|
<br>
|
|
order_start : 'order_start' EOL
|
|
| 'order_start' order_opts EOL
|
|
;
|
|
<br>
|
|
order_opts : order_opts ';' order_opt
|
|
| order_opt
|
|
;
|
|
<br>
|
|
order_opt : order_opt ',' opt_word
|
|
| opt_word
|
|
;
|
|
<br>
|
|
opt_word : 'forward' | 'backward' | 'position'
|
|
;
|
|
<br>
|
|
collation_order : collation_order collation_entry
|
|
| collation_entry
|
|
;
|
|
<br>
|
|
collation_entry : COLLSYMBOL EOL
|
|
| collation_element weight_list EOL
|
|
| collation_element EOL
|
|
;
|
|
<br>
|
|
collation_element : char_symbol
|
|
| COLLELEMENT
|
|
| ELLIPSIS
|
|
| 'UNDEFINED'
|
|
;
|
|
<br>
|
|
weight_list : weight_list ';' weight_symbol
|
|
| weight_list ';'
|
|
| weight_symbol
|
|
;
|
|
<br>
|
|
weight_symbol : /* empty */
|
|
| char_symbol
|
|
| COLLSYMBOL
|
|
| '"' elem_list '"'
|
|
| '"' symb_list '"'
|
|
| ELLIPSIS
|
|
| 'IGNORE'
|
|
;
|
|
<br>
|
|
order_end : 'order_end' EOL
|
|
;
|
|
<br>
|
|
collate_tlr : 'END' 'LC_COLLATE' EOL
|
|
;
|
|
<br>
|
|
/* The following is the LC_MESSAGES category grammar */
|
|
<br>
|
|
lc_messages : messages_hdr messages_keywords messages_tlr
|
|
| messages_hdr 'copy' locale_name EOL messages_tlr
|
|
;
|
|
<br>
|
|
messages_hdr : 'LC_MESSAGES' EOL
|
|
;
|
|
<br>
|
|
messages_keywords : messages_keywords messages_keyword
|
|
| messages_keyword
|
|
;
|
|
<br>
|
|
messages_keyword : 'yesexpr' '"' EXTENDED_REG_EXP '"' EOL
|
|
| 'noexpr' '"' EXTENDED_REG_EXP '"' EOL
|
|
;
|
|
<br>
|
|
messages_tlr : 'END' 'LC_MESSAGES' EOL
|
|
;
|
|
<br>
|
|
/* The following is the LC_MONETARY category grammar */
|
|
<br>
|
|
lc_monetary : monetary_hdr monetary_keywords monetary_tlr
|
|
| monetary_hdr 'copy' locale_name EOL monetary_tlr
|
|
;
|
|
<br>
|
|
monetary_hdr : 'LC_MONETARY' EOL
|
|
;
|
|
<br>
|
|
monetary_keywords : monetary_keywords monetary_keyword
|
|
| monetary_keyword
|
|
;
|
|
<br>
|
|
monetary_keyword : mon_keyword_string mon_string EOL
|
|
| mon_keyword_char NUMBER EOL
|
|
| mon_keyword_char '-1' EOL
|
|
| mon_keyword_grouping mon_group_list EOL
|
|
;
|
|
<br>
|
|
mon_keyword_string : 'int_curr_symbol' | 'currency_symbol'
|
|
| 'mon_decimal_point' | 'mon_thousands_sep'
|
|
| 'positive_sign' | 'negative_sign'
|
|
;
|
|
<br>
|
|
mon_string : '"' char_list '"'
|
|
| '""'
|
|
;
|
|
<br>
|
|
mon_keyword_char : 'int_frac_digits' | 'frac_digits'
|
|
| 'p_cs_precedes' | 'p_sep_by_space'
|
|
| 'n_cs_precedes' | 'n_sep_by_space'
|
|
| 'p_sign_posn' | 'n_sign_posn'
|
|
;
|
|
<br>
|
|
mon_keyword_grouping : 'mon_grouping'
|
|
;
|
|
<br>
|
|
mon_group_list : NUMBER
|
|
| mon_group_list ';' NUMBER
|
|
;
|
|
<br>
|
|
monetary_tlr : 'END' 'LC_MONETARY' EOL
|
|
;
|
|
<br>
|
|
/* The following is the LC_NUMERIC category grammar */
|
|
<br>
|
|
lc_numeric : numeric_hdr numeric_keywords numeric_tlr
|
|
| numeric_hdr 'copy' locale_name EOL numeric_tlr
|
|
;
|
|
<br>
|
|
numeric_hdr : 'LC_NUMERIC' EOL
|
|
;
|
|
<br>
|
|
numeric_keywords : numeric_keywords numeric_keyword
|
|
| numeric_keyword
|
|
;
|
|
<br>
|
|
numeric_keyword : num_keyword_string num_string EOL
|
|
| num_keyword_grouping num_group_list EOL
|
|
;
|
|
<br>
|
|
num_keyword_string : 'decimal_point'
|
|
| 'thousands_sep'
|
|
;
|
|
<br>
|
|
num_string : '"' char_list '"'
|
|
| '""'
|
|
;
|
|
<br>
|
|
num_keyword_grouping: 'grouping'
|
|
;
|
|
<br>
|
|
num_group_list : NUMBER
|
|
| num_group_list ';' NUMBER
|
|
;
|
|
<br>
|
|
numeric_tlr : 'END' 'LC_NUMERIC' EOL
|
|
;
|
|
<br>
|
|
/* The following is the LC_TIME category grammar */
|
|
<br>
|
|
lc_time : time_hdr time_keywords time_tlr
|
|
| time_hdr 'copy' locale_name EOL time_tlr
|
|
;
|
|
<br>
|
|
time_hdr : 'LC_TIME' EOL
|
|
;
|
|
<br>
|
|
time_keywords : time_keywords time_keyword
|
|
| time_keyword
|
|
;
|
|
<br>
|
|
time_keyword : time_keyword_name time_list EOL
|
|
| time_keyword_fmt time_string EOL
|
|
| time_keyword_opt time_list EOL
|
|
;
|
|
<br>
|
|
time_keyword_name : 'abday' | 'day' | 'abmon' | 'mon'
|
|
;
|
|
<br>
|
|
time_keyword_fmt : 'd_t_fmt' | 'd_fmt' | 't_fmt'
|
|
| 'am_pm' | 't_fmt_ampm'
|
|
;
|
|
<br>
|
|
time_keyword_opt : 'era' | 'era_d_fmt' | 'era_t_fmt'
|
|
| 'era_d_t_fmt' | 'alt_digits'
|
|
;
|
|
<br>
|
|
time_list : time_list ';' time_string
|
|
| time_string
|
|
;
|
|
<br>
|
|
time_string : '"' char_list '"'
|
|
;
|
|
<br>
|
|
time_tlr : 'END' 'LC_TIME' EOL
|
|
;
|
|
</tt>
|
|
</pre>
|
|
|
|
<hr size="2" noshade>
|
|
<center><font size="2"><!--footer start-->
|
|
UNIX ® is a registered Trademark of The Open Group.<br>
|
|
POSIX ® is a registered Trademark of The IEEE.<br>
|
|
[ <a href="../mindex.html">Main Index</a> | <a href="../basedefs/contents.html">XBD</a> | <a href=
|
|
"../utilities/contents.html">XCU</a> | <a href="../functions/contents.html">XSH</a> | <a href="../xrat/contents.html">XRAT</a>
|
|
]</font></center>
|
|
|
|
<!--footer end-->
|
|
<hr size="2" noshade>
|
|
</body>
|
|
</html>
|
|
|