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