Skip to content

FanFicFare and eReaders

chocolatechipcats edited this page Jun 10, 2023 · 38 revisions

This guide is written 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, so most of the advice will reference that.

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.

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!

One Exception: Two ToC entries with identical names cause Update ToC to throw a 'UNIQUE constraint failed' error and glitches the book on the device. Unfortunately, the original author of the plugin has passed away, so this is likely to remain unfixed.

This may happen if you use strip_chapter_numbers or are updating an anthology (multiple "Title Page" entries). To prevent this on non-anthologies, you can selectively restore the ToC numbering for that specific story with a story section and run 'update always':

[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.

Clone this wiki locally