NAME¶
unidesc - Describe the contents of a Unicode text file
SYNOPSIS¶
unidesc ([option flags]) (<file name>)
If no input file name is supplied,
unidesc reads from the standard input.
DESCRIPTION¶
unidesc describes the content of a Unicode text file by reporting the
character ranges to which different portions of the text belong. The ranges
reported include both official Unicode ranges and the constructed language
ranges within the Private Use Areas registered with the Conscript Unicode
Registry (
http://www.evertype.com/standards/csur/). For each range of
characters,
unidesc prints the character or byte offset of the
beginning of the range, the character or byte offset of the end of the range,
and the name of the range. Offsets start from 0.
Since the ASCII digits, punctuation, and whitespace characters are frequently
used by other writing systems, by default these characters are treated as
neutral, that is, as not belonging exclusively to any particular character
range. These characters are treated as belonging to the range of whatever
characters precede them.
If the input begins with neutral characters, they are treated as belonging to
the range of whatever characters follow them. If the file consists entirely of
neutral characters, the range is identified as
Neutral followed by
Basic Latin in square brackets.
A magic number identifying the Unicode encoding is not part of the Unicode
standard, so pure Unicode files do not contain a magic number. However,
informal conventions have arisen for this purpose. If the command line flag
-m is given,
unidesc will attempt to identify the Unicode
subtype by examining the first few bytes of the input. If the input is
identified as one of the two acceptable types, UTF-8 or native order UTF-32,
it will then proceed to describe the contents of the input. Otherwise, it will
report what it has learned and exit. Note that if the file does contain a
magic number, you must use the
-m flag. Without this flag
unidesc assumes that the input consists of pure Unicode with the
character data beginning immediately. It will therefore be thrown off by the
magic number.
By default, input is expected to be UTF-8. Native order UTF-32 is also
acceptable. UTF-32 may be specified via the command line flag
-u or, if
the command line flag
-m is given, via the magic number.
COMMAND LINE FLAGS¶
- -b
- Give file offsets in bytes rather than characters.
- -d
- Treat the ASCII digits as belonging exclusively to the
Basic Latin range.
- -h
- Print usage information.
- -L
- List the Unicode ranges alphabetically.
- -l
- List the Unicode ranges by codepoint.
- -m
- Check the file's magic number to determine the Unicode
subtype.
- -p
- Treat ASCII punctuation as belonging exclusively to the
Basic Latin range.
- -r
- Instead of listing ranges as they are encountered, just
list the ranges detected after all input has been read.
- -u
- Input is native order UTF-32.
- -v
- Print version information.
- -w
- Treat ASCII whitespace as belonging exclusively to the
Basic Latin range.
SEE ALSO¶
uniname
REFERENCES¶
Unicode Standard, version 5.0
AUTHOR¶
Bill Poser
billposer@alum.mit.edu
LICENSE¶
GNU General Public License