mirror of
https://github.com/typst/typst
synced 2025-05-13 20:46:23 +08:00
459 lines
11 KiB
Rust
459 lines
11 KiB
Rust
use typst::model::{symbols, Module, Scope};
|
||
|
||
/// A module with all symbols.
|
||
pub fn sym() -> Module {
|
||
let mut scope = Scope::new();
|
||
define(&mut scope);
|
||
Module::new("sym").with_scope(scope)
|
||
}
|
||
|
||
symbols! {
|
||
define,
|
||
|
||
// Space and control.
|
||
space: [
|
||
' ',
|
||
"em": '\u{2003}',
|
||
"en": '\u{2002}',
|
||
"fig": '\u{2007}',
|
||
"hair": '\u{200A}',
|
||
"ideo": '\u{3000}',
|
||
"nobreak": '\u{A0}',
|
||
"punct": '\u{2008}',
|
||
"quarter": '\u{2005}',
|
||
"sixth": '\u{2006}',
|
||
"thin": '\u{2009}',
|
||
"third": '\u{2004}',
|
||
],
|
||
wj: '\u{2060}',
|
||
zwj: '\u{200D}',
|
||
zwnj: '\u{200C}',
|
||
zws: '\u{200B}',
|
||
|
||
// Punctuation.
|
||
dot: ['.', "c": '·'],
|
||
dots: [
|
||
"h": '…',
|
||
"h.c": '⋯',
|
||
"v": '⋮',
|
||
"down": '⋱',
|
||
"up": '⋰',
|
||
],
|
||
colon: [
|
||
':',
|
||
"eq": '≔',
|
||
"double.eq": '⩴',
|
||
],
|
||
comma: ',',
|
||
semi: [';', "rev": '⁏'],
|
||
quest: ['?', "double": '⁇', "excl": '⁈', "inv": '¿'],
|
||
excl: ['!', "double": '‼', "inv": '¡', "quest": '⁉'],
|
||
interrobang: '‽',
|
||
hash: '#',
|
||
at: '@',
|
||
section: '§',
|
||
percent: '%',
|
||
permille: '‰',
|
||
co: '℅',
|
||
pilcrow: ['¶', "rev": '⁋'],
|
||
dagger: ['†', "double": '‡'],
|
||
slash: ['/', "double": '⫽', "triple": '⫻'],
|
||
backslash: ['\\', "circle": '⦸', "not": '⧷'],
|
||
ast: ['*', "low": '⁎', "double": '⁑', "triple": '⁂'],
|
||
amp: ['&', "inv": '⅋'],
|
||
dash: [
|
||
"en": '–',
|
||
"em": '—',
|
||
"fig": '‒',
|
||
"wave": '〜',
|
||
"colon": '∹',
|
||
"circle": '⊝',
|
||
"wave.double": '〰',
|
||
],
|
||
hyph: [
|
||
'‐',
|
||
"minus": '\u{2D}',
|
||
"nobreak": '\u{2011}',
|
||
"point": '‧',
|
||
"soft": '\u{ad}',
|
||
],
|
||
prime: [
|
||
'′',
|
||
"rev": '‵',
|
||
"double": '″',
|
||
"double.rev": '‶',
|
||
"triple": '‴',
|
||
"triple.rev": '‷',
|
||
"quad": '⁗',
|
||
],
|
||
quote: [
|
||
"double": '"',
|
||
"single": '\'',
|
||
"l.double": '“',
|
||
"l.single": '‘',
|
||
"r.double": '”',
|
||
"r.single": '’',
|
||
"angle.l.double": '«',
|
||
"angle.l.single": '‹',
|
||
"angle.r.double": '»',
|
||
"angle.r.single": '›',
|
||
"high.double": '‟',
|
||
"high.single": '‛',
|
||
"low.double": '„',
|
||
"low.single": '‚',
|
||
],
|
||
|
||
// Delimiters.
|
||
paren: [
|
||
"l": '(',
|
||
"r": ')',
|
||
"t": '⏜',
|
||
"b": '⏝',
|
||
],
|
||
bracket: [
|
||
"l": '[',
|
||
"r": ']',
|
||
"t": '⎴',
|
||
"b": '⎵',
|
||
],
|
||
brace: [
|
||
"l": '{',
|
||
"r": '}',
|
||
"t": '⏞',
|
||
"b": '⏟',
|
||
],
|
||
turtle: [
|
||
"l": '〔',
|
||
"r": '〕',
|
||
"t": '⏠',
|
||
"b": '⏡',
|
||
],
|
||
angled: ["l": '〈', "r": '〉'],
|
||
bar: [
|
||
"v": '|',
|
||
"v.double": '‖',
|
||
"v.triple": '⦀',
|
||
"v.broken": '¦',
|
||
"v.circle": '⦶',
|
||
"h": '―',
|
||
],
|
||
fence: [
|
||
"l": '⧘',
|
||
"l.double": '⧚',
|
||
"r": '⧙',
|
||
"r.double": '⧛',
|
||
"dotted": '⦙',
|
||
],
|
||
|
||
// Accents.
|
||
acute: ['´', "double": '˝'],
|
||
breve: '˘',
|
||
caret: '‸',
|
||
caron: 'ˇ',
|
||
circum: '^',
|
||
diaer: '¨',
|
||
grave: '`',
|
||
macron: '¯',
|
||
tilde: '~',
|
||
|
||
// Currency.
|
||
bitcoin: '₿',
|
||
dollar: '$',
|
||
euro: '€',
|
||
franc: '₣',
|
||
lira: '₺',
|
||
peso: '₱',
|
||
pound: '£',
|
||
ruble: '₽',
|
||
rupee: '₹',
|
||
won: '₩',
|
||
yen: '¥',
|
||
|
||
// Miscellaneous.
|
||
ballot: ['☐', "x": '☒'],
|
||
checkmark: ['✓', "light": '🗸'],
|
||
copyright: ['©', "sound": '℗'],
|
||
floral: ['❦', "l": '☙', "r": '❧'],
|
||
notes: ["up": '🎜', "down": '🎝'],
|
||
refmark: '※',
|
||
servicemark: '℠',
|
||
maltese: '✠',
|
||
suit: [
|
||
"club": '♣',
|
||
"diamond": '♦',
|
||
"heart": '♥',
|
||
"spade": '♠',
|
||
],
|
||
|
||
// Shapes.
|
||
circle: [
|
||
"stroked": '○',
|
||
"stroked.tiny": '∘',
|
||
"stroked.small": '⚬',
|
||
"stroked.big": '◯',
|
||
"filled": '●',
|
||
"filled.tiny": '⦁',
|
||
"filled.small": '∙',
|
||
"filled.big": '⬤',
|
||
"dotted": '◌',
|
||
"nested": '⊚',
|
||
],
|
||
square: [
|
||
"stroked": '□',
|
||
"stroked.tiny": '▫',
|
||
"stroked.small": '◽',
|
||
"stroked.medium": '◻',
|
||
"stroked.big": '⬜',
|
||
"stroked.dotted": '⬚',
|
||
"stroked.rounded": '▢',
|
||
"filled": '■',
|
||
"filled.tiny": '▪',
|
||
"filled.small": '◾',
|
||
"filled.medium": '◼',
|
||
"filled.big": '⬛',
|
||
],
|
||
ellipse: [
|
||
"stroked.h": '⬭',
|
||
"stroked.v": '⬯',
|
||
"filled.h": '⬬',
|
||
"filled.v": '⬮',
|
||
],
|
||
rect: [
|
||
"stroked.h": '▭',
|
||
"stroked.v": '▯',
|
||
"filled.h": '▬',
|
||
"filled.v": '▮',
|
||
],
|
||
triangle: [
|
||
"stroked.r": '▷',
|
||
"stroked.l": '◁',
|
||
"stroked.t": '△',
|
||
"stroked.b": '▽',
|
||
"stroked.bl": '◺',
|
||
"stroked.br": '◿',
|
||
"stroked.tl": '◸',
|
||
"stroked.tr": '◹',
|
||
"stroked.small.r": '▹',
|
||
"stroked.small.b": '▿',
|
||
"stroked.small.l": '◃',
|
||
"stroked.small.t": '▵',
|
||
"stroked.rounded": '🛆',
|
||
"stroked.nested": '⟁',
|
||
"stroked.dot": '◬',
|
||
"filled.r": '▶',
|
||
"filled.l": '◀',
|
||
"filled.t": '▲',
|
||
"filled.b": '▼',
|
||
"filled.bl": '◣',
|
||
"filled.br": '◢',
|
||
"filled.tl": '◤',
|
||
"filled.tr": '◥',
|
||
"filled.small.r": '▸',
|
||
"filled.small.b": '▾',
|
||
"filled.small.l": '◂',
|
||
"filled.small.t": '▴',
|
||
],
|
||
diamond: [
|
||
"stroked": '◇',
|
||
"stroked.small": '⋄',
|
||
"stroked.medium": '⬦',
|
||
"stroked.dot": '⟐',
|
||
"filled": '◆',
|
||
"filled.medium": '⬥',
|
||
"filled.small": '⬩',
|
||
],
|
||
lozenge: [
|
||
"stroked": '◊',
|
||
"stroked.small": '⬫',
|
||
"stroked.medium": '⬨',
|
||
"filled": '⧫',
|
||
"filled.small": '⬪',
|
||
"filled.medium": '⬧',
|
||
],
|
||
penta: ["stroked": '⬠', "filled": '⬟'],
|
||
hexa: ["stroked": '⬡', "filled": '⬢'],
|
||
|
||
// Arrows and harpoons.
|
||
arrow: [
|
||
"r": '→',
|
||
"r.long.bar": '⟼',
|
||
"r.bar": '↦',
|
||
"r.curve": '⤷',
|
||
"r.dashed": '⇢',
|
||
"r.dotted": '⤑',
|
||
"r.double": '⇒',
|
||
"r.double.bar": '⤇',
|
||
"r.double.long": '⟹',
|
||
"r.double.long.bar": '⟾',
|
||
"r.double.not": '⇏',
|
||
"r.filled": '➡',
|
||
"r.hook": '↪',
|
||
"r.long": '⟶',
|
||
"r.long.squiggly": '⟿',
|
||
"r.loop": '↬',
|
||
"r.not": '↛',
|
||
"r.quad": '⭆',
|
||
"r.squiggly": '⇝',
|
||
"r.stop": '⇥',
|
||
"r.stroked": '⇨',
|
||
"r.tail": '↣',
|
||
"r.triple": '⇛',
|
||
"r.twohead.bar": '⤅',
|
||
"r.twohead": '↠',
|
||
"r.wave": '↝',
|
||
"l": '←',
|
||
"l.bar": '↤',
|
||
"l.curve": '⤶',
|
||
"l.dashed": '⇠',
|
||
"l.dotted": '⬸',
|
||
"l.double": '⇐',
|
||
"l.double.bar": '⤆',
|
||
"l.double.long": '⟸',
|
||
"l.double.long.bar": '⟽',
|
||
"l.double.not": '⇍',
|
||
"l.filled": '⬅',
|
||
"l.hook": '↩',
|
||
"l.long": '⟵',
|
||
"l.long.bar": '⟻',
|
||
"l.long.squiggly": '⬳',
|
||
"l.loop": '↫',
|
||
"l.not": '↚',
|
||
"l.quad": '⭅',
|
||
"l.squiggly": '⇜',
|
||
"l.stop": '⇤',
|
||
"l.stroked": '⇦',
|
||
"l.tail": '↢',
|
||
"l.triple": '⇚',
|
||
"l.twohead.bar": '⬶',
|
||
"l.twohead": '↞',
|
||
"l.wave": '↜',
|
||
"t": '↑',
|
||
"t.bar": '↥',
|
||
"t.curve": '⤴',
|
||
"t.dashed": '⇡',
|
||
"t.double": '⇑',
|
||
"t.filled": '⬆',
|
||
"t.quad": '⟰',
|
||
"t.stop": '⤒',
|
||
"t.stroked": '⇧',
|
||
"t.triple": '⤊',
|
||
"t.twohead": '↟',
|
||
"b": '↓',
|
||
"b.bar": '↧',
|
||
"b.curve": '⤵',
|
||
"b.dashed": '⇣',
|
||
"b.double": '⇓',
|
||
"b.filled": '⬇',
|
||
"b.quad": '⟱',
|
||
"b.stop": '⤓',
|
||
"b.stroked": '⇩',
|
||
"b.triple": '⤋',
|
||
"b.twohead": '↡',
|
||
"l.r": '↔',
|
||
"l.r.double": '⇔',
|
||
"l.r.double.long": '⟺',
|
||
"l.r.double.not": '⇎',
|
||
"l.r.filled": '⬌',
|
||
"l.r.long": '⟷',
|
||
"l.r.not": '↮',
|
||
"l.r.stroked": '⬄',
|
||
"l.r.wave": '↭',
|
||
"t.b": '↕',
|
||
"t.b.double": '⇕',
|
||
"t.b.filled": '⬍',
|
||
"t.b.stroked": '⇳',
|
||
"tr": '↗',
|
||
"tr.double": '⇗',
|
||
"tr.filled": '⬈',
|
||
"tr.hook": '⤤',
|
||
"tr.stroked": '⬀',
|
||
"br": '↘',
|
||
"br.double": '⇘',
|
||
"br.filled": '⬊',
|
||
"br.hook": '⤥',
|
||
"br.stroked": '⬂',
|
||
"tl": '↖',
|
||
"tl.double": '⇖',
|
||
"tl.filled": '⬉',
|
||
"tl.hook": '⤣',
|
||
"tl.stroked": '⬁',
|
||
"bl": '↙',
|
||
"bl.double": '⇙',
|
||
"bl.filled": '⬋',
|
||
"bl.hook": '⤦',
|
||
"bl.stroked": '⬃',
|
||
"tl.br": '⤡',
|
||
"tr.bl": '⤢',
|
||
"ccw": '↺',
|
||
"ccw.half": '↶',
|
||
"cw": '↻',
|
||
"cw.half": '↷',
|
||
"zigzag": '↯',
|
||
],
|
||
arrows: [
|
||
"rr": '⇉',
|
||
"ll": '⇇',
|
||
"tt": '⇈',
|
||
"bb": '⇊',
|
||
"lr": '⇆',
|
||
"lr.stop": '↹',
|
||
"rl": '⇄',
|
||
"tb": '⇅',
|
||
"bt": '⇵',
|
||
"rrr": '⇶',
|
||
"lll": '⬱',
|
||
],
|
||
arrowhead: [
|
||
"t": '⌃',
|
||
"b": '⌄',
|
||
],
|
||
harpoon: [
|
||
"rt": '⇀',
|
||
"rt.bar": '⥛',
|
||
"rt.stop": '⥓',
|
||
"rb": '⇁',
|
||
"rb.bar": '⥟',
|
||
"rb.stop": '⥗',
|
||
"lt": '↼',
|
||
"lt.bar": '⥚',
|
||
"lt.stop": '⥒',
|
||
"lb": '↽',
|
||
"lb.bar": '⥞',
|
||
"lb.stop": '⥖',
|
||
"tl": '↿',
|
||
"tl.bar": '⥠',
|
||
"tl.stop": '⥘',
|
||
"tr": '↾',
|
||
"tr.bar": '⥜',
|
||
"tr.stop": '⥔',
|
||
"bl": '⇃',
|
||
"bl.bar": '⥡',
|
||
"bl.stop": '⥙',
|
||
"br": '⇂',
|
||
"br.bar": '⥝',
|
||
"br.stop": '⥕',
|
||
"lt.rt": '⥎',
|
||
"lb.rb": '⥐',
|
||
"lb.rt": '⥋',
|
||
"lt.rb": '⥊',
|
||
"tl.bl": '⥑',
|
||
"tr.br": '⥏',
|
||
"tl.br": '⥍',
|
||
"tr.bl": '⥌',
|
||
],
|
||
harpoons: [
|
||
"rtrb": '⥤',
|
||
"blbr": '⥥',
|
||
"bltr": '⥯',
|
||
"lbrb": '⥧',
|
||
"ltlb": '⥢',
|
||
"ltrb": '⇋',
|
||
"ltrt": '⥦',
|
||
"rblb": '⥩',
|
||
"rtlb": '⇌',
|
||
"rtlt": '⥨',
|
||
"tlbr": '⥮',
|
||
"tltr": '⥣',
|
||
],
|
||
}
|