Review of "Fonts & Encodings"

Oakland.pm

Reviews

Review of "Fonts & Encodings"

author: Yannis Haralambous

reviewer: George Woolley

Title: Fonts & Encodings
Author: Yannis Haralambous
Translator: P. Scott Horne
Original Language: French 
Edition: First 
Publication Month: September 2007
Publisher: O'Reilly Media
ISBN 10: 0-596-10242-9
ISBN 13: 9780596102425
Pages: 1037
Cost: $59.99, £37.50

Short Review

Smiley Rating: Very good (see notes). :) :) :) :) of 5.

This book contains a wealth of information regarding fonts and encodings. It's exceptionally well-written; it's written in a relaxed style and is easy to read. It can be read from cover to cover or used as a reference (or both).

I think the book could be a major asset for:

  • document designers
  • web designers
  • application developers
  • font creators and font collectors

If you want more detail, you could read my somewhat longer review.

The book is long and not cheap, so you may wish to look at it at a bookstore before purchasing it.

George Woolley
of Camelot.pm and Oakland.pm

Notes:
  • I didn't read this book for it's primary purpose (creating fonts), and I'm not competent to review it as an aid to that. However, I am one of the intended readers.
  • I might well have rated the book as Excellent were I more knowledgeable about fonts.

Miscellaneous

Contents

Chapter Titles

  1. Before Unicode
  2. Characters, glyphs, bytes: An introduction to Unicode
  3. Properties of Unicode Characters
  4. Normalization, bidirectionality, and East Asian characters
  5. Using Unicode
  6. Font Management on the MacIntosh
  7. Font Management under Windows
  8. Font Management under X Window
  9. Fonts in TEX and Ω and their installation and use
  10. Fonts and Web Pages
  11. The History and Classification of Latin Typefaces
  12. Editing and Creating Fonts
  13. Optimizing a rastorization
  14. Enriching Fonts: Advanced Typography

Appendix Titles

  • Bitmap Font Formats
  • TEX and Ω Font Formats
  • PostScript Font Formats
  • The TrueType, OpenType, and AAT Font Formats
  • TrueType Instructions
  • METAFONT and Its Derivatives
  • Bézier Curves
Notes:

Some Unicode Characters

  • from Latin-1 Supplement: ±
    (U+00B1 PLUS-MINUS SIGN)
  • from Latin Extended-A: Đ
    (U+110 LATIN CAPITAL LETTER D WITH STROKE)
  • from Greek & Coptic: Φ
    (U+03A6 GREEK CAPITAL LETTER PHI)
  • from Tibetan: ༀ
    (U+0F00 TIBETAN SYLLABLE OM)
  • from Geometric Shapes: ◇
    (U+25C7 WHITE DIAMOND)
  • from Arrows: ←
    (U+2190 LEFTWARDS ARROW)
  • from Dingbats: ✻
    (U+273B TEARDROP-SPOKED ASTERISK)
  • from Katakana: デ
    (U+30C7 KATAKANA LETTER DE)
  • from Hangul Syllables: 가
    (U+AC00 HANGUL SYLLABLE GA)
Note:
  • I found these characters using gucharmap (a tool the book talks about for systems that use X).

Online Watch

Safari

When I looked on Safari 2008-01-03, I didn't see the book. However, it will likely show up later.

Author

There's quite a bit of information about the author on the Web. I'll list a couple of places to look.

There's a very brief biography of the author on the O'Reilly Network.

You could take a look at the page of information about the author on omega.enstb.org. I found the list of publications particularly interesting.

Translator

There's a very brief biography of the translator on the O'Reilly Network.

You could take a look at the translator's website too. I found the translator's article on diacritical marks in English especially interesting.

The Book

One place you'll find quite a bit of information about the book is the O'Reilly Media catalog entry for this book.

If you want to see more reviews of the book, I suggest doing a search on:

      "fonts & encodings" review

