-
Notifications
You must be signed in to change notification settings - Fork 170
FanFicFare and eReaders
The calibre FAQ covers several issues regarding device integration in general. Here are a few issues more specific to FanFicFare:
'Zalgo' text may cause issues with various eReaders (Kobo may display as overlapping notdef characters, and it can outright 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
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 and use calibre's Convert function to change it. This post by Dylan Tomorrow also describes another solution that uses KindleGen.
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.
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:
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
. To prevent this, 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, 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!
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 of the device, resulting in 'duplicated' books.
There are three ways to deal with this:
- Change the send-to-device save template.
Change this in the KoboTouch(Extended) settings, using a basic or single-function template. I suggest using {id}
, as that will not change unless you move the books to a different library.
Note that any books re-sent to device after changing the template will be 'duplicated' as well. Use the third method to fix those.
-
Use replace_metadatas If you prefer to keep the save template as-is, using a
replace_metadata
to change the title and author to the old ones should also fix it. Watch the author sort! -
Delete and restore Delete the older version of the book on device, then re-send the book to device and eject to let it import to the Kobo database. Then re-connect to your computer and use Kobo Utilities to restore the 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.
To restore it: