typst/tests/typ/text/font.typ
2021-06-10 16:46:01 +02:00

75 lines
1.5 KiB
Typst
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Test configuring font properties.
---
// Set same font size in three different ways.
#font(22pt)[A]
#font(200%)[A]
#font(16.5pt + 50%)[A]
// Do nothing.
#font[Normal]
// Set style (is available).
#font(style: italic)[Italic]
// Set weight (is available).
#font(weight: bold)[Bold]
// Set stretch (not available, matching closest).
#font(stretch: 50%)[Condensed]
// Set family.
#font("PT Sans")[Sans serif]
// Emoji.
Emoji: 🐪, 🌋, 🏞
// Math.
#font("Latin Modern Math")[
𝛼 + 3𝛽 d𝑡
]
// Colors.
#font(color: eastern)[This is #font(color: #FA644B)[way more] colorful.]
---
// Test top and bottom edge.
#page(width: 170pt)
#let try(top, bottom) = rect(fill: conifer)[
#font(top-edge: top, bottom-edge: bottom)
`From `#top` to `#bottom
]
#try(ascender, descender)
#try(ascender, baseline)
#try(cap-height, baseline)
#try(x-height, baseline)
---
// Test class definitions.
#font(sans-serif: "PT Sans")
#font(sans-serif)[Sans-serif.] \
#font(monospace)[Monospace.] \
#font(monospace, monospace: ("Nope", "Latin Modern Math"))[Math.]
---
// Ref: false
// Error: 7-12 unexpected argument
#font(false)
// Error: 3:14-3:18 expected font style, found font weight
// Error: 2:28-2:34 expected font weight, found string
// Error: 1:43-1:44 expected string or array of strings, found integer
#font(style: bold, weight: "thin", serif: 0)
// Warning: 15-19 should be between 100 and 900
#font(weight: 2700)
// Warning: 16-21 should be between 50% and 200%
#font(stretch: 1000%)
// Error: 7-27 unexpected argument
#font(something: "invalid")