pub struct FaceId(/* private fields */);Expand description
A named family’s id on a glyph — what FaceRef::Named carries and
FaceTable::name reads back.
A 32-bit FNV-1a of the family name, and not an index, for one reason: a
glyph’s id has to mean the same thing however its row was built. A row comes
from a fresh walk, from a crate::wysiwyg::BlockCache hit cloned at a
shifted offset, or from a previous map a splice kept untouched — and an
index into a table that each of those three assembled differently would have
the same glyph naming two faces. Derived from the name, nothing has to be
remapped and a spliced map’s glyphs compare equal to a fresh build’s.
Two family names that hashed alike would draw in one face. That needs about 2¹⁶ distinct families in one document to become likely, and a document with 2¹⁶ families has a different problem.