Charmap MIDlet Documentation

Edit area

This is the main screen that shows up when you start the Charmap MIDlet. You can use the edit area like you normally use an edit area on your phone, like copy&paste text to/from it or type any new text. There are a few extra menu items available in this edit area:

Switches to the graphical character map (see below)
Shows unicode code point and optionally unicode name of the character next to the cursor. If cursor position cannot be determined or is at end of string, and the string ends with 3 times the same character, show properties of the character after the first occurrence of the same character ("fake cursor").
Browsable list where you can browse the Unicode range in blocks of 16 characters. Especially useful if the CharMap does not work on your phone.
Search Unicode List
Enter an arbitrary substring and find Unicode names that contain that substring
Disable Unicode Names
Disables Unicode name support; this makes certain operations faster, but you won't see any Unicode names any longer


This is the most interesting feature of the CharMap MIDlet. Here you can choose characters and add them to the edit area.

The top of the screen (above the black line) is the header line. It shows the current mode and position on the left and the selected characters on the right.

The bottom of the screen shows the current character map, by default in 16 columns. If your screen is small, you can switch to 12 or 8 columns as well.

Browse mode

This is the mode when charmap starts. It shows the current Unicode offset in the header line. Cursor keys move the selected character, the select key selects the current character into the list of selected characters. Long press of the select key or selecting the same character three times selects the current character and returns to the edit area.

Pressing # shows information about the currently selected character. Pressing a digit switches to Input mode. Long press of * switches to Cursor mode. Pressing * while the list of selected characters is not empty removes the last key from that list. Pressing * when nothing is selected switches to Command mode.

Any other key returns to the edit area.

Input mode

Input mode shows the currently input text and an underscore (as a cursor) in the header line. In this mode you can enter hexadecimal numbers to move the cursor to the given position. All keypad keys are defined according to the following table. Any cursor key switches back to normal mode and performs that key, any other key returns to the edit area.

KeyShort pressLong press
77Scan backwards
88Page Up
99Scan forwards
00Page Down
*BackspaceEdit input in text field
#Go back to Browse modeReturn to edit area

Scan function will scan forwards or backwards to find the next available character (after a gap of not available ones). In case no character coverage data is available, it will scan forward or backward to find a character that has a width different from the current character.

Cursor mode [Compatibility]

Cursor mode can be used to control the cursor with the keypad (in case your phone does not have any dedicated cursor keys). All other keys act like in Browse mode (but Cursor mode stays active).

KeyShort pressLong press
1Page Up
3Scan Backwards
5SelectSelect and return to edit area
7Page Down
9Scan Forwards
0Edit position in text field
*Remove characterBack to Browse mode
#Show information

Command mode

Command mode is used to configure the CharMap view. It shows *#_ in the header line. The bottom of the screen shows a short summary of available commands. Any key not listed below acts like and switches back to Browse mode.

116 column mode
212 column mode
38 column mode
4No Repeat delay
5Small Repeat delay
6Medium Repeat delay
7Large Repeat delay
8Select Font
9Coverage Analysis
0Toggle Repeat emulation
*/#Back to Browse mode

Repeat emulation [Compatibility]

Repeat emulation is designed for phones that do not support long or repeated key presses. When repeat emulation is on, (*) is shown at the beginning of the header line. In this mode, the * key cannot be used for its normal function. Instead, press * followed by a key to emulate a long press of the key, or press *## to emulate a long press of the # key, or *#* for a long press of the * key. Pressing ** will create a short press of the * key. All other keys act as normal.

Touch screen support

Some phones provide a touch screen. The header row is split into 4 fields: The left one (that shows the position) switches to the "edit codepoint" view. The next one toggles additional "soft buttons" on the screen - first only up/down/page/scan buttons, when pressed again, a soft keypad is shown. The next one (that shows the selected characters) removes the last selected character and shows details for it. The last one accepts the currently selected characters and returns to the edit area. Clicking a letter moves to that letter and adds it to the selected characters. For a long press of a key, click the "Long" soft button (which changes color) followed by the key to press.

Coverage analysis

The charmap midlet can analyze font coverage of a specific font or of all fonts. The result of the analysis can be displayed in the edit area, or it can be saved in the MIDlet to improve CharList (hide unavailable glyphs) and CharMap (scan) functions. You can start coverage analysis by selecting an uncovered glyph in the char map, pressing *9, and selecting the desired operation.

© 2005-2011 Michael Schierl