I'll use two general categories here. People who are partially sighted and need help seeing / deciphering / following the text and those who are unable to use any visual interface whatsoever.
There are many different problems here. Often magnification can be helpful, but that's not the full story. Sometimes people can't track motion, sometimes people can't find the cursor unless it moves. This calls for a range of techniques, the majority of which are only just being added to X.
This program is useful for improving the visibility of the normal text screen that Linux provides. It allows full access to the possible modes of an SVGA graphics card. For example, the text can be made larger so that only 50 by 15 characters appear on the screen (normally it's 80 by 25). There isn't any easy way to zoom in on sections of a screen, but you can resize when needed.
There are a large number of ways of improving X windows. They don't add up to a coherent set of features yet, but if set up correctly could solve many problems.
The X server can be set up with many different resolutions. A single key press can then change between them allowing difficult to read text to be seen.
In the file /etc/XF86Config, you have an entry in the Screen section with a line beginning with modes. If, for example, you set this to
Modes "1280x1024" "1024x768" "800x600" "640x480" "320x240"
with each mode set up correctly (which requires a reasonably good
monitor for the highest resolution mode), you will be able to have
four times screen magnification, switching between the different
levels using
Ctrl+Alt+Keypad-Plus
and Ctrl+Alt+Keypad-Minus
Moving the mouse around the screen will scroll you to different parts of the screen. For more details on how to set this up you should see the documentation which comes with the XFree86 X server.
There are two known screen magnification programs, xmag
which
will magnify a portion of the screen as much as needed but is very
primitive. The other one is xzoom
. Previously I said that there
had to be something better than xmag
, well this is it. See
xzoom.
The screen fonts all properly written X software should be
changeable. You can simply make it big enough for you to read. This
is generally accomplished by putting a line the file .Xdefaults
which should be in your home directory. By putting the correct lines
in this you can change the fonts of your programs, for example
Emacs.font: -sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-*
To see what fonts are available, use the program xfontsel
under
X.
There should be some way of changing things at a more fundamental level so that everything comes out with a magnified font. This could be done by renaming fonts, and by telling telling font generating programs to use a different level of scaling. If someone gets this to work properly, please send me the details of how you did it.
For people that have problems following cursors there are many things which can help;
There is no known software for this. I tried really hard to find something; it must exist somewhere, it would be so easy to write I'm sure
For now the best that can be done is to change the cursor bitmap. Make a bitmap file as you want it, and another one which is the same size, but completely black. Convert them to the XBM format and run
xsetroot -cursor cursorfile.xbm black-file.xbm
actually, if you understand masks, then the black-file doesn't have to
be completely black, but start with it like that. The .Xdefaults
file controls cursors used by actual applications.
Using large print with Linux is quite easy. There are several techniques.
LaTeX is an extremely powerful document preparation system. It may be used to produce large print documents of almost any nature. Though somewhat complicated to learn, many documents are produced using LaTeX or the underlying typesetting program, TeX.
this will produce some reasonably large text
\font\magnifiedtenrm=cmr10 at 20pt % setup a big font
\magnifiedtenrm
this is some large text
\bye
For more details, see the LaTeX book which is available in any computer book shop.
Almost all Linux printing uses postscript, and Linux can drive almost any printer using it. I output large text teaching materials using a standard Epson dot matrix printer.
Can people please suggest other tools for generating large text. what word processor would be good to suggest?
For someone who is completely unable to use a normal screen there are two alternatives Braille and Speech. Obviously for people who also have hearing loss, speech isn't always useful, so braille will always be important.
If you can choose, which should you choose? This is a matter of `vigorous' debate. Speech is rapid to use, reasonably cheap and especially good for textual applications (e.g. reading a long document like this one). Problems include needing a quiet environment, possibly needing headphones to work without disturbing others and avoid being listened in on by them (not available for all speech synthesisers).
Braille is better for applications where precise layout is important (e.g. spreadsheets). Also can be somewhat more convenient if you want to check the beginning of a sentence when you get to the end. Braille is, however, much more expensive and slower for reading text. Obviously, the more you use Braille, the faster you get. Grade II Braille is difficult to learn, but is almost certainly worth it since it is much faster. This means that if you don't use Braille for a fair while you can never discover its full potential and decide for yourself. Anyway, enough said on this somewhat controversial topic.
based on original by James Bowden jrbowden@bcs.org.uk
Braille terminals are normally a line or two of braille. Since these are at most 80 characters wide and normally 40 wide, they are somewhat limited. I know of two kinds
The first kind works only when the computer is in text mode and reads the screen memory directly. See section hardware driven braille terminals.
The second kind of braille terminal is similar, in many ways, to a normal terminal screen of the kind Linux supports automatically. Unfortunately, they need special software to make them usable.
There are two packages which help with these. The first,
BRLTTY
, works with several Braille display types and the authors
are keen to support more as information becomes available. Currently
BRLTTY
supports Tieman B.V.'s CombiBraille series, Alva B.V.'s
ABT3 series and Telesensory Systems Inc.'s PowerBraille and Navigator
series displays.
The other package I am aware of is Braille Enhanced Screen. I still haven't seen a version of this. This should allow user access to a braille terminal with many useful features such as the ability to run different programs in different `virtual terminals' at the same time.
Speech Synthesisers take (normally) ASCII text and convert it into actual spoken output. It is possible to have these implemented as either hardware or software. Unfortunately, the free Linux speech synthesisers are, reportedly, not good enough to use as a sole means of output.
Hardware speech synthesisers are the alternative. The only one
that I know of that works is DECtalk from Digital, driven by
emacspeak
. Using emacspeak
full access to all of the
facilities of Linux is fairly easy. This includes the normal use of
the shell, a world wide web browser and many other similar features,
such as email. Although, it only acts as a plain text reader (similar
to IBM's one for the PC) when controling programs it doesn't
understand, with those that it does, it can provide much more
sophisticated control. See section
Emacspeak for more information about emacspeak
.
When it starts up, Linux at present puts all of its messages straight to the normal (visual) screen. This could be changed if anyone with a basic level of kernel programming ability wants to do it. This means that it is impossible for most braille devices to get information about what Linux is doing before the operating system is completely working.
It is only at that stage that you can start the program that you need
for access. If the BRLTTY
program is used and run very early in the
boot process, then from this stage on the messages on the screen can
be read. Most hardware and software will still have to wait until the
system is completely ready. This makes administering a Linux system
difficult, but not impossible for a visually impaired person.
There is one braille system that can use the console directly,
called the Braillex. This is designed to read directly from the
screen memory. Unfortunately the normal scrolling of the terminal
gets in the way of this. If you are using a Kernel newer than 1.3.75,
just type linux no-scroll
at the LILO prompt or configure LILO to
do this automatically. If you have an earlier version of Linux, see
section
Screen Memory Braille Terminals
The other known useful thing to do is to use sounds to say when each stage of the boot process has been reached. (T.V.Raman suggestion)
There is a free Optical Character Recognition program for Linux. It needs training to recognise the particular font that it is going to use and I have no idea how good it is. In principle, if it is good enough, it should allow visually impaired people to read normal books to some extent (accuracy of OCR is never high enough..).
More details would be nice. It seems to have to be trained which may make it useless?
Beginning to learn linux can seem difficult and daunting for someone who is either coming from no computing background or from a pure dos background. Doing the following things may help
emacs
now.There is a document written by Jim Van Zance ( jrv@vanzandt.mv.com) which convers this in much more detail. By the time you read this it will hopefully be possible to find this on the World Wide Web somewhere, or by asking Jim.
Linux should be the perfect platform to drive a braille embosser from. There are many formatting tools which are aimed specifically at the fixed width device. A braille embosser can just be connected to the serial port using the standard Linux printing mechanisms. For more info see the Linux Printing HOWTO.
There is free software package which acts as a multi-lingual grade two translator available for Linux from the American ``National Federation for the Blind''. This is called NFBtrans. See section NFB translator for more details.