blob: 02999e780fa72486da2f833365bc00bc380b8436 [file] [log] [blame]
Christian Egli52f51b42014-04-25 12:29:27 +00001# Introduction
Christian Egli92277ee2014-04-17 13:05:00 +00002
Christian Eglic39a6672014-10-22 16:32:34 +02003[![Build Status](https://travis-ci.org/liblouis/liblouis.svg?branch=master)](https://travis-ci.org/liblouis/liblouis)
4
Christian Egli52f51b42014-04-25 12:29:27 +00005Liblouis is an open-source braille translator and back-translator
6named in honor of [Louis Braille][]. It features support for computer
7and literary braille, supports contracted and uncontracted translation
8for [many languages][] and has support for hyphenation. New languages
9can easily be added through tables that support a rule- or dictionary
10based approach. Tools for testing and debugging tables are also
11included. Liblouis also supports math braille (Nemeth and Marburg).
Christian Egli92277ee2014-04-17 13:05:00 +000012
Christian Egli52f51b42014-04-25 12:29:27 +000013Liblouis has features to support screen-reading programs. This has led
14to its use in two open-source screenreaders, [NVDA][] and [Orca][]. It
15is also used in some commercial assistive technology applications for
16example by [ViewPlus][].
Christian Egli92277ee2014-04-17 13:05:00 +000017
Christian Egli52f51b42014-04-25 12:29:27 +000018Liblouis is based on the translation routines in the [BRLTTY][]
19screenreader for Linux. It has, however, gone far beyond these
20routines. In Linux and Mac OSX it is a shared library, and in Windows
21it is a DLL.
Christian Egli92277ee2014-04-17 13:05:00 +000022
Christian Egli80b619c2016-06-30 16:20:13 +020023Liblouis is free software licensed under the [GNU LGPLv2.1+][] (see
Christian Eglif6ec6a52016-06-20 10:33:37 +020024the file COPYING.LESSER).
Christian Egli92277ee2014-04-17 13:05:00 +000025
Christian Egli80b619c2016-06-30 16:20:13 +020026The command line tools, are licensed under the [GNU GPLv3+][] (see the
Christian Egli52f51b42014-04-25 12:29:27 +000027file COPYING).
Christian Egli92277ee2014-04-17 13:05:00 +000028
Christian Egli52f51b42014-04-25 12:29:27 +000029# Documentation
Christian Egli92277ee2014-04-17 13:05:00 +000030
Christian Egli52f51b42014-04-25 12:29:27 +000031For documentation, see the [liblouis documentation][] (either as info
32file, html, txt or pdf) in the doc directory. For examples
33of translation tables, see `en-us-g2.ctb`, `en-us-g1.ctb`,
34`chardefs.cti`, and whatever other files they may include in the
35tables directory. This directory contains tables for many languages.
36The Nemeth files will only work with the sister library
37[liblouisutdml][].
Christian Egli92277ee2014-04-17 13:05:00 +000038
Christian Egli52f51b42014-04-25 12:29:27 +000039# Installation
Christian Egli92277ee2014-04-17 13:05:00 +000040
Christian Egli52f51b42014-04-25 12:29:27 +000041After unpacking the distribution tarball go to the directory it creates.
42You now have the choice to compile liblouis for either 16- or 32-bit
43unicode. By default it is compiled for the former. To get 32-bit Unicode
44run configure with `--enable-ucs4`.
Christian Egli92277ee2014-04-17 13:05:00 +000045
Christian Egli07e17ba2017-02-27 16:07:27 +010046After running `./configure` run `make` and then `make install`. You
47must have root privileges for the installation step.
Christian Egli92277ee2014-04-17 13:05:00 +000048
Christian Egli52f51b42014-04-25 12:29:27 +000049This will produce the liblouis library and the programs `lou_allround`
50(for testing the library), `lou_checkhyphens`, `lou_checktable` (for
51checking translation tables), `lou_debug` (for debugging translation
52tables), `lou_translate` (for extensive testing of forward and
53backwards translation) and `lou_trace` (for tracing if individual
54translations). For more details see the liblouis documentation.
Christian Egli92277ee2014-04-17 13:05:00 +000055
Christian Egli52f51b42014-04-25 12:29:27 +000056If you wish to have man pages for the programs you might want to
57install `help2man` before running configure.
Christian Egli92277ee2014-04-17 13:05:00 +000058
Christian Eglia02c1362017-03-06 10:38:45 +010059If you want to run the test suite with `make check` you should install
60`libyaml` as that will enable extensive tests on the tables. If you
61want to skip those tests you can do so by running `configure --without-yaml`.
62
Christian Eglia5f1e1d2015-09-03 23:38:52 +020063# Participating
64
65You can contribute to Liblouis in several different ways:
66
67 - If you have comments, questions, or want to use your knowledge to
68 help others, come join the conversation on either the mailing list
69 or on IRC. You can reach us at liblouis-liblouisxml@freelists.org
70 or in channel #liblouis on irc:irc.oftc.net.
71
72 - To report a problem or request a feature, please file an issue.
73
74 - Of course, we welcome pull requests and patches.
75
76Finally, if you want to see what we have for the future and learn more
77about our release cycles, all this information is detailed on the
78[wiki](https://github.com/liblouis/liblouis/wiki/Release-schedule)
79
Christian Egli52f51b42014-04-25 12:29:27 +000080# Release Notes
Christian Egli92277ee2014-04-17 13:05:00 +000081
Christian Egli52f51b42014-04-25 12:29:27 +000082For notes on the newest and older releases see the file NEWS.
Christian Egli92277ee2014-04-17 13:05:00 +000083
Christian Egli52f51b42014-04-25 12:29:27 +000084# History
Christian Egli92277ee2014-04-17 13:05:00 +000085
Christian Egli52f51b42014-04-25 12:29:27 +000086Liblouis was begun in 2002 largely as a business decision by
87[ViewPlus][]. They believed that they could never have good braille
88except as part of an open source effort and knew that John Boyer was
89dying to start just such a project. So ViewPlus did start it on the
90agreement that they would give a small monthly stipend to John Boyer
91that allowed him to pay for sighted assistants. While ViewPlus has not
92contributed much to the coding, it certainly has contributed and
93continues to contribute to liblouis through that support of John
94Boyer.
Christian Egli92277ee2014-04-17 13:05:00 +000095
Christian Egli52f51b42014-04-25 12:29:27 +000096[Louis Braille]: http://en.wikipedia.org/wiki/Louis_Braille
Christian Egli2ab024f2014-08-27 16:34:17 +020097[many languages]: https://github.com/liblouis/liblouis/tree/master/tables
Christian Egli52f51b42014-04-25 12:29:27 +000098[NVDA]: http://www.nvda-project.org/
99[Orca]: http://live.gnome.org/Orca
100[ViewPlus]: http://www.viewplus.com
101[BRLTTY]: http://mielke.cc/brltty/
Christian Eglie38474e2016-06-30 16:58:50 +0200102[GNU LGPLv2.1+]: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
103[GNU GPLv3+]: https://www.gnu.org/licenses/gpl.html
Christian Egli2ab024f2014-08-27 16:34:17 +0200104[liblouisutdml]: http://www.liblouis.org/
Christian Egli52f51b42014-04-25 12:29:27 +0000105[liblouis documentation]: http://www.liblouis.org/documentation/liblouis.html
Christian Egli92277ee2014-04-17 13:05:00 +0000106
Christian Egli52f51b42014-04-25 12:29:27 +0000107<!-- Local Variables: -->
108<!-- mode: markdown -->
109<!-- End: -->