Hey, maybe you'll find a reviewer who is more knowledgeable about fonts & encodings than I am. For sure, you'll find different perspectives.

Character Maps

I learned of gucharmap from the book. It's a Unicode character map and font viewer on Linux. I've found it extremely valuable.

Depending on your OS environment, you may be more interested in Character Palette on the Mac or Character Map on Windows. If you want to find out more about any of these tools, I suggest doing a simple search on the Web such as one of the following:

      gucharmap
      character palette
      character map      

HTML Character Entities

This subsection is aimed at people who use HTML character entities. If you don't use them, I suggest skipping this subsection.

There is a wealth of information to help you determine an HTML character entity for a specific character in some language. Some searches that worked for me when I had that concern are:

    unicode greek
    unicode omega
    03A9

I've seen two representations for Unicode characters on the Web. Below are examples of the two representations (the first from a code page):

    03A9
    U+03A9

In both cases, the corresponding character entity using hex is:

      Ω

or:

      Ω

or, if you prefer decimal:

       Ω

The character in this example is Ω.

Or you could just use gucharmap (or Character Palette on the Mac or Character Map on Windows). That's what I do now.

Linux Fonts

Two searches that got me good results were:

    linux fonts
    linux font equvalents

Acknowledgments

Thanks to Yannis Haralambous for writing this wonderful book. I say wonderful because (1) I learned so much from the book and (2) I enjoyed so much the author's exceptional writing.

Thanks to P. Scott Horne for translating the book. I haven't read the French version from which the English version that I read came, however I think he must have done a superb job given the exceptionally well-written book I read.

Thanks to Mark Theodoropoulos (mtheo) for inspiring me to read the book. I'm hopeful that Mark will, at some point, read and comment on this review. I'm also hopeful Mark will, at some point, comment on the book on the Oakland.pm mailing list (or in some manner where his comments are available on the Net). The thing is, Mark knows way more than I about fonts.

Thanks to Arden Schaeffer for his comments on an early draft of this review.

Thanks to Eli the Bearded (Griffin) for his comments. I made several changes as a result of them.

Thanks to Randal L. Schwartz for pointing out so clearly X.Org's request for references to (well) X.

Terms

Some Terms in the General Index

  • Arabic
  • bounded box
  • category
  • character
  • choice
  • feature
  • font
  • glyph
  • GPOS
  • GSUB
  • hint
  • ISO
  • ITC
  • JIS
  • kerning
  • ligature
  • METAFONT
  • Monotype
  • Multiple Master
  • OpenType
  • point
  • positioning
  • PostScript
  • principle
  • property
  • script
  • substitution
  • table
  • TEX
  • TrueType
  • XML
Note:
  • All of the above are main entries in the book's General Index, and the entry including its subentries contains at least 10 page references.

Some Index Terms for this Book

    character
    encoding
    glyph
    font
    "font management"
    metafont
    omega 
    postscript
    tex 
    unicode

Some Names from the Person's Index

  • from art: da Vinci
  • from computer software and the Web: Bill Gates, Larry Wall, Linus Torvalds, Tim Berners-Lee
  • from fiction: Bernard Shaw, Captain Kirk, Goethe, Harry Potter, James Bond, Sherlock Holmes
  • from math & science: Einstein, Euclid
  • from politics: Benjamin Franklin, Julius Caesar, Hitler, Machiavelli
Notes:
  • There are way more than 300 names listed in the Person's Index.
  • I was surprised how long it was; actually I was surprised there was a Person's Index.
  • The names listed above are some of the ones I was familiar with before reading this book. They are not primarily known as typographers. :)

Somewhat Longer Review

Contents

The Title

Encodings

The characters c a t spell cat. The following all correctly spell cat: cat, cat, cat, cat, or cat.

Given this somewhat abstract interpretation of character, an encoding could be thought of as a mapping of codes (e.g. Unicode) to characters in a writing system.

Choosing the font then determines the shape of the character.

&

The & in the title of the book tells me to interpret encodings in some way related to fonts (as I do above).

