.\"
.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, see
.\" <http://www.gnu.org/licenses/>.
.\" %%%LICENSE_END
.\"
.TH REPERTOIREMAP 5 2015-07-23 "GNU" "Linux User Manual"
.SH NAME
repertoiremap \- map symbolic character names to Unicode code points
.SH DESCRIPTION
A repertoire map defines mappings between symbolic character names
(mnemonics) and Unicode code points when compiling a locale with
.BR localedef (1).
Using a repertoire map is optional, it is needed only when symbolic
names are used instead of now preferred Unicode code points.
.SS Syntax
The repertoiremap file starts with a header that may consist of the
following keywords:
.TP
.I <comment_char>
is followed by a character that will be used as the
comment character for the rest of the file.
It defaults to the number sign (#).
.TP
.I <escape_char>
is followed by a character that should be used as the escape character
for the rest of the file to mark characters that should be interpreted
in a special way.
It defaults to the backslash (\\).
.PP
The mapping section starts with the keyword
.I CHARIDS
in the first column.

The mapping lines have the following form:
.TP
.I <symbolic-name> <code-point> <comment>
This defines exactly one mapping,
.I <comment>
being optional.
.PP
The mapping section ends with the string
.IR "END CHARIDS" .
.SH FILES
.TP
.I /usr/share/i18n/repertoiremaps
Usual default repertoire map path.
.SH CONFORMING TO
POSIX.2.
.SH NOTES
Repertoire maps are deprecated in favor of Unicode code points.
.SH SEE ALSO
.BR locale (1),
.BR localedef (1),
.BR charmap (5),
.BR locale (5)
