Embedding font (for non-Latin scripts)

We are proud to be accepting books in any language, including those that use different scripts than Latin. There are, however, some technical requirements when it comes to non-Latin scripts.

Epubs with non-Latin scripts can be created either by embedding the font or by using a language code.

If your font is not embedded or you are not using the correct language code, readers who don't have the non-latin font pre-installed on their devices (for example emigrants having purchased a Western Kindle or Kobo but still reading in their mother tongue, language learners or owners of older devices) might only see empty white squares or question marks:

We always check books in industry standard ADE 3 or ADE 4.5. If the characters don't display properly in ADE 3 or ADE 4.5, you'll have to embed the font or ensure that your language codes are correct.

You might also want to embed the font if you prefer your books to be displayed using your own type. For example, if you are using fancy, handwritten initials or are crazy about Calibri, you can embed the font to make sure that it displays on your reader's device as you intended. Please note that some apps and devices will overwrite your fonts either way - there is never a guarantee that your fonts or formatting settings will go through.

Epub 3 or epub 2

According to iBooks requirements, books written in the following languages can only be accepted as epub 3: Chinese, Dari, Japanese, Kurdish, Pashto, Punjabi, Sindhi, Tajik, Uyghur and Uzbek. All other languages can be accepted either as epub 2 or epub 3.

Embed fonts using Calibre

The easiest way to embed a font is using Calibre.

1) Open the book with Calibre ebook editor.

2) Go to Tools / Manage fonts.

3) You might see more fonts here than you expected. For example, for this Tamil book, I can see 4 different types of fonts, although I know that the book is using only one font.

4) If you see several different fonts, make sure to change them, so they are all the same. For example, now I'll change 'serif' and 'sans-serif' to Latha, as I know that the book is only supposed to have one Tamil script. If you have a bilingual book, make sure to leave one latin and one non-latin script. Just press 'Change selected fonts', and enter the name of your font.

5) Once you are down to one or two fonts, press the 'Embed all fonts' button. If everything goes well, you'll receive a confirmation message.

All done!

Embed font using Sigil

You can also embed the font using Sigil. If you are using a script with a right to left or vertical reading direction, using Sigil simply gives you better options - but you're expected to do a bit of coding.

1) Open the book with Sigil ebook editor.

2) Locate the font on your computer, and drag and drop it to the 'Fonts' section on the left, or click the big blue cross (Add existing files) and select your font. It should be in .ttf format.

3) Now, you have to make sure that this font is being correctly referred to in your style sheets. On the left, locate stylesheet.ccs, and add this code to the beginning:

@font-face {
src: url(../Fonts/yourfont.ttf);
font-family: "Yourfont"
}

Instead of 'Yourfont', enter the file name and name of the font you are embedding. Make sure to pay attention to the correct spelling, even small or large capitals matter.

4) Go through your stylesheet, and make sure to change any font-family reference to your font. If you see anything like 'serif' or 'sans-serif', also remove those (unless that class refers to a latin font).