Fonts

A glyph could be thought of as a shape for a character independent of such attributes as size.

A font could be thought of as a collection of (hopefully related) glyphs for representing an encoding or encodings.

Does the title fit the book?

The title does fit the book.

The first sentence of chapter 12 is: "Now we come to the heart of the book: creating fonts." This surprised me. Not to worry, though, you don't need to want to create fonts to benefit from this book.

Note:
  • I should mention, that the above characterization of fonts and encodings is somewhat simplistic. For example, even in the fonts domain, there are many types of encodings. Hey, get the book (if you care) and you'll see what I mean.

About the Reviewer

Experience with Web Sites

I've created many web sites, mostly not for work. I'm definitely not a professional web designer.

I've read and reviewed a number of books related to web design.

Experience with Encodings

I have some experience of HTML character entities while creating and maintaining web sites.

I have fielded many questions about what specific character entity to use for a specific character in a language other than English. Researching such questions has led me to many Unicode tables for characters for various writing systems.

That's the extent of my experience with encodings (in this domain).

Experience with Fonts

I've been selecting fonts for various documents for years.

In building websites, I've gone a little beyond that. Some of the font related CSS properties I use a lot (besides font-family) are:

  • color
  • font-style
  • font-weight
  • font-size
  • text-decoration

I don't know much about fonts. Up until now, I've not created or modified any fonts.

Experience with the Publisher

I've made use of quite a few O'Reilly books. My experiences with O'Reilly books have been very positive.

I've written reviews of a number of O'Reilly books.

I'm coordinator of a Perl user group which belongs to O'Reilly's User Group Program (and also to the User Group Programs of Apress and Manning).

Programming Experience

I've been programming for years. I've made significant use of over 20 programming languages. My favorite programming language is Perl.

However, none of my programming experience has involved creating fonts.

OS Used

I primarily use SuSE Linux and use X a lot. I also use Free BSD a little.

So I read but didn't try anything in the following chapters:

  • Chapter 6: Font Management on the Macintosh
  • Chapter 7: Font Management under Windows

Instead I focused on:

  • Chapter 8: Font Management under X Window

An Advocate of Freedom

I'm an advocate of freedom generally, and in particular I advocate free software.

What I Expected from this Book

What I mainly hoped for from this book was to learn a few things about fonts and encodings that would help me in

  • creating web sites
  • answering questions about character codes
  • coaching others in creating web sites

In the Introduction, different types of people are listed who might read the book. The type that fits me best is:

  • "the reader who wishes to create beautiful Web pages"

I read all of the book (the introduction, all the chapters and all the appendixes), but I concentrated on the parts most relevant to my concerns.

By the Numbers

  • 1 introduction (23 pages)
  • 14 chapters (576 pages)
  • 7 appendixes (370 pages)
  • 1 bibliography (21 pages)
  • 2 indexes (26 pages)
Notes:
  • There are pages that are blank on one side after the introduction, some chapters, some appendixes, the bibliography and the first index.
  • The number of pages in parentheses above are approximate. The blank sides of pages are counted.

Likes

Perhaps due to my background and interests, the parts I got the most out of were:

  • the introduction
  • chapters 2, 5, 10 and 11

(See the Chapter Titles List for the chapter titles.)

Explanations of Terms

The author gives many useful explanations of terms (such as glyph and character).

I especially appreciated learning what optical size referred to. I also appreciated learning what Panose-1 is.

Optical size is the size the font was designed for. E.g. The font Linotype Times Ten has an optical size of 10 (not surprisingly); it's designed for use at 10 points.

Panose-1 is a way of characterizing Latin fonts along 10 dimensions. Some of the factors taken into account are:

  • serif style
  • shape of letters
  • stroke variation
  • weight
  • x-height

Analogies

The author is exceptionally good with analogies. I particularly enjoyed the analogies involving Captain Kirk.

I wonder if the author has considered writing novels. I hope so.

Perspective

