mirror of
https://github.com/typst/typst
synced 2025-08-20 17:58:32 +08:00
Compare commits
2 Commits
c15c5d8e21
...
7b629fc45a
Author | SHA1 | Date | |
---|---|---|---|
|
7b629fc45a | ||
|
da5ed2e6ee |
@ -870,17 +870,13 @@ cast! {
|
|||||||
"header" => Self::Header(NonZeroU32::ONE, TableHeaderScope::default()),
|
"header" => Self::Header(NonZeroU32::ONE, TableHeaderScope::default()),
|
||||||
"footer" => Self::Footer,
|
"footer" => Self::Footer,
|
||||||
"data" => Self::Data,
|
"data" => Self::Data,
|
||||||
|
// FIXME: this is a little bit implicit.
|
||||||
|
// Make it more obvious that this should be a header.
|
||||||
mut dict: Dict => {
|
mut dict: Dict => {
|
||||||
// TODO: have a `pdf.header` function instead?
|
let level = dict.take("level")?.cast::<Option<_>>()?.unwrap_or(NonZeroU32::ONE);
|
||||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Cast)]
|
let scope = dict.take("scope")?.cast::<Option<_>>()?.unwrap_or_default();
|
||||||
enum HeaderKind {
|
dict.finish(&["amount", "all"])?;
|
||||||
Header,
|
Self::Header(level, scope)
|
||||||
}
|
|
||||||
dict.take("kind")?.cast::<HeaderKind>()?;
|
|
||||||
let level = dict.take("level").ok().map(|v| v.cast()).transpose()?;
|
|
||||||
let scope = dict.take("scope").ok().map(|v| v.cast()).transpose()?;
|
|
||||||
dict.finish(&["kind", "level", "scope"])?;
|
|
||||||
Self::Header(level.unwrap_or(NonZeroU32::ONE), scope.unwrap_or_default())
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user