The Dotify API provides interfaces for:

  • embossing, creating and manipulating PEF-files
  • formatting braille
  • translating text to braille
  • hyphenating text

The API supports both SPI and OSGi runtime contexts.

Using the API

Implementations must be added to the class/module path in order to use this API, except for the org.daisy.dotify.api.graphics package (which provides some standalone functionality) and the org.daisy.dotify.api.factory package (which provides a foundation for a type of factory that several of the other factories in the API are built on).

Adding implementations

See the package descriptions for information about interfaces that may be implemented. Note that both SPI and OSGi require some configuration in order for an implementation to be discovered.

Default implementations

For convenience, some interfaces come with a default implementation. In an OSGi context, the implementation can be retrieved from the service registry using the corresponding interface. In an SPI context, the implementation can be accessed directly.

Interfaces and their default implementations.
Interface Default implementation
EmbosserCatalogService EmbosserCatalog
HyphenatorFactoryMakerService HyphenatorFactoryMaker
PaperCatalogService PaperCatalog
TableCatalogService TableCatalog
Integer2TextFactoryMakerService Integer2TextFactoryMaker
BrailleFilterFactoryMakerService BrailleFilterFactoryMaker
BrailleTranslatorFactoryMakerService BrailleTranslatorFactoryMaker
TextBorderFactoryMakerService TextBorderFactoryMaker
PagedMediaWriterFactoryMakerService PagedMediaWriterFactoryMaker
Packages 
Package Description
org.daisy.dotify.api.embosser
Provides interfaces and classes needed to communicate with embossers.
org.daisy.dotify.api.engine
Provides a formatter engine API.
org.daisy.dotify.api.factory
Provides factory classes for coexisting implementations of a certain type.
org.daisy.dotify.api.formatter
Provides a text only layout engine.
org.daisy.dotify.api.graphics
Provides braille graphics tools.
org.daisy.dotify.api.hyphenator
Provides a hyphenation API.
org.daisy.dotify.api.obfl
Provides an API for OBFL.
org.daisy.dotify.api.paper
Provides interfaces and classes needed to use papers.
org.daisy.dotify.api.table
Provides interfaces and classes needed to use braille tables.
org.daisy.dotify.api.text
Provides a text to integer API.
org.daisy.dotify.api.translator
Provides a braille translation API.
org.daisy.dotify.api.writer
Provides a paged media writer API.