The recipes use hb, ft2 and icu, which are local nicknames now that
cl-harfbuzz, cl-ft2 and cl-icu drop their global ones, so the page
opens with the package that gives them, and loads the three systems.
Follow cl-harfbuzz caefc79: declared types, no global nickname hb
cl-harfbuzz has no global nickname now, so the examples are written in
a package that gives it the local nickname hb, and cl-ft2 the nickname
ft2: Home, Installation, Getting started and the FreeType bridge show
it, the tour prints its objects as #<HB:FACE ...>, and the Cookbook
and the API index say so. The systems load with asdf:load-system in
place of ql:quickload, from a stift checkout or a project that
requires cl-harfbuzz.
Errors says that a wrong argument signals its type-error in the
function it was passed to, a face where a font belongs among them, and
that SBCL warns at compile time about a wrong constant; the example
shows the report SBCL now gives. Font scales and ppem are 32-bit
integers. The FFI layer lists the enums hb-ot-name-id-predefined and
hb-ot-metrics-tag, and hb-ot-metrics-get-position takes the metric as
a keyword. Development counts 48 tests and 328 checks, and its
conventions ask for the ftype, check-type and docstrings.