---
name: "mytool"
section: "1"
platform: "linux"
package: "yudit"
version: "3.1.0-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mytool"
---

# mytool(1)

manipulate map files for yudit, uniconv and uniprint

## NAME

mytool - manipulate map files for yudit, uniconv and uniprint

## SYNOPSIS

**mytool** \[ **-info** \] \[ **-test** \] \[ **-showkeys** \] \[ **-decode** \] \[ **-encode** \] \[ **-strip** \] \[ **-benchmark** \] \[ **-name** *new-name* \] \[ **-comment** *new-comment* \] \[ **-type** *new-type* \] \[ **-write** *output-file* \] \[ **-my** *input-file* \] \[ **-mys** *input-file* \] \[ **-rmys** *input-file* \] \[ **-kmap** *input-file* \] \[ **-rkmap** *input-file* \] \[ **-uni:l,u** *input-file* \[ **-8** \] \[ **-high** \] \[ **-low** \] \[ **-runi:l,u** *input-file* \[ **-8** \] \[ **-high** \] \[ **-low** \] \] \[ **-convert** *out-file-format* \]

## DESCRIPTION

**mytool** is a  **my** map file manipulation program in the yudit distribution.  It can generates so-called binary nbit ( **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.

It can also generate a so-called **binary umap** file, that maps 8 or 16 bit single words into 16 bit single words and it contains the reverse map too.

It can also disassemble the input map and produce a  **mys** source file.

The input can be a binary umap file, a  **my** file, **mys** file  a **uni** and a kmap file for yudit. It is recommended that all kmap files use the new   **mys** format because it gives more freedom to define the mapping.

The yudit distribution  has a simple document  **yudit/doc/my.doc** on the binary map formats, and a source file example file **yudit/mytool/my/example.mys** please refer to this for more details.

## OPTIONS

- **-info**

  prints out a small information on the current map.

- **-test**

  lets you test the map interactively.

- **-showkeys**

  show all the keys in the map file.

- **-encode**

  builds a state machine in the encoding part of the map file. The resulting map file can be written to disk with the  **-write** option The resulting **my** files can contain state machines to speed-up conversion. A state machine based  **my** file can manifest 10%-70% performance improvement, so it may be desirable for encoding  **fontmaps.** For  **fontmaps** the **bumap** format might be better suited where only one character and not a sequence of characters need to be mapped.

- **-decode**

  builds a state machine in the decoding part of the map file.

- **-strip**

  strips off the state machines from the map files. The **-write** option can be used to save the new map file.

- **-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.

- **-nocomment**

  option strips all comments from an input source file of format **mys kmap uni.** It does not strip comments from a binary file.

- **-name** *new-name*

  assigns a name to the map file.

- **-comment** *new-comment*

  assigns a comment to the map file.

- **-type** *new-type*

  assigns a map file a distinctive type, that can be **kmap** or **fontmap** but it is only informative. Keymaps can be used as fontmaps and vice versa.

- **-write** *output-file*

  writes the data into an output file.  **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.

- **-my** *input-file*

  load a binary map file. Only one of this option can be specified.

- **-mys** *input-source-file*

  load a source file.

- **-rmys** *input-source-file*

  load a source file and reverse it - make encoding  from  decoding and vice versa.

- **-kmap** *input-source-file*

  load a source file in kmap format.

- **-rkmap** *input-source-file*

  load a source file and reverse it - make encoding  from  decoding and vice versa.

- **-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.

- **-runi:l,u** *input-source-file*

  load a source file in Unicode Consortium format and reverses it. Make encoding from decoding and vice versa.

- **-8**

  option can be used with the **-uni**  or **-runi**  options. It specifies that the input is 8 bit and not 16 bit.

- **-high**

  option can be used with the **-uni**  or **-runi**  options. It specifies that the key should be or'ed with 0x8080.

- **-low**

  option can be used with the **-uni**  or **-runi**  options. It specifies that the key should be and'ed with 0x7f7f.

- **-convert** *output-file-format*

  converts the map file to a format. It is useful only when combined  with  **-write**  option.  The possible formats are **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.

## DIAGNOSTICS

**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.

## SEE ALSO

uniconv

## AUTHOR

This program  was written by gsinai@iname.com (Gaspar Sinai).

Tokyo, 03 January, 2000.
