diff options
| author | Laurenz <laurmaedje@gmail.com> | 2021-03-19 13:20:58 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2021-03-19 13:20:58 +0100 |
| commit | 54a9ccb1a5e9f1f1e5d2538d2f4ce3d4f7afc4ae (patch) | |
| tree | 3a0f45af5d1cd6d65420887f8412a5594b6300bd /tests/typ | |
| parent | bd12d135cab32d61b32945433e77579d04298d52 (diff) | |
Configurable font edges ⚙
Adds top-edge and bottom-edge parameters to the font function. These define how
the box around a word is computed. The possible values are:
- ascender
- cap-height (default top edge)
- x-height
- baseline (default bottom edge)
- descender
The defaults are chosen so that it's easy to create good-looking designs with
vertical alignment. Since they are much tighter than what most other software
uses by default, the default leading had to be increased to 50% of the font size
and paragraph spacing to 100% of the font size.
The values cap-height and x-height fall back to ascender in case they are zero
because this value may occur in fonts that don't have glyphs with cap- or
x-height (like Twitter Color Emoji). Since cap-height is the default top edge,
doing no fallback would break things badly.
Removes softness in favor of a simple boolean for pages and a more finegread u8
for spacing. This is needed to make paragraph spacing consume line spacing
created by hard line breaks.
Diffstat (limited to 'tests/typ')
| -rw-r--r-- | tests/typ/control/let.typ | 4 | ||||
| -rw-r--r-- | tests/typ/full/coma.typ | 4 | ||||
| -rw-r--r-- | tests/typ/library/font.typ | 14 | ||||
| -rw-r--r-- | tests/typ/library/spacing.typ | 2 | ||||
| -rw-r--r-- | tests/typ/markup/escape.typ | 4 | ||||
| -rw-r--r-- | tests/typ/markup/raw.typ | 2 | ||||
| -rw-r--r-- | tests/typ/text.typ | 21 |
7 files changed, 40 insertions, 11 deletions
diff --git a/tests/typ/control/let.typ b/tests/typ/control/let.typ index dd971ee5..4f84aa67 100644 --- a/tests/typ/control/let.typ +++ b/tests/typ/control/let.typ @@ -17,8 +17,8 @@ --- // Syntax sugar for function definitions. -#let background = #239dad -#let rect(body) = rect(width: 2cm, height: 1cm, fill: background, body) +#let background = #9feb52 +#let rect(body) = rect(width: 2cm, fill: background, pad(5pt, body)) #rect[Hi!] // Error: 13 expected body diff --git a/tests/typ/full/coma.typ b/tests/typ/full/coma.typ index 243c667f..619843d7 100644 --- a/tests/typ/full/coma.typ +++ b/tests/typ/full/coma.typ @@ -30,8 +30,8 @@ // the parentheses. #align(center)[ // Markdown-like syntax for headings. - ==== 3. Übungsblatt Computerorientierte Mathematik II #v(2mm) - *Abgabe: 03.05.2019* (bis 10:10 Uhr in MA 001) #v(2mm) + ==== 3. Übungsblatt Computerorientierte Mathematik II #v(4mm) + *Abgabe: 03.05.2019* (bis 10:10 Uhr in MA 001) #v(4mm) *Alle Antworten sind zu beweisen.* ] diff --git a/tests/typ/library/font.typ b/tests/typ/library/font.typ index c00bff5a..ecea303f 100644 --- a/tests/typ/library/font.typ +++ b/tests/typ/library/font.typ @@ -32,6 +32,20 @@ Emoji: 🐪, 🌋, 🏞 ] --- +// Test top and bottom edge. + +#page(width: 170pt) +#let try(top, bottom) = rect(fill: #9feb52)[ + #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) + +--- // Ref: false // Error: 7-12 unexpected argument diff --git a/tests/typ/library/spacing.typ b/tests/typ/library/spacing.typ index a34840c6..6d50f0dc 100644 --- a/tests/typ/library/spacing.typ +++ b/tests/typ/library/spacing.typ @@ -2,7 +2,7 @@ --- // Ends paragraphs. -Tightly #v(-5pt) packed +Tightly #v(0pt) packed // Eating up soft spacing. Inv #h(0pt) isible diff --git a/tests/typ/markup/escape.typ b/tests/typ/markup/escape.typ index eeac4997..b0a809f9 100644 --- a/tests/typ/markup/escape.typ +++ b/tests/typ/markup/escape.typ @@ -28,3 +28,7 @@ // Unterminated. // Error: 6 expected closing brace \u{41*Bold* + +--- +// Some code stuff in text. +let f() , ; : | + - /= == 12 "string" diff --git a/tests/typ/markup/raw.typ b/tests/typ/markup/raw.typ index f5074c8e..005d413e 100644 --- a/tests/typ/markup/raw.typ +++ b/tests/typ/markup/raw.typ @@ -7,7 +7,7 @@ --- // Typst syntax inside. `#let x = 1` \ -`#[f 1]` +`#f(1)` --- // Multiline block splits paragraphs. diff --git a/tests/typ/text.typ b/tests/typ/text.typ index d86f4895..b424cee8 100644 --- a/tests/typ/text.typ +++ b/tests/typ/text.typ @@ -1,8 +1,19 @@ // Test simple text. ---- -Hello 🌏! +#page(width: 250pt) ---- -// Some code stuff in text. -let f() , ; : | + - /= == 12 "string" +But, soft! what light through yonder window breaks? It is the east, and Juliet +is the sun. Arise, fair sun, and kill the envious moon, Who is already sick and +pale with grief, That thou her maid art far more fair than she: Be not her maid, +since she is envious; Her vestal livery is but sick and green And none but fools +do wear it; cast it off. It is my lady, O, it is my love! O, that she knew she +were! She speaks yet she says nothing: what of that? Her eye discourses; I will +answer it. + +I am too bold, 'tis not to me she speaks: Two of the fairest stars in all the +heaven, Having some business, do entreat her eyes To twinkle in their spheres +till they return. What if her eyes were there, they in her head? The brightness +of her cheek would shame those stars, As daylight doth a lamp; her eyes in +heaven Would through the airy region stream so bright That birds would sing and +think it were not night. See, how she leans her cheek upon her hand! O, that I +were a glove upon that hand, That I might touch that cheek! |
