Transforms a EPUB publication into an embosser ready braille document.
You may alternatively use the EPUB package document (the OPF-file) if your input is a unzipped/”exploded” version of an EPUB.
Sets the default page height, and affects media queries that use the ‘height’ and ‘device-height’ media features. The ‘height’ media feature describes the height of the targeted display area, i.e. the printable area of the page. The ‘device-height’ media feature describes the total height of the rendering surface, i.e. the page height.
The height may be specified in an absolute (mm, cm, in, …) or cell-relative (em)
length. A dimension without a unit is interpreted as a multiple of the braille cell height.
See the CSS specification for more info:
@page rulesize propertyThe syntax is as follows (described in terms of CSS grammar):
length
: number unit?
;
unit
: 'mm' | 'cm' | 'in' | 'px' | 'em'
;
()
Style sheets, whether they’re user style sheets (specified through options) or author style sheets (associated with the source), may have parameters (Sass variables). This option, which takes a comma-separated list of key-value pairs enclosed in parenthesis, can be used to set these variables.
For example, if a style sheet uses the Sass variable “foo”:
@if $foo {
/* some style that should only be enabled when "foo" is truthy */
}
you can control that variable with the following parameters list: (foo:true).
()
In this mode, sheets of paper are folded once to produce two leaves (four pages). This option affects media queries that use the ‘-daisy-saddle-stitch’ media feature.
()
Sets the number of printed sides per leaf, and affects media queries that use the ‘-daisy-duplex’ media feature.
()
The file format must be expressed in the media query syntax. For example, to select a file format
suited for the U.S., set the option to (-daisy-locale: en-US). To use the braille character set
used in the Netherlands and store to a file with extension “.brl”, set the option to
(-daisy-locale: nl) AND (-daisy-file-extension: \.brl).
If left blank, the braille will be stored in PEF (Portable Embosser Format).
The input EPUB may already contain CSS that applies to embossed media. Such document-specific CSS takes precedence over any CSS attached when running this script.
For instance, if the EPUB already contains the rule p { padding-left: 2; },
and using this script the rule p#docauthor { padding-left: 4; } is provided, then the
padding-left property will get the value 2 because that’s what was defined in the EPUB,
even though the provided CSS is more specific.
true or false
false
true or false
false
true or false
false
OBFL (Open Braille Formatting Language) is an internal data format used by DAISY Pipeline to represent an intermediary stage of the document being transformed (before it is formatted).
The OBFL file may be used for debugging, or it may also be edited and re-transformed to the final braille document using the “OBFL to braille” script.
true or false
false
Sets the default page width, and affects media queries that use the ‘width’ and ‘device-width’ media features. The ‘width’ media feature describes the width of the targeted display area, i.e. the printable area of the page. The ‘device-width’ media feature describes the total width of the rendering surface, i.e. the page width.
Note that the default page width may be overwritten with @page rules, but this does not
affect media queries.
The width may be specified in an absolute (mm, cm, in, …) or cell-relative (ch)
length. A dimension without a unit is interpreted as a multiple of the braille cell width.
See the CSS specification for more info:
@page rulesize propertyThe syntax is as follows (described in terms of CSS grammar):
length
: number unit?
;
unit
: 'mm' | 'cm' | 'in' | 'px' | 'ch'
;
()
If set, braille transcription is
done using the selected braille code. If left empty, the braille code is determined by the document
language. Note that braille transcription can also be controlled through CSS @text-transform
rules.
Each style sheet must be specified as a URI, absolute or relative to the input.
Style sheets specified through this option or through the “Formatting standard” option are called “user style sheets”. Style sheets can also be attached to the source document. These are referred to as “author style sheets”. They can be linked (using an ‘xml-stylesheet’ processing instruction or a ‘link’ element), embedded (using a ‘style’ element) and/or inlined (using ‘style’ attributes). Only author styles that apply to “embossed” media are taken into account.
All style sheets are applied at once, but the order in which they are specified has an influence on the cascading order. Author styles take precedence over user styles, and user style sheets specified through this option take precedence over the selected formatting standard.
Style sheets are interpreted according to braille CSS rules.
For info on how to use Sass (Syntactically Awesome StyleSheets) see the Sass manual.
A number of partials (helper style sheet modules) are available for use in Sass style sheets:
This option only determines whether hyphenation is allowed at page boundaries. The “Hyphenation” option and the CSS determine how the hyphenation is done, when allowed.
falseexcept-at-volume-breakstruefalse
Features of the braille transformer to be used for creating the paginated braille document from the CSS styled input document. Together with the “Braille code” option this determines the transformer that is selected.
The syntax is as follows (described in terms of CSS grammar):
query
: feature*
;
feature
: '(' S* IDENT S* [ ':' S* value ]? ')' S*
;
value
: string | integer | IDENT
;
(translator:liblouis)(formatter:dotify)
If set, braille formatting is done using the selected formatting standard. If left empty, the formatting of the document is determined entirely by custom styles.
It is important to understand that when no formatting standard or custom style sheets are specified, the output will not be formatted (meaning everything will be aligned to the left, without blank lines, pages will be filled completely, and there will be no page numbering).
Custom formatting rules may be specified using the “Custom style sheets” option, or in style sheets attached to the source document.
https://raw.githubusercontent.com/daisy/braille-stylesheets/refs/heads/main/bana/bana.scssThe document is formatted according to the rules of the Braille Authority of North America (BANA). UEB is used as the braille code for all text.
Equivalent to specifying the value
https://raw.githubusercontent.com/daisy/braille-stylesheets/refs/heads/main/bana/bana.scss for the
“Custom style sheets” option.
See the online documentation for more information.
By default, text that overflows its containing box will result in an error. By selecting this option, overflowing text will be truncated and generate a warning instead whenever possible. Notably, this will happen with text within page margins (top, right, bottom and left) that is too long to fit the space.
true or false
false
PEF (Portable Embosser Format) is an internal data format used by DAISY Pipeline to represent the final formatted braille document, before it is converted to another embosser-ready format.
true or false
false
If left blank, the locale information in the input document will be used to select a suitable table.
Usage: dp2 [GLOBAL_OPTIONS] epub3-to-pef [OPTIONS] Options:
| --source source | The EPUB you want to convert to braille. |
| --preamble preamble | An HTML file to be prepended to the EPUB spine. |
| --page-height [page-height] | Page height (default: ()) |
| --stylesheet-parameters [stylesheet-parameters] | Style sheet parameters (default: ()) |
| --saddle-stitch [saddle-stitch] | Saddle stitch (folio binding) (default: ()) |
| --duplex [duplex] | Duplex (default: ()) |
| --output-file-format [output-file-format] | Output file format (default: ) |
| --apply-document-specific-stylesheets [apply-document-specific-stylesheets] | Apply document-specific CSS (default: false) |
| --include-css [include-css] | Include HTML with inline CSS (default: false) |
| --include-preview [include-preview] | Include preview (default: false) |
| --include-obfl [include-obfl] | Include OBFL (default: false) |
| --page-width [page-width] | Page width (default: ()) |
| --braille-code [braille-code] | Braille code (default: ) |
| --_:stylesheet [_:stylesheet] | Style sheets (default: ) |
| --hyphenation-at-page-breaks [hyphenation-at-page-breaks] | Hyphenation at page boundaries (default: false) |
| --transform [transform] | Transformer features (default: (translator:liblouis)(formatter:dotify)) |
| --formatting-standard [formatting-standard] | Formatting standard (default: ) |
| --allow-text-overflow-trimming [allow-text-overflow-trimming] | Trimming of overflowing text (default: false) |
| --include-pef [include-pef] | Include PEF (default: false) |
| --preview-table [preview-table] | ASCII braille table for HTML preview (default: ) |
| -o,--output [OUTPUT] | Path where to store the results. This option is mandatory when the job is not executed in the background |
| -z,--zip | Write the output to a zip file rather than to a folder |
| -n,--nicename [NICENAME] | Set job's nice name |
| -r,--priority [PRIORITY] | Set job's priority (high|medium|low) |
| -q,--quiet | Do not print the job's messages |
| -p,--persistent | Delete the job after it is executed |
| -b,--background | Sends the job and exits |