Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 1 | # Introduction |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 2 | |
Christian Egli | 93acfd8 | 2021-02-15 14:51:07 +0100 | [diff] [blame] | 3 |  |
| 4 |  |
| 5 |  |
Christian Egli | c39a667 | 2014-10-22 16:32:34 +0200 | [diff] [blame] | 6 | |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 7 | Liblouis is an open-source braille translator and back-translator |
| 8 | named in honor of [Louis Braille][]. It features support for computer |
| 9 | and literary braille, supports contracted and uncontracted translation |
| 10 | for [many languages][] and has support for hyphenation. New languages |
| 11 | can easily be added through tables that support a rule- or dictionary |
| 12 | based approach. Tools for testing and debugging tables are also |
| 13 | included. Liblouis also supports math braille (Nemeth and Marburg). |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 14 | |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 15 | Liblouis has features to support screen-reading programs. This has led |
| 16 | to its use in two open-source screenreaders, [NVDA][] and [Orca][]. It |
| 17 | is also used in some commercial assistive technology applications for |
| 18 | example by [ViewPlus][]. |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 19 | |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 20 | Liblouis is based on the translation routines in the [BRLTTY][] |
| 21 | screenreader for Linux. It has, however, gone far beyond these |
| 22 | routines. In Linux and Mac OSX it is a shared library, and in Windows |
| 23 | it is a DLL. |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 24 | |
Christian Egli | 80b619c | 2016-06-30 16:20:13 +0200 | [diff] [blame] | 25 | Liblouis is free software licensed under the [GNU LGPLv2.1+][] (see |
Christian Egli | f6ec6a5 | 2016-06-20 10:33:37 +0200 | [diff] [blame] | 26 | the file COPYING.LESSER). |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 27 | |
Christian Egli | 80b619c | 2016-06-30 16:20:13 +0200 | [diff] [blame] | 28 | The command line tools, are licensed under the [GNU GPLv3+][] (see the |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 29 | file COPYING). |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 30 | |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 31 | # Documentation |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 32 | |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 33 | For documentation, see the [liblouis documentation][] (either as info |
| 34 | file, html, txt or pdf) in the doc directory. For examples |
| 35 | of translation tables, see `en-us-g2.ctb`, `en-us-g1.ctb`, |
| 36 | `chardefs.cti`, and whatever other files they may include in the |
| 37 | tables directory. This directory contains tables for many languages. |
| 38 | The Nemeth files will only work with the sister library |
| 39 | [liblouisutdml][]. |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 40 | |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 41 | # Installation |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 42 | |
Ludovic Oger | d41864e | 2019-03-06 09:34:46 +0100 | [diff] [blame] | 43 | After unpacking the distribution tarball from [releases][] go to the directory it creates. |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 44 | You now have the choice to compile liblouis for either 16- or 32-bit |
| 45 | unicode. By default it is compiled for the former. To get 32-bit Unicode |
| 46 | run configure with `--enable-ucs4`. |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 47 | |
Ludovic Oger | d41864e | 2019-03-06 09:34:46 +0100 | [diff] [blame] | 48 | After running `./configure` run `make` and then `make install`. You |
Christian Egli | 07e17ba | 2017-02-27 16:07:27 +0100 | [diff] [blame] | 49 | must have root privileges for the installation step. |
Ludovic Oger | d41864e | 2019-03-06 09:34:46 +0100 | [diff] [blame] | 50 | (For other ways of installation, see the file HACKING) |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 51 | |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 52 | This will produce the liblouis library and the programs `lou_allround` |
| 53 | (for testing the library), `lou_checkhyphens`, `lou_checktable` (for |
| 54 | checking translation tables), `lou_debug` (for debugging translation |
| 55 | tables), `lou_translate` (for extensive testing of forward and |
| 56 | backwards translation) and `lou_trace` (for tracing if individual |
| 57 | translations). For more details see the liblouis documentation. |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 58 | |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 59 | If you wish to have man pages for the programs you might want to |
| 60 | install `help2man` before running configure. |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 61 | |
Christian Egli | a02c136 | 2017-03-06 10:38:45 +0100 | [diff] [blame] | 62 | If you want to run the test suite with `make check` you should install |
| 63 | `libyaml` as that will enable extensive tests on the tables. If you |
| 64 | want to skip those tests you can do so by running `configure --without-yaml`. |
| 65 | |
Christian Egli | a5f1e1d | 2015-09-03 23:38:52 +0200 | [diff] [blame] | 66 | # Participating |
| 67 | |
| 68 | You can contribute to Liblouis in several different ways: |
| 69 | |
| 70 | - If you have comments, questions, or want to use your knowledge to |
| 71 | help others, come join the conversation on either the mailing list |
| 72 | or on IRC. You can reach us at liblouis-liblouisxml@freelists.org |
| 73 | or in channel #liblouis on irc:irc.oftc.net. |
| 74 | |
| 75 | - To report a problem or request a feature, please file an issue. |
| 76 | |
| 77 | - Of course, we welcome pull requests and patches. |
| 78 | |
| 79 | Finally, if you want to see what we have for the future and learn more |
| 80 | about our release cycles, all this information is detailed on the |
| 81 | [wiki](https://github.com/liblouis/liblouis/wiki/Release-schedule) |
| 82 | |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 83 | # Release Notes |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 84 | |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 85 | For notes on the newest and older releases see the file NEWS. |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 86 | |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 87 | # History |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 88 | |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 89 | Liblouis was begun in 2002 largely as a business decision by |
| 90 | [ViewPlus][]. They believed that they could never have good braille |
| 91 | except as part of an open source effort and knew that John Boyer was |
| 92 | dying to start just such a project. So ViewPlus did start it on the |
| 93 | agreement that they would give a small monthly stipend to John Boyer |
| 94 | that allowed him to pay for sighted assistants. While ViewPlus has not |
| 95 | contributed much to the coding, it certainly has contributed and |
| 96 | continues to contribute to liblouis through that support of John |
| 97 | Boyer. |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 98 | |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 99 | [Louis Braille]: http://en.wikipedia.org/wiki/Louis_Braille |
Christian Egli | 2ab024f | 2014-08-27 16:34:17 +0200 | [diff] [blame] | 100 | [many languages]: https://github.com/liblouis/liblouis/tree/master/tables |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 101 | [NVDA]: http://www.nvda-project.org/ |
| 102 | [Orca]: http://live.gnome.org/Orca |
| 103 | [ViewPlus]: http://www.viewplus.com |
| 104 | [BRLTTY]: http://mielke.cc/brltty/ |
Christian Egli | e38474e | 2016-06-30 16:58:50 +0200 | [diff] [blame] | 105 | [GNU LGPLv2.1+]: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html |
| 106 | [GNU GPLv3+]: https://www.gnu.org/licenses/gpl.html |
Christian Egli | 2ab024f | 2014-08-27 16:34:17 +0200 | [diff] [blame] | 107 | [liblouisutdml]: http://www.liblouis.org/ |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 108 | [liblouis documentation]: http://www.liblouis.org/documentation/liblouis.html |
Ludovic Oger | d41864e | 2019-03-06 09:34:46 +0100 | [diff] [blame] | 109 | [releases]: https://github.com/liblouis/liblouis/releases |
Christian Egli | 92277ee | 2014-04-17 13:05:00 +0000 | [diff] [blame] | 110 | |
Christian Egli | 52f51b4 | 2014-04-25 12:29:27 +0000 | [diff] [blame] | 111 | <!-- Local Variables: --> |
| 112 | <!-- mode: markdown --> |
| 113 | <!-- End: --> |