diff options
Diffstat (limited to 'crates/typst-pdf')
| -rw-r--r-- | crates/typst-pdf/src/catalog.rs | 2 | ||||
| -rw-r--r-- | crates/typst-pdf/src/named_destination.rs | 4 | ||||
| -rw-r--r-- | crates/typst-pdf/src/page.rs | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/crates/typst-pdf/src/catalog.rs b/crates/typst-pdf/src/catalog.rs index 1412afe6..35c5ce68 100644 --- a/crates/typst-pdf/src/catalog.rs +++ b/crates/typst-pdf/src/catalog.rs @@ -174,7 +174,7 @@ pub fn write_catalog( let mut dests_name_tree = name_dict.destinations(); let mut names = dests_name_tree.names(); for &(name, dest_ref, ..) in &ctx.references.named_destinations.dests { - names.insert(Str(name.as_str().as_bytes()), dest_ref); + names.insert(Str(name.resolve().as_bytes()), dest_ref); } } diff --git a/crates/typst-pdf/src/named_destination.rs b/crates/typst-pdf/src/named_destination.rs index 90552335..7ae2c5e6 100644 --- a/crates/typst-pdf/src/named_destination.rs +++ b/crates/typst-pdf/src/named_destination.rs @@ -53,12 +53,12 @@ pub fn write_named_destinations( .collect(); // Named destinations must be sorted by key. - matches.sort_by_key(|&(_, label)| label); + matches.sort_by_key(|&(_, label)| label.resolve()); for (loc, label) in matches { // Don't encode named destinations that would exceed the limit. Those // will instead be encoded as normal links. - if label.as_str().len() > Str::PDFA_LIMIT { + if label.resolve().len() > Str::PDFA_LIMIT { continue; } diff --git a/crates/typst-pdf/src/page.rs b/crates/typst-pdf/src/page.rs index 27daf6c9..4e95f3c7 100644 --- a/crates/typst-pdf/src/page.rs +++ b/crates/typst-pdf/src/page.rs @@ -154,7 +154,7 @@ fn write_page( .action() .action_type(ActionType::GoTo) // `key` must be a `Str`, not a `Name`. - .pair(Name(b"D"), Str(key.as_str().as_bytes())); + .pair(Name(b"D"), Str(key.resolve().as_bytes())); continue; } else { ctx.document.introspector.position(*loc) |
