FB2EPUB readme

Description

This program suite consists of command line converter from FB2 (Fiction Book 2) format files into EPUB format files, GUI Utility converter and Windows shell extension .
The program uses embedded fonts with Cyrillic UNICODE support to allow reading resulting files on readers without Cyrillic support.

Command line utility Usage:

fb2epub <input_fb2_file_name> [-options]

    or optional

fb2epub <input_fb2_file_name> <output_epub_file_name> [-options]

    or optional

fb2epub [-registration_options]

The input file can be either .FB2 file or RAR archive or ZIP archive containing FB2 files inside. In case archive containing more than one FB2 file all files in archive are converted. Also it is possible to specify path or/and mask to convert

The currently valid options are:

-t:[0/1/2/3/4/5]
where -t:0 (default) means no transliteration, while -t:1 applies transliteration to book title, authors names, chapters etc to improve the display on readers without Cyrillic support (Sony non-russified readers etc). -t:2 apply transliteration to output file name , -t:3 transliterate both output file name and book content, -t:4 (Kindle mode) transliterates book metadata without TOC, -t:5 transliterates book metadata and filename but not TOC
-o:<path>
Set output path in case no output file name supplied.
-fix:[0/1/2/3]
where -fix:0 means "do not attempt to fix", -fix:1 means "try to apply minimal internal corrections only", -fix:2 (default) means "use Fb2Fix to fix the files" - fixes most problems, -fix:3 instruct the system to use Fb2Fix on every file even if it does not contain errors
-r(all)/-u
registration options used to register/unregister right click shell extension
-r registers for basic RAR/ZIP/FB2 file types, -rAll registers for all file extensions
when registration option used all other commands and parameters are ignored
-f2i:[0/1]
Enable (-f2i:1) or disable (-f2i:0) generation of additional FB2 information page
-seqadd:[0/1]
Enable (-secadd:1) (default) or disable (-secadd:0) adding sequences abbreviations to book title name
-seqformat:[format_string]
- Format book title description info (thanks wserg) , This allows to define what will be displayed on book description page. The following format options are allowed:
%bt% - BookTitle from FB2 header
%sf% - Series full name from FB2 header
%sa% - Series abbviarated name from FB2 header
%sn% - book number in the series
Also following modifiers specified after '.' (dot) are allowed for %bt%, %sf% and %sa%:
c - Capitalize, l - lowercase, u -UPPERCASE
additionally for parameter %sn% numeric modifier can be used to specify 0-preffix of the number
The default format is same as in prev versions: "%bt% %sa.l%-%sn%"
Examples:
Series: Star Wars
%sf.u% - STAR WARS
Number: 1
%sn.3% - 001
do not forget to double quote the format string if it contain spaces
-nseqformat:[format_string]
- Format book title description info (thanks wserg) , This allows to define what will be displayed on book description page if book is not part of the sequence (no seq. number). The following format options are allowed:
%bt% - BookTitle from FB2 header
%sf% - Series full name from FB2 header
%sa% - Series abbviarated name from FB2 header
Also following modifiers specified after '.' (dot) are allowed for %bt%, %sf% and %sa%:
c - Capitalize, l - lowercase, u -UPPERCASE
The default format is : "%bt% (%sf.l%)"
Examples:
Serie: Star Wars
%sf.u% - STAR WARS
do not forget to double quote the format string if it contain spaces
-nnseqformat:[format_string]
- Format book title description info (thanks wserg) , This allows to define what will be displayed on book description page if book has no series name defined. The following format options are allowed:
%bt% - BookTitle from FB2 header
Also following modifiers specified after '.' (dot) are allowed for %bt%, %sf% and %sa%:
c - Capitalize, l - lowercase, u -UPPERCASE
The default format is : "%bt%"
do not forget to double quote the format string if it contain spaces
-aformat:[format_string]
- Format author name , This allows to define what will be displayed on book description page. The following format options are allowed:
%f% - First name from FB2 header
%m% - Middle name from FB2 header
%l% - last name from FB2 header
%n% - Nick name from FB2 header
Also following modifiers specified after '.' (dot) are allowed for %f%, %m%, %l% and %n%:
c - Capitalize, l - lowercase, u -UPPERCASE
additionally another subformat :b can be added to take name in brackets
The default format is : "%f.c%%m.c%%l.c%%n.c:b%"
-svformat:[format_string]
- Format "File As" author name , This allows to define what will be displayed on book description page. The following format options are allowed:
%f% - First name from FB2 header
%m% - Middle name from FB2 header
%l% - last name from FB2 header
%n% - Nick name from FB2 header
Also following modifiers specified after '.' (dot) are allowed for %f%, %m%, %l% and %n%:
c - Capitalize, l - lowercase, u -UPPERCASE
additionally another subformat :b can be added to take name in brackets
The default format is : "%l.c%f.c"
-s
Enable search for files in subfolders in case path or mask specified
-m:[0/1/2/3]
Search for *.fb2 files only(-m:0) or all .fb2 files and *.fb2.zip/*.fb2.rar files(-m:1 - default) or
for all *.fb2;*.zip;*.rar files (-m:2) or just all files *.* (-m:3)when looking for files in folder(s).
Providing search mask in input string override this parameter.
Specifying file mask in input parameter overrides this option.
-DELETESOURCE
Deletes the source FictionBook file upon successful conversion
-flat:[0/1]
Invokes (1) "flat structure mode" that prohibits creation of subfolders inside ePub archive, workaround for some buggy readers. -flat:0 - default
-emstyles:[0/1]
- Invokes "embeding styles mode" that, instead of adding CCS files to the ePub and referencing them, in xHTML injects the relevant style code directly into the xHTML files. Values are: 0 - disabled (default) , 1 - enabled. The feature is for buggy readers that do not support reading styles from referenced files -flat:0 - default
-apng:[0/1]
Enable/disable conversion of PNG files with palette that contain alpha channel into 32bit format. Many readers (especially Adobe based)can't show paletterized alpha channel PNGs. The possible values are 0 (disable) and -apng:1 - default
-cap:[0/1]
Enable (1) /disable (0)"capitalization" of section first character making it big and appear on several lines.-cap:1 - default
-xpgt:[0/1]
Enable (1) or disable (0, default) embedding of Adobe XPGT template into resulting ePub File. -xpgt:0 - default
-xpgtPath:[file_path]
Forces converter to use Adobe XPGT template file specified by this parameter instead of default XPGT template "template.xpgt" located in "Template" subfolder
-settings
Calling with this parameter (should be the only parameter) will bring up settings configuration window UI to ease setting up the defaults
-ignoretitle:[0/1/2/3/4/5/6]
Controls if one or more FB2 titles should be ignored, -ignoretitle:0 - default Possible options are
  • 0 - nothing ignored
  • 1 - Main FB2 title ignored
  • 2 - Source info title ignored
  • 3 - Publish info title ignored
  • 4 - Main and Source info titles are ignored
  • 5 - Main and Publish info titles are ignored
  • 6 - Source and Publish info titles are ignored
  • -cfg:<path>
    Allows to specify different settings file path to use for conversion
    -calibremeta:[0/1]
    Enable/Disable Calibre metadata injection into output file, used by some programs to sort, display series etc. Default: 1(Enabled)
    -log:file_path
    Redirect logger to a new file or path (can be either, in case of path uses "fb2epub.log" file name)

    Fonts:

    The program currently uses only two fonts located in FONTS subfolder: LiberationSerif-Regular.ttf for normal text and LiberationSerif-Italic.ttf for italic (emphasized) text. You can replace them by any font file (keeping the name) and this fonts will be used in resulting EPUB.
    Or, alternatively, you can edit the Fb2ePub.exe.config file to change any font used.

    CSS styles:

    EPUB books use CSS styles to change the way book presented to the reader. The default default.css located in CSS subfolder is embeded in every EPUB file produced. By changing this file before conversion you can affect the way resulting book will be displayed. See styles_??.txt files in CSS subfolder for more details on elements specific for FB2EPUB conversion. See http://www.w3schools.com/Css/default.asp for detailed tutorial on CSS standard.

    Transliteration:

    The transliterating conversion mapping of the items that displayed without using embedded fonts (book title, authors, chapter navigation points, etc) can be customized. To customize transliteration open the translit.xml file and change (or add) mapping.
    Each <map> element has two required attributes: "in" - Russian character on input, and "out" - string to substitute in character with. You can modify either one of them or both. The supplied translit.xsd file provides tool to validate resulting file in case needed,

    Configuration defaults ( defsettings.xml ):

    Some default setting used by converter are stored in defsettings.xml file.

    Currently user can change following settings:

    TransliterateBook
    - enable/disable transliteration of metadata by default, values: "False" (Default), "True"
    TransliterateTOC
    - enable/disable transliteration of TOC if transliteration of metadata enabled by default, values: "False", "True" (Default)
    TransliterateFileName
    - enable/disable transliteration of output file name by default, values: "False" (Default), "True"
    AddFB2Info
    - Enable/disable generation of additional FB2 info page at the end of the resulting EPUB. Values are: "True" (default) and "False"
    AddSequenceNameToTitle
    - Enable/disable addition of abbreviated sequence names to the book title name Values are: "True" (default) and "False"
    FormatWithSequenceName
    - Format book title description info (thanks wserg) , This allows to define what will be displayed on book description page. The following format options are allowed:
    %bt% - BookTitle from FB2 header
    %sf% - Serie full name from FB2 header
    %sa% - Serie abbviarated name from FB2 header
    %sn% - book number in the series
    Also following modifiers specified after '.' (dot) are allowed for %bt%, $sf% and %sa%:
    c - Capitalize, l - lowercase, u -UPPERCASE
    additionally for parameter %sn% numeric modifier can be used to specify 0-prefix of the number
    The default format is same as in prev versions: "%bt% %sa.l%-%sn%"
    Examples:
    Serie: Star Wars
    %sf.u% - STAR WARS
    Number: 1
    %sn.3% - 001
    FormatWithOutSequenceName
    - Format book title description info (thanks wserg) , This allows to define what will be displayed on book description page if book is part of series but does not have series number. The following format options are allowed:
    %bt% - BookTitle from FB2 header
    %sf% - Series full name from FB2 header
    %sa% - Series abbviarated name from FB2 header
    Also following modifiers specified after '.' (dot) are allowed for %bt%, $sf% and %sa%:
    c - Capitalize, l - lowercase, u -UPPERCASE
    The default format is: "%bt% (%sf.l%)"
    Examples:
    Series: Star Wars
    %sf.u% - STAR WARS
    FormatWithOutSeriesName
    - Format book title description info (thanks wserg) , This allows to define what will be displayed on book description page if book is not part of series. The following format options are allowed:
    %bt% - BookTitle from FB2 header
    Also following modifiers specified after '.' (dot) are allowed for %bt%, $sf% and %sa%:
    c - Capitalize, l - lowercase, u -UPPERCASE
    The default format is: "%bt%"
    AuthorNameFormat
    - Format author name , This allows to define what will be displayed on book description page. The following format options are allowed:
    %f% - First name from FB2 header
    %m% - Middle name from FB2 header
    %l% - last name from FB2 header
    %n% - Nick name from FB2 header
    Also following modifiers specified after '.' (dot) are allowed for %f%, %m%, %l% and %n%:
    c - Capitalize, l - lowercase, u -UPPERCASE
    additionally another sub format :b can be added to take name in brackets
    The default format is : "%f.c%%m.c%%l.c%%n.c:b%"
    FileAsFormat
    - Format "File As" author name , This allows to define what will be displayed on book description page. The following format options are allowed:
    %f% - First name from FB2 header
    %m% - Middle name from FB2 header
    %l% - last name from FB2 header
    %n% - Nick name from FB2 header
    Also following modifiers specified after '.' (dot) are allowed for %f%, %m%, %l% and %n%:
    c - Capitalize, l - lowercase, u -UPPERCASE
    additionally another sub format :b can be added to take name in brackets
    The default format is : "%l.c%f.c"
    Fb2FixMode
    - Controls invoking of Fb2Fix to fix input files Values are: "0" - never try to fix , "1" - try to fix using internal algorithms only , "2" (default) - if internal algorithms fail try to apply FB2Fix, "3" - allways apply FB2Fix
    ConvertAlphaPNG
    - Controls conversion of palatalized PNG files with alpha channel to 32 bit files. Many readers (especially Adobe based)can't show palatalized alpha channel PNGs. Values are: "False" - do not convert , "True" - always convert (default)
    FlatStructure
    - Invokes "flat structure mode" that prohibits creation of subfolders inside ePub archive, workaround for some buggy. Values are: "False" - disabled (default) , "True" - enabled
    EmbedStyles
    - Invokes "embedding styles mode" that, instead of adding CCS files to the ePub and referencing them, in xHTML injects the relevant style code directly into the xHTML files. Values are: "False" - disabled (default) , "True" - enabled. The feature is for buggy readers that do not support reading styles from referenced files
    GenerateDropCharacters
    - Invokes "capitalization" of section first (drop) character making it appear big and take several lines. Values are: "False" - disabled , "True" - enabled (default).
    EnableAdobeTemplateUsage
    - Controls if Adobe XPGT template is to be added to the resulting ePub file. Values: "True" and "False" (default). Please see http://wiki.mobileread.com/wiki/XPGT for details on XPGT templates.
    AdobeTemplatePath
    - Specifies non-default path to the XPGT template to use in case enabled (in case of empty - default""Template" folder "template.xpgt" file used.
    IgnoreTitleOption
    - Controls if one or more FB2 titles should be ignored when generating ePub. Values: "IgnoreNothing"(default) , "IgnoreMainTitle" , "IgnoreSourceTitle", "IgnorePublishTitle", "IgnoreMainAndSource", "IgnoreMainAndPublish" , "IgnoreSourceAndPublish" .
    Enable/Disable Calibre metadata injection into output file, used by some programs to sort, display series etc. Default: "true"(Enabled)
    DecorateFontNames
    -Controls if font names should be "decorated" using random characters to work around font cacke bug present on some Adobe based readers. Values: "true"(default) , "false"
    Fonts
    Fonts settings section , see format bellow

    Fonts settings

    Fonts section can be empty, this means no fonts are to be embedded and device internal fonts will be used always

    Format of the Fonts Section:

    FontFamilies - list of the fonts families to embed CSSElements - list of the CSS/XHTML elements to assign fonts families to
    Format of the FontFamilies section

    Each FontFamilies section can contain up to several FontFamily elements. that in turn consist of Font sections listing specific fonts with their properties and sources (locations)

    Each font can have following styles(attributes):

  • style
  • variant
  • width
  • stretch
  • format
  • Each Font can also contain several Source elements defining font location with attributes:

  • type
  • format
  • and Location defining path to the font file

    Installation

    1. Unpack into any location on your hard drive

    2. Make sure that you have .Net 4.0 installed

    3. If you wish to register right mouse click shell extension please either execute FB2EPUB /R from that folder or run RegisterFB2EPub.EXE. Please note that you have to be administrator or have admenistrative access on your computer to register right click shell extension.

    Upgrading from previous version

    1. Unregister previously registered shell extension using either FB2EPUB /U from that folder or running RegisterFB2EPub.EXE and selecting unregistration option (Please note that you have to be administrator or have admenistrative access on your computer to unregister right click shell extension.)

    2. Reboot your computer

    3. Unpack new version either into a new folder (in this case you can delete old one) or overwriting into an old folder

    4. If you wish to register right mouse click shell extension please either execute FB2EPUB /R from that folder or run RegisterFB2EPub.EXE. Please note that you have to be administrator or have admenistrative access on your computer to register right click shell extension.