Answers.Body: <p>You can certainly specify custom fonts for Kindle books; that's what section 3.1.9 is all about. Section 3.1.1 is only talking about the things that it mentions:</p>
  
  <ul>
  <li>Forced alignment (because Amazon would rather force the ancient print relic of justified text throughout)</li>
  <li>Body text size</li>
  <li>Bold and italics on body text</li>
  <li>White or black color for body text</li>
  <li>White or black background color for body text</li>
  <li>Oh, and customers say they like being able to change fonts, so maybe think about that before deciding to include your own fonts</li>
  </ul>
  
  <p>The last point is the only thing that talks about choice of typeface, and it's purely advisory. Note also that  "body text" refers to the main text styling of the document, not any text that appears in the <code>&lt;body&gt;</code> of the document (which would obviously be everything).</p>
  
  <p>As far as <code>p.body {text-indent: 1.2em;}</code> not working (that's my preferred value, anyway): I've not had that problem. If you can provide some of the relevant xhtml and css, I'd be happy to see if there are any errors I can spot. Using a CSS validator is also a great option.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-05-15T06:53:26.257Z
Answers.Text: Ah, got it! But won't main text styling apply to the entire text anyway ? Since I would be specifying the font family in the <body> tag ? Which it seems would apply it to all body tags in all xhtml files which would include _all_ text won't it ? Text Indent is working now :) I was putting it zero and hoping to see indentation :D
Answers.UserDisplayName: QPTR
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-05-15T06:58:16.233Z
Answers.Text: Oh, I specify fonts in `p` tags, myself, or whatever other tags are relevant. I generally prefer to not specify fonts at all, but some of our clients use typefaces to convey info, or even just have highly designed books, so they are using a number of different fonts.
Answers.UserDisplayName: Tom
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-05-14T17:53:54.027Z
Answers.LastActivityDate: 2014-05-14T17:53:54.027Z
Answers.UserDisplayName: Tom
Answers.Body: <p>As a best practice, avoid font-size, margin or other css instructions when creating an ebook.<br>
  An ebook is supposed to be just text and be made available to the device "as is". This allows the user to change the font family and size as he/she wishes.</p>
  
  <p>I know, being familiar with PDF or the layout with a webpage in the beginning the tendency is to translate all visual effects to ePub/Kindle. But please, remember that an ebook reader focuses on the reading and nothing else.</p>
  
  <p><strong>As a conclusion:</strong> stop thinking at how to manipulate the body, titles or the paragraphs. Just use clean, simple html tags (h1, h2, h3, p and if you really wish, em or strong).</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-05-15T06:29:18.897Z
Answers.Text: I agree that when possible clean html is the way to go, but some css for margin, size, etc is fine. Just make sure it's relative: 1.2em rather than 14px and so on. Also, make sure to use i and b unless you really mean emphatic or strongly emphatic.
Answers.UserDisplayName: Tom
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-05-15T06:57:34.003Z
Answers.Text: I am using px for margins at several places, like for example margin top for <p> and <h1> tags, is it always better to use em ?
Answers.UserDisplayName: QPTR
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-05-15T08:19:30.747Z
Answers.Text: If the device is well designed, the user will have the possibility to override the specifications from the publisher. The C in CSS stands for "cascading", after all.
Answers.UserDisplayName: mau
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-05-15T08:34:11.197Z
Answers.Text: em represents relative sizes whilst px is expressed in fixed pixel size that can vary from one device to another so, yes, it's recommended to use em instead of px
Answers.UserDisplayName: Avram Cosmin
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-05-15T15:14:25.667Z
Answers.Text: @QPTR: Sorry I was unclear. For font sizes, em is the way to go, but you don't actually want your margins to scale, or you will find yourself with a narrow column of text down the middle of the page at large font sizes. Top and bottom margins tend to be less of an issue, so you can frequently use em for those without impacting readability. For something like an excerpt you could use `margin:1em 20px` for example.
Answers.UserDisplayName: Tom
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-05-14T23:07:50.473Z
Answers.LastActivityDate: 2014-05-14T23:07:50.473Z
Answers.UserDisplayName: Avram Cosmin
Body: <p>I am currently creating an ePUB3 file for converting it to Kindle format, and for it be compatible to other ereading devices that support epub.</p>
  
  <p>I was confused about whether Kindle allows the font style of the body text to be changed via css or not.</p>
  
  <p>While reading Amazon Publishing Guidelines, Text Guideline 3.1.1 says:</p>
  
  <blockquote>
    <p>The body text in a reflowable Kindle book (fiction and non-fiction)
    must be all defaults. Amazon encourages content creators to use
    creative styles for headings, special paragraphs, footnotes, tables of
    contents, etc., but not for body text. The reason for this is that any
    styling on body text in the HTML will override the user’s preferred
    default reading settings. Users report such behavior as a poor reading
    experience.</p>
  </blockquote>
  
  <p>While at the same time in Guideline 3.1.9 , it says:</p>
  
  <blockquote>
    <p>The primary or main font in a book should be set at the  level.</p>
  </blockquote>
  
  <p>This seems to be a bit contradictory, the first one seem to say that we can't change the font style (I take it to include specifying font family as well), and the second one says we can, can we or can we not specify a body font ? Am I misunderstanding this in some way ?</p>
  
  <p>Also, another confusion that I have is with regards to inserting indentation in paragraphs in the Kindle ebooks. The guideline concerning this goes like this in Amazon Publishing Guidelines:</p>
  
  <blockquote>
    <p>KindleGen automatically indents the first line of every paragraph by
    default. To change this behavior, use the text-indent style on the
    <code>&lt;p&gt;</code> tag.</p>
  </blockquote>
  
  <p>However, when I try to change the text-indent property to my <code>&lt;p&gt;</code> tags , just to check how it works, it has no effect whatsoever on the indent on the paragraphs, what could be happening ? And even with no text-indent added, it doesn't seem like Amazon is inserting any default indentation, I mean I can't see it while previewing in Kindle Previewer.</p>
  
Tags: <kindle><epub><fonts><css>
Title: Body Text Formatting and Text Indentation for Kindle eBooks
UserDisplayName: QPTR
ThreadText: # Body Text Formatting and Text Indentation for Kindle eBooks
  
  (Asked by: username_0 on 2014-05-14)
  
  I am currently creating an ePUB3 file for converting it to Kindle format, and for it be compatible to other ereading devices that support epub.
  
  I was confused about whether Kindle allows the font style of the body text to be changed via css or not.
  
  While reading Amazon Publishing Guidelines, Text Guideline 3.1.1 says:
  
  > The body text in a reflowable Kindle book (fiction and non-fiction)
  > must be all defaults. Amazon encourages content creators to use
  > creative styles for headings, special paragraphs, footnotes, tables of
  > contents, etc., but not for body text. The reason for this is that any
  > styling on body text in the HTML will override the user’s preferred
  > default reading settings. Users report such behavior as a poor reading
  > experience.
  
  While at the same time in Guideline 3.1.9 , it says:
  
  > The primary or main font in a book should be set at the level.
  
  This seems to be a bit contradictory, the first one seem to say that we can't change the font style (I take it to include specifying font family as well), and the second one says we can, can we or can we not specify a body font ? Am I misunderstanding this in some way ?
  
  Also, another confusion that I have is with regards to inserting indentation in paragraphs in the Kindle ebooks. The guideline concerning this goes like this in Amazon Publishing Guidelines:
  
  > KindleGen automatically indents the first line of every paragraph by
  > default. To change this behavior, use the text-indent style on the
  > `<p>` tag.
  
  However, when I try to change the text-indent property to my `<p>` tags , just to check how it works, it has no effect whatsoever on the indent on the paragraphs, what could be happening ? And even with no text-indent added, it doesn't seem like Amazon is inserting any default indentation, I mean I can't see it while previewing in Kindle Previewer.
  
  **Tags:** kindle, epub, fonts, css
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2014-05-14. Score: 3 | Accepted answer
  
  You can certainly specify custom fonts for Kindle books; that's what section 3.1.9 is all about. Section 3.1.1 is only talking about the things that it mentions:
  
  * Forced alignment (because Amazon would rather force the ancient print relic of justified text throughout)
  * Body text size
  * Bold and italics on body text
  * White or black color for body text
  * White or black background color for body text
  * Oh, and customers say they like being able to change fonts, so maybe think about that before deciding to include your own fonts
  
  The last point is the only thing that talks about choice of typeface, and it's purely advisory. Note also that "body text" refers to the main text styling of the document, not any text that appears in the `<body>` of the document (which would obviously be everything).
  
  As far as `p.body {text-indent: 1.2em;}` not working (that's my preferred value, anyway): I've not had that problem. If you can provide some of the relevant xhtml and css, I'd be happy to see if there are any errors I can spot. Using a CSS validator is also a great option.
  
  > **Comments:**
  > **username_0**: Ah, got it! But won't main text styling apply to the entire text anyway ? Since I would be specifying the font family in the <body> tag ? Which it seems would apply it to all body tags in all xhtml files which would include _all_ text won't it ? Text Indent is working now :) I was putting it zero and hoping to see indentation :D  
  > **username_1**: Oh, I specify fonts in `p` tags, myself, or whatever other tags are relevant. I generally prefer to not specify fonts at all, but some of our clients use typefaces to convey info, or even just have highly designed books, so they are using a number of different fonts.  
  
  ---
  
  ### Answer by username_2 on 2014-05-14. Score: 2
  
  As a best practice, avoid font-size, margin or other css instructions when creating an ebook.  
  An ebook is supposed to be just text and be made available to the device "as is". This allows the user to change the font family and size as he/she wishes.
  
  I know, being familiar with PDF or the layout with a webpage in the beginning the tendency is to translate all visual effects to ePub/Kindle. But please, remember that an ebook reader focuses on the reading and nothing else.
  
  **As a conclusion:** stop thinking at how to manipulate the body, titles or the paragraphs. Just use clean, simple html tags (h1, h2, h3, p and if you really wish, em or strong).
  
  > **Comments:**
  > **username_1**: I agree that when possible clean html is the way to go, but some css for margin, size, etc is fine. Just make sure it's relative: 1.2em rather than 14px and so on. Also, make sure to use i and b unless you really mean emphatic or strongly emphatic.  
  > **username_0**: I am using px for margins at several places, like for example margin top for <p> and <h1> tags, is it always better to use em ?  
  > **username_3**: If the device is well designed, the user will have the possibility to override the specifications from the publisher. The C in CSS stands for "cascading", after all.  
  > **username_2**: em represents relative sizes whilst px is expressed in fixed pixel size that can vary from one device to another so, yes, it's recommended to use em instead of px  
  > **username_1**: @username_0: Sorry I was unclear. For font sizes, em is the way to go, but you don't actually want your margins to scale, or you will find yourself with a narrow column of text down the middle of the page at large font sizes. Top and bottom margins tend to be less of an issue, so you can frequently use em for those without impacting readability. For something like an excerpt you could use `margin:1em 20px` for example.  
  
  ---
  
  