1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
Quick and dirty uuterm README file:
First and foremost, uuterm is EXPERIMENTAL software. It lacks many
features expected of a terminal emulator, and may even crash or do bad
things, though it seems to be behaving pretty well these days.
Both Linux-fbcon and X11 versions of uuterm are available, each
optimized for the nature of the environment it runs in. Porting the
fbcon version to other framebuffer devices (wscons, PC hardware, SDL,
...) is left as an easy exercise for the reader.
With that said, building is just a matter of running "make". If you
need special CFLAGS options or a nondefault compiler (CC), put them in
a file named config.mak and they will automatically be used. Should be
self-explanatory. You can also disable uuterm-fb here if you're not
using Linux.
To start using uuterm, simply run "uuterm-fb" or "uuterm-x11" with the
TERM environment variable set to "linux", or "uuterm" if you install
the provided uuterm.ti terminfo file.
A simple 'VGA' fallback font with ASCII and linedrawing characters is
built into uuterm, but in order to appreciate uuterm you need a real
font. uuterm uses 'UCF' (U**code/Ucs/Universal/... Charcell Font) font
files. The code to generate UCF fonts is not yet mature, but some
samples (and the extremely ugly compiler) may be found at:
http://brightrain.aerifal.cx/~dalias/ucf/fonts/
See the README file there for information on available fonts and how
to make new fonts.
By default uuterm runs the default SHELL when started. If you want it
to directly run another program, simply put the name of the program on
the command line, followed by any arguments.
The idea of uuterm:
Use of any/all of the world's scripts and languages on *nix should not
be limited to fancy gui applications. Proper rendering of text is
needed all the way down to the console level, and it should not depend
on huge library frameworks or outline fonts.
In this light, uuterm is an experiment to demonstrate that supporting
"complex" scripts need not be complex; all that's needed is some
natural, logical extensions to ancient bitmap font technology to
account for the fact that glyphs and characters are not the same
thing.
While display in uuterm is already very "advanced" by terminal
emulator standards, keyboard support is moderately poor. The X11
version of uuterm does not yet have integration with input methods and
the Linux-fbcon version relies on the console keymap to convert
keycodes to characters.
Script support:
- Indic scripts are _almost_ supported by the UCF font system alone,
but need some minor additional support for reordering. This will be
implemented in the near future, if all goes well. However, some
scripts (at least Kannada and Malayalam) need revisions to the
wcwidth definitions in order to have any hope of correct display,
due to characters with extremely wide glyphs with comparable
complexity (in vertical stroke count) to ideographic characters.
- RTL/bidi scripts will not render properly. I personally don't believe
there is any sane way to render them properly at the terminal level,
but I will eventually implement algorithms that might work
reasonably for some users.
- All other (LTR) scripts should be fully supported using the
"advanced" combining and contextual glyph-selection abilities of the
UCF font format (details to come later, along with tools).
|