a

arnoptical

@preview

Select Arno Pro optical text faces by point size.

v0.1.0
MIT

Package Information

Last Updated
Minimum Typst Version
0.14.0
Categories
text
Disciplines
design

1. Get the package

Download the package using the TPIX CLI:

tpix get @preview/arnoptical:0.1.0

2. Import in your Typst file

Add this to your .typ file:

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

Version History

0.1.00.14.0
d77d40a10952...

arnoptical

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": *