The m17n Library: Sample Programs

# Sample Programs

This section describes these example programs. They are to demonstrate the usage of the m17n library, not for practical use.

- m17n-conv -- convert file code
- m17n-view -- view file
- m17n-date -- display date and time
- m17n-dump -- dump text image
- m17n-edit -- edit multilingual text
- mimx-anthy -- external module for the input method <ja, anthy>
- mimx-ispell -- external module for the input method <en, ispell>

## m17n-conv -- convert file code

### SYNOPSIS

m17n-conv [ OPTION ... ] [ INFILE [ OUTFILE ] ]

### DESCRIPTION

Convert encoding of given files from one to another.

If INFILE is omitted, the input is taken from standard input. If OUTFILE is omitted, the output written to standard output.

The following OPTIONs are available.

- -f FROMCODE

  FROMCODE is the encoding of INFILE (defaults to UTF-8).

- -t TOCODE

  TOCODE is the encoding of OUTFILE (defaults to UTF-8).

- -k

  Do not stop conversion on error.

- -s

  Suppress warnings.

- -v

  Print progress information.

- -l

  List available encodings.

- --version

  Print version number.

- -h, --help

  Print this message.

## m17n-view -- view file

### SYNOPSIS

m17n-view [ XT-OPTION ...] [ OPTION ... ] [ FILE ]

### DESCRIPTION

Display FILE on a window.

If FILE is omitted, the input is taken from standard input.

XT-OPTIONs are standard Xt arguments (e.g. -fn, -fg).

The following OPTIONs are available.

- -e ENCODING

  ENCODING is the encoding of FILE (defaults to UTF-8).

- -s FONTSIZE

  FONTSIZE is the fontsize in point. If omitted, it defaults to the size of the default font defined in X resource.

- --version

  Print version number.

- -h, --help

  Print this message.

## m17n-date -- display date and time

### SYNOPSIS

m17n-date [ OPTION ... ]

### DESCRIPTION

Display the system date and time in many locales on a window.

The following OPTIONs are available.

- --version

  Print version number.

- -h, --help

  Print this message.

## m17n-dump -- dump text image

### SYNOPSIS

m17n-dump [ OPTION ... ] [ FILE ]

### DESCRIPTION

Dump a text as PNG image file.

The PNG file is written to a file created in the current directory with the name "BASE.png" where BASE is the basename of FILE. If FILE is omitted, text is read from standard input, and the image is dumped into the file "output.png".

The following OPTIONs are available.

- -s SIZE

  SIZE is the font size in point. The default font size is 12 point.

- -d DPI

  DPI is the resolution in dots per inch. The default resolution is 300 dpi.

- -p PAPER

  PAPER is the paper size: a4, a4r, a5, a5r, b5, b5r, letter, WxH, or W. In the case of WxH, W and H are the width and height in millimeter. In the case of W, W is the width in millimeter. If this option is specified, PAPER limits the image size. If FILE is too large for a single page, multiple files with the names "BASE.01.png", "BASE.02.png", etc. are created.

- -m MARGIN

  MARGIN is the horizontal and vertical margin in millimeter. The default margin is 20 mm. It is ignored when PAPER is not specified.

- -c POS

  POS is the character position of cursor to draw. By default, cursor is not drawn.

- -x

  FILE is assumed to be an XML file generated by the serialize facility of the m17n library, and FILE is deserialized before an image is created.

- -w

  Each line is broken at word boundary.

- -f FILTER

  FILTER is a string containing a shell command line. If this option is specified, the PNG image is not written info a file but is given to FILTER as standard input. If FILTER contains "%s", that part is replaced by a basename of FILE. So, the default behaviour is the same as specifying "cat > s.png" as FILTER.

  If FILTER is just "-", the PNG image is written to stdout.

- -a

  Enable anti-alias drawing.

- --family FAMILY

  Prefer a font whose family name is FAMILY.

- --language LANG

  Prefer a font specified for the language LANG. LANG must be a 2-letter code of ISO 630 (e.g. "en" for English).

- -fg FOREGROUND

  Specify the text color. The supported color names are those of HTML 4.0 and "#RRGGBB" notation.

- -bg BACKGROUND

  Specify the background color. The supported color names are the same as FOREGROUND, except that if "transparent" is specified, make the background transparent.

- -r

  Specify that the orientation of the text is right-to-left.

- -q

  Quiet mode. Don't print any messages.

- --version

  Print the version number.

- -h, --help

  Print this message.

## m17n-edit -- edit multilingual text

### SYNOPSIS

m17n-edit [ XT-OPTION ...] [ OPTION ... ] FILE

### DESCRIPTION

Display FILE on a window and allow users to edit it.

XT-OPTIONs are standard Xt arguments (e.g. -fn, -fg).

The following OPTIONs are available.

- --version

  Print version number.

- -h, --help

  Print this message.

This program is to demonstrate how to use the m17n GUI API. Although m17n-edit directly uses the GUI API, the API is mainly for toolkit libraries or to implement XOM (X Output Method), not for direct use from application programs.

## mimx-anthy -- external module for the input method <ja, anthy>

### DESCRIPTION

The shared library mimx-anthy.so is an external module used by the input method <ja, anthy>. It exports these functions.

- init

  Initialize this module.

- fini

  Finalize this module.

- convert

  Convert the current preedit text (Hiragana sequence) into Kana-Kanji mixed text.

- change

  Record the change of candidate of the current segment.

- resize

  Enlarge or shorten the length of the current segment.

- commit

  Commit the lastly selected candidates of all the segments.

### See also

Input Method

## mimx-ispell -- external module for the input method <en, ispell>

### DESCRIPTION

The shared library mimx-ispell.so is an external module used by the input method <en, ispell>. It exports these functions.

- init

  Initialize this library.

- fini

  Finalize this library.

- ispell_word

  Check the spell of the current preedit text (English) and, if the spell is incorrect, return a list of candidates.

This program is just for demonstrating how to write an external module for an m17n input method, not for an actual use.

### See also

Input Method