Registry / RepositoryTypeScriptRustPython
Rollpie
ReadmeFiles
Versions
Info
Download
0.2.0579.9 KB2026-09-150.1.1576.6 KB2026-09-12
Version
0.2.0
Copyright
Rollpie, Irohabook
Publisher
math
Published
2026-09-15
Size
579.9 KB
Downloads
2
Checksum
58312d92e63a92784e82a974317afd849e59d143a6320c3cc62faa0980834a7b
Dependencies
None

accept.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//! どの書き方を受け付けるかを一覧にする

use suki::font;
use suki::{Mode, Shape, render_svg};

const SOURCES: &[&str] = &[
    r"x^2",
    r"\[ x^2 \]",
    r"\( x^2 \)",
    r"$x^2$",
    r"$$x^2$$",
    r"\begin{matrix} a & b \end{matrix}",
    r"\begin{pmatrix} a & b \end{pmatrix}",
    r"\begin{bmatrix} a & b \end{bmatrix}",
    r"\begin{Bmatrix} a & b \end{Bmatrix}",
    r"\begin{vmatrix} a & b \end{vmatrix}",
    r"\begin{Vmatrix} a & b \end{Vmatrix}",
    r"\begin{array}{cc} a & b \end{array}",
    r"\begin{cases} a & b \end{cases}",
    r"\begin{equation} x \end{equation}",
    r"\begin{align} a &= b \end{align}",
    r"\begin{aligned} a &= b \end{aligned}",
    r"\begin{gather} a \\ b \end{gather}",
    r"\begin{split} a \end{split}",
    r"\begin{smallmatrix} a & b \end{smallmatrix}",
    r"\begin{displaymath} x \end{displaymath}",
    r"\begin{math} x \end{math}",
    r"\begin{equation*} x \end{equation*}",
    r"$x",
    r"\$100",
    r"x + \[ y \]",
];

fn main() {
    let loaded = font::load(std::fs::read("font/latinmodern-math.otf").unwrap()).unwrap();

    for source in SOURCES {
        match suki::parse::parse_wrapped(source) {
            Ok((_, wrapper)) => {
                let _ = render_svg(source, &loaded, Mode::Display, Shape::Outline);
                println!("通る    {source}   囲み {wrapper:?}");
            }
            Err(reason) => println!("通らない {source}\n         {reason}"),
        }
    }
}