Universe

Select the correct Arno Pro optical-size face from the current Typst text size.

Arno Pro ships as separate Caption, SmText, Regular, Subhead, and Display font families. This package encodes those published optical-size ranges for Typst, so the selected face is not a stylistic preference: it follows the typeface’s own specification.

This package does not include Arno Pro font files. Install Arno Pro separately through Adobe Fonts or another license you are entitled to use.

Usage

#import "@preview/arnoptical:0.1.0": arno-pro-optical-text

#set text(font: "Arno Pro", size: 11pt)
#show text: arno-pro-optical-text

Arno Pro body text uses the Regular optical-size face here.

#text(size: 8pt)[Caption text uses Arno Pro Caption.]
#text(size: 18pt)[Subhead text uses Arno Pro Subhead.]

Semibold requests are mapped to Arno Pro’s Smbd font families:

#text(font: "Arno Pro", weight: "semibold", size: 10pt)[
  This uses Arno Pro Smbd SmText.
]

API

arno-pro-optical-text

Use this as a text show rule after setting text.font to an Arno Pro family. It only changes text whose current font name contains Arno Pro; other fonts pass through unchanged. If text.font is a fallback list, the Arno Pro entry is replaced in place and the remaining fallback families are preserved.

#import "@preview/arnoptical:0.1.0": arno-pro-optical-text

#set text(font: "Arno Pro")
#show text: arno-pro-optical-text

Optically sized text.

Fallback font lists work as expected:

#import "@preview/arnoptical:0.1.0": arno-pro-optical-text

#set text(font: ("Arno Pro", "New Computer Modern"), size: 8pt)
#show text: arno-pro-optical-text

This uses Arno Pro Caption, with New Computer Modern still available as fallback.

arno-pro-optical-font

Return the Arno Pro family name for a size. This is useful when you want to set the font explicitly.

#import "@preview/arnoptical:0.1.0": arno-pro-optical-font

#set text(font: arno-pro-optical-font(21pt))

The encoded ranges are:

Size Regular family Semibold family
<= 8.5pt Arno Pro Caption Arno Pro Smbd Caption
> 8.5pt and <= 10.9pt Arno Pro SmText Arno Pro Smbd SmText
> 10.9pt and <= 14pt Arno Pro Arno Pro Smbd
> 14pt and <= 21.5pt Arno Pro Subhead Arno Pro Smbd Subhead
> 21.5pt Arno Pro Display Arno Pro Smbd Display

Specification Source

Adobe Fonts describes Arno as an Adobe Originals family with five optical size ranges. The point-size mapping used here follows the Arno Pro specimen/release notes, including the copy mirrored at Scribd: https://www.scribd.com/document/1428217/Arno-Pro.

Additional public references:

Local Development

Run the full quality-control suite:

make check

For CI-parity checks, install typstyle, shellcheck, typst-package-check, tt from Tytanic, and typos, then run:

make strict-check

The local suite validates the package metadata, compiles every tests/*/test.typ fixture, smoke-tests an @preview/arnoptical:0.1.0 import from a temporary package path, compiles every Typst code block in this README, and audits rendered PDF font faces when Arno Pro and pdffonts are available.

Individual targets are also available:

make manifest
make test
make smoke
make font-audit
make fmt-check
make shellcheck
make package-check
make tytanic
make typos

See PUBLISHING.md for the final Typst Universe submission checklist.

To test package-style imports before publication, place the repository at:

{package-path}/preview/arnoptical/0.1.0

Then import with:

#import "@preview/arnoptical:0.1.0": *