.\" Hey, Emacs! This is -*-nroff-*- you know...
.\"
.\" genbidi.8: manual page for the genbidi utility
.\"
.\" Copyright (C) 2004 IBM, Inc. and others.
.\"
.TH GENCASE 8 "30 December 2004" "ICU MANPAGE" "ICU @VERSION@ Manual"
.SH NAME
.B genbidi
\- compile bidi/shaping properties from the Unicode Character Database
.SH SYNOPSIS
.B genbidi
[
.BR "\-h\fP, \fB\-?\fP, \fB\-\-help"
]
[
.BR "\-v\fP, \fB\-\-verbose"
]
[
.BI "\-u\fP, \fB\-\-unicode" " version"
]
[
.BI "\-c\fP, \fB\-\-copyright"
]
[
.BI "\-s\fP, \fB\-\-sourcedir" " source"
]
[
.BI "\-d\fP, \fB\-\-destdir" " destination"
]
[
.BI "\-i\fP, \fB\-\-icudatadir" " path"
]
[
.I suffix
]
.SH DESCRIPTION
.B genbidi
reads some of the Unicode Character Database files and compiles their
information information into a binary form.
The resulting file,
.BR ubidi.icu ,
can then be read directly by ICU, or used by
.BR pkgdata (8)
for incorporation into a larger archive or library.
.LP
The files read by
.B genbidi
are described in the
.B FILES
section. If
.I suffix
is passed on the command line, the names of these files will actually
be changed to include a dash followed by
.I suffix
in their basename. For example, the file
.B UnicodeData.txt
would be looked for under the name
.BR UnicodeData\-\fIsuffix\fP.txt .
.SH OPTIONS
.TP
.BR "\-h\fP, \fB\-?\fP, \fB\-\-help"
Print help about usage and exit.
.TP
.BR "\-v\fP, \fB\-\-verbose"
Display extra informative messages during execution.
.TP
.BI "\-u\fP, \fB\-\-unicode" " version"
Specify which
.I version
of Unicode the Unicode Character Database refers to.
Defaults to
.BR 3.0.0 .
.TP
.BI "\-c\fP, \fB\-\-copyright"
Include a copyright notice into the binary data.
.TP
.BI "\-s\fP, \fB\-\-sourcedir" " source"
Set the source directory to
.IR source .
The default source directory is the current working directory.
.TP
.BI "\-d\fP, \fB\-\-destdir" " destination"
Set the destination directory to
.IR destination .
The default destination directory is specified by the environment variable
.BR ICU_DATA .
.TP
.BI "\-i\fP, \fB\-\-icudatadir" " path"
Set the directory for loading ICU data files to
.IR path .
The default ICU data directory is specified by the environment variable
.BR ICU_DATA .
.SH ENVIRONMENT
.TP 10
.B ICU_DATA
Specifies the directory containing ICU data. Defaults to
.BR @thepkgicudatadir@/@PACKAGE@/@VERSION@/ .
Some tools in ICU depend on the presence of the trailing slash. It is thus
important to make sure that it is present if
.B ICU_DATA
is set.
.SH FILES
The following files are read by
.B genbidi
and are looked for in the
.I source
directory.
.TP 20
.B UnicodeData.txt
The main file in the Unicode Character Database. Contains character
properties, combining classes information, decompositions, names,
etc.\|.\|.. 
.TP
.B PropList.txt
Listing of auxiliary binary character properties.
.TP
.B DerivedJoiningGroup.txt
Unicode Joining_Group property for Arabic shaping.
.TP
.B DerivedJoiningType.txt
Unicode Joining_Type property for Arabic shaping.
.SH VERSION
@VERSION@
.SH COPYRIGHT
Copyright (C) 2004 IBM, Inc. and others.
.SH SEE ALSO
.BR pkgdata (8)
