Coder Social home page Coder Social logo

https://github.com/liblouis/liblouis/actions/workflows/main.yml/badge.svg https://github.com/liblouis/liblouis/actions/workflows/mingw.yml/badge.svg https://github.com/liblouis/liblouis/actions/workflows/emscripten.yml/badge.svg https://api.securityscorecards.dev/projects/github.com/liblouis/liblouis/badge

Introduction

Liblouis is an open-source braille translator and back-translator named in honor of Louis Braille. It features support for computer and literary braille, supports contracted and uncontracted translation for many languages and has support for hyphenation. New languages can easily be added through tables that support a rule- or dictionary based approach. Tools for testing and debugging tables are also included. Liblouis also supports math braille (Nemeth and Marburg).

Liblouis has features to support screen-reading programs. This has led to its use in two open-source screenreaders, NVDA and Orca. It is also used in some commercial assistive technology applications for example by ViewPlus.

Liblouis is based on the translation routines in the BRLTTY screenreader for Linux. It has, however, gone far beyond these routines. In Linux and Mac OSX it is a shared library, and in Windows it is a DLL.

Liblouis is free software licensed under the GNU LGPLv2.1+ (see the file COPYING.LESSER).

The command line tools, are licensed under the GNU GPLv3+ (see the file COPYING).

Documentation

For documentation, see the liblouis documentation (either as info file, html, txt or pdf) in the doc directory. For examples of translation tables, see en-us-g2.ctb, en-us-g1.ctb, chardefs.cti, and whatever other files they may include in the tables directory. This directory contains tables for many languages. The Nemeth files will only work with the sister library liblouisutdml.

Installation

After unpacking the distribution tarball from releases go to the directory it creates. You now have the choice to compile liblouis for either 16- or 32-bit unicode. By default it is compiled for the former. To get 32-bit Unicode run configure with --enable-ucs4.

After running ./configure run make and then sudo make install. As a final step you might have to run sudo ldconfig. For other ways of installation, see the file HACKING.

This will produce the liblouis library and the programs lou_allround (for testing the library), lou_checkhyphens, lou_checktable (for checking translation tables), lou_debug (for debugging translation tables), lou_translate (for extensive testing of forward and backwards translation) and lou_trace (for tracing if individual translations). For more details see the liblouis documentation.

If you wish to have man pages for the programs you might want to install help2man before running configure.

If you want to run the test suite with make check you should install libyaml as that will enable extensive tests on the tables. If you want to skip those tests you can do so by running configure --without-yaml.

Participating

You can contribute to Liblouis in several different ways:

  • If you have comments, questions, or want to use your knowledge to help others, come join the conversation on either the mailing list or on IRC. You can reach us at [email protected] or in channel #liblouis on irc:irc.libera.chat.
  • To report a problem or request a feature, please file an issue.
  • Of course, we welcome pull requests and patches.

Finally, if you want to see what we have for the future and learn more about our release cycles, all this information is detailed on the wiki

Release Notes

For notes on the newest and older releases see the file NEWS.

History

Liblouis was begun in 2002 largely as a business decision by ViewPlus. They believed that they could never have good braille except as part of an open source effort and knew that John Boyer was dying to start just such a project. So ViewPlus did start it on the agreement that they would give a small monthly stipend to John Boyer that allowed him to pay for sighted assistants. While ViewPlus has not contributed much to the coding, it certainly has contributed and continues to contribute to liblouis through that support of John Boyer.

liblouis's Projects

js-build icon js-build

Pre-built binaries of liblouis for Javascript environments.

liblouis icon liblouis

Open-source braille translator and back-translator.

liblouis-js icon liblouis-js

Port/cross-compiled version of liblouis to Javascript

liblouis-mode icon liblouis-mode

An Emacs major mode for editing liblouis braille translation tables

liblouisutdml icon liblouisutdml

An open-source library providing complete braille transcription services for xml, html and text documents

liblouisxml icon liblouisxml

Fork of the depreciated liblouisxml, which is still used in odt2braille.

louis-parser icon louis-parser

An experiment at writing a liblouis table parser based on Parsing expression grammar

louis-rs icon louis-rs

An experiment at re-writing liblouis in Rust

patgen icon patgen

Script to build patgen from source (patgen is used by the lou_maketable tool)

release-helpers icon release-helpers

A script to generate release artifacts such as announcement, news post, download index, etc

rewrite-louis icon rewrite-louis

A liblouis table parser based on instaparse. Converts tables to Clojure data structures.

website-hugo icon website-hugo

A website for liblouis based on hugo and the hugo book theme

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.