FanFicFare and eReaders - JimmXinu/FanFicFare GitHub Wiki

This guide is written and maintained by MobileRead user ownedbycats.

General issues

The calibre FAQ covers several issues regarding device integration in general. Here are a few issues more specific to FanFicFare:

Zalgo text

'Zalgo' text may cause issues with various eReaders (Kobo devices may display as overlapping .notdef characters depending on font, and it can outright freeze or crash Kindle devices). In this case, use max_zalgo in personal.ini:

## Some authors use 'Zalgo' text--arbitrary and often excessive
## added/combined unicode markings--to indicate 'noise' of some kind.
## While a critical part of some languages, when over used it can also
## cause problems for some ebook readers, such as Kindle.
## https://stackoverflow.com/questions/6579844/how-does-zalgo-text-work
## This setting will reduce the number 'Zalgo' characters.  Set to 0
## to remove all of them, -1 or leave undefined for no limit.
## Note: This will also remove other 'marked' unicode characters. If
## set to 0, café will become cafe, déjà -> deja, etc.  1 will keep
## single marks and is the recommended setting if you use it.
max_zalgo:1

'Duplicated' books on device

This is known to happen with at least Kobo. Kindles have a diffferent behaviour.

The default send-to-device save template is {author_sort}/{title} - {authors}.

If the title or author of a fanfic is changed, this results the book's save path changing and it being sent as a new file. However, if Calibre Preferences > Sending Book to Device > Metadata Management is set to 'Automatic management', it may also copy that title and author to the old copy on the device, resulting in 'duplicated' books.

There are three ways to deal with this:

  1. Change the send-to-device save template.

Change the send-to-device path, using a basic or single-function template. I suggest using {id}, as that will not change unless you move the books to a different Calibre library.

For most devices, change this in Preferences > Sending Books to Device:

SendToDevicePath

For Kobo specifically, you want to change the KoboTouch(Extended) settings:

KoboTouchSavePath

Note that any books re-sent to device after changing the template will be 'duplicated' as well. Use the third method to fix those.

  1. Use replace_metadatas.

If you prefer to keep the save template as-is (or use a custom one that has {author} or {title}), using a replace_metadata to change the title and author to the old ones should also fix it. Watch the author sort!

  1. Delete and restore

Delete the older version of the book on device, then re-send it.

If you are using a Kobo, eject to let it import to the Kobo database. Then re-connect to your computer and use Kobo Utilities to restore the reading position.

Kindle

MOBI Support

FanFicFare's inbuilt MOBI support is legacy code (predating JimmXinu's involvement with the project) and is generally not recommended for use as it has missing chapter markers, missing images, and occasionally poor HTML that breaks indexing. Note that support for the format is also deprecated for 'Send to Kindle' — AZW3 or ePub are recommended instead.

If you still wish to have a MOBI version, it is best to download as another format such as ePub and use calibre's Convert function to change it. This post by Dylan Tomorrow also describes another solution that uses KindleGen.

Missing covers

Kindle may remove the cover of sideloaded books when connecting to Amazon's servers. Connecting your device to Calibre will update the cover and fix this. (This will also update the cover if you change it in the Calibre library.)

Titles or authors not updating

To update title and/or author, you need to delete the book from your Kindle and re-send it. You will lose reading position and annotation. However, you may be able to restore it:

The last reading position and annotation information are contained in files within a folder on your Kindle having the same name as the main book file with ".sdr" added to it. You might be able to transfer that information from the old book to the new one by making a copy those files before you delete the old book and transferring them to the equivalent folder for the new book. I don't guarantee that will work.

In addition if you use "My Clippings" you can edit it manually to change the title there.

(Thanks to jhowell for allowing me to copy this information.)

Kobo

Sending updated fics to Kobo

With calibre, it's possible to sideload books onto a Kobo device. However, unless the 'Do not treat replacements as new books' option is enabled in KoboTouch (or KoboTouchExtended) driver settings, re-sending the book to device will overwrite the existing one, losing the current reading position and any bookmarks or annotations.

KoboTouchSettings

However, when this is enabled, the Table of Contents will remain out-of-date. The calibre plugin Kobo Utilities has the option to update it, so run the option after sending the updated story to device:

KoboUtilitiesUpdateToC

After that, simply eject the device and enjoy!

Errors when updating ToC

Two Table of Contents entries with identical names cause 'Update ToC' to throw a UNIQUE constraint failed error and glitches the book on the device. This may happen if you use strip_chapter_numbers or are updating an anthology (multiple "Title Page" entries). Unfortunately, the original author of the plugin has passed away, so this is likely to remain unfixed.

For non-anthologies, you can prevent this by selectively restoring the ToC numbering for specific fics. Run 'Update Always' after changing this:

[storyUrl]
add_chapter_numbers:toconly

If you fail to notice in time and get the error (or are re-sending an anthology to the device), delete the book from the device, re-send it, and eject the Kobo to let it re-import to the database. You will lose the current reading position, but hopefully you had it already saved to a custom column!

Saving and restoring reading position

There are several mishaps that can result in the reading position being lost, so it is recommended to use Kobo Utilities to store the reading position in a custom column upon connect.

KoboUtilitiesCustomize

To restore it:

KoboUtilitiesRestoreBookmark

Showing fanfiction information as subtitle

This one's just for fun! If FanFicFare is configured to set columns with fanfic information, you can then configure KoboTouch(Extended) to send it so it will display as a subtitle in the Kobo's book list:

KoboTouchSubtitle

This accepts any type of template, so go ahead and experiment! Here's one to begin with, though obviously replace the fields with your own fandom and status categories:

{#fanficcat}{#fanficstatus:| - |}

After first adding a book to device, you will need to eject, let the book import to the Kobo database, then re-connect before the subtitle will appear on device.