RE: glyph bitmaps

From: Marco Cimarosti (marco.cimarosti@essetre.it)
Date: Tue Jan 08 2002 - 14:00:02 EST


Magda Danish forwarded Andrew Blackburn to the <unicode@unicode.org> mailing
list:

> I am looking for a supplier of LCD character/glyph bitmaps for the
> unicode character set. Ideally I am looking for a choice of character
> sizes as well
>
> The target will be a liquid crystal display driven by an embedded
> microcontroller, so as you can see, sacaleable fonts are not really
> suitable. I am looking for data in a format similar to the
> following (8 bit wide by 9 rows):
>
> /* 0x20 */
>
> /***** 0 *****/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> 0x00, /* space 32*/
[...]

8x9 pixels is not enough for displaying most Unicode characters.

E.g., Far east scripts (Chinese Japanese or Korean) require square cells of
at least 14x14 (but 16x16 is often not enough for the most complex
ideographs). Many scripts (e.g., the scripts used in India and South-East
Asia) tend to expand much in height, so they would not fit in a 9-pixels
high cell. Finally, some scripts (e.g. Arabic) are cursive, so the letters
should join to each other: to achieve this, there should be no empty space
between cells.

In addition to this graphical complexity, there is a logical complexity.
Unicode does not always have a 1-to-1 relationship between the encoded
characters and the visible "glyphs". E.g., the letters in Arabic or Indian
scripts change their shape depending on the neighboring characters. So, you
cannot use a simple font where each character code corresponds to a bitmap:
several characters would require two or more bitmaps.

8x9 cells and a 1-to-1 font is only suitable for a minority of scripts.
However, a few of the most important commercial alphabets quite fit in this
category:

1. Latin, Cyrillic, Greek, Georgian, Armenian: almost no complication;

2. Modern Hebrew: 1. + the "Bidirectional Algorithm", to moves the character
to their proper visual position;

3. Modern Arabic: 2. + a basic "Arabic Shaping Algorithm", to select the
proper contextual shape for each letter.

I know of a free (GNU license) Unicode font called "unifont". It contains
16x8 and 16x16 glyphs, and it is distributed in a text format quite similar
to your example. You should see if the glyphs of your interest can somehow
be automatically scaled to 19 cells from unifont's 16 cells.

You can download "unifont" from Roman Czyborra's site
(http://czyborra.com/unifont/), and learn more from it on the unifont
mailing lits (http://groups.yahoo.com/group/gnu-unifont/).

I am sorry to say that Tolkien's scripts would be too complex, so you won't
be able to sell you LCD displays on the expanding Hobbit market. :-)

Good luck.
_ Marco



This archive was generated by hypermail 2.1.2 : Tue Jan 08 2002 - 13:44:24 EST