Developer Guide

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses.


Table of Contents

Hacking
System Requirements
Checkout Code
Building
Project Overview
Addon
Core
External Libraries

Hacking

System Requirements

In order to hack odt2braille, you will need

Optionally, you can install the OpenOffice.org Software Development kit. The OpenOffice.org SDK is an add-on for OpenOffice.org. It provides the necessary tools and documentation for programming the OpenOffice.org APIs and creating own extensions. The version of OpenOffice.org SDK should be equal or lower than the version of OpenOffice.org.

odt2braille was developed in NetBeans, but you can hack the code in any IDE you are more comfortable with.

Checkout Code

The source code is available on Sourceforge and can be downloaded directly into NetBeans as follows:

  • [Team - Subversion - Checkout]

  • Repository URL: "https://odt2braille.svn.sourceforge.net/svnroot/odt2braille".

  • Leave "User" and "Password" fields blank.

  • Next >

  • Repository Folders: "trunk"

  • Check "Scan for NetBeans Projects after checkout".

  • Finish

The code can also be downloaded without NetBeans:

svn checkout https://odt2braille.svn.sourceforge.net/svnroot/odt2braille/trunk path/to/odt2braille/folder/

To check out a lightweight version (only the odt2braille code and not the external libraries):

svn checkout https://odt2braille.svn.sourceforge.net/svnroot/odt2braille/trunk path/to/odt2braille/folder/ --ignore-externals

Building

The project is build with Apache Ant. First cd to the odt2braille home directory. Before building you should edit the file build.<platform>.properties. The following targets are available:

  • ant uno-package : package the extension file (.oxt)

  • ant uno-run : package the extension file (.oxt) and run it in OpenOffice.org.

  • ant addon-jar : build the extension jar

  • ant core-jar : build the odt2braille core jar

  • ant javadoc : build the javadoc documentation

  • ant text : test the odt2braille core

Project Overview

Addon

The addon package (be.docarch.odt2braille.ooo) is the OpenOffice.org extension. It makes extensive use of the OpenOffice.org UNO API. It takes care of the graphical user interface (menu's, dialogs, progress bars, etc.) and allows for loading settings from and saving settings to OpenOffice.org or the OpenOffice.org Writer document.

Core

The odt2braille core package (be.docarch.odt2braille) takes care of the actual document processing. It enables the conversion of an ODT file to a PEF (Portable Embosser Format) file. Furthermore, this PEF file can be converted to a variety of other generic braille formats, or it can be converted to an embosser-specific braille file (and optionally sent to an embosser device). The braille transcription is powered by liblouisxml, and for the PEF processing, odt2braille uses the BrailleUtils library.

External Libraries

liblouisxml

liblouisxml is the heart of the braille transcription. It is an open-source library intended to provide complete Braille transcription services for XML documents. Liblouisxml is built on top of liblouis, its translation engine. The translation is driven through text based translation tables which define the translation rules. The formatting of braille is defined in semantic mappings that define how a specific XML input tag is to be rendered in the Braille output.

For more information about the translation tables and configuration files, and how to download and compile liblouis/liblouisxml, please read ext/liblouis/README and ext/liblouisxml/README.

Links:

BrailleUtils

BrailleUtils provides a cross platform API for embossing and converting braille in PEF-format.

For more information about how to download and compile BrailleUtils, please read ext/brailleutils/README

Links: