Laridian® BookBuilder

For

PocketBible® Family of Bible Software

Tagging Guide

 

October 2012

 

Table of Contents

Overview

Laridian® BookBuilder allows you to create electronic books and Bibles for use in PocketBible on a variety of desktop and mobile platforms.

So that we don't have to keep on listing all the compatible readers and versions, we'll refer to these programs which read the books you create with BookBuilder as "readers" or "reader programs" in this document. We'll refer to your "device" rather than constantly saying "iPhone, Windows desktop, Android phone, etc.". (So "device" could include your desktop computer.) Finally, the word "platform" is used to refer to iOS (iPhone/iPad/iPod touch operating system), Windows (desktop), Android, etc. It generally is a combination of an operating system (OS) and hardware device that the OS runs on.

While BookBuilder creates books that are compatible with older platforms such as PocketBible for Windows Mobile and MyBible 4.x and 5.x for Palm OS, these platforms are obsolete and won't be a focus of attention here. We'll mention them as necessary but we assume you're not actively creating books for these platforms.

We'll say "books" or "ebooks" to refer to the electronic books you create using BookBuilder. We almost always intend to include the Bible when we say "books". That is, when we say "book" we mean an electronic book created with BookBuilder, which might be a Bible. Don't confuse this with "a book of the Bible". When we mean to say "a book of the Bible" we'll say just that. Otherwise, the word "book" refers to one of the books you create with BookBuilder.

This is the same tool we use in-house to create the books you purchase at our website for use in PocketBible or our other readers. For the most part, you'll have all the same capabilities and your books will have all the same features as ours. The main exception is that all books created with BookBuilder have a fixed Publisher ID. The implications of this are discussed in the section of this document dealing with the pb_pubid meta tag. For all practical purposes this will have no effect on the books you create, but if you plan to sell or otherwise widely distribute your books you need to be using the Professional Edition of BookBuilder and submitting your tagged books to us when you're done so we can assign a unique publisher and book ID. Details are below.

We do not intend this tool to be used to violate the copyright of any Bible or reference book. Copyright is a difficult issue, and we'll discuss it in more detail below. Please honor the copyrights of authors who labor to bring Bibles and reference materials to you.

Creating Bibles and Reference Books

Laridian books start as text files. You add tags to the text that affect how the text is displayed when the user views it in one of our readers. Tags are described in detail below, but in general a tag starts with a less-than sign ("<") and ends with a greater-than sign (">"). BookBuilder recognizes a subset of HTML tags, and adds some tags and tag attributes that are described in this document.

It is assumed that you either know or can learn HTML from resources outside this document. HTML isn't difficult to learn, and the subset implemented by BookBuilder eliminates some of its most confusing aspects. For example, Laridian books do not support forms, scripting, or style sheets. These are some of the most challenging aspects of HTML to master. BookBuilder does support paragraph alignment, bold, italics, and underline, which are all relatively simple to understand. Perhaps the most difficult construct supported by BookBuilder is the <table> tag, though simple tables are easy to create in HTML.

Special text editors exist for creating HTML documents, but you may run into difficulties using them with BookBuilder, as they may not recognize the special tags it uses, and they may create HTML documents that use tags that are not supported by the BookBuilder.

We recommend using a straight text editor to create your files. The most basic of these is Notepad, which is part of Microsoft Windows. Notepad will create files that BookBuilder can read, but it has limited editing functions and gets bogged down on large files.

One of the text editors we use at Laridian is TextPad (www.textpad.com). TextPad is a shareware program that you can download for free and try out before deciding to buy it. It has powerful search and replace functions, which you'll find yourself using often when tagging books. It also handles large files well, and when you're editing a .htm (HTML) file it colors your tags to make them easier to see. We have included an evaluation version of TextPad in this version of BookBuilder. Look in Start > Programs > Laridian > BookBuilder for a link to the TextPad setup program.

Once your document is tagged, you'll run it through the BookBuilder program to create an .lbk (PocketBible) or .pdb (MyBible) file. Undoubtedly, BookBuilder will uncover errors that need to be corrected. These will be written to a log file that you can review to see what needs to be fixed.

The log file contains a lot of information about your book, and you'll learn to review it for clues about errors that may not be reported by BookBuilder. For example, it can be time-consuming to run your entire book through a spell-checker function in your Word processor, especially if you're tagging a lengthy book. But the log file will contain a vocabulary list — a list of all the unique words used in your book. You can load the log file into your word processor and spell-check this vocabulary list. While it still could be time-consuming (a typical book might contain 10,000 to 30,000 unique words), it's faster than plodding through your entire book.

Once you've successfully run your book through BookBuilder with no errors, you can copy the resulting file to your the appropriate directory on your desktop or mobile device.

With your book installed on your device, simply run PocketBible and open your book just like any of the books you've purchased from Laridian!

If you plan on distributing your book, BookBuilder Pro users can submit their book to Laridian for processing, then authorize other Laridian customers to download the book from our server. If you wish, there are many free or inexpensive installation program tools you can use to create an installer for your book for installation in PocketBible for Windows.

Sample Books

One of the easiest ways to understand how to tag a book for BookBuilder is to look at examples of actual tagged books. We've installed sample books in a folder called Samples in the folder in which you installed BookBuilder. On most computers this will be one of the following (depending also on what version of BookBuilder you own and what version of Windows you're running):

C:\Program Files\Laridian\BookBuilder\Samples
C:\Program Files\Laridian\BookBuilder Professional\Samples
C:\Program Files (x86)\Laridian\BookBuilder\Samples
C:\Program Files (x86)\Laridian\BookBuilder Professional\Samples

Take a look at the samples to get an idea of what your finished books will look like. You can run the samples through the BookBuilder program, then install them onto your device.

About this Documentation

This document consists of several sections. It will discuss the general outline of what a tagged book looks like, talk about strategies for tagging, give detailed reference information for each of the BookBuilder-specific tags and attributes that we've added to HTML, and discuss the use of the BookBuilder program itself and how to install books on your device.

This document will not teach you HTML but neither will it assume you're an expert. We'll give you a very rudimentary introduction to HTML and try to explain concepts as they are encountered. You may find this is enough to get you started, or you may find you need some additional reference material. We like the O'Reilly books on HTML, which are available in your bookstore.

About HTML

HTML (Hypertext Markup Language) is a standard way of adding tags to text to indicate layout and style. It is platform independant; there's nothing about it that is specific to the operating system (Windows, Unix, Macintosh, etc.) or viewer (Internet Explorer, Safari, Firefox, etc.). For this reason it's a popular document format.

The HTML standard describes how to "mark up" text to indicate paragraphs, italicized text, headings, tables, numbered lists, and more. These mark-ups are called "tags". When you learn a few simple tags you can create valid HTML documents quickly and easily.

This User's Guide is an HTML file. If you open it in a plain text editor like Notepad, you'll see what HTML tags look like.

Editing HTML Documents

HTML documents must be created with a plain-text editor like Notepad or TextPad (www.textpad.com). You can use full-featured word processors like Microsoft Word, but make sure you save your document as a plain-text (.txt) file, not in Word's native format (.doc) or HTML (.htm). If you save in Word's .doc format, BookBuilder will not be able to read the file. If you save in Word's HTML format, Word will change all your tags into text and insert its own tags that are not supported by BookBuilder.

This bears repeating: Do not use Word to create your HTML files. Word adds all kinds of extra, unsupported tags into your document. Use a simple text editor or the TextPad program, an evaluation version of which is included with BookBuilder.

Basic HTML

HTML documents contain text, character entities, and tags.

Text is just plain text. Letters, numbers, and punctuation. The characters that make up the words in your book. If you're familiar with ASCII, we're talking about the ASCII values less than or equal to 127 — upper- and lower-case letters, numbers, spaces, and most common punctuation symbols.

