From 6d89ee4769a17bab66014a33395828f4f300a194 Mon Sep 17 00:00:00 2001 From: Maksim Shkrebtan <3735044+mshkrebtan@users.noreply.github.com> Date: Wed, 27 Nov 2024 13:00:22 +0100 Subject: [PATCH] notes/e-books: Add new notes --- notes/e-books/assets/KoboRoot.tgz | Bin 0 -> 13149 bytes .../convert-epub-to-mobi-with-kindlegen.md | 17 ++++++++++ .../enable-russian-hyphenation-on-kobo.md | 31 ++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 notes/e-books/assets/KoboRoot.tgz create mode 100644 notes/e-books/convert-epub-to-mobi-with-kindlegen.md create mode 100644 notes/e-books/enable-russian-hyphenation-on-kobo.md diff --git a/notes/e-books/assets/KoboRoot.tgz b/notes/e-books/assets/KoboRoot.tgz new file mode 100644 index 0000000000000000000000000000000000000000..c136893c4307ad650434aaa195ef224fa5fb485f GIT binary patch literal 13149 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 literal 0 HcmV?d00001 diff --git a/notes/e-books/convert-epub-to-mobi-with-kindlegen.md b/notes/e-books/convert-epub-to-mobi-with-kindlegen.md new file mode 100644 index 0000000..bf56a54 --- /dev/null +++ b/notes/e-books/convert-epub-to-mobi-with-kindlegen.md @@ -0,0 +1,17 @@ +# Convert ePub to MOBI with KindleGen + +KindleGen is an official Amazon’s converter. KindleGen is pretty easy to use. + +Run `kindlegen` to see all the program options. + +KindleGen has an _undocumented_ key `-dont_append_source` with which you can avoid storing an ePub copy within the generated MOBI file. + +Another option I personally recommend to always use is `-c0` which disables compression. The thing is that books converted without compression are opened by Kindle faster and turning over the pages is faster too. + +So, the full command you should use is the following: + +```bash +kindlegen -verbose -locale en -dont_append_source -c0 book.epub +``` + +The `-verbose` and `-locale` options are used for verbose output, so when something goes wrong it is easier to find out why. diff --git a/notes/e-books/enable-russian-hyphenation-on-kobo.md b/notes/e-books/enable-russian-hyphenation-on-kobo.md new file mode 100644 index 0000000..5c610ac --- /dev/null +++ b/notes/e-books/enable-russian-hyphenation-on-kobo.md @@ -0,0 +1,31 @@ +# Enable Russian Hyphenation on Kobo + +If you add a book in Russian onto your Kobo e-reader, you may notice that, when text justification is enabled, there are large, uneven spaces between words and no hyphenation is used. The reason for this is that, by default, Kobo e-readers do not have Russian hyphenation dictionaries installed. + +## Install the dictionary + +You can install a Russian hyphenation dictionary by copying the [KoboRoot.tgz](assets/KoboRoot.tgz "KoboRoot.tgz") file to the `.kobo` directory on your e-reader. + +If you look inside the archive, it contains a dictionary file at the filesystem path `usr/local/Kobo/hyphenDicts/hyph_ru.dic`: + +``` shell title="tar -tf KoboRoot.tgz" +usr/ +usr/local/ +usr/local/Kobo/ +usr/local/Kobo/hyphenDicts/ +usr/local/Kobo/hyphenDicts/hyph_ru.dic +``` + +As soon as you copy the archive and eject your Kobo e-reader from the computer, the e-reader will extract the contents of the archive to its root filesystem, i.e. `/usr/local/Kobo/hyphenDicts/hyph_ru.dic`. + +## Where to find hyphenation dictionaries + +Kobo e-readers use hyphenation dictionaries in the Hunspell format. These can be found, for example, in the [LibreOffice dictionaries](https://git.libreoffice.org/dictionaries/+/refs/heads/master) Git repository. + +To download a hyphenation dictionary and create a `KoboRoot.tgz` archive yourself, run the following commands: +``` shell +git clone --depth 1 https://git.libreoffice.org/dictionaries +mkdir -p usr/local/Kobo/hyphenDicts +cp dictionaries/ru_RU/hyph_ru_RU.dic usr/local/Kobo/hyphenDicts/hyph_ru.dic +tar --exclude='.DS_Store' -cvzf KoboRoot.tgz usr/ +```