Universe

Anatomy of a Font. Visualise metrics.

Import the anatomy package:

#import "@preview/anatomy:0.1.0": metrics

Samples

metrics(72pt, "EB Garamond", "Typewriter") will be rendered as follows:

Additionally, a closure using metrics dictionary as parameter can be specified for further typesetting:

metrics(54pt, "一點明體", "電傳打字機",
  typeset: metrics => table(
    columns: 2,
    ..metrics.pairs().flatten().map(x => [ #x ])
  )
)

It will generate:

Remark: To typeset CJK text, adopting font’s ascender/descender as top-edge/bottom-edge makes more sense in some cases. As for most CJK fonts, the difference between ascender and descender heights will be exact 1em.

Tested with metrics(54pt, "Hiragino Mincho ProN", "テレタイプ端末"):