Unicode-based FreeBSD

Marcus von Appen mva at sysfault.org
Sat Aug 30 08:52:38 UTC 2008

On, Sat Aug 30, 2008, Alexander Churanov wrote:

> Sample schedule:
> 1) Implement support for UTF-8 in syscons with mapping UTF-8 to 256
> characters for rendering. The rest of characters will not be displayed
> correctly, however proper backspacing, character counts and other things
> like that will work. This is clearly better than what we have now.

I wonder, how backspacing will be implemented for complex scripts such
as the Indic one or Arabic, where two codepoints will be resolved to one
logical (and usually visible) character. Backspacing and character
counting for example has to operate on the one or other specified
unicode character set. For Arabic this would be on the representation
form for the visible codepoints, but character manipulation
(backspacing, deletions) has to operate on the other one. Bidi layouts,
as you mentioned before, are something completely out of that scope.

In my opinion that'd mean either that for codepoints, which are not
rendered, either the internal unicode set is used (for Arabic this'd be
form 1) or the user-visible one (form 2). In either of those case the
backspacing might appear broken to the user.

> 2) Proceed with design discussion and cost estimation for implementing
> rendering more than 256 glyphs at a time. This will only affect rendering.

In theory that's no big deal. There are good and solid solutions for
processing UTF-8 codepoints (libutf8 pops up my mind). What frightens me
away is the implementation cost for the fonts. Using 8xXX fonts for CJK
will be hardly possible as you would not be able to determine the
glyphs. Creating e.g. 13x13 CYK fonts is possible without bigger
implications regarding the visibility. for the CJK range I'd promote
wide-character fonts as it greatly simplifies the layouting for the
ASCII or KOI8-R ranges contained within them.

Creating a useful CJK font however will mostly mean to implement around
at least 1000-2000 characters ;-).

Rendering complex RTL scripts (Arabic, Hebrew) is another issue. In
case RTL layout is left aside, they still will need proper bidi
support, otherwise they are useless in my opinion. For Arabic, the
representation form mapping is simple and the rendering for characters
should be possible. I'm not sure about the supported widths in syscons,
but 8 pixels wide console fonts seem to be inappropriate to me for
Arabic, Indic or Thai character sets. Syscons Gurus: can that be tweaked

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20080830/f1c15258/attachment.pgp

More information about the freebsd-current mailing list