Many times I was grateful for the author's perspective. For example:

  • in Chapter 12 "History and Classification" (of Latin fonts)
  • on the impact of copyrights on fonts

Style

I like the author's style. It could be characterized as:

  • relaxed, fun
  • thorough
  • professional
  • serious

Given the length of the book, the relaxed, fun aspect of the author's style is much appreciated.

Linux Aware

If you run Linux, you'll be pleasantly surprised that the author is very much aware of Linux/Unix. For example, there's a whole chapter on font management under X.

Two tools I learned of from the book and found particularly interesting were:

  • gucharmap
  • xlsfonts

gucharmap gives you a map of Unicode characters available. xlsfonts gives you a list of fonts available.

Lots of Information

The book contains a wealth of information on fonts and encodings. In this regard, I particularly appreciated the chapters on Unicode.

An Inspiration

As I read through the book, I found myself formulating questions and researching them on the Web.

I attribute this to two aspects of the author's style:

  • relaxed, fun
  • serious

I also found myself looking into the fonts on my system.

Gripes

I really like this book, but I'll try to think of some things to gripe about.

Too Many Pages

I prefer shorter books. This book is more than 1000 pages long, which I consider humongous.

Too Much Not of Interest

I wasn't interested in the following:

  • chapters 9, 12-14
  • the 7 appendixes

(See the Chapters Titles list and the Appendix Titles list below it for the titles of these chapters and appendixes.)

Maybe later.

Confusing Figure Classifying Chapters

In the introduction, there's a cool figure that classifies the chapters of the book. The heart of the figure is a yin/yang sign.

The text explains the figure (which is good), but without the text I would have misunderstood the figure. I think the figure should be clear without the text.

Typos

I don't care about typos unless they are confusing, but some people do care about them regardless.

An example of a typo I encountered is:

  • "was oined by Microsoft"

I think oined should be replaced by coined. Or perhaps there's a joke here and I missed it. What meaning would you assign to oined?

Some Terms not in Index

There were some terms I looked up in the index but didn't find. For example:

  • HTML character entity
  • dingbat fonts

Who's the Book for?

According to the Book

In the Introduction to this book, potential readers are listed by type:

  • designers and collectors of fonts
  • people who want to produce beautiful documents or web pages
  • people who are into TEX (or Ω, I presume)
  • people well-versed in Unicode
  • application developers
  • people who don't fit any of the types above

On the back cover (of my copy, anyway), the following are listed as potentially benefitting from the book:

  • software developers
  • web developers
  • graphic designers

However I concluded from first sentence of chapter 12 that the book is especially for people who want to create fonts.

Ideal For

An ideal reader of this book would have all the following characteristics:

  • has some experience with fonts
  • has some experience with Unicode
  • is interested in knowing more about fonts and encodings
  • has a sense of humor
  • wants to create fonts

For

This book could be valuable for anyone interested in fonts or encodings (encodings in the font's domain, that is).

Not For

This book would probably not be good for anyone with any of the following characteristics:

  • has no experience with fonts or Unicode
  • doesn't wish to know more about fonts and encodings
  • isn't willing to pay for the book

Final Thoughts

The book contains a wealth of information re fonts and encodings. It's exceptionally well-written. It can be read from cover to cover or used as a reference (or both).

If you are into the subject matter, I recommend this book strongly.

The book is long and not cheap, so most people should stop by their favorite technical bookstore and look through it before purchasing it.

Complete Draft on the Web and Many Minor Changes: 2007-12-01

Fix Suggested by Arden plus More Minor Changes: 2007-12-02

More Minor Changes and Added Subsection to Online Watch: 2007-12-05f

Many More Changes: 2008-01-01

Many Changes (some minor, some not): 2008-01-13

More Minor Changes and Added Acknowledgments Section: 2008-01-18d

Removed Draft Status: 2008-01-19

Made Several Changes based on Comments by Elijah: 2008-01-20f

Changed X Window to X in 3 places: 2008-01-21b