.\" @(#)mytool 1.1 97/11/5
.TH MYTOOL 1 "Jan 03 2000" "LINUX COMMANDS" "LINUX COMMANDS"
.SH NAME
.LP
mytool \- manipulate map files for yudit, uniconv and uniprint
.SH SYNOPSIS
.LP
.B mytool
[
.B -info
]
[
.B -test
]
[
.B -showkeys
]
[
.B -decode
]
[
.B -encode
]
[
.B -strip
]
[
.B -benchmark
]
[
.BI "-name " new-name
]
[
.BI "-comment " new-comment
]
[
.BI "-type " new-type
]
[
.BI "-write " output-file
]
[
.BI "-my " input-file
]
[
.BI "-mys " input-file
]
[
.BI "-rmys " input-file
]
[
.BI "-kmap " input-file
]
[
.BI "-rkmap " input-file
]
[
.BI "-uni:l,u " input-file
[
.B -8
]
[
.B -high
]
[
.B -low
]
[
.BI "-runi:l,u " input-file
[
.B -8
]
[
.B -high
]
[
.B -low
]
]
[
.BI "-convert " out-file-format
]
.LP
.SH DESCRIPTION
.LP
.B  mytool
is a 
.B my 
map file manipulation program in the yudit distribution. 
It can generates so-called binary nbit (
.B my
) map file that can map any
sequences of bytes into any sequences of bytes. These sequences
of bytes can be grouped into 1,2,4 and 8 bytes long words.
The input sequence length may be different from the matched sequence
length. 'i / 'n -> 'b specifies that the word 'in' produces 'b' but
only the 'i is consumed from the input buffer.
.sp
It can also generate a so-called
.B "binary umap"
file, that maps 8 or 16 bit single words into 16 bit single words and it
contains the reverse map too.
.sp
It can also disassemble the input map and produce a 
.B mys 
source file.
.sp
The input can be a binary umap file, a 
.B my
file,
.B mys
file 
a
.B uni
and
a kmap file for yudit. It is recommended that all kmap files use the
new  
.B mys
format because it gives more freedom to define the mapping.
.sp
The yudit distribution 
has a simple document 
.B yudit/doc/my.doc
on the binary map formats, and a source file example file
.B yudit/mytool/my/example.mys
please refer to this for more details.
.LP
.SH OPTIONS
.TP
.B "-info " 
prints out a small information on the current map.
.TP
.B "-test " 
lets you test the map interactively.
.TP
.B "-showkeys " 
show alls the keys in the map file. 
.TP
.B "-encode " 
builds a state machine in the encoding part of the map file. The
resulting map file can be written to disk with the 
.B "-write"
option The resulting
.B my
files can contain state machines to speed-up conversion. A state machine
based 
.B my
file can manifest 10%-70% performance improvement, so it may be desirable
for encoding 
.B fontmaps.
For 
.B fontmaps 
the
.B bumap
format might be better suited where only one character and not a sequence
of characters need to be mapped.
.TP
.B "-decode "
builds a state machine in the decoding part of the map file. 
.TP
.B "-strip "
strips off the state machines from the map files.
The
.B "-write" 
option can be used to save the new map file.
.TP
.B "-benchmark "
option performs a simple benchmark test on the map file, to compare 
speed of simple, state machine based and binary map based map files.
.TP
.B "-nocomment "
option strips all comments from an input source file of format
.B "mys kmap uni."
It does not strip comments from a binary file.
.TP
.BI "-name " new-name
assigns a name to the map file. 
.TP
.BI "-comment " new-comment
assigns a comment to the map file. 

.TP
.BI "-type " new-type
assigns a map file a distinctive type, that can be
.B kmap
or
.B fontmap
but it is only informative. Keymaps can be used as fontmaps and
vice versa.
.TP
.BI "-write " output-file
writes the data into an output file. 
.B mytool 
never modifies the original file. All modifications should be explicitly 
saved with the this option. 
Never specify the same file for input and output.
.TP
.BI "-my " input-file
load a binary map file. Only one of this option can be specified.
.TP
.BI "-mys " input-source-file
load a source file. 
.TP
.BI "-rmys " input-source-file
load a source file and reverse it - make encoding  from  decoding and
vice versa.

.TP
.BI "-kmap " input-source-file
load a source file in kmap format.
.TP
.BI "-rkmap " input-source-file
load a source file and reverse it - make encoding  from  decoding and
vice versa.

.TP
.BI "-uni:l,u " input-source-file
load a source file in Unicode Consortium format. This format has 
the local code in column l, and unicode in column u. The numbering of
columns start from 0.
.TP
.BI "-runi:l,u " input-source-file
load a source file in Unicode Consortium format and reverses it. Make
encoding from decoding and vice versa.

.TP
.B "-8 "
option can be used with the
.B "-uni "
or
.B "-runi "
options. It specifies that the input is 8 bit and not 16 bit.
.TP
.B "-high"
option can be used with the
.B "-uni "
or
.B "-runi "
options. It specifies that the key should be or'ed with 0x8080.
.TP
.B "-low"
option can be used with the
.B "-uni "
or
.B "-runi "
options. It specifies that the key should be and'ed with 0x7f7f.

.TP
.BI "-convert " output-file-format
converts the map file to a format. It is useful only when combined 
with 
.B "-write "
otion. 
The possible formats are
.BI "my "  "-binary, " "mys " "-source, " "myc "  "-my-c-source, " "umap -umap-c-source, "  "bumap " "-binary-umap"
formats.
For maps where only a single 8 or 16 bit local code  should be converted 
into 16 bit unicode and vice versa, the umap file formats are recommended.
The c-source files are provided so that you can inlucde a full map into
the c program.
.SH DIAGNOSTICS
.BR
.B mytool
prints out an error message and exits with a non-zero status on error.
If there is no error the exit status is zero.
.SH SEE ALSO
.BR
uniconv
.SH AUTHOR
.LP
This program  was written by gsinai@iname.com (Gaspar Sinai). 

Tokyo, 03 January, 2000.