Character entities are sequences starting with the ampersand character (&) and ending with a semicolon (;) that are used to indicate special characters. For example, &reg; is the registered trademark symbol (®). &ldquo; and &rdquo; are left and right double quotes (“and”). These are to be distinguished from "straight quotes" which can be entered using the quotation mark key (") or &quot;.

The BookBuilder program will recognize all HTML character entities, but not all can be reproduced on your device. A complete list of supported character entities can be found at the end of this document.

Another form of character entity is &#digits;, where digits is the base-10 ASCII (or more correctly, Unicode) value of the character you want to use. These are used as an alternative to the named character entities like &quot; (which is ASCII 34 or &#34;). You'll use these to include Greek and Hebrew words in your book if you need them.

A similar form of character entity is &#xhexdigits;, where hexdigits is the hexadecimal (base 16) Unicode value of the character you want to use. You may find hexadecimal easier to use than decimal because the Unicode specification is all in hex. In this form, the quotation mark (ASCII 34) is &#x22; and the lowercase Greek letter alpha (Unicode U+03D1) is &#x03D1;.

Tags start with a less-than sign (<) and end with greater-than (>). Some tags are just a few letters, like <b> for bold and <i> for italic. These tags mark the beginning of bold or italic text. To mark the end of bold or italic, use </b> and </i>.

In general, the plain tag marks the beginning of the text you want formatted, and the tag with the slash (/) before it marks the end. The tag with the slash is called the closing tag. So <p> is the beginning of a paragraph and the corresponding closing tag, </p>, marks the end.

Some tags have no closing tag. For example, the <img> tag is used to insert an image into your document. Since everything about the image is enclosed in the <img> tag (for example, <img src="myimage.bmp">) there's no need for a </img> tag. The most correct way to form a tag with no closing tag is to place the slash at the end of the tag, just before the greater-than sign, as in <img src="myimage.bmp" />. For most tags, however, this closing slash is optional.

Tags have attributes, and attributes have values. The <p> tag, by itself, starts a left-justified paragraph. To center the paragraph, add the "align" attribute with a value of "center" as in <p align=center>. Attribute values must be enclosed in quotation marks if they contain spaces, otherwise they may be confused with another attribute. For example, <img src="My Picture.bmp">. The value of the src attribute has been enclosed in quotes because it contains a space.

While the HTML standard allows you to use either upper- or lower-case letters for tags and attributes, we strongly recommend you always use lower-case. We use lower-case only, and while the BookBuilder shouldn't care if you use upper-case, it hasn't been thoroughly tested that way.

You can insert comments in your HTML documents with a special tag <!--. Everything after that tag up to the next > is ignored by BookBuilder. You should conclude your comments on the same line on which you started them. BookBuilder may handle multiline comments but hasn't been extensively tested that way. See the next section for an example of HTML comments.

Structure of HTML Documents

All your books will have this basic layout:

<html>
<head>
<!-- Meta tags -->
</head>
<body>
<!-- Your book goes here -->
</body>
</html>

Head (Meta Data)

The <head> tag marks the beginning of what we call "meta data". It is not the book itself, but information about the book, such as its title and author. The details of each meta tag are discussed in the reference section below, but in general a typical head section of a commentary looks like this:

<head>
<meta name="pb_title" content="Tyndale Concise Bible Commentary">
<meta name="pb_abbrev" content="TCBC">
<meta name="pb_copyright" content="Copyright &copy; 1990 by Robert B. Hughes and J. Carl Laney. All rights reserved.">
<meta name="pb_publisher" content="Laridian, Inc.">
<meta name="pb_author" content="Hughes, Robert B and J. Carl Laney">
<meta name="pb_city" content="Cedar Rapids, IA">
<meta name="pb_date" content="2004">
<meta name="pb_pubid" content="101">
<meta name="pb_bookid" content="36">
<meta name="pb_editionid" content="1">
<meta name="pb_revisionid" content="1">
<meta name="pb_synctype" content="verse">
</head>

A dictionary is similar:

<meta name="pb_title" content="Tyndale Bible Dictionary">
<meta name="pb_abbrev" content="TBD">
<meta name="pb_copyright" content="Copyright &copy; 2001 by Tyndale House Publishers, Inc. All rights reserved.">
<meta name="pb_publisher" content="Laridian, Inc.">
<meta name="pb_author" content="Elwell, Walter A.">
<meta name="pb_city" content="Cedar Rapids, IA">
<meta name="pb_date" content="2004">
<meta name="pb_pubid" content=="101">
<meta name="pb_bookid" content="35">
<meta name="pb_editionid" content="1">
<meta name="pb_revisionid" content="1">
<meta name="pb_synctype" content="word">

A typical Bible is slightly different and looks like this:

<meta name="pb_title" content="The Holy Bible, Authorized King James Version">
<meta name="pb_abbrev" content="KJV">
<meta name="pb_copyright" content="Electronic Files Copyright &copy; 1998-2003 by Laridian. All Rights Reserved.">
<meta name="pb_publisher" content="Laridian, Inc.">
<meta name="pb_city" content="Cedar Rapids, IA">
<meta name="pb_date" content="2003">
<meta name="pb_pubid" content="1">
<meta name="pb_bookid" content="101">
<meta name="pb_editionid" content="5">
<meta name="pb_revisionid" content="1">
<meta name="pb_synctype" content="verse">
<meta name="pb_isabible" content="yes">
<meta name="pb_searchrange" content="OT=Gen-Mal">
<meta name="pb_searchrange" content="NT=Mat-Rev">
<meta name="pb_searchrange" content="Bible=Gen-Rev">

A devotional looks like this:

<meta name="pb_title" content="Streams in the Desert">
<meta name="pb_abbrev" content="STRM">
<meta name="pb_copyright" content="Copyright &copy; 1997 by The Zondervan Corporation. This updated edition is based on the original text of <i>Streams in the Desert</i> Copyright 1925, 1953 and 1965 by Cowman Publications, Inc. and Copyright &copy; 1996 by The Zondervan Corporation. Used by permission. All Rights Reserved.">
<meta name="pb_publisher" content="Laridian, Inc.">
<meta name="pb_author" content="Cowman, L. B.">
<meta name="pb_city" content="Cedar Rapids, IA">
<meta name="pb_date" content="1999">
<meta name="pb_pubid" content="101">
<meta name="pb_bookid" content="105">
<meta name="pb_editionid" content="2">
<meta name="pb_revisionid" content="1">
<meta name="pb_synctype" content="date">
<meta name="pb_startdate" content="01/01">

Body

Contained between <body> and </body> is the text of your book. Every paragraph will start with a <p> tag and (optionally) end with </p>.

For reference books (not Bibles), heading tags (<h1>, <h2>, <h3>, ..., <h9>) will mark the beginnings of sections of the text and will be used to automatically build the table of contents. <pb_sync> tags will mark where to go in your book when the user is viewing a particular verse (commentaries) or wants the definition of a particular word (dictionaries). It couldn't be easier, right?

For Bibles, the table of contents is built around the books, chapters, and verses included in the text. Verses are delimited by <pb_sync type="verse" value=... display=...> tags.

Creating Bibles and Reference Books

Strategy

The level of difficulty you'll encounter when tagging books for BookBuilder is dependant on the completeness of the files you begin with, and their format. If you're writing your own reference materials, you can simply tag them as you write. This adds a little overhead to the process but once you get the hang of it, it's not difficult.

If you start from text you download from the Internet, it may already be tagged with some HTML. It should at least have paragraph tags (<p>) and maybe some bold and italics as appropriate. You only need to insert headings (discussed in more detail below) and synchronization tags. It's possible the file will have some characteristics that will make this easier. For example, it could be that the commentary you're working on uses <b> (bold) tags to mark the Bible reference that each section of the commentary is about. You can do a search-and-replace in your word processor for all the <b> tags and change them into the appropriate heading and pb_sync tags.

Sometimes you're starting from plain text files with no markup, or from a paper book that you have to scan using OCR software. In this case you'll have no tags and will have to insert them yourself. Start by placing <p> tags at the start of every paragraph. If there's some characteristic of the text that helps you identify where the headings should be, take advantage of that to automate the insertion of heading tags. Otherwise you'll have to do this manually.

Defining the Organizational Structure of Your Book

Every book has two organizational structures within it: A table of contents, displayed when you want to navigate using a "Go To" dialog within the reader program, and a synchronization index, used by the program to create automatic linkage with the book from other books. For Bibles, both of these structures are the same.

A commentary will have a table of contents, perhaps organized by books or chapters. It will also have a synchronization index in which individual verses of the Bible are connected to a particular place in the book where commentary for that verse appears.

A dictionary will have a table of contents, most likely a list of words or phrases organized alphabetically. There might be major sections for each letter of the alphabet, with words that start with that letter beneath. It will also have a synchronization index in which individual words or phrases are connected to a particular place in the book where the definition of that word can be found.

For devotionals, we tend to ignore the table of contents and present a calendar which the user employs to navigate the book (since there is a reading for each day of the year). The synchronization index is organized by date, associating a reading with each day.

Books we categorize as "other books" have a table of contents but no synchronization index. They are not organized by verse of the Bible like a commentary, nor by word like a dictionary, nor by date like a devotional.

The table of contents and syncrhonization index are discussed in the next two sections.

Table of Contents

The table of contents for a reference book is described using HTML heading tags (<h1>, <h2>, <h3>, ..., <h9>). Think of the table of contents as an outline, where the top level of the outline — the major points — are contained in <h1> heading tags, the subtopics of each major point within <h2> tags, and so on to <h9>. Note that official HTML only supports six levels of heading tags, whereas BookBuilder accepts nine.

The table of contents for your book is built automatically by BookBuilder as it encounters heading tags within the text. You must use heading tags to organize your book, as the table of contents is the only way the user has of navigating your book efficiently. You also need to be sure that you follow a strict outline format as you use the heading tags. That is, <h2> tags need to follow <h1> tags, and <h3> tags need to follow <h2> tags. You can't start your book with an <h4> tag, then put <h7> tags beneath that just because you like the smaller size of the text. We'll talk about how to avoid the text size problems introduced by using heading tags later.

There are times when you want to use the heading tags merely for formatting; that is, to make text "large" or "bold". In order to differentiate between this use of heading tags and purposeful use of heading tags to create a table of contents, BookBuilder recognizes a special attribute of the heading tag. The pb_toc attribute can have a value of "index" if you want this heading to be entered in the table of contents but not appear on the screen; "visible" if you want the heading entered in the table of contents and also visible to the user; and it can be omitted if you want no entry made in the table of contents but just want the heading visible to the user. See the reference section below for more details.

Bibles do not make use of these special heading tags. Instead, the <pb_sync> tag is used to identify where each verse starts. The reader program will present the user with a verse navigation method, where he or she can choose the book, chapter and verse they want to go to, and the program will take them there. You do not include the heading tags described above in Bibles.

Synchronization

There are many generic book readers on the market that allow you to use your phone or tablet to read ebooks. These generic readers do what they do well, but they're not well suited to Bibles and Bible reference books. One of the reasons is that they tend to let you view one book at a time, and they don't understand the relationships between a book like the Bible and special reference books like commentaries.

A commentary is deliberately organized so that sections of the text correspond to particular Bible verses or passages. Similarly, a dictionary is organized so that sections of the text describe the meaning and significance of certain words. Because it is a generic mark-up language, HTML lacks tags that describe this organizational structure.

Laridian extends HTML with the <pb_sync> tag, which is used to indicate points in the text to which the Bible can synchronize itself, either by verses or words. In a commentary, a tag like:

<pb_sync type=verse value="John 3:16" />

marks the beginning of the section of the commentary that describes the Bible verse John 3:16.

In a dictionary, the tag:

<pb_sync type=word value="Aaron" />

marks the beginning of the section of the commentary that describes the word "Aaron".

This tag is described in more detail in the reference section that follows. By inserting <pb_sync> tags into commentaries and dictionaries, we tell PocketBible where to go in our books when the Bible goes to a particular verse, or when the user asks for the definition of a particular word.

Links

BookBuilder uses <pb_link> and <a> tags to create links to Bible verses or to other places in your book. There are several types of links, which are all described in the reference section.

<pb_link> is used to create links to Bible verses. The tag surrounds the references, as shown here:

<pb_link format=bcv>Romans 12:1</pb_link>.

The format attribute tells the reader how to format the verse. In this case, it says to include the book, chapter and verse, as in "Rom 12:1". If the format were simply "c" then the reader would display only the chapter number ("12") and would link it to Romans 12:1.

The text you select to activate a hyperlink is called the "link text". The <pb_link> tag assumes you want the link text to be the reference to which you're linking. There are times, though when you want to create a link using some other text. For this you would use the <a> tag to create a link, as in:

<a href="bible:Romans 12:1">The first verse</a> of this chapter...

In this case, "The first verse" is the link text. When you select it, you'll be taken to Romans 12:1.

The reference sections for the <pb_link> and <a> tags, below, describe more ways to create links within and between the books you create with BookBuilder.

Reference Section

Laridian Extensions to HTML

BookBuilder recognizes a subset of HTML and adds its own tags and attributes. This section describes three types of Laridian extensions to standard HTML:

Meta Tags

These are combinations of name attribute values and content attribute values for the HTML <meta> tag which describe the book. This is how you tell BookBuilder the name, author, publisher and other information about the book.

New Inline Tags

Laridian adds a small number of new tags to HTML to accomplish tasks not anticipated by HTML. We call these "inline" because syntactically they occur in the text, like <b> (bold) and <i> (italic) tags. You cannot surround a paragraph (<p>) with these tags, just as you cannot (legally) surround paragraphs with bold tags. They must occur inline in the text.

VerseLinker Tags

There are a few tags that are ignored by BookBuilder and by the book reader programs but are important if you're using our VerseLinker tool. VerseLinker is a program that is included with BookBuilder Professional. It examines your text and semi-automatically inserts links to Bible verses. These tags help VerseLinker do a better job of automating the linking process.

Enhanced HTML Tags

There are two tags in HTML that take on a special purpose in Laridian books. These are the <a> (anchor) and <h#> (heading) tags. The anchor tag is used to create hyperlinks. We've added syntax that lets you target sections of your books more easily and powerfully. The heading tag organizes your HTML documents with headings. We add syntax that lets BookBuilder create a table of contents from the heading tags. These entries then become the targets of the hyperlinks you create with the anchor tag.

Format of Reference Section

In each of the reference sections below you'll see:

When you see choices separated by a vertical bar, you use one or the other. For example, the pb_toc attribute can have the value "index" or "visible", but not both. This is written below as "index" | "visible".

When you see italicized text, you don't enter that text but rather see the Usage section to see what you're supposed to enter there. So the pb_title meta tag doesn't have the content value "title of book" but rather you enter the title of your book there.

pb_title

<meta> tag

Required in all books

Syntax

<meta name=pb_title content="title of book">

Usage

The value of the content attribute should be the full title of your book. No character entities are permitted.

Example

<meta name=pb_title content="Commentary on Romans">

pb_abbrev

<meta> tag

Required in all books

Syntax

<meta name=pb_abbrev content="book abbreviation">

Usage

The value of the content attribute should be the abbreviation that will be used to represent your book. By convention, these are always capitals and no more than about 5 letters. Longer abbreviations are supported but the contexts in which abbreviations are used are best served when the abbreviations are kept short.

Example

<meta name=pb_abbrev content="CMROM">

pb_copyright

<meta> tag

Required in all books

Syntax

<meta name=pb_copyright content="copyright statement">

Usage

The value of the content attribute should be the copyright statement for your book. If you are the author, you should use a copyright statement such as the following:

Copyright &copy; 2012 by Your Name Here. All Rights Reserved.

If you are not the author, use the copyright statement specified by the copyright owner.

Make sure you use the character entity &copy; instead of the actual copyright symbol © in your copyright statement.

See the About Copyrights section of this document for guidelines on making sure your work does not violate the copyrights of others.

Example

<meta name=pb_copyright content="Copyright &copy; 2006 by Laridian, Inc. All Rights Reserved.">

pb_publisher

<meta> tag

Required in all books

Syntax

<meta name=pb_publisher content="publisher name">

Usage

The value of the content attribute should be the name of the publisher of this electronic book. This is not necessarily the same as the name of the publisher of the print edition of the book, and in fact will almost never be the same unless you are working for the print publisher who owns electronic rights to the book. Generally this is the name of the person or company that is publishing this electronic edition.

Example

<meta name=pb_publisher content="Laridian, Inc.">

pb_author

<meta> tag

Required in all books except Bibles

Syntax

<meta name=pb_author content="name of author">

Usage

The value of the content attribute should be the name of the author(s) of the book. In this case, we're refering to the author of the content, not necessarily to the person who tagged the file. So if you're tagging a classic commentary from H. A. Ironside, you would enter "H. A. Ironside" here, not your name. On the other hand, if this book is an original work that you created, then you would use your name here.

Example

<meta name=pb_author content="H. A. Ironside">

pb_city

<meta> tag

Required in all books

Syntax

<meta name=pb_city content="publisher location">

Usage

The value of the content attribute should be the name of the city in which the publisher is located. This can include the state or province and country, as appropriate. Ex. "New York, NY USA" or "Toronto, ON Canada".

Example

<meta name=pb_city content="Cedar Rapids, IA">

pb_date

<meta> tag

Required in all books

Syntax

<meta name=pb_date content="year of publication">

Usage

The value of the content attribute should be the year of publication of this edition of the electronic book. Usually you enter the current year here.

Example

<meta name=pb_date content="2006">

pb_pubid

<meta> tag

Required in all books, but ignored in commercial releases of BookBuilder.

Syntax

<meta name=pb_pubid content="publisher id number">

Usage

The value of the content attribute should be your Publisher ID as assigned by Laridian.

The Publisher ID is combined with the Book ID to create a unique identifier for this book. That identifier is used for a variety of purposes within our programs, including identifying the target of an inter-book link (a hyperlink from one book to another) and connecting notes, highlights, and bookmarks to the book they belong to.

The risk of allowing each BookBuilder user to assign his or her own Publisher ID is that a person could end up with two books, each having the same Publisher ID and Book ID. This can't happen with the books you purchase from Laridian because we assign unique IDs to each book. Having two books with the same Publisher and Book ID can cause any number of problems. The program could open the wrong book in response to a link or associate notes, highlights, and bookmarks with the wrong book.

In order to minimize the risk of user-created books having the same Publisher ID as a Laridian-created book, the commercial releases of BookBuilder ignore this tag and assign a fixed Publisher ID to every book they create. This has two implications: First, you need to use the Book ID to uniquely identify your books. This will allow you to create links between your own books and will guarantee that within your PocketBible library, all your books have unique IDs. Second, if you are going to distribute your books to others, you need to contact Laridian to get a unique Publisher ID and Book ID assigned to your book and have Laridian build your book for you so that your book does not interfere with the operation of other user-created books on those users' devices. This service is described at www.laridian.com/publish and may require that you own the Professional Edition of BookBuilder.

Example

<meta name=pb_pubid content="501">

pb_bookid

<meta> tag

Required in all books

Syntax

<meta name=pb_bookid content="book id number">

Usage

The value of the content attribute should be the Book ID for this book. This is a number between 1 and 32767, inclusive. The contexts in which these numbers are used include the construction of interbook links and storing supplemental data like notes and bookmarks, as described in the discussion of the pb_pubid metadata tag.

It is a good idea to assign a different Book ID to each of the books you build.

Example

<meta name=pb_bookid content="1">

pb_editionid

<meta> tag

Required in all books

Syntax

<meta name=pb_editionid content="edition number of book">

Usage

The value of the content attribute should be the Edition ID for this book. This is a number between 1 and 255, inclusive. Update the Edition ID when you change any table of contents structure within the book.

Bookmarks, notes, highlights and other data that is tied to a specific location in a book depend heavily on the structure of the book not changing. You can change the spelling of a word without affecting structure, but if you add a new heading tag with the pb_toc attribute, or if you add or subtract a pb_sync tag from a Bible, you will change the structure of the book. Adding or subtracting a paragraph, list, or table will also affect the structure of the book. If that happens, supplementary information like notes and bookmarks could show up in the wrong place.

The Laridian book reader programs use the Edition ID to verify that bookmarks, notes, and any other data stored by the program for this book are still valid. Note that this means if you change the Edition ID, any existing bookmarks, notes, etc. will no longer work with this book and will have to be re-created. As a result it's a good idea to test your books thoroughly before writing notes or adding bookmarks and thus depending on their structure not changing.

Example

<meta name=pb_editionid content="1">

pb_revisionid

<meta> tag

Required in all books

Syntax

<meta name=pb_revisionid content="revision number of book">

Usage

The value of the content attribute should be the Revision ID for this book. This is a number between 1 and 255, inclusive. This value is ignored by the Laridian book reader programs and serves only to give you a way of keeping track of different revisions of the book. Increment this number as you make corrections to the book so you can verify you have the latest revision of the book installed.

Example

<meta name=pb_revisionid content="1">

pb_synctype

<meta> tag

Required in all books

Syntax

<meta name=pb_synctype content="verse" | "word" | "date" | "none">

Usage

The value of the content attribute describes the method this book uses to synchronize itself to other books. Bibles and commentaries are synchronized by Bible verses. Dictionaries, lexicons, and topical reference works like encyclopaedias and topical Bibles are synchronized by words. Daily devotionals are synchronized by date. Novels and other books that are organized simply into chapters may not synchronize to any type of reference. An example of each is below.

Example

For a Bible or commentary:

<meta name=pb_synctype content="verse">

For dictionaries, lexicons, and topical works:

<meta name=pb_synctype content="word">

For daily devotionals (PocketBible only):

<meta name=pb_synctype content="date">

For novels, Christian living titles, and other books that just have chapters:

<meta name=pb_synctype content="none">

pb_minpgmmajor

<meta> tag

Optional; seldom used

Syntax

<meta name=pb_minpgmmajor content="Major Version Number">

Usage

This tag is used together with pb_minpgmminor to identify the minimum book reader engine version number required to read this book. As features are added to the reader that affect the format of the ebook files, it could be possible that you would create a book that wouldn't run on an older version of the reader. This tag allows you to tell the reader what the minimum version is that you require in order to correctly read and display your book.

As useful as this capability sounds, the tag itself is seldom used because BookBuilder will automatically set the minimum book reader engine number in your book based on features you use. So if a feature is added that you don't use, BookBuilder will set the minimum book reader engine version number to the lowest version that will read your book. If a feature is added that you do use, BookBuilder will set the minimum book reader engine version in your book to the first version that supported this new feature.

So it's best to never use this tag unless some strange circumstance comes up and tech support suggests that you use it.

The Major Version Number is the portion of the version number to the left of the decimal point. See also pb_minpgmminor, where the portion of the version number to the right of the decimal point is used.

Example

<meta name=pb_minpgmmajor content="1">

<meta name=pb_minpgmminor content="62">

pb_minpgmminor

<meta> tag

Optional; seldom used

Syntax

<meta name=pb_minpgmmionr content="Minor Version Number">

Usage

This tag is used together with pb_minpgmmajor to identify the minimum book reader engine version number required to read this book. See the discussion of that meta tag for more information.

The Minor Version Number is the portion of the version number to the right of the decimal point multiplied by 1000. So version 1.062 has a minor version number of 62 (.062 times 1000).

As described above, this tag shouldn't be used except under the supervision of tech support.

Example

<meta name=pb_minpgmmajor content="1">

<meta name=pb_minpgmminor content="62">

pb_startdate

<meta> tag

Optional in all devotional (date sync) books

Syntax

<meta name=pb_startdate content="MM/DD/YYYY">

Usage

The value of the content attribute is the starting date that is recommended to be used for this devotional. For most devotionals this tag can be omitted. The book reader program will give the user the option to set the date of the first reading to whatever date is convenient. Some devotional books, however, are published on a regular schedule with the idea that the user will read through them and discard them when the next issue is published. Those books have a set start date. The reader program may still allow the user to change the start date, but the date in this tag is the recommended start date.

The year can be left blank, in which case the first reading will be set to the month and day from this tag in the current year.

Example

Start on a specific day:

<meta name=pb_startdate content="01/01/2007">

Start on a specific day of the current year:

<meta name=pb_startdate content="07/01">

pb_isabible

<meta> tag

Required in all Bibles; optional in other books

Syntax

<meta name=pb_isabible content="yes | no">

Usage

This meta tag tells BookBuilder and the reader program whether or not this book is a Bible. You must include this meta tag with the content value "yes" in every Bible you create with BookBuilder. You can leave this tag out, or include it with a content value "no" in other books.

Example

<meta name=pb_isabible content="yes">

pb_hebdictid

<meta> tag

Optional; strongly suggested for books containing Strong's word number attributes

Syntax

<meta name=pb_hebdictid content="publisher ID,book ID">

Usage

This meta tag identifies the Hebrew dictionary you'd like the reader to use when the user selects a Strong's word number attribute in your book. If your book doesn't use the <pb_attr> tag, then you don't need this meta tag.

The reader program may or may not make use of this value. If it does, it will give preference to the dictionary whose publisher ID and book ID you place in this tag when the user selects a Strong's word number in your book. It may not always use your preferred dictionary, depending on what other books the user has open at the time, and what options the user may have chosen in the program. But if it has to choose from among several dictionaries, it will give the one you identify here the first shot at filling the request for a definition.

No checking is performed by BookBuilder to determine if there is a dictionary available with the publisher ID and book ID you enter here.

Example

Select the Hebrew dictionary from the NAS Exhaustive Concordance

<meta name=pb_hebdictid content="101,9">

pb_grkdictid

<meta> tag

Optional; strongly suggested for books containing Strong's word number attributes

Syntax

<meta name=pb_grkdictid content="publisher ID,book ID">

Usage

This meta tag identifies the Greek dictionary you'd like the reader to use when the user selects a Strong's word number attribute in your book. If your book doesn't use the <pb_attr> tag, then you don't need this meta tag.

The reader program may or may not make use of this value. If it does, it will give preference to the dictionary whose publisher ID and book ID you place in this tag when the user selects a Strong's word number in your book. It may not always use your preferred dictionary, depending on what other books the user has open at the time, and what options the user may have chosen in the program. But if it has to choose from among several dictionaries, it will give the one you identify here the first shot at filling the request for a definition.

No checking is performed by BookBuilder to determine if there is a dictionary available with the publisher ID and book ID you enter here.

Example

Select the Greek dictionary from the NAS Exhaustive Concordance

<meta name=pb_grkdictid content="101,10">

pb_stroptions (Deprecated)

<meta> tag

Obsolete

Syntax

<meta name=pb_stroptions content="TRUE | FALSE">

Usage

This tag communicates various options about how to handle books containing Strong's numbers. This is a performance enhancement option that is no longer used by our readers.

Example

<meta name=pb_stroptions content="TRUE">

pb_options

<meta> tag

Optional; as needed

Syntax

<meta name=pb_options content="noversenums" | "ignoreintrabooksync">

Usage

This tag communicates various options to BookBuilder. As of this version of BookBuilder, there are only two options:

Example

<meta name=pb_options content="noversenums">
<meta name=pb_options content="ignoreintrabooksync">

pb_searchrange

<meta> tag

Strongly suggested in all Bibles

Syntax

<meta name=pb_searchrange content="Name=Book Range">

Usage

This tag specifies a shortcut for a commonly used search range in a Bible. Name is the name of the search range ("OT", "NT", "Bible", "Apocrypha", etc.) and is followed by an equal sign and then the range of books that defines the range. A traditional 66-book Bible uses the search ranges tag as shown in the example below.

If your Bible contains the Apocrypha or if the order of the books is different than a conventional Bible, you may want to define these differently. If you want, you can add ranges for other useful groupings of books ("Pentateuch", "History", "Poetry", "Gospels", etc.).

Use one of these tags for each search range you want the reader to offer the user.

Our newer readers tend to ignore these tags and present the user with a fixed set of search ranges.

Example

<meta name=pb_searchrange content="OT=Gen-Mal">
<meta name=pb_searchrange content="NT=Mat-Rev">
<meta name=pb_searchrange content="Bible=Gen-Rev">

pb_language

<meta> tag

Required in non-English books

Syntax

<meta name=pb_language content="spanish | greek">

Usage

This tag specifies the language of a book when it is not English. Currently the only supported languages are Spanish and Greek.

The language in this tag refers to the dominant language of a book. Just because a book contains a few words in a non-English language does not mean the book requires this tag.

pb_sync

Inline tag

Syntax

<pb_sync type="verse" value="verse reference" display="now | later" /> or
<pb_sync type="word" value="sync verse or word" />
<pb_sync type="date" />

Usage

Marks the point in the text to go to to find information on the verse or word in the value attribute, or the point at which the next day's reading begins.

type=verse

Used in Bibles to indicate the start of a verse. Used in commentaries to indicate the beginning of commentary text for the verse in the value attribute.

type=verse as used in Bibles

This tag marks the beginning of a Bible verse. BookBuilder recognizes most abbreviations for Bible book names as long as they're not followed by a period.

If the display attribute is "now", PocketBible will insert the verse number at this point in the text. In any case, if the user uses the "go to" function to go to a verse, the program will take them to this point in the text. This seems simple but there is one important consideration to keep in mind.

If your Bible has section headings, chapter headings, and/or book headings, you want the user to see those when they go to the first verse that follows them. That is, if there is a subject heading before a verse and the user goes directly to that verse, you want them to see the subject heading at the top of the screen, not the verse. So at first glance you would think you would want to put the verse sync tag before the subject head. But remember that the verse sync tag also marks the position of the verse number. So consider the following example:

<pb_sync type=verse value="John 8:48" display="now" />
<h4>Jesus' Claims About Himself</h4>
<p>The Jews answered him, "Aren't we right...

This will result in the following display when we go to John 8:48:

48

Jesus' Claims About Himself

The Jews answered him, "Aren't we right...

We don't want the "48" to appear before the subject head, so we use a special attribute of this tag to "move" the verse number. When the display attribute is "later", the display of the verse number is deferred until a matching pb_sync tag with the display attribute value "now" is found. If such a tag is not found, the verse number is suppressed entirely.

<pb_sync type=verse value="John 8:48" display=later />
<h4>Jesus' Claims About Himself</h4>
<p><pb_sync type=verse value="John 8:48" display=now />The Jews answered him, "Aren't we right...

This will result in the following display when we go to John 8:48:

Jesus' Claims About Himself

48 The Jews answered him, "Aren't we right...

This technique can also be used at the start of books:

<pb_sync type=verse value="John 1:1" display=later />
<h1>Gospel of John</h1>
<h4>The Word Became Flesh</h4>
<p><pb_sync type=verse value="John 1:1" display=now />In the beginning was the Word...

This will result in the following display when we go to John 1:1:

Gospel of John

The Word Became Flesh

1:1 In the beginning was the Word...

type=verse as used in Commentaries

In commentaries, the <pb_sync> tag marks the beginning of the commentary section that deals with the verse. Unlike Bibles, this tag does not result in a verse number being inserted into the text. Just like with Bibles, the Bible reference can contain most abbreviations for book names as long as they don't end with a period.

The reference in the value attribute can be more than one verse as in "John 3:16-18" or even "John 3". You can indicate more than one passage for the same verse, though this is not recommended. The exception is that we often find this structure useful:

The <pb_sync> tag always is associated with the immediately previous heading tag that has a pb_toc attribute. That is, the only thing you can "sync" to is a table of contents entry. When the user is viewing John 3:16 in the Bible and asks to see the associated commentary section, he will be taken to the location of the heading that immediately precedes the <pb_sync> tag for John 3:16.

<h2 pb_toc="index">CHAPTER THREE</h2>
<p><pb_sync type=verse value="John 3" /><b>CHAPTER THREE</b></p>
<p>In this chapter, Jesus has a conversation with Nicodemus...</p>
<h3 pb_toc="index">Verse 3</h3>
<p><pb_sync type=verse value="John 3:3" /><b>3</b> In this verse...</p>
<h3 pb_toc="index">Verse 16</h3>
<p><pb_sync type=verse value="John 3:16" /><b>16</b> In this verse...</p>

In the commentary above, when the user requests the commentary for John 3:16 they will be taken to the location of the "Verse 16" heading on the line above the <pb_sync> tag. Since this heading has a pb_toc value of "index", the heading itself will not be visible on the screen and the effect will be as if the user was taken directly to the paragraph that contains the commentary on John 3:16. Note, however, that if there was another paragraph between the heading tag and the paragraph containing the <pb_sync> tag, the user would be taken to that paragraph instead of the paragraph containing the <pb_sync> tag, because the <pb_sync> tag is always associated with the immediately previous heading tag that contains a pb_toc attribute.

Note that only two verses out of this chapter are discussed in detail. If the user goes to John 3:6 and tries to view the commentary for that verse, you want them to see something, so by having a pb_sync for the entire chapter (John 3), you provide a destination for all the verses that are not otherwise defined. When the user asks to see commentary for John 3:3, the book reader program shows the paragraph dealing with that specific verse. The book reader program will always choose to display the portion of text with the most specific pb_sync value. So it would choose "John 3:3" over "John 3:3-5" or "John 3".

type=word

This tag is used in dictionaries to indicate the beginning of the dictionary entry for the word in the value attribute.

One article in the dictionary can have multiple words associated with it by simply including multiple <pb_sync> tags.

The word must be in English.

As in the discussion above, remember that the <pb_sync> tag is always associated with the immediately preceding heading that contains a pb_toc attribute. If the <pb_sync> tag appears in the fifth paragraph after the heading and the user requests to be taken to the article for the word named in the <pb_sync> tag, they will be taken to the location of the heading, not the fifth paragraph after the heading.

type=date

This form of the tag marks the beginning of a daily reading in a devotional. Since BookBuilder cannot create books for DailyReader for Palm OS, you won't normally use this tag on that platform.

When the user choose to go to the next reading, he or she will be taken to the section of the book in which this tag occurs. Because sections are defined by table of contents entries, that means the program will scroll to the heading tag (with the pb_toc attribute) that immediately precedes this tag. Because of this, it's important not to put the pb_sync tag right before the heading, thinking that the program will take you to that point in the text. Instead, put the tag after the target heading tag.

Example

<h1 pb_toc=visible>John</h1>
<pb_sync type="verse" value="John 1" />
<h2 pb_toc=index>John 1</h2>
<pb_sync type="verse" value="John 1:1" />
<h3 pb_toc=index>John 1:1</h3>
<p><pb_link format=bcv>John 1:1</pb_link> This is commentary on John 1:1....
...
<pb_sync type="verse" value="John 1:2" />
<h3 pb_toc=index>John 1:2</h3>
<p><pb_link format=bcv>John 1:2</pb_link> This is commentary on John 1:2....

<h2 pb_toc=visible>Ajalon</h2>
<pb_sync type=word value="Ajalon" />
<pb_sync type=word value="Aij'alon" />
<p>Place of deer. </p>
<p>(1) A town and valley originally assigned to the tribe of Dan...</p>
<p>(2) A city in the tribe of Zebulun...</p>

<h1 pb_toc=visible>Victory In Jesus</h1>
<pb_sync type=date />
<p><pb_link format=bcv>1 Cor 15:51-57</pb_link>
<p>Today's reading takes us to First Corinthians...

Inline tag

Syntax

<pb_link format="bcv | bc | cv | c | v">...</pb_link>

Usage

Use this tag to create a link from a Bible reference in your book to the Bible. The format attribute lets you specify how you want the enclosed text formatted. The choices are:

See the examples below.

You can also link to Bible text using the HTML anchor tag <a>. The format is:

<a href="bible:book ch:vs">linked text</a>

Where book ch:vs is the reference you want to link to. The difference between this format and <pb_link> is that the <a> tag allows you to link any text to the Bible, whereas the <pb_link> tag shows a verse reference as the linked text. So you can write passages like:

The <a href="bible:Ezra 1:1">first verses</a> of this book are the same as the <a href="bible:2 Chr 36:22">last verses</a> of the previous book.

You'll see:

The first verses of this book are the same as the last verses of the previous book.

Example

The following tags produce the text that follows each. The text is linked to the Bible reference specified.

This is further discussed in <pb_link format="BCV">John 3:16</pb_link>.

This is further discussed in Jn 3:16.

Compare verses <pb_link format="V">John 1:1</pb_link> and <pb_link format="V">John 1:14</pb_link>.

Compare verses 1 and 14.

The first verses of chapter <pb_link format="C">Ezra 1</pb_link> are the same as the last verses of <pb_link format="BC">2 Chr 36</pb_link>.

The first verses of chapter 1 are the same as the last verses of 2 Chr 36.

pb_noconc

Inline tag

Syntax

<pb_noconc>...</pb_noconc>

Usage

BookBuilder automatically creates an index of every word in your book (also known as a concordance) to help searching run faster. Sometimes you encounter letters or words you want to put in the text but don't want the BookBuilder to add to the index. These are rare, but when you run into one it's nice to be able to turn off the indexing.

For example, on the title page of each of our books we write "L A R I D I A N". Because of the extra space between the letters, BookBuilder sees each letter as a word and creates an index entry for it. To keep from finding this page every time you search for "a" or "I" and to avoid wasting space with an entry in the index for "L" and "R", etc., we surround this text with the <pb_noconc> tag, as shown in the example.

Remember that <pb_noconc> acts on characters, not paragraphs, so it must be inside a paragraph (or paragraph-like) tag. You can't put <pb_noconc> around a group of paragraphs or around an entire table. You have to put this tag inside the paragraph and inside the table cells.

Example

<p align=center><pb_noconc>L A R I D I A N</pb_noconc></p>

pb_attr (PocketBible Only)

Inline tag

Syntax

<pb_attr name=strongshebrew value="Strong's word number" /> or
<pb_attr name=strongsgreek value="Strong's word number" />

Usage

This tag immediately follows a word with which you want to associate a Strong's word number. The primary use for this tag is in a Bible like our NASB or KJV Exhaustive Concordance products, in which almost every word in the Bible has one or more Strong's numbers associated with it. But it's possible to use this tag in any book that has Strong's numbers corresponding to some of the words in the book.

When the book reader encounters this tag it inserts a link to definition of the word with the word number given in this tag. The link will go to the dictionary identified by the publisher ID and book ID in the hebdictid or grkdictid meta tag, or to another dictionary chosen by the user at run-time.

If a word has two or more Hebrew/Greek words associated with it, simply add additional pb_attr tags after the first. Note that the pb_attr tag must immediately follow the word with which it is associated without any intervening spaces or punctuation. Similarly, when two or more Hebrew or Greek words are associated with a word, the pb_attr tags must immediately follow each other.

If you include these tags in your book you must include the hebdictid and grkdictid meta tags in the book.

Note that you don't necessarily want to use this tag for every Strong's number in your book. Some reference books mention a Strong's number every once in a while. Those can be linked with the <a> tag. Think of the pb_attr tag as a way to add a Strong's number as a potentially hidden attribute of the immediately preceding English (or Spanish) word. The reader may not even display the number to the user. If your book has a parenthesized Strong's number following key words in the text, you would not use this tag. If you did, the Strong's number would be associated not with the preceding word but with the left parenthesis, and the parenthesis could be empty depending on display options chosen by the user.

Example

<pb_sync type=verse value="Genesis 1:1" display=later />
<h1 align="center"><pb_noconc>Genesis </pb_noconc></h1>
<h2><pb_noconc>Genesis 1</pb_noconc></h2>
<pb_sync type=verse value="Genesis 1:1" display=now />In the beginning<pb_attr name=strongshebrew value=7225 /> God<pb_attr name=strongshebrew value=430 /> created<pb_attr name=strongshebrew value=1254 /><pb_attr name=strongshebrew value=853 /> the heaven<pb_attr name=strongshebrew value=8064 /> and<pb_attr name=strongshebrew value=853 /> the earth<pb_attr name=strongshebrew value=776 />.

<pb_sync type=verse value="John 1:1" display=later/>
<h1 align="center"><pb_noconc>John </pb_noconc></h1>
<h2><pb_noconc>John 1</pb_noconc></h2>
<pb_sync type=verse value="John 1:1" display=now />In<pb_attr name=strongsgreek value=1722 /> the beginning<pb_attr name=strongsgreek value=746 /> was<pb_attr name=strongsgreek value=1510 /><pb_attr name=strongsgreek value=2258 /> the Word<pb_attr name=strongsgreek value=3056 />, and<pb_attr name=strongsgreek value=2532 /> the Word<pb_attr name=strongsgreek value=3056 /> was<pb_attr name=strongsgreek value=1510 /><pb_attr name=strongsgreek value=2258 /> with<pb_attr name=strongsgreek value=4314 /> God<pb_attr name=strongsgreek value=2316 />, and<pb_attr name=strongsgreek value=2532 /> the Word<pb_attr name=strongsgreek value=3056 /> was<pb_attr name=strongsgreek value=1510 /><pb_attr name=strongsgreek value=2258 /> God<pb_attr name=strongsgreek value=2316 />.

pb_note

Inline tag

Syntax

<pb_note>...</pb_note>

Usage

This tag is used to insert footnotes into the text. The reader program replaces the footnote with a hyperlinked indicator. When the user selects the hyperlink, the text from the pb_note tag is displayed.

You should assume the text in a footnote is going to display following a paragraph tag. Don't put a <p> tag at the beginning of your note. Don't include any "block level" HTML tags in your footnote (such as <table> or <ul>).

Example

<p>This is an <pb_note>This note appears to the <i>left</i> of the
next word</pb_note>example of using footnotes<pb_note>This note appears
to the <i>right</i> of the previous word</pb_note>.

The user sees:

This is an *example of using footnotes*.

pb_woc

Inline tag

Syntax

<pb_woc>...</pb_woc>

Usage

This tag is used in Bibles to mark words of Christ so they can be displayed in red by the reader if the user has chosen that option. Technically, this tag can also be used in reference books but the reader program may or may not choose to display words of Christ in red unless the book is a Bible.

Example

<pb_sync type=verse value="Mat 24:4" display=now /> And Jesus answered and said to them, <pb_woc>"See to it that no one misleads you.</pb_woc>

The user sees:

4 And Jesus answered and said to them, "See to it that no one misleads you.

pb_lang

Inline tag

Syntax

<pb_lang value="language name">...</pb_lang>

Usage

This tag will be recognized when building books for our old MyBible program for Palm OS, but it will have unexpected results when you try to view the book, since MyBible does not support non-English languages.

To display words in a language such as Greek or Hebrew, one can't simply change the font with a <font> tag. PocketBible is "language aware" and requires that you tell it the language you want to use, not the font. PocketBible will choose a font appropriate to the language you're using. This tag lets you identify the language of the words that follow.

Possible values for "language name" are:

The following are recognized but their use is deprecated. Use English (or your book's base language) instead:

All books are assumed to be in English unless you say otherwise, so it's not necessary to start every paragraph with a <pb_lang value=english> tag.

In the current version of PocketBible, words that are not in the base language of the book (see the pb_language meta tag) are not indexed, nor are they compressed. You can't do searches for non-English words in your English books, nor non-Spanish words in your Spanish books. As a result, it's not practical to use this capability to create a Greek New Testament or Hebrew Bible.

When using Hebrew, which reads right-to-left, you should write the characters in the order they would be read in Hebrew even though you're writing from left to write. So if English was a right-to-left language and we wanted to write the sentence "werbeH si sihT", we would write: <pb_lang value=hebrew>This is Hebrew</pb_lang>. The reader program will reverse the letters within each word and reverse the words inside the <pb_lang...>...</pb_lang> tags.

This somewhat awkward support for Hebrew makes it impractical to use BookBuilder to create a Hebrew Bible. Think about what would happen if you wrote an entire verse in Hebrew. Word wrapping occurs from left to right and the lines are left-justified on the screen. Your verse would read from bottom to top.

If you don't understand this discussion, it will suffice to say that it would be unwise to think you could use BookBuilder to create a Hebrew Bible. Think of the Hebrew support in PocketBible as being suitable for the occassional display of a Hebrew word or two and you'll be safe.

Now that we understand how to switch languages in PocketBible, we need to address how we enter non-English characters. PocketBible uses the Unicode standard (www.unicode.org) to encode characters. Since Unicode includes standard ASCII characters, you can write English words using English letters as you would expect. Greek and Hebrew are more complicated.

Unicode is a method of encoding every character in every written language in the world. It assigns a unique number to every character in every language. We use these numbers to represent characters. A Unicode character is traditionally written as U+XXXX where "XXXX" is the 4-digit hexadecimal (base 16) value of the letter. Hebrew alef is U+05D0. Greek lower-case alpha is U+03B1. All the accents, vowel points, and other diacriticals have values, too. An acute accent is U+0301. The Greek iota subscript is U+0345.

PocketBible books are essentially HTML documents. Newer versions of HTML accomodate Unicode, but there are few editors that allow you to easily create true Unicode documents. Rather than require an advanced editing environment to create PocketBible books, we choose to encode Unicode values in HTML character entities. An HTML character entity is written as &#nnnn; or &#xhhhh; where "nnnn" is the decimal (base 10) value and "hhhh" is the hexadecimal (base 16) value of the character you want to write.

We have created a table showing all the Greek and Hebrew characters that PocketBible supports, and have included it as an appendix to this document. The table shows the character you want to produce followed by the characters you need to enter to create that character. The table also includes the Unicode values for reference. You can either use the decimal character entity shown in the table or use the hexadecimal Unicode value to create a hexadecimal character entity. So the Hebrew letter "bet" is either &#1489; (decimal) or &#x05D1; (hex).

Transliteration

Prior versions of PocketBible and BookBuilder treated transliteration, in which words from a non-English language are rendered using English letters and some diacritics, as a language and put restrictions on which diacritics could be used. We now recommend that you simply use English (or the base language of your book, if not English) combined with whatever diacritics you might need from the Unicode standard.

Non-English Languages

We are in the process of adding more support to PocketBible for non-English languages. At present, only Spanish and Greek are directly supported. To create a Spanish Bible or reference book, include the pb_language meta tag in your document. Then enter your text as usual for an English document. For accented characters, use the appropriate character entities.

Other non-English languages such as French, German, etc. are supported only to the extent that they can be represented using the same character set as English. There is no language tag for French, for example, but one could write a French book using no language tags. PocketBible would assume it was English. The only negative impact of this is that a search for English words that are spelled the same as French words would turn up hits in your French books that might be unexpected.

Note that not all punctuation is available in the other languages, so to include punctuation it may be necessary to switch back to English. Also, normal HTML tags are "translated" if they're included in another language, so make sure to use these tags only in English. If you need to make a Greek word bold, for example, you would say <b><pb_lang value=greek>...</pb_lang></b> instead of <pb_lang value=greek><b>...</b></pb_lang>.

Example

The word "fish" in Greek was made up of the initial letters of the words in the article
of faith so dear to the early Church:
<pb_lang value=greek>&#921;</pb_lang>,
<pb_lang value=greek>&#921;&#951;&#963;&#959;&#965;&#834;&#962;</pb_lang>, Jesus;
<pb_lang value=greek>&#935;</pb_lang>,
<pb_lang value=greek>&#935;&#961;&#953;&#963;&#964;&#959;&#769;&#962;</pb_lang>, Christ;
<pb_lang value=greek>&#920;</pb_lang>,
<pb_lang value=greek>&#920;&#949;&#959;&#965;&#834;</pb_lang>, of God;
<pb_lang value=greek>&#933;</pb_lang>,
<pb_lang value=greek>&#933;&#953;&#959;&#769;&#962;</pb_lang>, Son;
<pb_lang value==greek>&#931;</pb_lang>,
<pb_lang value=greek>&#931;&#969;&#964;&#951;&#769;&#961;</pb_lang>, Savior...

...Abel (Heb. <i><pb_lang value="trans hebrew">&#700;a&#772;be&#772;l</pb_lang>,</i> &ldquo;watercourse&rdquo;)...

<h2 pb_toc=index>62. Abel Beth-maakah</h2>
<pb_sync type=word value="H62">
<pb_sync type=word value="Abel Beth-maakah">
<p><b>62.</b>
<pb_lang value=hebrew>&#1489;&#1468;&#1461;&#1497;&#1514;&#1470;&#1502;&#1458;&#1506;&#1463;&#1499;&#1464;&#1492;
&#1488;&#1464;&#1489;&#1461;&#1500;</pb_lang>
<b>Abel Beth-maakah</b> (5d); from <a href="sync:\\H58">58</a>,
<a href="sync:\\H1004">1004</a> and <a href="sync:\\H4601">4601</a>;
a city in N. Isr.:&mdash;Abel(1), Abel-beth-maacah(2).</p>

First two examples above are from New Unger's Bible Dictionary, Copyright © 1961, 1966, 1988 The Moody Bible Institute of Chicago; the second from the New American Standard Exhaustive Concordance Hebrew-Aramaic Dictionary, Copyright © 1981, 1998 by The Lockman Foundation.

pb_relhdg

Inline tag

Syntax

<pb_relhdg value=offset pb_toc="index" | "visible" id=anchor name>...</pb_relhdg>

Usage

You can think of this tag as an alias for a heading tag (<h1>, <h2>, etc.). When BookBuilder encounters this tag, it converts it into a heading tag where the heading level is equal to the last actual heading tag seen plus the offset from the value attribute.

It's not immediately obvious why this tag is useful, but when you need it, it is indispensible. Consider a commentary whose table of contents is organized like a large outline of the entire Bible or a specific book of the Bible. In some cases you might navigate down to the fourth level of the outline to find the comments on a particular verse, but in another case those comments might be at level five or six. That is, sometimes you want to tag the verse commentary as <h4 pb_toc=...> but in other cases you want to use <h5 pb_toc=...> or <h6 pb_toc...>.

Without the <pb_relhdg> tag, you would have to examine each section of commentary to determine where it falls in the outline and tag it appropriately. But if your text includes some simple flag that makes it easy to find the beginning of each of these sections, it would be easier if you could do a global search-and-replace operation to tag each commentary section with the same heading tag without examining each one. The <pb_relhdg> tag allows you to do just that.

In the example below, commentary sections for Matthew 1:1-17 fall at level 5 in the outline, but the commentary sections for Matthew 3:1-12 are at level 7. In the original source text, these sections are easy to identify but it is not possible to create a global search-and-replace specification that can determine what level the commentary sections should be at. By using the <pb_relhdg> tag, we simply say that we want the verse commentary sections to be one level higher than the last real heading tag prior to the <pb_relhdg> tag.

Example

<h2 pb_toc="visible">Exposition of Matthew</h2>
<h3 pb_toc="visible">I. Prologue: The Origin and Birth of Jesus the Christ (1:1-2:23)</h3>
<h4 pb_toc="visible">A. The Genealogy of Jesus (1:1-17)</h4>
<pb_relhdg value="1" pb_toc="visible"><pb_link format=bcv>Matthew 1:1</pb_link></pb_relhdg>
<pb_sync type="verse" value="Matthew 1:1" />
<p><b><pb_nolinks>1</pb_nolinks></b> The first two words of Matthew, <i>biblos geneseos</i>, may be translated...
...
<h3 pb_toc="visible">II. The Gospel of the Kingdom (3:1-7:29)</h3>
<h4 pb_toc="visible">A. Narrative (3:1-4:25)</h4>
<h5 pb_toc="visible">1. Foundational steps (3:1-4:11)</h5>
<h6 pb_toc="visible">a. The ministry of John the Baptist (3:1-12)</h6>
<pb_relhdg value="1" pb_toc="visible"><pb_link format=bcv>Matthew 3:1</pb_link></pb_relhdg>
<pb_sync type="verse" value="Matthew 3:1" />
<p><b><pb_nolinks>1</pb_nolinks></b> Matthew's temporal note, "In those days," is vague...

The value attribute can be 0 or negative if necessary.

See the description of the heading tags for an explanation of the pb_toc and id attributes.

Note that this tag is literally turned into a heading tag by BookBuilder, so it must obey all the restrictions placed on those tags, such as maintaining the proper sequence of levels.

VerseLinker tag

Syntax

<pb_nolinks>...</pb_nolinks>

Usage

This tag is used to tell the VerseLinker program not to create Bible reference links even if there are unambiguous, explicit Bible references between the <pb_nolinks> and </pb_nolinks> tags.

If you have the BookBuilder Professional product, you use the VerseLinker to automatically create <pb_link format=...>...</pb_link> links on all your Bible references. This tag disables that linking functionality over a range of text. If you do not have BookBuilder Professional, you are creating your own Bible reference links so this tag doesn't do you any good.

Even if you're not running VerseLinker, it's not a bad idea to use these tags so that if you ever do upgrade to BookBuilder Professional you'll have the tags already in place.

Example

<pb_sync type=verse value="Genesis 1:1" display=later />
<h1 align="center"><pb_nolinks>Genesis</pb_nolinks></h1>
<h2><pb_nolinks>Genesis 1</pb_nolinks></h2>
<h3>The Beginning</h3>
<p><pb_sync type=verse value="Genesis 1:1" display=now />In the beginning God created the heavens and the earth...

pb_context

VerseLinker tag

Syntax

<pb_context book=Book Name>...</pb_context> or
<pb_context book=Book Name chap=Chapter Number>...</pb_context>

Usage

This tag is used to clue VerseLinker in on what book and/or chapter is being referenced by the ambiguous references in the text. Consider a pargraph that says:

Matthew cites the prophet Daniel in verses 15 and 29...

VerseLinker initially sees the word "Matthew" and sets its context accordingly. But then it sees "Daniel", which is also the name of a book in the Bible. So when it gets to the references to verses 15 and 29, it believes those are verses in Daniel.

If we insert the <pb_context> tag we can force the context to the correct book and chapter, which will save us time when running VerseLinker:

Matthew cites the prophet Daniel in <pb_context book=Mat chap=24>verses 15 and 29...

Now VerseLinker will pick up the correct book and chapter.

If you do not own the Professional edition of BookBuilder, then this tag is of little value. However, if you happen to notice a situation like this, it might be worth inserting the tag in order to save time running VerseLinker if you ever upgrade to the Professional edition.

pb_vlskip

VerseLinker tag

Syntax

<pb_vlskip>...</pb_vlskip>

Usage

This tag is inserted automatically by VerseLinker. It aids in being able to run VerseLinker over multiple sessions. By inserting this tag at points in the text where you asked VerseLinker to ignore a potential link, it can later skip this section without asking you for further input.

You should remove these tags after you've completed VerseLinker and before running BookBuilder.

There's never any reason to insert these tags yourself.

h1, h2, h3, ..., h9

Enhanced HTML tag

Syntax

<h# pb_toc="index" | "visible" id=anchor name>...</h#>

Where:

Usage

HTML heading tags are essentially a quick and easy way to make large, bold headlines in your text. In true HTML there are six levels of heading tags (<h1> through <h6>) but BookBuilder supports nine levels (<h1> through <h9>). <h1> creates the largest heading; <h9> the smallest.

BookBuilder uses headings in your document to create a hierarchical table of contents for your book. The table of contents is important for two reasons: First, it gives the user a way to navigate your book. The user can use a "go to" function in the reader program to select first the top-level (<h1>) heading, then the second and subsequent levels until they find the place in the book they want to go. Second, headings provide targets for links using the <a href="book:..."> tag.

Laridian adds the pb_toc attribute to control the creation of the table of contents, and uses the standard HTML id attribute to give you an easy way to create links within your books.

pb_toc

This attribute can appear in any HTML heading tag. The value of the pb_toc attribute is either index or visible.

When pb_toc is index, then the text between the <h#> and </h#> tags is used to create a table of contents entry, but then the heading is discarded. It won't appear on the screen when someone views your book. This is useful when you feel that the size of the text detracts from the readability of the book, or when its simply not necessary for the user to know when reading the text that a new section of the table of contents begins at this point. A common tagging technique is to follow the heading tag with the same text, only smaller, as follows:

<h3 pb_toc="index">Jesus Heals a Blind Man</h3>
<p><b>Jesus Heals a Blind Man</b> In these verses, Jesus heals a man who was blind....</p>

The user will not see the heading text, but will see the bold text at the beginning of the paragraph. On a small screen, this may be more space-efficient and give the user a better reading experience than using the larger font normally associated with the <h3> tag.

When pb_toc is visible, the text between the <h1> and </h1> tags is used to create a table of contents entry, and the heading is left in the text as-is so the user will see it on the screen above the text that follows.

When a heading tag is used with the pb_toc attribute to create a table of contents entry, you cannot use character entities in the heading text. On some devices, the table of contents is displayed using a "tree view" or "table view" that has limited abilities to display characters outside the normal ASCII range, so you are limited to alphanumeric characters and basic punctuation.

When the pb_toc attribute is omitted, then the heading will appear to the user on the screen just like any other HTML heading, and no entry is made in the table of contents.

id

The id attribute allows any tag to become the target of a <a href=#xxx> link, where "xxx" is the id value of the tag. BookBuilder does not support linking to every tag in the document, but does permit linking to heading tags. You can use the HTML standard <a href="#xxx"> tag to create a link to the heading tag with id value "xxx".

Example

<h1 pb_toc=visible>John</h1>
<pb_sync type="verse" value="John 1" />
<h2 pb_toc=index>John 1</h2>
<pb_sync type="verse" value="John 1:1" />
<h3 pb_toc=index id="Jn 1.1">John 1:1</h3>
<p><pb_link format=bcv>John 1:1</pb_link> This is commentary on John 1:1....
...
<pb_sync type="verse" value="John 1:2" />
<h3 pb_toc=index id="any name will work">John 1:2</h3>
<p><pb_link format=bcv>John 1:2</pb_link> This is commentary on John 1:2....
...
... see the notes on <a href="#Jn 1.1">verse 1</a>...
... see the notes on <a href="#any name will work">Jn 1:2</a>...

User sees:

John

Jn 1:1 This is commentary on John 1:1....

...

Jn 1:2 This is commentary on John 1:2....

...

... see the notes on verse 1...

... see the notes on Jn 1:2...

a

Enhanced HTML tag

Syntax

  1. Inter-book link: <a href="book:pubid\bookid\h1 text\h2 text\...\h9 text">
  2. Intra-book link: <a href="book:\\h1 text\h2 text\...\h9 text">
  3. Inter-book sync link: <a href="sync:pubid\bookid\sync value">
  4. Intra-book sync link: <a href="sync:\\sync value">
  5. Alternate intra-book link: <a href="#heading id">
  6. Bible link: <a href="bible:bible reference">

Where:

Usage

BookBuilder gives you several ways to create hyperlinks in your books. You can link to other books (inter-book links), within the same book (intra-book links), and to Bibles.

Inter-book and Intra-book Links

Forms (1) and (2) above are actually the same link. The first specifies the Publisher ID and Book ID of the book to which you want to link. The second omits the Publisher ID and Book ID, leaving just the backslashes. It is assumed in that case that you're linking to the current Publisher ID and Book ID — ie. the book you're currently in.

Publisher IDs and Book IDs are discussed elsewhere. Suffice to say that every book you create should have a unique Publisher ID and Book ID. The Publisher ID is preset to 501 for all books created with this edition of the BookBuilder program, so you should make sure you assign a unique Book ID to each book you create (see the pb_bookid meta tag).

To get to a particular section of a book, you specify a "path" using the table of contents headings you've created with the pb_toc attribute. First you list the <h1> entry under which your target section is located, then the <h2> entry, etc. until you get to the heading right before the text you want to link to.

The example shows the layout of a book's heading tags and how you would create links to "point A" and "point B" in the text. Note that headings that do not have the pb_toc attribute are not in the table of contents, so they should be ignored in the creation of paths.

Inter-book and Intra-book Sync Links

Forms (1) and (2) use the book's table of contents to locate the target of the link. Forms (3) and (4) use its sync index.

The sync index is built by BookBuilder from the values of the value attribute of the pb_sync tag. For commentaries, these sync values are Bible verses. For dictionaries, they are words.

Instead of specifying the path to the target section using the heading tags, it may be easier to link through the sync index. The example shows a variety of links into commentaries and dictionaries using both standard links (using heading paths) and sync links (using pb_sync values).

Note that if your commentary has a pb_sync tag with a value that is a range of verses, like "John 3:16-18", then you can use a sync link to any of the verses in the range to target that commentary section. So <a href="sync:\\Jn 3:17"> will find the section tagged as <pb_sync type=verse value="John 3:16-18">.

Bible Links

To link to the Bible from your reference books, use form (6) above. Examples are below.

Example

Intra-book and Inter-book Links

Sample Commentary

<h1 pb_toc=visible>John</h1>
<pb_sync type="verse" value="John 1" />
<h2 pb_toc=index>John 1</h2>
<pb_sync type="verse" value="John 1:1" />
<h3 pb_toc=index id=jn0101>John 1:1</h3>
<p><pb_link format=bcv>John 1:1</pb_link> This is commentary on John 1:1....
<p>This is "point A" in the text...
...
<pb_sync type="verse" value="John 1:2" />
<h3 pb_toc=index id=jn0102>John 1:2</h3>
<p><pb_link format=bcv>John 1:2</pb_link> This is commentary on John 1:2....
...
<h4>A Heading in the John 1:2 Commentary<h4>
...
<h4>Another Heading in the John 1:2 Commentary<h4>
<p>This is "point B" in the text...

<!-- Examples of intra-book links using heading paths -->

... (Point A) see the notes on <a href="book:\\John\John 1\John 1:1">verse 1</a>...
... (Point B) see the notes on <a href="book:\\John\John 1\John 1:2">Jn 1:2</a>...

<!-- Examples of intra-book links using sync links -->

... (Point A) see the notes on <a href="sync:John 1:1">verse 1</a>...
... (Point B) see the notes on <a href="sync:John 1:2">Jn 1:2</a>...

<!-- Examples of intra-book links using id names -->

... (Point A) see the notes on <a href=#jn0101">verse 1</a>...
... (Point B) see the notes on <a href=#jn0102">Jn 1:2</a>...

<!-- If this book's Publisher ID is 501 and Book ID is 10, here's -->
<!-- how you create links from another book to this book -->

... (Point A) see the notes on <a href="book:501\10\John\John 1\John 1:1">verse 1</a>...
... (Point B) see the notes on <a href="book:501\10\John\John 1\John 1:2">Jn 1:2</a>...

<!-- Inter-book sync links -->

... (Point A) see the notes on <a href="sync:501\10\John 1:1">verse 1</a>...
... (Point B) see the notes on <a href="sync:501\10\John 1:2">Jn 1:2</a>...

Sample Dictionary

<h1 pb_toc=index>A</h1>
<p align="center"><b>A</b></p>
<h2 pb_toc=index>Aaron</h2><pb_sync type=word value="Aaron" />
<p align="center"><b>Aaron</b></p>
<p>Moses' brother ...</p>
...
<h3 pb_toc=index>Events of Aaron's Life</h3>
<p align="center"><b>Events of Aaron's Life</b></p>
...
<h2 pb_toc=index>Aaronites</h2><pb_sync type=word value="Aaronites" />
<p align="center"><b>Aaronites</b></p>
<p>The priests who descended from Aaron ...</p>
...
<h2 pb_toc=index>Aaron's Rod</h2><pb_sync type=word value="Aaron's Rod" />
<p align="center"><b>Aaron's Rod</b></p>
<p>Staff belonging to Moses' brother, Aaron...</p>
...

<!-- Links to the article on Aaronites -->

... see <a href="book:\\A\Aaronites">Aaronites</a>...
... see <a href="sync:\\Aaronites">Aaronites</a>...

<!-- There is no way to create a sync link to "Events of Aaron's Life" since -->
<!-- it doesn't have a <pb_sync> tag. But we can link through the table of contents -->

... see <a href="book:\\A\Aaron\Events of Aaron's Life">Events of Aaron's Life</a>...

<!-- Intra-book links based on the heading id name and inter-book links -->
<!-- using Publisher ID and Book ID work the same in dictionaries as -->
<!-- in the commentary example, above. -->

Bible Links

... see <a href="bible:Jn 3:16">verse 16</a>...
... see <a href="bible:John 3.16">John 3:16</a>...

img

Enhanced HTML tag

Syntax

<img src="filename.bmp" height=height in pixels width=width in pixels or percent alt="alt text" border=border width hspace=pixels vspace=pixels usemap=#id>

Usage

The img tag is not so much "enhanced" but rather there are limitations on its use that are worth mentioning here.

For the most part, the img tag functions the same way you would expect in an HTML document. As of this date, our reader programs only support bitmap (bmp) images with 1-, 4-, 8-, or 24-bit pixel depth. If you have jpg or gif images you want to include in your book, you need to first convert them to a Windows bitmap using one of the supported pixel depths.

The files you name in an img tag should be located in the same directory as your source document for your book when you run BookBuilder. The files will be copied into the resulting .lbk or .pdb file of your book by the BookBuilder program, and will be extracted by the reader as they're needed.

Height and width attributes can be used to scale the bitmap to the desired size, but it is more efficient to size your bitmap to the size you want it displayed. Don't load a huge, high-resolution bitmap then scale it down to 100 pixels wide. It will just waste time and space.

The alt text is not currently displayed but the attribute is supported and could be used in the future. It is used in PocketBible's Copy Passage function as a replacement for the image.

The border attribute allows you to create a black border around the image of whatever width you choose. If the image is contained in a hyperlink, a 2-pixel-wide blue border will be drawn around it unless you override it with the border attribute.

The attributes hspace and vspace are used to create horizontal and vertical space around the image, respectively.

Note that the align and valign attributes are not supported. Images are always displayed as if align=left and valign=bottom were selected.

The usemap attribute is used to associate an image map with this image. The value of this attribute is the id of a <map> tag to be used with this image. Note that external maps are not supported. The image map must be one that is in your document.

Example

<img src="My Picture.bmp" border=1 hspace=3>

Building Your Book

Running the Program

Tagging books is hard; running BookBuilder is easy. Once your book is tagged, launch BookBuilder. Use the Browse button to find your tagged source document. Then select "Go!".

Your version of BookBuilder may include options you can select. Not all versions of BookBuilder contain all of these options.

When BookBuilder is done, it may tell you to check the log file. The log file is located in the same directory as your source document and has the same name. The file extension, however, will be .log. So if your book is called mybook.htm, the log file will be mybook.log.

If BookBuilder finishes successfully, you'll see "Done!" in the status line and you can select the Exit button to exit the program.

Error and Warning Messages

Fatal Errors

These errors pop up in a dialog box and cause execution of BookBuilder to cease. You have to resolve these problems before continuing.

Exit and restart the program to compress another book.

You can only run BookBuilder once. After building one book you need to exit BookBuilder and re-launch it to build another.

Unable to open log file

BookBuilder creates a log file in the same directory and with the same name as your input file. If your input file is mybook.htm, the log file is called mybook.log. This error indicates BookBuilder was unable to create a log file. It could be that you have the existing log file open in another application, like your word processor, or it could be the file is read-only or you don't have proper rights to access the directory containing the log file.

File could not be opened

Something happened to the input file between the time you selected it and when you told BookBuilder to start. For some reason the file cannot be opened. Exit BookBuilder, close other programs and run BookBuilder again.

Error opening filename: File not found
Error opening filename: Bad path
Error opening filename: Access denied
Error opening filename: Sharing violation
Error opening filename: error code error number

These errors can occur when you first start building a book or after you're most of the way through and the program is trying to save its results. BookBuilder creates some intermediate files that it uses while running then deletes. If any of these files, or if the final output file, cannot be opened or written to, one of these errors will occur. It is probably the case that another program is using a file that BookBuilder wants to use. Close all other programs and try running BookBuilder again.

It's also possible that the file is read-only or that the current user does not have appropriate access rights to the file.

Error initializing parse tree. Out of memory?
Unable to allocate needed memory.

It would be unusual to get these errors. For some reason the program wasn't able to allocate enough memory to build your book. If you've eliminated all other possibilities, and especially if your book is huge, you may not be able to build it on the machine you're currently running on. We've processed some very large books (30 MB input files) successfully with BookBuilder, so it can be done. You just might not have enough memory.

Book initialization failed
Initialization of temporary TOC book failed.
Failed to create IMAGES substorage

These errors follow another more informative message that would give you a better clue as to why initialization failed.

Unable to create cBkStorage for LBK file.
Unable to open LBK file to get abbreviation.
Unable to load info block from LBK file.
Unable to load word list from LBK file.
Unable to load punctuation list from LBK file.

BookBuilder is trying to open a temporary file it creates while building your book, but it cannot. It's possible another program has the file open or has deleted it. Exit BookBuilder, close all other programs, and try running BookBuilder again.

Node storage failed!

This indicates that your book violates some assumptions made in the program. Contact technical support for assistance.

Unrecognized tagging format in input file

One of the following has occurred:

Missing or invalid value attribute for <pb_relhdg>

You must include the value attribute for every pb_relhdg tag, and it must be a positive or negative integer value.

<pb_relhdg> results in heading level out-of-range (#)

When the value of the value attribute is added to the level of the immediately previous heading tag, the result is either less than 1 or greater than 9. Remember that BookBuilder converts <pb_relhdg> tags to heading tags, and that only <h1> through <h9> are recognized. The number in the error message tells you what BookBuilder has calculated the heading level to be.

Warnings

These errors are just alerts to let you know what's going on.

See log file for errors.

When BookBuilder is finished it warns you if it's placed something in the log file that you should look at. It may have gotten all the way through the book or it may have stopped early. In either case, examine the log file to figure out what went wrong.

No action performed on existing lbk or ldr file.

You've tried to run BookBuilder on a file type it recognizes but can't do anything with. These are files are normally generated by BookBuilder; it doesn't know what to do with them when you try use them as input to the build process.

No file to process!

You're trying to run BookBuilder without choosing an input file.

Unknown Bible translation. May not function correctly. Contact Tech Support for suggestions.

PocketBible needs to be able to recognize any Bible translations it opens. This is primarily so it can translate the versification scheme from one Bible to another. This error indicates that the abbreviation you've entered for the Bible you're creating is not already recognized by BookBuilder, so PocketBible may not be able to translate verse numbers from your Bible to other Bibles.

For example, some Bibles contain Rev 12:18 and others put the content of this verse in the first part of Rev 13:1. PocketBible understands that when it sees a note or bookmark on Rev 12:18 and the current Bible does not contain that verse, it should attach the note or bookmark to Rev 13:1 instead.

As long as your Bible uses the same versification scheme as the KJV you can ignore this error and your Bible may mostly work, depending on the platform. Otherwise you can expect to have problems synchronizing verses between your Bible and the other Bibles in PocketBible. Users with the Professional edition of BookBuilder can contact Tech Support to see if we would be willing to integrate support for their Bible into PocketBible and BookBuilder.

The Log File

Overview of Log File Contents

BookBuilder generates a log file containing information about the processing of your book. If it encounters problems, it writes an error message to the log file. If all goes well, the log file will contain some useful information about the contents of your book that may help you find subtle problems. For example, one of the items that gets dumped to the log is the vocabulary of the book; that is, a list of every unique word it encounters. If you take a few minutes to skim the word list you might find common spelling errors like "teh" for "the". You can then search your source document for "teh" and fix it everywhere it occurs.

If BookBuilder encounters a serious error, it makes a log entry then pops up a message when it's done to tell you to check the log file for errors. If you don't get a message telling you to check the log file, then it's likely there were no serious errors. But again, there could be spelling errors that BookBuilder doesn't know about. It's up to you to check the log and make sure you're satisfied with the results.

The log file consists of several parts:

Weird Things in the Log File

Words in the word list containing what looks like random punctuation and symbols. If you use certain characters, such as o with a diaresis or e with an acute accent, you may find that these words are spelled oddly in the word list, depending on what text editor you're using to view the log. Internally, Greek letters, accented characters, and other characters outside what's known as 7-bit ASCII characters are stored as 16-bit Unicode (actually UTF-8). The log file is a UTF-8 file and contains what's called a "UTF-8 BOM" marker that should tell your text editor how to display it properly. Not all text editors make use of this inforation and as a result they may misinterpret some characters in the log file.

Words starting with ÿ at the end of the word list. This has to do with being able to search for words with and without accented characters. Don't worry about these words.

Analyzing the Log File

The section below describes error messages you may see in the log file. You should of course examine each of these and seek to determine what the problem is that caused the error.

Assuming your book made it through BookBuilder without any errors, what else can you learn by studying the log file?

Log File Errors and Warnings

Processing may stop when these conditions are encountered, and a message is placed in the log.

Failed parsing HTML document. Errors follow:

This message is followed by one of several types of errors:

Unrecognized tag, or element contains illegal tags after this point.

This error message is followed by a few lines from your source file indicating where the error occurred. While reading through your HTML file, the program encountered HTML tags it didn't recognize, or it found tags that just don't belong here. This usually happens when you have a table or a list that contains tags that aren't allowed in tables or lists.

Expected at least count items contained in this tag, but only saw count

This error can occur when HTML syntax requires something that is missing. The excerpt that follows this message will start with the tag that is expecting the missing content.

Required closing tag is missing, or this element has illegal contents.

The message is followed by an excerpt from your source file. The first tag in this excerpt is never closed. That is, if the first tag is <ol>, then the corresponding </ol> is missing. Note that you may look at your file and see the "missing" closing tag. The problem is most likely that it is out of place. For example, the following is erroneous even though the </ol> is obviously there:

<ol type="I">
<li>First item</li>
<li>Second item</li>
  <ol type="A">
  <li>First subitem of second item
  <li>Second subitem of second item
  </ol>
<li>Third item</li>
</ol>

Ordered lists can only contain list items. If you have a sublist within the list, it must be contained inside one of the list items. The correct format is:

<ol type="I">
<li>First item</li>
<li>Second item
  <ol type="A">
  <li>First subitem of second item
  <li>Second subitem of second item
  </ol>
</li> <!-- Note this is the end of the second list item -->
<li>Third item</li>
</ol>

BookBuilder complains about the first list in the first example because it encounters an ol tag while it's looking for an li tag.

EOF while looking for <fieldset> contents:
<fieldset> tag is empty or unterminated:
<table> has no contents.
<table> is empty, unterminated, or contains illegal elements.

All of these errors indicate that the program encountered the end of your source file before it found the rest of what it was looking for when it started parsing the tag at the beginning of the excerpt.

Required pb_abbrev meta tag is missing or invalid.
Required pb_bookid meta tag is missing or invalid.
Required pb_city meta tag is missing or invalid.
Required pb_copyright meta tag is missing or invalid.
Required pb_editionid meta tag is missing or invalid.
Required pb_publisher meta tag is missing or invalid.
Required pb_revisionid meta tag is missing or invalid.
Required pb_synctype meta tag is missing or invalid.
Required pb_title meta tag is missing or invalid.

These are self-explanatory. The indicated meta tags are required, but they can't be found in your book.

Improperly formed start date (date)

The pb_startdate meta tag has a bad content value. It doesn't look like a date.

Invalid start date: date

The pb_startdate meta tag has a date value but the month, day, and/or year is out of range. Remember the format is MM/DD/YYYY. Months can only be from 1-12, days from 1-31, and years from 32,768 BC to AD 32,767.

*** Too many words! ***
*** Too many punctuation strings! ***
*** More than 64K punc strings, MFO list won't work! ***

All of these errors are warning you that you've exceeded some capacity of the BookBuilder program. We have never encountered these errors and don't anticipate that you will. If you see these errors in the log, contact Technical Support.

Saw unsupported language language number

You've attempted to use a language that is not supported. See the <pb_lang> tag for a list of supported languages.

*** Due to the size of the book, the word list was not optimized. ***
*** Due to the size of the book, the punctuation list was not optimized. ***

(Palm OS Only) In order to optimize decompression of the text of your book, BookBuilder stores an additional, decompressed copy of your book's vocabulary list in database records that follow the records representing your book. This speeds up the display of your book significantly. There are two situations in which we can't perform this optimization:

  1. Palm OS limits us to 65,535 records in each PDB file. If you have more than 65,535 words in your vocabulary list, the device simply isn't capable of storing the list.
  2. If storing the word list means that too few records remain of the 65,535 allowed to store the rest of your book, the word list is not stored.

You may find that your book runs too slow to be of practical use without these optimizations, or you may find that it works fine. Contact Tech Support if you need help working around this problem.

tempTOC.Add() failed for heading text
TOC.Add() failed for "heading text"
Error storing verse reference: reference
Strong's Hebrew word (word) not found in word list!
Strong's Greek word (word) not found in word list!
ConstructTOCEntry: pElement is NULL

These errors indicate a problem updating an internal data structure. The most likely cause of the "tempTOC.Add..." and "TOC.Add..." messages are invalid characters in the table of contents entry. See the description of the heading tag for the limitations on what characters are allowed.

The most likely cause of the other messages is an out-of-memory condition. Your book may be too big or you may not have enough memory in your computer to process the book. Try it on a different machine or close other programs and try again.

Found two <map> tags with same name (name)

Each <map> tag must have a different name or id attribute value. You can't have two image maps with the same name or the program won't know which one to use. Change the name of one of the maps.

Saw <pb_attr> with no recognizable attributes.

See the reference section of this document for help with the <pb_attr> tag.

Invalid book link: link text

The book link is improperly formed. Make sure you're using backslashes instead of forward slashes.

Unresolved book link: link text
Unresolved link: id link text

The book link is properly formed, but it goes to a non-existant location. Check the link carefully.

No src= in <img> tag

This is an improperly formed <img> tag.

Failed to create substorage for image file name

The program failed to create a temporary file into which to store your image. You may not have adequate permissions to create files in this directory or the file may be in use by another program. Verify your permissions and close other programs and try again.

usemap attribute missing # ('value')

usemap attributes must have values that are anchor names in your book. The proper HTML syntax requires that you precede the anchor name with a pound sign. It's either the case that you've left out the pound sign or you are trying to reference an image map in another file, which is not permitted.

Can't find <map> for <img> (value)

Value is the map name that is the value of the usemap attribute in the <img> tag in question. The program is unable to find a matching <map> tag in your document that has an id or name attribute that matches value. Your document must include a <map> for every usemap attribute you use.

<pb_sync> tag must have "value" parameter (last value seen?)

All pb_sync tags must have a value parameter. The message shows you the last value parameter it saw to help you locate the improperly formed tag.

Unrecognized Bible reference in <pb_sync> tag: Reference

The program was unable to recognize the Bible reference in the value attribute of this <pb_sync type=verse...> tag. Make sure Reference is a valid Bible verse. Note that the program doesn't know how many chapters are in a book, or how many books are in a chapter, so it's not possible that is the cause of the error. Instead, check the book name against the table of Bible book names found later in this document and verify that the overall construction of the reference is correct (i.e. you're using a colon, not a semicolon to separate chapter and verse, etc.).

Saw <pb_noconc> inside another <pb_noconc>

You can't put <pb_noconc>...</pb_noconc> inside another <pb_noconc>...</pb_noconc>. Once the concordance is turned off, you can't turn it off more. This can also happen if you accidentally fail to close a <pb_noconc> tag.

Saw <pb_note> inside another <pb_note>

You can't have footnotes on your footnotes. This can also happen if you accidentally fail to close a <pb_note> tag.

Unknown token text

The program has encountered something completely unexpected in the input file and has no clue what to do with it. The unknown text follows the error message.

<pb_sync> word (word) not found!
Verse reference (verse reference) not found in verse reference list!

These errors should never occur. The program stored the word or verse when it found it, then went to look for it again and it's gone. Something has gone horribly, horribly wrong.

Saw <pb_link> inside another <pb_link>.

Most likely you forgot to close a <pb_link> tag.

Unsupported <pb_link> format (bv)

The valid values of the format attribute are bcv, bc, cv, c, and v. Other combinations are not permitted.

UNSUPPORTED FEATURE. RESULTS UNDEFINED. Word with mixed capitalization, longer than 32 characters encountered: word

You've entered a word like "ThisIsAReallyLongWordWithMixedCaseLetters". BookBuilder can't handle words with mixed capitalization that are longer than 32 letters. You're going to have to figure out a way to break it up.

Strong's Hebrew number (value) out of range
Strong's Greek number (value) out of range

You've used a Strong's number that is too large. We allow Hebrew numbers up to 16383 and Greek numbers up to 8191 even though no Strong's dictionary uses word numbers that high.

Strong's Hebrew suffix (character) out of range
Strong's Greek number suffix (character) out of range

You can add the letters a-d on the end of a Strong's number to differentiate it from the Strong's number without the letter. The NASEC uses this technique. We only allow the letters a-d; you've used something else.

pb_toc attribute is empty: Heading

You have not provided a value for the pb_toc attribute in your heading tag. This error is followed by the text within the heading tag that has the missing pb_toc attribute value.

Unrecognized language in pb_language meta tag: content="language"

See the pb_language description in the reference section of this document for the list of accepted languages for this meta tag. Remember that it is not necessary to include this tag if your book is in English.

Unrecognized meta tag: name="meta tag name" content="meta tag contents"

This is probably the result of using an HTML editor that insists on putting its own meta data into all your HTML files. This can happen when you use Word to create your HTML files. Other word processors could do the same thing. You must use a plain-text editor or a very well-behaved HTML editor to create Laridian books. It's also possible that you just misspelled one of the recognized meta tags.

Indexed heading tag has no contents
Indexed heading tag contains no text

You've created a heading tag with no heading text, something like this:

<h1 pb_toc=index></h1>

There needs to be text in the heading, like:

<h1 pb_toc=index>This is the heading text</h1>

Error in Bible reference range: Start verse comes after end verse! (verse reference)

You've entered a Bible reference like John 3:18-16, where the start verse is actually after the end verse.

Error in Bible reference range: book, chapter or verse appears invalid. (verse reference)

You've entered an obviously wrong reference, like Genesis 112:215. The program doesn't check the exact validity of your references, but it will complain if you use chapters greater than 151 or verses greater than 176.

Whole-book syncs/links are not supported. Use 1:1-lastchap:lastvs. (verse reference)

The program can't handle links to an entire book or a pb_sync tag that names an entire book, as in <pb_sync type=verse value="John">.

Couldn't map 'characters' into a target font for language 1033

You're using an invalid character. The only characters that should appear in your document are ASCII values less than or equal to 127 and the supported character entities listed elsewhere in this document.

Miscellaneous Topics

About Copyrights

Most people think they understand copyright issues, but most do not. We're not lawyers, and this document shouldn't be construed as legal advice. But if you're going to be using BookBuilder to create electronic editions of anyone's work but your own, you need to be familiar with copyright law. There are many good books on this topic and we encourage you to seek them out and read them.

The author of a book, article, screenplay, website, or any other creative work immediately owns all copyrights in his or her work. As soon as a word is put into tangible form, even as a draft or handwritten manuscript, copyright exists. That means the author controls the publication, distribution, reproduction, and further development of the work.

When you publish someone else's book with BookBuilder, you are making decisions on their behalf about how the book will be reproduced, distributed, and formatted. If the author's copyright is still in effect, then you could be doing so illegally. It is your responsibility to determine the copyright status of the books you publish with BookBuilder, and what rights you have with respect to reproducing, viewing, and distributing those books.

It's possible that the owner of a copyrighted work would give you permission to publish their work electronically. It doesn't hurt to ask. You may have to pay a royalty on each copy you sell, and you may have to pay an advance against those royalties prior to selling a single copy. It could be that the owner would give you permission to create an electronic edition for your own use, or give you limited distribution rights. Again, you need to ask the copyright owner. The name of the copyright owner can be found in a printed edition of the work you intend to publish.

Public Domain

While an author owns the copyrights in his work immediately upon writing, those rights expire eventually. When they do, the book falls into the public domain. Books in the public domain are available for you to do with what you will. Determining what books are in the public domain can be difficult, especially for titles published in the last 75 years.

Books published before January 1, 1978 fall under rules that give copyright protection for 75 years from their creation or date of first publication, whichever is sooner. That means you can assume that books published in the 1800's and very early 1900's are in the public domain. For books published later than that, you'll have to do some investigation to determine their status. Copyrights expire after 28, 47, or 75 years depending on the circumstances, how they were registered and whether or not they were renewed.

Fair Use

The Fair Use doctrine grants exemptions to copyright restrictions for certain uses. For example, you can quote from a book when you're writing a review or when you're teaching a class. You can't reproduce the entire book and distribute it with your review, nor can you photocopy an entire book and hand it out to a class you're teaching. But you can use limited quotes in those contexts without permission from the author.

Some people argue that Fair Use includes publishing an electronic edition of a copyrighted work for your own use. Others object on the grounds that such use negatively affects the market for the author's own electronic editions and thereby violates Fair Use. The fact that you have created your own electronic edition — and especially if you've distributed a copy or two to friends — means that the owner of the copyright can't sell electronic editions to you (or your friends).

Even if such electronic editions don't exist, the copyright owner has the right to determine whether or not he or she wants to exploit those rights. When you make an electronic edition you are making that decision on behalf of the owner, and he or she may not agree with your decision. As a far-out example, just because your neighbor isn't exploiting his right to rent out one of his bedrooms doesn't mean that you can rent your neighbor's room to your brother-in-law.

There are precedents, however, for personal use of certain copyright materials. Examples often quoted include time-shifting, which is the recording of a copyrighted work to be played back at a more convenient time (think TiVo and VCRs). Time-shifting has been tested in court and found to be a valid defense against accusations of copyright infringement. Another example is format-shifting, which is the reproduction of a copyrighted work to be played back on a similar but incompatible device (i.e. making CDs of your vinyl records, or mix-tapes of your favorite songs). Some argue that making electronic editions of copyrighted books for your own personal use is nothing more than format-shifting and falls under Fair Use.

Guidelines

Again, we're not lawyers, but as general guidelines we offer this advice:

Publishing and Distributing Your Books

The End User License Agreement for BookBuilder states that you cannot use BookBuilder to create products that directly compete with Laridian products. BookBuilder enforces this by doing two things: First, the copyright statement in your book is modified to include a statement that prohibits commercial (paid) distribution of the book. Second, since all books created with BookBuilder have the same Publisher ID, it's possible that your book will "collide" with another on a user's machine, making it difficult to use one or the other of them.

For books you create for your own personal use, this isn't a problem, since you can assign different Book IDs to each of the books you create and avoid collisions. And you won't be selling books to yourself, so the copyright statement modification will have no effect. But if you're distributing your books to others, and especially if you're selling them, you need to submit your books to us. We'll assign each one a unique Publisher ID and Book ID, and build a version for you that is licensed for commercial distribution.

Each book must meet certain conditions before we'll let you distribute it. These are easy conditions to meet in most cases:

  1. You must own the Professional edition of BookBuilder.
  2. The book must be one that is not offered for sale by Laridian as of the date you submit the book to us.
  3. You must meet the submission frequency requirements described at www.laridian.com/publish.

We have a limit on how often you can submit books to us just so that we can encourage you to make sure your book is completely ready to ship to customers before submitting it to us. It should run through BookBuilder with no errors and should be thoroughly spell-checked and ready to go. The last thing you should do is submit the book to us. There should be no need for further builds of the book after we're through with it.

Distributing for iOS

The iPhone presents some unusual problems since all products must be downloaded and installed from the App Store. If you were to figure out a way to package up an LBK file for distribution on the App Store, it would still not be accessible from PocketBible because every application is installed into its own "sand box" on the device and cannot see nor read the data that belongs to other programs.

Starting with version 2.0.4 of PocketBible for iOS, you can use iTunes file sharing to drop LBK files that you create into PocketBible. Note that you cannot use this feature to install just any LBK file into PocketBible. It must be a book you've created with BookBuilder. Of course you could do limited distribution of your book using this method, subject to the problems described above related to collisions with other books that coincidentally have the same Book ID.

See the PocketBible User's Guide for an explanation of how to use iTunes file sharing with PocketBible for iOS.

Other than the limited use of iTunes file sharing described above, PocketBible for iOS downloads books directly from our server into its sand box. That means that your books need to be on our server in order for users to download them to their phone. If you are a BookBuilder Professional owner, you can ask us to put your books on our server. Once we do this, you'll be able to log into your account on our server and control who has access to your book.

So if you're just creating books for yourself or a couple friends, you can use iTunes file sharing to install the books in PocketBible. Just beware of Book ID conflicts.

If you're distributing to a large number of people, use BookBuilder Pro to create your books, then submit them to Laridian for processing. Once we've put the book on our server, you can log into your account at our website and enable your "customers" to download your book. You just need each person's Customer ID to authorize them to download. This can become cumbersome, of course, because it's a manual process. So contact us if you would like to integrate this approval into your e-commerce and we'll provide you an interface you can use from your site to automatically authorize people who purchase from you to download from us.

Distributing for Android

As of the date of this writing, PocketBible for Android is an "alpha" release. That means it is not feature-complete. The method for installing user-created books into PocketBible for Android is subject to rapid change.

Unless the documentation you receive with PocketBible for Android says otherwise, you can simply copy your .lbk files into the folder on your storage card or in main memory which contains other .lbk files. The folders in the Android OS file system are organized by application, so start by looking for a folder called com.laridian.pocketbible. Under that you'll find a number of folders, one of which is bound to contain some books (.lbk files), assuming you've downloaded at least one.

Talk to Us

If you are planning to license content from publishers and are concerned that you could get done with a book only to find that we also are publishing it, contact us and let us know your plans. We should be able to work something out. Our purpose is not to squash all publishing efforts but rather to limit the ability of an unscrupulous competitor to use our own tools to undermine our business. If you are not unscrupulous, then we should have no problem coming to an understanding.

Selling Your Books Through Laridian

We may be interested in selling titles that are of general interest to our customers. We may contact you in this regard when you submit your books for final processing, or you may contact us in advance to discuss this possibility. Simply address your questions to our Tech Support department and they'll get directed to the right person at Laridian.

Appendices

Bible References

BookBuilder recognizes a large number of formats for specifying Bible verses. Just about any abbreviation for the book name can be used. There should be no period after the abbreviation of the book name. So "Rom 12:1" is valid; "Rom. 12:1" is not. If you have BookBuilder Professional and use VerseLinker, note that VerseLinker will recognize abbreviated names followed by a period, but will remove the period for compatibility with BookBuilder.

A period, colon, or space can be used to separate chapter and verse.

The tables below list each of the ways you can spell each book of the Bible. The number in parenthesis is the minimum number of letters from that spelling that is required. So "Genesis (2)" indicates that you can abbreviate "Genesis" as "Ge", "Gen", "Gene", "Genes", or "Genesi". The abbreviation "Gn" is also accepted for Genesis.

English Bible Book Names

Genesis (2)
Gn (2)
Exodus (2)
Leviticus (3) except "Levi"
Lv (2)
Numbers (2)
Deuteronomy (2)
Dt (2)
Joshua (3)
Jdg (3)
Judges (4)
Ruth (2)
1 Samuel (3)
1S (2)
1Samuel (3)
I Samuel (3)
First Samuel (9)
2 Samuel (3)
2S (2)
2Samuel (3)
II Samuel (4)
Second Samuel (10)
1 Kgs (4)
1 Kings (3)
1K (2)
1Kgs (3)
1Kings (3)
I Kgs (4)
I Kings (3)
First Kings (8)
2 Kgs (4)
2 Kings (3)
2K (2)
2Kgs (3)
2Kings (3)
II Kgs (5)
II Kings (4)
Second Kings (9)
1 Chronicles (4)
1Chronicles (3)
I Chronicles (4)
First Chronicles (9)
2 Chronicles (4)
2Chronicles (3)
II Chronicles (5)
Second Chronicles (10)
Ezra (3)
Nehemiah (2)
Esther (2)
Job (3)
Psalms (2)
Pss (3)
Proverbs (2)
Ecclesiastes (2)
Canticles (9)
Sol (3)
Song of Solomon (4)
Song of Songs (4)
SS (2)
Isaiah (3)
Jeremiah (2)
Lamentations (2)
Ezekiel (3)
Ezk (3)
Daniel (2)
Hosea (2)
Joel (3)
Amos (2)
Obadiah (2)
Jnh (3)
Jonah (3)
Micah (2)
Nahum (2)
Habakkuk (3)
Zephaniah (3)
Haggai (3)
Zechariah (3)
Malachi (3)
Matthew (3)
Mt (2)
Mark (3)
Mk (2)
Mr (2)
Lk (2)
Luke (2)
Jn (2)
John (3)
Acts (2)
Rm (2)
Romans (2)
1 Corinthians (4)
1Corinthians (3)
I Corinthians (4)
First Corinthians (9)
2 Corinthians (4)
2Corinthians (3)
II Corinthians (5)
Second Corinthians (10)
Galatians (2)
Ephesians (2)
Philippians (4)
Phl (3)
Php (3)
Colossians (3)
1 Thessalonians (4)
1Thessalonians (3)
I Thessalonians (4)
First Thessalonians (10)
2 Thessalonians (4)
2Thessalonians (3)
II Thessalonians (5)
Second Thessalonians (11)
1 Timothy (4)
1Timothy (3)
I Timothy (4)
First Timothy (8)
2 Timothy (4)
2Timothy (3)
II Timothy (5)
Second Timothy (9)
Titus (3)
Philemon (5)
Phlm (4)
Phm (3)
Hebrews (3)
James (2)
Jas (3)
Jms (3)
1 Peter (3)
1P (2)
1Peter (3)
First Peter (11)
I Peter (3)
2 Peter (3)
2P (2)
2Peter (3)
Second Peter (12)
II Peter (4)
1 Jn (3)
1 John (3)
1Jn (3)
1John (2)
I Jn (3)
I John (3)
First John (10)
2 Jn (3)
2 John (3)
2Jn (3)
2John (2)
II Jn (4)
II John (4)
Second John (11)
3 Jn (3)
3 John (3)
3Jn (3)
3John (2)
III Jn (5)
III John (5)
Third John (7)
Jde (3)
Jude (4)
Revelation (3)
1 Esdras (3)
1E (2)
1Esdras (3)
I Esdras (3)
2 Esdras (3)
2E (2)
2Esdras (3)
II Esdras (4)
Jdt (3)
Judith (6)
Add Esther (7)
AddEsther (6)
Additions to Esther (19)
Wisdom of Solomon (3)
Ecclesiasticus (14)
Ecclus (6)
Sirach (3)
Baruch (3)
A Letter of Jeremiah (20)
Let Jeremiah (7)
LetJeremiah (6)
Letter of Jeremiah (18)
The Letter of Jeremiah (22)
Azariah (3)
Pr Azr (6)
The Song of the Three Children (30)
Susanna (3)
Bel and the Dragon (3)
Bel and Dragon (14)
Manasseh (3)
Pr Man (6)
The Prayer of Manasseh (22)
1 Maccabees (3)
1M (2)
1Maccabees (3)
First Maccabees (8)
I Maccabees (3)
2 Maccabees (3)
2M (2)
2Maccabees (3)
Second Maccabees (9)
II Maccabees (4)
3 Maccabees (3)
3M (2)
3Maccabees (3)
Third Maccabees (7)
III Maccabees (5)
4 Maccabees (3)
4M (2)
4Maccabees (3)
Fourth Maccabees (8)
IV Maccabees (4)
Tobit (3)
FntM (4)
Front Matter (12)
Back Matter (11)
BckM (4)
Est (Gk) (8)
Esther (Greek) (14)

Spanish Bible Book Names

Note that Spanish book names with and without accents are supported. Also note that you can only use Spanish book names in books in which the pb_language meta tag is set to Spanish.

Génesis (2)
Gn (2)
Genesis (2)
Éxodo (2)
Exodo (2)
Levítico (3)
Lv (2)
Levitico (4)
Números (2)
Nm (2)
Numeros (2)
Deuteronomio (3)
Dt (2)
Josué (3)
Josue (5)
Jueces (3)
Rut (3)
Rt (2)
1 Samuel (3)
1Samuel (2)
2 Samuel (3)
2Samuel (2)
1 Reyes (3)
1Reyes (2)
2 Reyes (3)
2Reyes (2)
1 Crónicas (4)
1Crónicas (3)
1 Cronicas (5)
1Cronicas (4)
2 Crónicas (4)
2Crónicas (3)
2 Cronicas (5)
2Cronicas (4)
Esdras (3)
Nehemías (3)
Nehemias (6)
Ester (3)
Job (3)
Salmos (3)
Proverbios (2)
Eclesiastés (2)
Eclesiastes (10)
Cantares (2)
Cnt (3)
Isaías (2)
Isaias (4)
Jeremías (3)
Jeremias (6)
Lamentaciones (3)
Lm (2)
Ezequiel (2)
Daniel (3)
Dn (2)
Oseas (2)
Joel (4)
Jl (2)
Amós (2)
Amos (3)
Abdías (3)
Abdias (4)
Jonás (3)
Jonas (4)
Miqueas (2)
Nahúm (3)
Nahum (4)
Habacuc (3)
Sofonías (3)
Sofonias (6)
Hageo (3)
Zacarías (3)
Zacarias (6)
Malaquías (3)
Malaquias (7)
Mateo (3)
Mt (2)
Marcos (3)
Mr (2)
Lucas (3)
Lc (2)
Juan (4)
Jn (2)
Hechos (3)
Hch (3)
Romanos (2)
1 Corintios (4)
1Corintios (3)
2 Corintios (4)
2Corintios (3)
Gálatas (2)
Gal (2)
Galatas (2)
Efesios (2)
Filipenses (3)
Colosenses (3)
1 Tesalonicenses (4)
1Ts (3)
1Tesalonicenses (3)
1 Ts (4)
2 Tesalonicenses (4)
2Ts (3)
2Tesalonicenses (3)
2 Ts (4)
1 Timoteo (4)
1Timoteo (3)
2 Timoteo (4)
2Timoteo (3)
Tito (3)
Filemón (4)
Flm (3)
Filemon (6)
Hebreos (3)
Santiago (3)
Stg (3)
1 Pedro (3)
1Pedro (2)
2 Pedro (3)
2Pedro (2)
1 Juan (3)
1Juan (2)
1 Jn (4)
1Jn (3)
2 Juan (3)
2Juan (2)
2 Jn (4)
2Jn (3)
3 Juan (3)
3Juan (2)
3 Jn (4)
3Jn (3)
Judas (3)
Apocalipsis (2)

Supported HTML Tags

Unrecognized Tags Generate Errors

Normally, a Web browser will ignore tags it does not recognize. BookBuilder violates this principle and gives you an error message if it encounters a tag it doesn't recognize. This is so it will be painfully obvious if you misspell a tag or construct your document the wrong way.

It should also be noted that BookBuilder insists on following exact HTML syntax rules. Web browsers let website designers get away with a lot of shortcuts and carelessness. We don't want our reader programs to misbehave so BookBuilder insists on careful adherence to the rules.

Some of the common bad practices that BookBuilder will complain about include:

List of Supported HTML Tags and Attributes

Each tag is followed by a list of the attributes explicitly supported by BookBuilder. The interpretation of the tag and attributes may vary from standard HTML, or it may follow it more rigorously than you would like it to.

Any tag may have a bgcolor attribute or a style attribute where one of the styles is background-color.

Any tag may have the white-space style. Values "nowrap" and "normal" function as expected; "pre" functions like the <pre> tag and may not fully function as expected in standard HTML

When an attribute supports only certain values, those values are listed, separated by vertical bars. Optional items are in parenthesis.

ahref=bible: | book: | sync: | #...
areashape
href
coords
b 
basefontOnly supported in the document head
big 
blockquote 
body 
br 
captionalign=top | bottom | left | center | right
valign=top | bottom
colspan
colgroupspan
dd 
dirTreated like <ul>, deprecated
dl 
dt 
fontface
size=(+|-) 1 | 2 | 3 | ... | 7
color
style=background-color
h1
h2
h3
h3
h4
h5
h6
h7
h8
h9
align
color
style=background-color
id
pb_toc
head 
hralign
size
color
noshade
width in pixels or percent of screen width
html 
i 
imgsrc bitmaps only, no gifs or jpgs
align
alt
border
height in pixels
width in pixels or percent of screen width
hspace
vspace
usemap
litype
value
map 
metaname
contents
nobrCannot enclose paragraphs or paragraph-like tags (i.e. tables, lists)
ol 
palign
color
style=background-color
preDisables normal word wrapping; may not switch to monospaced font; may not honor extra spaces and carriage returns as in standard HTML. Honors <br> tag to force a new line.
s 
small 
sub 
sup 
tablecellpadding
cellspacing
border
frame=void | box | above | below | lhs | rhs | hsides | vsides
bodercolor
bordercolordark
bordercolorlight
bgcolor
style=background-color
rules=groups | all | rows | cols | none
tbody 
td
th
colspan
rowspan
bordercolor
bordercolordark
bordercolorlight
bgcolor
style=background-color
valign
align
width in pixels or percent of screen width
nowrap=nowrap
tfootAll recognized tr attributes
theadAll recognized tr attributes
trbordercolor
bordercolordark
bordercolorlight
bgcolor
style=background-color
align
valign
u 
ul 

The following are recognized but are not currently implemented. These may be implemented in future versions.

bgsound
fieldset
form
input
keygen
label
legend
menu
optgroup
option
select
style
textarea
title

Usable Characters and HTML Character Entities

About ASCII and Unicode

In several places in this document we've mentioned "ASCII values". Every letter, digit, or punctuation symbol you type is stored in the computer as a binary number, since computers don't implicitly understand letters and language. A long time ago, a group of programmers came up with a standard correspondence between the characters we see on the screen and the numeric value that represents them in the computer. They call this representation "ASCII" (pronounced "ask-ee").

ASCII can be used to represent all the letters in the English alphabet using values from 1 to 127 (52 upper- and lower-case letters, 10 digits, some control characters like "tab" and "enter", and punctuation). With some extensions using values up to 255, additional languages such as Spanish, French, and German can be accomodated. Since values up to 255 require 8 binary digits (or "bits") to represent, and since there are 8 bits in a byte, any ASCII value can be represented in one byte in the computer.

Several years later some really smart people got together and invented Unicode. Unicode starts with ASCII but uses 16 bits (values up to 65,535) and can represent every character and symbol in every language in the world. The first 255 values in Unicode are identical to ASCII. Other languages, including biblical Greek and Hebrew, use two-byte values to represent their letters.

Laridian uses Unicode internally in its products to represent characters. But because Unicode values are twice as big as ASCII values, and because the vast majority of our work is in English, it's inefficient to waste all that space storing an extra byte for each character. So we actually store text in UTF-8, which is a way of compressing Unicode so it mostly fits in 8-bits.

Because there are few, if any, popular text editing environments available today that output Unicode directly, BookBuilder takes 8-bit input and converts it to Unicode, then to UTF-8. Because UTF-8 uses the values from 128-255 to represent values greater than 255, BookBuilder could potentially get confused if it saw those values in your source document. So we limit you to values from 1-127. The table of usable characters, below, lists the valid characters you can use in your source documents.

Usable Characters

Values from 1 to 31 are control characters like tab, carriage return, and line feed.

ASCII
Value
 CharacterASCII
Value
 CharacterASCII
Value
 Character
32 ;64@96`
33!65A97a
34"66B98b
35#67C99c
36$68D100d
37%69E101e
38&70F102f
39'71G103g
40(72H104h
41)73I105i
42*74J106j
43+75K107k
44,76L108l
45-77M109m
46.78N110n
47/79O111o
48080P112p
49181Q113q
50282R114r
51383S115s
52484T116t
53585U117u
54686V118v
55787W119w
56888X120x
57989Y121y
58:90Z122z
59;91[123{
60<92\124|
61=93]125}
62>94^126~
63?95_127

Implemented Character Entities

Even if your text editor lets you enter characters like "e with an acute accent", as in "fiancée", you should instead use the appropriate character entity from the table below. So instead of entering the character "e with an acute accent" in the word "finacée", use the character entity &eacute;.

The values listed under "Decimal" in the following table are the ASCII values for the characters shown.

Note that your browser may not be able to display all of these characters. They will work on your PDA, though. Characters that can't be displayed by your browser are usually rendered as an empty box.

The list that follows are the character entities that are implemented on all our supported platforms. There are additional entities supported by PocketBible Windows and Windows Mobile, and a different set of additional entities supported by MyBible for Palm OS. Note that PocketBible for iOS supports ALL the recognized character entities, which are listed in the next section below.

Description Entity Decimal Character
inverted exclamation mark &iexcl; &#161; ¡
cent sign &cent; &#162; ¢
pound sign &pound; &#163; £
currency sign &curren; &#164; ¤
yen sign = yuan sign &yen; &#165; ¥
broken bar = broken vertical bar &brvbar; &#166; ¦
section sign &sect; &#167; §
diaeresis = spacing diaeresis &uml; &#168; ¨
copyright sign &copy; &#169; ©
feminine ordinal indicator &ordf; &#170; ª
left-pointing double angle quotation mark = left pointing guillemet &laquo; &#171; «
not sign &not; &#172; ¬
soft hyphen = discretionary hyphen &shy; &#173; ­
registered sign = registered trade mark sign &reg; &#174; ®
macron = spacing macron = overline = APL overbar &macr; &#175; ¯
degree sign &deg; &#176; °
plus-minus sign = plus-or-minus sign &plusmn; &#177; ±
superscript two = superscript digit two = squared &sup2; &#178; ²
superscript three = superscript digit three = cubed &sup3; &#179; ³
acute accent = spacing acute &acute; &#180; ´
micro sign &micro; &#181; µ
pilcrow sign = paragraph sign &para; &#182;
middle dot = Georgian comma = Greek middle dot &middot; &#183; ·
cedilla = spacing cedilla &cedil; &#184; ¸
superscript one = superscript digit one &sup1; &#185; ¹
masculine ordinal indicator &ordm; &#186; º
right-pointing double angle quotation mark = right pointing guillemet &raquo; &#187; »
vulgar fraction one quarter = fraction one quarter &frac14; &#188; ¼
vulgar fraction one half = fraction one half &frac12; &#189; ½
vulgar fraction three quarters = fraction three quarters &frac34; &#190; ¾
inverted question mark = turned question mark &iquest; &#191; ¿
Latin capital letter A with grave = Latin capital letter A grave &Agrave; &#192; À
Latin capital letter A with acute &Aacute; &#193; Á
Latin capital letter A with circumflex &Acirc; &#194; Â
Latin capital letter A with tilde &Atilde; &#195; Ã
Latin capital letter A with diaeresis &Auml; &#196; Ä
Latin capital letter A with ring above = Latin capital letter A ring &Aring; &#197; Å
Latin capital letter AE = Latin capital ligature AE &AElig; &#198; Æ
Latin capital letter C with cedilla &Ccedil; &#199; Ç
Latin capital letter E with grave &Egrave; &#200; È
Latin capital letter E with acute &Eacute; &#201; É
Latin capital letter E with circumflex &Ecirc; &#202; Ê
Latin capital letter E with diaeresis &Euml; &#203; Ë
Latin capital letter I with grave &Igrave; &#204; Ì
Latin capital letter I with acute &Iacute; &#205; Í
Latin capital letter I with circumflex &Icirc; &#206; Î
Latin capital letter I with diaeresis &Iuml; &#207; Ï
Latin capital letter ETH &ETH; &#208; Ð
Latin capital letter N with tilde &Ntilde; &#209; Ñ
Latin capital letter O with grave &Ograve; &#210; Ò
Latin capital letter O with acute &Oacute; &#211; Ó
Latin capital letter O with circumflex &Ocirc; &#212; Ô
Latin capital letter O with tilde &Otilde; &#213; Õ
Latin capital letter O with diaeresis &Ouml; &#214; Ö
multiplication sign &times; &#215; ×
Latin capital letter O with stroke = Latin capital letter O slash &Oslash; &#216; Ø
Latin capital letter U with grave &Ugrave; &#217; Ù
Latin capital letter U with acute &Uacute; &#218; Ú
Latin capital letter U with circumflex &Ucirc; &#219; Û
Latin capital letter U with diaeresis &Uuml; &#220; Ü
Latin capital letter Y with acute &Yacute; &#221; Ý
Latin capital letter THORN &THORN; &#222; Þ
Latin small letter sharp s = ess-zed &szlig; &#223; ß
Latin small letter a with grave = Latin small letter a grave &agrave; &#224; à
Latin small letter a with acute &aacute; &#225; á
Latin small letter a with circumflex &acirc; &#226; â
Latin small letter a with tilde &atilde; &#227; ã
Latin small letter a with diaeresis &auml; &#228; ä
Latin small letter a with ring above = Latin small letter a ring &aring; &#229; å
Latin small letter ae = Latin small ligature ae &aelig; &#230; æ
Latin small letter c with cedilla &ccedil; &#231; ç
Latin small letter e with grave &egrave; &#232; è
Latin small letter e with acute &eacute; &#233; é
Latin small letter e with circumflex &ecirc; &#234; ê
Latin small letter e with diaeresis &euml; &#235; ë
Latin small letter i with grave &igrave; &#236; ì
Latin small letter i with acute &iacute; &#237; í
Latin small letter i with circumflex &icirc; &#238; î
Latin small letter i with diaeresis &iuml; &#239; ï
Latin small letter eth &eth; &#240; ð
Latin small letter n with tilde &ntilde; &#241; ñ
Latin small letter o with grave &ograve; &#242; ò
Latin small letter o with acute &oacute; &#243; ó
Latin small letter o with circumflex &ocirc; &#244; ô
Latin small letter o with tilde &otilde; &#245; õ
Latin small letter o with diaeresis &ouml; &#246; ö
division sign &divide; &#247; ÷
Latin small letter o with stroke = Latin small letter o slash &oslash; &#248; ø
Latin small letter u with grave &ugrave; &#249; ù
Latin small letter u with acute &uacute; &#250; ú
Latin small letter u with circumflex &ucirc; &#251; û
Latin small letter u with diaeresis &uuml; &#252; ü
Latin small letter y with acute &yacute; &#253; ý
Latin small letter thorn &thorn; &#254; þ
Latin small letter y with diaeresis &yuml; &#255; ÿ

Palm devices have a limited number of additional special characters available to display. The following are rendered with the best match available on the Palm. Note the "Decimal" column is empty; these characters have high Unicode values and should be entered using the character entity shown, not their decimal Unicode values. Note that the availability of these characters varies depending on the font selected on your device. Also, your browser may not be able to render all of these characters, in which case they may appear as a box.

DescriptionEntityDecimalCharacter
Logical And becomes caret &and;  
Double Low-9 Quote looks like two commas &bdquo;  
Bullet &bull;  
Circumflex Accent non-overstrike &circ;   ˆ
Black Club Suit &clubs;  
Union becomes cap U &cup;  
Dagger &dagger;  
Double Dagger &Dagger;  
Black Diamond Suit &diams;  
Empty Set &empty;  
Em Space becomes a space &emsp;  
En Space becomes a space &ensp;  
Euro Sign &euro;  
Latin Small F with Hook Script f &fnof;   ƒ
Fraction Slash becomes slash &frasl;  
Black Heart Suit &hearts;  
Horizontal Ellipsis &hellip;  
Black-Letter Capital I becomes cap I &image;  
Left-Pointing Angle Bracket becomes less-than &lang;  
Left Double Quote &ldquo;  
Asterisk Operator becomes asterisk &lowast;  
Lozenge white diamond suit &loz;  
Single Left-Pointing Angle Quote looks like less-than &lsaquo;  
Left Single Quote &lsquo;  
Em Dash &mdash;  
Minus Sign becomes hyphen &minus;  
En Dash becomes a hyphen &ndash;  
Not A Subset Of &nsub;  
Latin Capital Ligature OE &OElig;   Œ
Latin Small Ligature OE &oelig;   œ
Overline &oline;  
Logical Or becomes cap V &or;  
Per Mille Sign &permil;  
Prime looks like apostrophe &prime;  
Double Prime &Prime;  
Right-Pointing Angle Bracket becomes greater-than &rang;  
Right Double Quote &rdquo;  
Black-Letter Cap R becomes cap R &real;  
Single Right-Pointing Angle Quote looks like greater-than &rsaquo;  
Right Single Quote &rsquo;  
Single Low-9 Quote looks like comma &sbquo;  
Latin Cap S with Caron &Scaron;   Š
Latin Small S with Caron &scaron;   š
Dot Operator becomes bullet &sdot;  
Tilde Operator &sim;  
Black Spade Suit &spades;  
Thin Space becomes a space &thinsp;  
Tilde &tilde;   ˜
Trade Mark Sign &trade;  
Script Cap P becomes small P &weierp;  
Latin Cap Y with Diaeresis &Yuml;   Ÿ

Windows Mobile devices have a limited number of additional special characters available to display. The following are rendered with the best match available on the device. Note the "Decimal" column is empty; these characters have high Unicode values and should be entered using the character entity shown, not their decimal Unicode values. Note that the availability of these characters varies depending on the font selected on your device. Also, your browser may not be able to render all of these characters, in which case they may appear as a box.

DescriptionEntityDecimalCharacter
greek capital letter alpha &Alpha;   Α
greek small letter alpha &alpha;   α
almost equal to = asymptotic to &asymp;  
double low-9 quotation mark &bdquo;  
greek capital letter beta &Beta;   Β
greek small letter beta &beta;   β
bullet = black small circle &bull;  
greek capital letter chi &Chi;   Χ
greek small letter chi &chi;   χ
modifier letter circumflex accent &circ;   ˆ
dagger &dagger;  
double dagger &Dagger;  
greek capital letter delta &Delta;   Δ
greek small letter delta &delta;   δ
greek capital letter epsilon &Epsilon;   Ε
greek small letter epsilon &epsilon;   ε
greek capital letter eta &Eta;   Η
greek small letter eta &eta;   η
euro sign &euro;  
latin small f with hook = function = florin &fnof;   ƒ
greek capital letter gamma &Gamma;   Γ
greek small letter gamma &gamma;   γ
greater-than or equal to &ge;  
horizontal ellipsis = three dot leader &hellip;  
integral &int;  
greek capital letter iota &Iota;   Ι
greek small letter iota &iota;   ι
greek capital letter kappa &Kappa;   Κ
greek small letter kappa &kappa;   κ
greek capital letter lambda &Lambda;   Λ
greek small letter lambda &lambda;   λ
left double quotation mark &ldquo;  
less-than or equal to &le;  
lozenge &loz;  
single left-pointing angle quotation mark &lsaquo;  
left single quotation mark &lsquo;  
em dash &mdash;  
minus sign &minus;  
greek capital letter mu &Mu;   Μ
greek small letter mu &mu;   μ
en dash &ndash;  
not equal to &ne;  
greek capital letter nu &Nu;   Ν
greek small letter nu &nu;   ν
latin capital ligature OE &OElig;   Œ
latin small ligature oe &oelig;   œ
overline = spacing overscore &oline;  
greek capital letter omega &Omega;   Ω
greek small letter omega &omega;   ω
greek capital letter omicron &Omicron;   Ο
greek small letter omicron &omicron;   ο
partial differential &part;  
per mille sign &permil;  
greek capital letter phi &Phi;   Φ
greek small letter phi &phi;   φ
greek capital letter pi &Pi;   Π
greek small letter pi &pi;   π
double prime = seconds = inches &Prime;  
prime = minutes = feet &prime;  
n-ary product = product sign &prod;  
greek capital letter psi &Psi;   Ψ
greek small letter psi &psi;   ψ
square root = radical sign &radic;  
right double quotation mark &rdquo;  
greek capital letter rho &Rho;   Ρ
greek small letter rho &rho;   ρ
single right-pointing angle quotation mark &rsaquo;  
right single quotation mark &rsquo;  
single low-9 quotation mark &sbquo;  
latin capital letter S with caron &Scaron;   Š
latin small letter s with caron &scaron;   š
greek capital letter sigma &Sigma;   Σ
greek small letter sigma &sigma;   σ
greek small letter final sigma &sigmaf;   ς
n-ary sumation &sum;  
greek capital letter tau &Tau;   Τ
greek small letter tau &tau;   τ
greek capital letter theta &Theta;   Θ
greek small letter theta &theta;   θ
small tilde &tilde;   ˜
trade mark sign &trade;  
greek capital letter upsilon &Upsilon;   Υ
greek small letter upsilon &upsilon;   υ
greek capital letter xi &Xi;   Ξ
greek small letter xi &xi;   ξ
latin capital letter Y with diaeresis &Yuml;   Ÿ
greek capital letter zeta &Zeta;   Ζ
greek small letter zeta &zeta;   ζ

Recognized Entities

The following character entities are recognized by BookBuilder, though they may not be implemented. See the tables above for implemented character entities.

&Aacute;&Eta;&ndash;&rho;
&aacute;&eta;&ne;&rlm;
&Acirc;&ETH;&ni;&rsaquo;
&acirc;&eth;&not;&rsquo;
&acute;&Euml;&notin;&sbquo;
&AElig;&euml;&nsub;&Scaron;
&aelig;&euro;&Ntilde;&scaron;
&Agrave;&exist;&ntilde;&sdot;
&agrave;&fnof;&Nu;&sect;
&alefsym;&forall;&nu;&shy;
&Alpha;&frac12;&Oacute;&Sigma;
&alpha;&frac14;&oacute;&sigma;
&and;&frac34;&Ocirc;&sigmaf;
&ang;&frasl;&ocirc;&sim;
&apos;&Gamma;&OElig;&spades;
&Aring;&gamma;&oelig;&sub;
&aring;&ge;&Ograve;&sube;
&asymp;&hArr;&ograve;&sum;
&Atilde;&harr;&oline;&sup;
&atilde;&hearts;&Omega;&sup1;
&Auml;&hellip;&omega;&sup2;
&auml;&Iacute;&Omicron;&sup3;
&bdquo;&iacute;&omicron;&supe;
&Beta;&Icirc;&oplus;&szlig;
&beta;&icirc;&or;&Tau;
&brvbar;&iexcl;&ordf;&tau;
&bull;&Igrave;&ordm;&there4;
&cap;&igrave;&Oslash;&Theta;
&Ccedil;&image;&oslash;&theta;
&ccedil;&infin;&Otilde;&thetasym;
&cedil;&int;&otilde;&thinsp;
&cent;&Iota;&otimes;&THORN;
&Chi;&iota;&Ouml;&thorn;
&chi;&iquest;&ouml;&tilde;
&circ;&isin;&para;&times;
&clubs;&Iuml;&part;&trade;
&cong;&iuml;&permil;&Uacute;
&copy;&Kappa;&perp;&uacute;
&crarr;&kappa;&Phi;&uArr;
&cup;&Lambda;&phi;&uarr;
&curren;&lambda;&Pi;&Ucirc;
&Dagger;&lang;&pi;&ucirc;
&dagger;&laquo;&piv;&Ugrave;
&dArr;&lArr;&plusmn;&ugrave;
&darr;&larr;&pound;&uml;
&deg;&lceil;&Prime;&upsih;
&Delta;&ldquo;&prime;&Upsilon;
&delta;&le;&prod;&upsilon;
&diams;&lfloor;&prop;&Uuml;
&divide;&lowast;&Psi;&uuml;
&Eacute;&loz;&psi;&weierp;
&eacute;&lrm;&radic;&Xi;
&Ecirc;&lsaquo;&rang;&xi;
&ecirc;&lsquo;&raquo;&Yacute;
&Egrave;&macr;&rArr;&yacute;
&egrave;&mdash;&rarr;&yen;
&empty;&micro;&rceil;&Yuml;
&emsp;&middot;&rdquo;&yuml;
&ensp;&minus;&real;&Zeta;
&Epsilon;&Mu;&reg;&zeta;
&epsilon;&mu;&rfloor;&zwj;
&equiv;&nabla;&Rho;&zwnj;

Supported Colors

Various HTML tags have attributes that represent colors. There are two common ways to specify a color in an HTML tag: By name and by value. The following table lists the color names that are recognized by BookBuilder, and gives the associated hexadecimal value for each color.

You can use any possible hexadecimal value to represent a color but only the following names are recognized.

Color SampleColor NameHex Representation
 lightpink#ffb6c1
 pink#ffc0cb
 crimson#dc143c
 lavenderblush#fff0f5
 palevioletred#db7093
 hotpink#ff69b4
 deeppink#ff1493
 mediumvioletred#c71585
 orchid#da70d6
 thistle#d8bfd8
 plum#dda0dd
 violet#ee82ee
 fuchsia#ff00ff
 darkmagenta#8b008b
 purple#800080
 mediumorchid#ba55d3
 darkviolet#9400d3
 darkorchid#9932cc
 indigo#4b0082
 blueviolet#8a2be2
 mediumpurple#9370db
 mediumslateblue#7b68ee
 slateblue#6a5acd
 darkslateblue#483d8b
 ghostwhite#f8f8ff
 lavender#e6e6fa
 blue#0000ff
 mediumblue#0000cd
 darkblue#00008b
 navy#000080
 midnightblue#191970
 royalblue#4169e1
 cornflowerblue#6495ed
 lightsteelblue#b0c4de
 lightslategray#778899
 slategray#708090
 dodgerblue#1e90ff
 aliceblue#f0f8ff
 steelblue#4682b4
 lightskyblue#87cefa
 skyblue#87ceeb
 deepskyblue#00bfff
 lightblue#add8e6
 powderblue#b0e0e6
 cadetblue#5f9ea0
 darkturquoise#00ced1
 azure#f0ffff
 lightcyan#e0ffff
 paleturquoise#afeeee
 aqua#00ffff
 darkcyan#008b8b
 teal#008080
 darkslategray#2f4f4f
 mediumturquoise#48d1cc
 lightseagreen#20b2aa
 turquoise#40e0d0
 aquamarine#7fffd4
 mediumaquamarine#66cdaa
 mediumspringgreen#00fa9a
 mintcream#f5fffa
 springgreen#00ff7f
 mediumseagreen#3cb371
 seagreen#2e8b57
 honeydew#f0fff0
 darkseagreen#8fbc8f
 palegreen#98fb98
 lightgreen#90ee90
 limegreen#32cd32
 lime#00ff00
 forestgreen#228b22
 green#008000
 darkgreen#006400
 lawngreen#7cfc00
 chartreuse#7fff00
 greenyellow#adff2f
 darkolivegreen#556b2f
 yellowgreen#9acd32
 olivedrab#6b8e23
 ivory#fffff0
 beige#f5f5dc
 lightyellow#ffffe0
 lightgoldenrodyellow#fafad2
 yellow#ffff00
 olive#808000
 darkkhaki#bdb76b
 palegoldenrod#eee8aa
 lemonchiffon#fffacd
 khaki#f0e68c
 gold#ffd700
 cornsilk#fff8dc
 goldenrod#daa520
 darkgoldenrod#b8860b
 floralwhite#fffaf0
 oldlace#fdf5e6
 wheat#f5deb3
 orange#ffa500
 moccasin#ffe4b5
 papayawhip#ffefd5
 blanchedalmond#ffebcd
 navajowhite#ffdead
 antiquewhite#faebd7
 tan#d2b48c
 burlywood#deb887
 darkorange#ff8c00
 bisque#ffe4c4
 linen#faf0e6
 peru#cd853f
 peachpuff#ffdab9
 sandybrown#f4a460
 chocolate#d2691e
 saddlebrown#8b4513
 seashell#fff5ee
 sienna#a0522d
 lightsalmon#ffa07a
 coral#ff7f50
 orangered#ff4500
 darksalmon#e9967a
 tomato#ff6347
 salmon#fa8072
 mistyrose#ffe4e1
 lightcoral#f08080
 snow#fffafa
 rosybrown#bc8f8f
 indianred#cd5c5c
 red#ff0000
 brown#a52a2a
 firebrick#b22222
 darkred#8b0000
 maroon#800000
 white#ffffff
 whitesmoke#f5f5f5
 gainsboro#dcdcdc
 lightgrey#d3d3d3
 silver#c0c0c0
 darkgray#a9a9a9
 gray#808080
 dimgray#696969
 black#000000

Unicode Tables for Greek and Hebrew

Greek

Greek letters with diacriticals (accents or breating marks) are constructed in PocketBible by combing a base character with a combining character. A combining character is one that “overstrikes” the character which precedes it. You may use more than one combining character if necessary, and you may use many of the Greek Extended Unicode characters that are a combination of a base character and one or more diacriticals. Note that some combinations are not supported, but you should be able to encode any ancient Greek text you might find.

There are some combinations of diacriticals that don't make sense, and those are not supported. There are other combinations that make sense in modern Greek but which are not supported by PocketBible because it focuses on ancient Greek. While modern Unicode fonts support such combinations, we still have to use our own fonts and our own mapping algorithms on older platforms where Unicode isn't fully supported. This limits our ability to support modern Greek since those fonts are designed for biblical Greek.

When we first launched PocketBible, support for Unicode fonts on mobile devices was rare. Today, reasonably good Unicode support is commonplace. Whereas in the past we often had to roll our own font mapping algorithms, we find ourselves more and more relying on the built-in capabilities of the platforms on which we implement PocketBible. As a result, you may find that your Greek text displays fine on one platform and not so well on another. In that case, try changing the font PocketBible is using to display Greek text if PocketBible on your platform gives you that option.

Diacriticals can appear in any order, though they may be rearranged by BookBuilder into a “canonical” order to aid in searching the Greek text. Precomposed characters will be decomposed into what Unicode calls their “normalized canonical form”. One result of this is that error messages from BookBuilder might display combinations of Unicode characters that don't actually appear in your document. For example, the Greek Extended precomposed character U+1FD7 (small iota with dialytika and perispomeni) is not supported, but the error message will tell you that BookBuilder is unable to map U+03B9 (iota) U+0308 (dialytika) U+0342 (perspomeni) to its Greek font.

Greek Base Characters

CharacterDecimal EntityHex EntityUnicode Value
 &#32;&#x0020;U+0020 Space
* &#42;&#x002A;U+002A Asterisk
, &#44;&#x002C;U+002C Comma
- &#45;&#x002D;U+002D Hyphen
. &#46;&#x002E;U+002E Period
; &#59;&#x003B;U+003B Semicolon (see U+037E)
ʼ &#700;&#x02BC;U+02BC Apostrophe
ʽ &#701;&#x02BD;U+02BD Reverse apostrophe
ˊ &#714;&#x02CA;U+02CA Spacing acute accent
; &#894;&#x037E;U+037E Greek question mark
· &#903;&#x0387;U+0387 Middle dot
Α &#913;&#x0391;U+0391
Β &#914;&#x0392;U+0392
Γ &#915;&#x0393;U+0393
Δ &#916;&#x0394;U+0394
Ε &#917;&#x0395;U+0395
Ζ &#918;&#x0396;U+0396
Η &#919;&#x0397;U+0397
Θ &#920;&#x0398;U+0398
Ι &#921;&#x0399;U+0399
Κ &#922;&#x039A;U+039A
Λ &#923;&#x039B;U+039B
Μ &#924;&#x039C;U+039C
Ν &#925;&#x039D;U+039D
Ξ &#926;&#x039E;U+039E
Ο &#927;&#x039F;U+039F
Π &#928;&#x03A0;U+03A0
Ρ &#929;&#x03A1;U+03A1
Σ &#931;&#x03A3;U+03A3
Τ &#932;&#x03A4;U+03A4
Υ &#933;&#x03A5;U+03A5
Φ &#934;&#x03A6;U+03A6
Χ &#935;&#x03A7;U+03A7
Ψ &#936;&#x03A8;U+03A8
Ω &#937;&#x03A9;U+03A9
α &#945;&#x03B1;U+03B1
β &#946;&#x03B2;U+03B2
γ &#947;&#x03B3;U+03B3
δ &#948;&#x03B4;U+03B4
ε &#949;&#x03B5;U+03B5
ζ &#950;&#x03B6;U+03B6
η &#951;&#x03B7;U+03B7
θ &#952;&#x03B8;U+03B8
ι &#953;&#x03B9;U+03B9
κ &#954;&#x03BA;U+03BA
λ &#955;&#x03BB;U+03BB
μ &#956;&#x03BC;U+03BC
ν &#957;&#x03BD;U+03BD
ξ &#958;&#x03BE;U+03BE
ο &#959;&#x03BF;U+03BF
π &#960;&#x03C0;U+03C0
ρ &#961;&#x03C1;U+03C1
ς &#962;&#x03C2;U+03C2
σ &#963;&#x03C3;U+03C3
τ &#964;&#x03C4;U+03C4
υ &#965;&#x03C5;U+03C5
φ &#966;&#x03C6;U+03C6
χ &#967;&#x03C7;U+03C7
ψ &#968;&#x03C8;U+03C8
ω &#969;&#x03C9;U+03C9
ϒ &#978;&#x03D2;U+03D2 Upsilon with hook
ϛ &#987;&#x03DB;U+03DB Stigma
ϡ &#993;&#x03E1;U+03E1 Sampi

Greek Diacriticals

Since diacriticals overstrike the previous character, it is necessary to choose a character for use in the table below. We've chosen to use the letter alpha for all diacriticals even though in some cases that may not make sense. Just remember that alpha is just a placeholder here for the actual character you will use in your document.

CharacterDecimal EntityHex EntityUnicode Value
ὰ &#768;&#x0300;U+0300 Grave accent
ά &#769;&#x0301;U+0301 Acute accent
α̃ &#771;&#x0303;U+0303 Tilde
ᾱ &#772;&#x0304;U+0304 Macron
α̅ &#773;&#x0305;U+0305 Overline
α̈ &#776;&#x0308;U+0308 Diaresis
α̑ &#785;&#x0311;U+0311 Inverted breve
ἀ &#787;&#x0313;U+0313 Comma above
ἁ &#788;&#x0314;U+0314 Reverse comma above
α̣ &#803;&#x0323;U+0323 Dot below
ᾶ &#834;&#x0342;U+0342 Perispomeni
ἀ &#835;&#x0343;U+0343 Koronis
α̈́ &#836;&#x0344;U+0344 Dialytika
ᾳ &#837;&#x0345;U+0345 Iota subscript

Greek Extended Characters

BookBuilder supports the Unicode Greek Extended characters (precomposed polytonic Greek) by decomposing them into their normalized canonical form. Certain characters are not supported due to a lack of support in the ancient Greek fonts we use on some platforms. These include the following:

CharacterDecimal EntityHex EntityUnicode Value
 &#7936;&#x1F00;U+1F00 GREEK SMALL LETTER ALPHA WITH PSILI
 &#7937;&#x1F01;U+1F01 GREEK SMALL LETTER ALPHA WITH DASIA
 &#7938;&#x1F02;U+1F02 GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
 &#7939;&#x1F03;U+1F03 GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
 &#7940;&#x1F04;U+1F04 GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
 &#7941;&#x1F05;U+1F05 GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
 &#7942;&#x1F06;U+1F06 GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
 &#7943;&#x1F07;U+1F07 GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
 &#7944;&#x1F08;U+1F08 GREEK CAPITAL LETTER ALPHA WITH PSILI
 &#7945;&#x1F09;U+1F09 GREEK CAPITAL LETTER ALPHA WITH DASIA
 &#7946;&#x1F0A;U+1F0A GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
 &#7947;&#x1F0B;U+1F0B GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
 &#7948;&#x1F0C;U+1F0C GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
 &#7949;&#x1F0D;U+1F0D GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
 &#7950;&#x1F0E;U+1F0E GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
 &#7951;&#x1F0F;U+1F0F GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
 &#7952;&#x1F10;U+1F10 GREEK SMALL LETTER EPSILON WITH PSILI
 &#7953;&#x1F11;U+1F11 GREEK SMALL LETTER EPSILON WITH DASIA
 &#7954;&#x1F12;U+1F12 GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
 &#7955;&#x1F13;U+1F13 GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
 &#7956;&#x1F14;U+1F14 GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
 &#7957;&#x1F15;U+1F15 GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
 &#7960;&#x1F18;U+1F18 GREEK CAPITAL LETTER EPSILON WITH PSILI
 &#7961;&#x1F19;U+1F19 GREEK CAPITAL LETTER EPSILON WITH DASIA
 &#7962;&#x1F1A;U+1F1A GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
 &#7963;&#x1F1B;U+1F1B GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
 &#7964;&#x1F1C;U+1F1C GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
 &#7965;&#x1F1D;U+1F1D GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
 &#7968;&#x1F20;U+1F20 GREEK SMALL LETTER ETA WITH PSILI
 &#7969;&#x1F21;U+1F21 GREEK SMALL LETTER ETA WITH DASIA
 &#7970;&#x1F22;U+1F22 GREEK SMALL LETTER ETA WITH PSILI AND VARIA
 &#7971;&#x1F23;U+1F23 GREEK SMALL LETTER ETA WITH DASIA AND VARIA
 &#7972;&#x1F24;U+1F24 GREEK SMALL LETTER ETA WITH PSILI AND OXIA
 &#7973;&#x1F25;U+1F25 GREEK SMALL LETTER ETA WITH DASIA AND OXIA
 &#7974;&#x1F26;U+1F26 GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
 &#7975;&#x1F27;U+1F27 GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
 &#7976;&#x1F28;U+1F28 GREEK CAPITAL LETTER ETA WITH PSILI
 &#7977;&#x1F29;U+1F29 GREEK CAPITAL LETTER ETA WITH DASIA
 &#7978;&#x1F2A;U+1F2A GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
 &#7979;&#x1F2B;U+1F2B GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
 &#7980;&#x1F2C;U+1F2C GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
 &#7981;&#x1F2D;U+1F2D GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
 &#7982;&#x1F2E;U+1F2E GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
 &#7983;&#x1F2F;U+1F2F GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
 &#7984;&#x1F30;U+1F30 GREEK SMALL LETTER IOTA WITH PSILI
 &#7985;&#x1F31;U+1F31 GREEK SMALL LETTER IOTA WITH DASIA
 &#7986;&#x1F32;U+1F32 GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
 &#7987;&#x1F33;U+1F33 GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
 &#7988;&#x1F34;U+1F34 GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
 &#7989;&#x1F35;U+1F35 GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
 &#7990;&#x1F36;U+1F36 GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
 &#7991;&#x1F37;U+1F37 GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
 &#7992;&#x1F38;U+1F38 GREEK CAPITAL LETTER IOTA WITH PSILI
 &#7993;&#x1F39;U+1F39 GREEK CAPITAL LETTER IOTA WITH DASIA
 &#7994;&#x1F3A;U+1F3A GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
 &#7995;&#x1F3B;U+1F3B GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
 &#7996;&#x1F3C;U+1F3C GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
 &#7997;&#x1F3D;U+1F3D GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
 &#7998;&#x1F3E;U+1F3E GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
Ἷ &#7999;&#x1F3F;U+1F3F GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
 &#8000;&#x1F40;U+1F40 GREEK SMALL LETTER OMICRON WITH PSILI
 &#8001;&#x1F41;U+1F41 GREEK SMALL LETTER OMICRON WITH DASIA
 &#8002;&#x1F42;U+1F42 GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
 &#8003;&#x1F43;U+1F43 GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
 &#8004;&#x1F44;U+1F44 GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
 &#8005;&#x1F45;U+1F45 GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
 &#8008;&#x1F48;U+1F48 GREEK CAPITAL LETTER OMICRON WITH PSILI
 &#8009;&#x1F49;U+1F49 GREEK CAPITAL LETTER OMICRON WITH DASIA
 &#8010;&#x1F4A;U+1F4A GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
 &#8011;&#x1F4B;U+1F4B GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
 &#8012;&#x1F4C;U+1F4C GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
 &#8013;&#x1F4D;U+1F4D GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
 &#8016;&#x1F50;U+1F50 GREEK SMALL LETTER UPSILON WITH PSILI
 &#8017;&#x1F51;U+1F51 GREEK SMALL LETTER UPSILON WITH DASIA
 &#8018;&#x1F52;U+1F52 GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
 &#8019;&#x1F53;U+1F53 GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
 &#8020;&#x1F54;U+1F54 GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
 &#8021;&#x1F55;U+1F55 GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
 &#8022;&#x1F56;U+1F56 GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
 &#8023;&#x1F57;U+1F57 GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
 &#8025;&#x1F59;U+1F59 GREEK CAPITAL LETTER UPSILON WITH DASIA
 &#8027;&#x1F5B;U+1F5B GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
 &#8029;&#x1F5D;U+1F5D GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
 &#8031;&#x1F5F;U+1F5F GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
 &#8032;&#x1F60;U+1F60 GREEK SMALL LETTER OMEGA WITH PSILI
 &#8033;&#x1F61;U+1F61 GREEK SMALL LETTER OMEGA WITH DASIA
 &#8034;&#x1F62;U+1F62 GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
 &#8035;&#x1F63;U+1F63 GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
 &#8036;&#x1F64;U+1F64 GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
 &#8037;&#x1F65;U+1F65 GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
 &#8038;&#x1F66;U+1F66 GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
 &#8039;&#x1F67;U+1F67 GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
 &#8040;&#x1F68;U+1F68 GREEK CAPITAL LETTER OMEGA WITH PSILI
 &#8041;&#x1F69;U+1F69 GREEK CAPITAL LETTER OMEGA WITH DASIA
 &#8042;&#x1F6A;U+1F6A GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
 &#8043;&#x1F6B;U+1F6B GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
 &#8044;&#x1F6C;U+1F6C GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
 &#8045;&#x1F6D;U+1F6D GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
 &#8046;&#x1F6E;U+1F6E GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
 &#8047;&#x1F6F;U+1F6F GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
 &#8048;&#x1F70;U+1F70 GREEK SMALL LETTER ALPHA WITH VARIA
 &#8049;&#x1F71;U+1F71 GREEK SMALL LETTER ALPHA WITH OXIA
 &#8050;&#x1F72;U+1F72 GREEK SMALL LETTER EPSILON WITH VARIA
 &#8051;&#x1F73;U+1F73 GREEK SMALL LETTER EPSILON WITH OXIA
 &#8052;&#x1F74;U+1F74 GREEK SMALL LETTER ETA WITH VARIA
 &#8053;&#x1F75;U+1F75 GREEK SMALL LETTER ETA WITH OXIA
 &#8054;&#x1F76;U+1F76 GREEK SMALL LETTER IOTA WITH VARIA
 &#8055;&#x1F77;U+1F77 GREEK SMALL LETTER IOTA WITH OXIA
 &#8056;&#x1F78;U+1F78 GREEK SMALL LETTER OMICRON WITH VARIA
 &#8057;&#x1F79;U+1F79 GREEK SMALL LETTER OMICRON WITH OXIA
 &#8058;&#x1F7A;U+1F7A GREEK SMALL LETTER UPSILON WITH VARIA
 &#8059;&#x1F7B;U+1F7B GREEK SMALL LETTER UPSILON WITH OXIA
 &#8060;&#x1F7C;U+1F7C GREEK SMALL LETTER OMEGA WITH VARIA
 &#8061;&#x1F7D;U+1F7D GREEK SMALL LETTER OMEGA WITH OXIA
 &#8064;&#x1F80;U+1F80 GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
 &#8065;&#x1F81;U+1F81 GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
 &#8066;&#x1F82;U+1F82 GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
 &#8067;&#x1F83;U+1F83 GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
 &#8068;&#x1F84;U+1F84 GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
 &#8069;&#x1F85;U+1F85 GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
 &#8070;&#x1F86;U+1F86 GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
 &#8071;&#x1F87;U+1F87 GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
 &#8072;&#x1F88;U+1F88 GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
 &#8073;&#x1F89;U+1F89 GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
 &#8074;&#x1F8A;U+1F8A GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
 &#8075;&#x1F8B;U+1F8B GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
 &#8076;&#x1F8C;U+1F8C GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
 &#8077;&#x1F8D;U+1F8D GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
 &#8078;&#x1F8E;U+1F8E GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
 &#8079;&#x1F8F;U+1F8F GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
 &#8080;&#x1F90;U+1F90 GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
 &#8081;&#x1F91;U+1F91 GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
 &#8082;&#x1F92;U+1F92 GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
 &#8083;&#x1F93;U+1F93 GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
 &#8084;&#x1F94;U+1F94 GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
 &#8085;&#x1F95;U+1F95 GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
 &#8086;&#x1F96;U+1F96 GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
 &#8087;&#x1F97;U+1F97 GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
 &#8088;&#x1F98;U+1F98 GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
 &#8089;&#x1F99;U+1F99 GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
 &#8090;&#x1F9A;U+1F9A GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
 &#8091;&#x1F9B;U+1F9B GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
 &#8092;&#x1F9C;U+1F9C GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
 &#8093;&#x1F9D;U+1F9D GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
 &#8094;&#x1F9E;U+1F9E GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
 &#8095;&#x1F9F;U+1F9F GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
 &#8096;&#x1FA0;U+1FA0 GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
 &#8097;&#x1FA1;U+1FA1 GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
 &#8098;&#x1FA2;U+1FA2 GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
 &#8099;&#x1FA3;U+1FA3 GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
 &#8100;&#x1FA4;U+1FA4 GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
 &#8101;&#x1FA5;U+1FA5 GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
 &#8102;&#x1FA6;U+1FA6 GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
 &#8103;&#x1FA7;U+1FA7 GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
 &#8104;&#x1FA8;U+1FA8 GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
 &#8105;&#x1FA9;U+1FA9 GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
 &#8106;&#x1FAA;U+1FAA GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
 &#8107;&#x1FAB;U+1FAB GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
 &#8108;&#x1FAC;U+1FAC GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
 &#8109;&#x1FAD;U+1FAD GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
 &#8110;&#x1FAE;U+1FAE GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
 &#8111;&#x1FAF;U+1FAF GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
 &#8113;&#x1FB1;U+1FB1 GREEK SMALL LETTER ALPHA WITH MACRON
 &#8114;&#x1FB2;U+1FB2 GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
 &#8115;&#x1FB3;U+1FB3 GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
 &#8116;&#x1FB4;U+1FB4 GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
 &#8118;&#x1FB6;U+1FB6 GREEK SMALL LETTER ALPHA WITH PERISPOMENI
 &#8119;&#x1FB7;U+1FB7 GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
 &#8121;&#x1FB9;U+1FB9 GREEK CAPITAL LETTER ALPHA WITH MACRON
 &#8122;&#x1FBA;U+1FBA GREEK CAPITAL LETTER ALPHA WITH VARIA
 &#8123;&#x1FBB;U+1FBB GREEK CAPITAL LETTER ALPHA WITH OXIA
 &#8124;&#x1FBC;U+1FBC GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
 &#8126;&#x1FBE;U+1FBE GREEK PROSGEGRAMMENI
 &#8130;&#x1FC2;U+1FC2 GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
 &#8131;&#x1FC3;U+1FC3 GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
 &#8132;&#x1FC4;U+1FC4 GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
 &#8134;&#x1FC6;U+1FC6 GREEK SMALL LETTER ETA WITH PERISPOMENI
 &#8135;&#x1FC7;U+1FC7 GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
 &#8136;&#x1FC8;U+1FC8 GREEK CAPITAL LETTER EPSILON WITH VARIA
 &#8137;&#x1FC9;U+1FC9 GREEK CAPITAL LETTER EPSILON WITH OXIA
 &#8138;&#x1FCA;U+1FCA GREEK CAPITAL LETTER ETA WITH VARIA
 &#8139;&#x1FCB;U+1FCB GREEK CAPITAL LETTER ETA WITH OXIA
 &#8140;&#x1FCC;U+1FCC GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
 &#8145;&#x1FD1;U+1FD1 GREEK SMALL LETTER IOTA WITH MACRON
 &#8146;&#x1FD2;U+1FD2 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
 &#8147;&#x1FD3;U+1FD3 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
 &#8150;&#x1FD6;U+1FD6 GREEK SMALL LETTER IOTA WITH PERISPOMENI
 &#8153;&#x1FD9;U+1FD9 GREEK CAPITAL LETTER IOTA WITH MACRON
 &#8154;&#x1FDA;U+1FDA GREEK CAPITAL LETTER IOTA WITH VARIA
 &#8155;&#x1FDB;U+1FDB GREEK CAPITAL LETTER IOTA WITH OXIA
 &#8161;&#x1FE1;U+1FE1 GREEK SMALL LETTER UPSILON WITH MACRON
 &#8162;&#x1FE2;U+1FE2 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
 &#8163;&#x1FE3;U+1FE3 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
 &#8164;&#x1FE4;U+1FE4 GREEK SMALL LETTER RHO WITH PSILI
 &#8165;&#x1FE5;U+1FE5 GREEK SMALL LETTER RHO WITH DASIA
 &#8166;&#x1FE6;U+1FE6 GREEK SMALL LETTER UPSILON WITH PERISPOMENI
 &#8169;&#x1FE9;U+1FE9 GREEK CAPITAL LETTER UPSILON WITH MACRON
 &#8170;&#x1FEA;U+1FEA GREEK CAPITAL LETTER UPSILON WITH VARIA
 &#8171;&#x1FEB;U+1FEB GREEK CAPITAL LETTER UPSILON WITH OXIA
 &#8172;&#x1FEC;U+1FEC GREEK CAPITAL LETTER RHO WITH DASIA
 &#8178;&#x1FF2;U+1FF2 GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
 &#8179;&#x1FF3;U+1FF3 GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
 &#8180;&#x1FF4;U+1FF4 GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
 &#8182;&#x1FF6;U+1FF6 GREEK SMALL LETTER OMEGA WITH PERISPOMENI
 &#8183;&#x1FF7;U+1FF7 GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
 &#8184;&#x1FF8;U+1FF8 GREEK CAPITAL LETTER OMICRON WITH VARIA
 &#8185;&#x1FF9;U+1FF9 GREEK CAPITAL LETTER OMICRON WITH OXIA
 &#8186;&#x1FFA;U+1FFA GREEK CAPITAL LETTER OMEGA WITH VARIA
 &#8187;&#x1FFB;U+1FFB GREEK CAPITAL LETTER OMEGA WITH OXIA
 &#8188;&#x1FFC;U+1FFC GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI

Hebrew

Hebrew letters with diacriticals (vowel points) are constructed in our programs by combing a base character with a combining character. A combining character is one that “overstrikes” the character which precedes it. Only one combining character is allowed to follow a base character. Since there are times when more than one diacritical is needed on a letter, our Hebrew font includes precomposed base characters that consist of a base character with one or more diacriticals all in one glyph. It also includes precomposed diacriticals which are combinations of diacriticals in one glyph. These glyphs are chosen automatically by the program when needed. You simply encode the base character and the diacriticals you want to go with it.

Earlier versions of PocketBible used a static method of constructing characters that required you to choose from a list of combinations which we had previously defined. The latest versions of PocketBible use a new algorithm that dynamically combines base characters and diacriticals without you first having to find the formula from our list.

When entering Hebrew text into your document, the first character must be one of the base characters listed below. This should be followed by diacritical characters such as accents and vowel points. Diacriticals can appear in any order. If you get an error when building your book, try simplifying the diacriticals. If you cannot publish your book without getting errors, contact Technical Support to see if we can extend the capabilities to accommodate your needs.

Hebrew Base Characters

CharacterDecimal EntityHex EntityUnicode Value
&#32;&#x0020;U+0020 Space
·&#183;&#x00B7;U+00B7 Centered dot
־&#1470;&#x05BE;U+05BE Maqaf
׀&#1472;&#x05C0;U+05C0 Paseq
׃&#1475;&#x05C3;U+05C3 Sof Paseq
א&#1488;&#x05D0;U+05D0
ב&#1489;&#x05D1;U+05D1
ג&#1490;&#x05D2;U+05D2
ד&#1491;&#x05D3;U+05D3
ה&#1492;&#x05D4;U+05D4
ו&#1493;&#x05D5;U+05D5
ז&#1494;&#x05D6;U+05D6
ח&#1495;&#x05D7;U+05D7
ט&#1496;&#x05D8;U+05D8
י&#1497;&#x05D9;U+05D9
ך&#1498;&#x05DA;U+05DA
כ&#1499;&#x05DB;U+05DB
ל&#1500;&#x05DC;U+05DC
ם&#1501;&#x05DD;U+05DD
מ&#1502;&#x05DE;U+05DE
ן&#1503;&#x05DF;U+05DF
נ&#1504;&#x05E0;U+05E0
ס&#1505;&#x05E1;U+05E1
ע&#1506;&#x05E2;U+05E2
ף&#1507;&#x05E3;U+05E3
פ&#1508;&#x05E4;U+05E4
ץ&#1509;&#x05E5;U+05E5
צ&#1510;&#x05E6;U+05E6
ק&#1511;&#x05E7;U+05E7
ר&#1512;&#x05E8;U+05E8
ש&#1513;&#x05E9;U+05E9
ת&#1514;&#x05EA;U+05EA
&#9676;&#x25CC;U+25CC Dotted circle

Hebrew Diacriticals

Since diacriticals overstrike the previous character, it is necessary for us to choose a character for use in the table below to demonstrate these diacriticals. We've chosen to use the letter mem for all diacriticals even though in some cases that may not make sense. Just remember that mem is just a placeholder here for the actual character you will use in your document.

CharacterCharacter EntityUnicode Value
מ̭&#813;&#x032D;U+032D Hat below
מְ&#1456;&#x05B0;U+05B0 Point Sheva
מֱ&#1457;&#x05B1;U+05B1 Point Hataf Segol
מֲ&#1458;&#x05B2;U+05B2 Point Hataf Patah
מֳ&#1459;&#x05B3;U+05B3 Point Hataf Qamats
מִ&#1460;&#x05B4;U+05B4 Point Hiriq
מֵ&#1461;&#x05B5;U+05B5 Point Tsere
מֶ&#1462;&#x05B6;U+05B6 Point Segol
מַ&#1463;&#x05B7;U+05B7 Point Patah
מָ&#1464;&#x05B8;U+05B8 Point Qamats
מֹ&#1465;&#x05B9;U+05B9 Point Holam
מֻ&#1467;&#x05BB;U+05BB Point Qubuts
מּ&#1468;&#x05BC;U+05BC Point Dagesh
מֽ&#1469;&#x05BD;U+05BD Point Meteg
מֿ&#1471;&#x05BF;U+05BF Point Rafe
מׁ&#1473;&#x05C1;U+05C1 Point Shin Dot
מׂ&#1474;&#x05C2;U+05C2 Point Sin Dot
מׄ&#1476;&#x05C4;U+05C4 Upper Dot

Contents

Introduction

Reference Section

Building Your Book

Miscellaneous Topics

Appendices

Copyright © 2012 by Laridian, Inc. All Rights Reserved. Laridian, PocketBible, and MyBible are registered trademarks of Laridian, Inc. BookBuilder, VerseLinker, and DocAnalyzer are trademarks of Laridian, Inc. Other marks are the property of their respective owners.