mirror of
https://github.com/typst/typst
synced 2025-06-28 00:03:17 +08:00
Fix raw show rule
This commit is contained in:
parent
c2bd114914
commit
afa344f33d
@ -2,7 +2,9 @@ use once_cell::sync::Lazy;
|
|||||||
use syntect::highlighting as synt;
|
use syntect::highlighting as synt;
|
||||||
use typst::syntax::{self, LinkedNode};
|
use typst::syntax::{self, LinkedNode};
|
||||||
|
|
||||||
use super::{FontFamily, Hyphenate, LinebreakNode, SmartQuoteNode, TextNode};
|
use super::{
|
||||||
|
FallbackList, FontFamily, Hyphenate, LinebreakNode, SmartQuoteNode, TextNode,
|
||||||
|
};
|
||||||
use crate::layout::BlockNode;
|
use crate::layout::BlockNode;
|
||||||
use crate::prelude::*;
|
use crate::prelude::*;
|
||||||
|
|
||||||
@ -88,7 +90,7 @@ use crate::prelude::*;
|
|||||||
/// ## Category
|
/// ## Category
|
||||||
/// text
|
/// text
|
||||||
#[func]
|
#[func]
|
||||||
#[capable(Show, Prepare)]
|
#[capable(Prepare, Show, Finalize)]
|
||||||
#[derive(Debug, Hash)]
|
#[derive(Debug, Hash)]
|
||||||
pub struct RawNode {
|
pub struct RawNode {
|
||||||
/// The raw text.
|
/// The raw text.
|
||||||
@ -203,13 +205,18 @@ impl Show for RawNode {
|
|||||||
realized = BlockNode(realized).pack();
|
realized = BlockNode(realized).pack();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Ok(realized)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Finalize for RawNode {
|
||||||
|
fn finalize(&self, realized: Content) -> Content {
|
||||||
let mut map = StyleMap::new();
|
let mut map = StyleMap::new();
|
||||||
map.set(TextNode::OVERHANG, false);
|
map.set(TextNode::OVERHANG, false);
|
||||||
map.set(TextNode::HYPHENATE, Hyphenate(Smart::Custom(false)));
|
map.set(TextNode::HYPHENATE, Hyphenate(Smart::Custom(false)));
|
||||||
map.set(SmartQuoteNode::ENABLED, false);
|
map.set(SmartQuoteNode::ENABLED, false);
|
||||||
map.set_family(FontFamily::new("IBM Plex Mono"), styles);
|
map.set(TextNode::FAMILY, FallbackList(vec![FontFamily::new("IBM Plex Mono")]));
|
||||||
|
realized.styled_with_map(map)
|
||||||
Ok(realized.styled_with_map(map))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 19 KiB |
@ -1,11 +1,10 @@
|
|||||||
#set page(width: auto)
|
#set page(width: auto)
|
||||||
#set text("Latin Modern Roman")
|
|
||||||
#show <table>: it => table(
|
#show <table>: it => table(
|
||||||
columns: 2,
|
columns: 2,
|
||||||
inset: 8pt,
|
inset: 8pt,
|
||||||
..it.text
|
..it.text
|
||||||
.split("\n")
|
.split("\n")
|
||||||
.map(line => (text(10pt, raw(line, lang: "typ")), eval(line) + [ ]))
|
.map(line => (raw(line, lang: "typ"), text("Latin Modern Roman", eval(line))))
|
||||||
.flatten()
|
.flatten()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -44,6 +44,11 @@ The keyword ```rust let```.
|
|||||||
C
|
C
|
||||||
```
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
// Text show rule
|
||||||
|
#show raw: set text("Roboto")
|
||||||
|
`Roboto`
|
||||||
|
|
||||||
---
|
---
|
||||||
// Unterminated.
|
// Unterminated.
|
||||||
// Error: 2:1 expected 1 backtick
|
// Error: 2:1 expected 1 backtick
|
||||||
|
Loading…
x
Reference in New Issue
Block a user