summaryrefslogtreecommitdiff
path: root/library/src
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-02-02 18:09:13 +0100
committerLaurenz <laurmaedje@gmail.com>2023-02-02 19:50:06 +0100
commit10675cd6d510521715c5e33508d80c4193ad9d74 (patch)
tree676435532b2c224b4b9feafd6e1a07cd30a0e923 /library/src
parente9ff2d6463bf26cb0bbafb747bf8a77800687e3f (diff)
Merge text and math symbols
Diffstat (limited to 'library/src')
-rw-r--r--library/src/lib.rs14
-rw-r--r--library/src/math/mod.rs12
-rw-r--r--library/src/math/style.rs14
-rw-r--r--library/src/math/symbols.rs426
-rw-r--r--library/src/symbols/emoji.rs1356
-rw-r--r--library/src/symbols/mod.rs7
-rw-r--r--library/src/symbols/sym.rs808
-rw-r--r--library/src/text/emoji.rs1355
-rw-r--r--library/src/text/mod.rs4
-rw-r--r--library/src/text/symbols.rs458
10 files changed, 2200 insertions, 2254 deletions
diff --git a/library/src/lib.rs b/library/src/lib.rs
index a2f52549..a195c717 100644
--- a/library/src/lib.rs
+++ b/library/src/lib.rs
@@ -7,6 +7,7 @@ pub mod math;
pub mod meta;
pub mod prelude;
pub mod shared;
+pub mod symbols;
pub mod text;
pub mod visualize;
@@ -17,15 +18,14 @@ use self::layout::LayoutRoot;
/// Construct the standard library.
pub fn build() -> Library {
- let sym = text::sym();
- let math = math::module(&sym);
+ let math = math::module();
let calc = compute::calc();
- let global = global(sym, math.clone(), calc);
+ let global = global(math.clone(), calc);
Library { global, math, styles: styles(), items: items() }
}
/// Construct the module with global definitions.
-fn global(sym: Module, math: Module, calc: Module) -> Module {
+fn global(math: Module, calc: Module) -> Module {
let mut global = Scope::deduplicating();
// Basics.
@@ -50,8 +50,6 @@ fn global(sym: Module, math: Module, calc: Module) -> Module {
global.def_func::<text::StrikeNode>("strike");
global.def_func::<text::OverlineNode>("overline");
global.def_func::<text::RawNode>("raw");
- global.define("sym", sym);
- global.define("emoji", text::emoji());
// Math.
global.define("math", math);
@@ -92,6 +90,10 @@ fn global(sym: Module, math: Module, calc: Module) -> Module {
global.def_func::<meta::LinkNode>("link");
global.def_func::<meta::OutlineNode>("outline");
+ // Symbols.
+ global.define("sym", symbols::sym());
+ global.define("emoji", symbols::emoji());
+
// Compute.
global.def_func::<compute::TypeFunc>("type");
global.def_func::<compute::ReprFunc>("repr");
diff --git a/library/src/math/mod.rs b/library/src/math/mod.rs
index 656fc2e0..3e461150 100644
--- a/library/src/math/mod.rs
+++ b/library/src/math/mod.rs
@@ -15,7 +15,6 @@ mod row;
mod spacing;
mod stretch;
mod style;
-mod symbols;
mod underover;
pub use self::accent::*;
@@ -46,7 +45,7 @@ use crate::text::{
};
/// Create a module with all math definitions.
-pub fn module(sym: &Module) -> Module {
+pub fn module() -> Module {
let mut math = Scope::deduplicating();
math.def_func::<FormulaNode>("formula");
math.def_func::<TextNode>("text");
@@ -96,10 +95,13 @@ pub fn module(sym: &Module) -> Module {
math.def_func::<OpNode>("op");
op::define(&mut math);
- // Symbols and spacing.
- symbols::define(&mut math);
+ // Spacings.
spacing::define(&mut math);
- math.copy_from(sym.scope());
+
+ // Symbols.
+ for (name, symbol) in crate::symbols::SYM {
+ math.define(*name, symbol.clone());
+ }
Module::new("math").with_scope(math)
}
diff --git a/library/src/math/style.rs b/library/src/math/style.rs
index 9ae77346..9e1f6699 100644
--- a/library/src/math/style.rs
+++ b/library/src/math/style.rs
@@ -443,6 +443,10 @@ pub(super) fn styled_char(style: MathStyle, c: char) -> char {
'∂' | 'ϵ' | 'ϑ' | 'ϰ' | 'ϕ' | 'ϱ' | 'ϖ'
));
+ if let Some(c) = basic_exception(c) {
+ return c;
+ }
+
if let Some(c) = latin_exception(c, variant, bold, italic) {
return c;
}
@@ -537,6 +541,16 @@ pub(super) fn styled_char(style: MathStyle, c: char) -> char {
std::char::from_u32(start + (c as u32 - base as u32)).unwrap()
}
+fn basic_exception(c: char) -> Option<char> {
+ Some(match c {
+ '〈' => '⟨',
+ '〉' => '⟩',
+ '《' => '⟪',
+ '》' => '⟫',
+ _ => return None,
+ })
+}
+
fn latin_exception(
c: char,
variant: MathVariant,
diff --git a/library/src/math/symbols.rs b/library/src/math/symbols.rs
deleted file mode 100644
index c68616fa..00000000
--- a/library/src/math/symbols.rs
+++ /dev/null
@@ -1,426 +0,0 @@
-use typst::model::symbols;
-
-symbols! {
- define,
-
- // Lowercase Greek.
- alpha: 'α',
- beta: ['β', "alt": 'ϐ'],
- chi: 'χ',
- delta: 'δ',
- epsilon: ['ε', "alt": 'ϵ'],
- eta: 'η',
- gamma: 'γ',
- iota: 'ι',
- kai: 'ϗ',
- kappa: ['κ', "alt": 'ϰ'],
- lambda: 'λ',
- mu: 'μ',
- nu: 'ν',
- ohm: ['Ω', "inv": '℧'],
- omega: 'ω',
- omicron: 'ο',
- phi: ['φ', "alt": 'ϕ'],
- pi: ['π', "alt": 'ϖ'],
- psi: 'ψ',
- rho: ['ρ', "alt": 'ϱ'],
- sigma: 'σ',
- tau: 'τ',
- theta: ['θ', "alt": 'ϑ'],
- upsilon: 'υ',
- xi: 'ξ',
- zeta: 'ζ',
-
- // Uppercase Greek.
- Alpha: 'Α',
- Beta: 'Β',
- Chi: 'Χ',
- Delta: 'Δ',
- Epsilon: 'Ε',
- Eta: 'Η',
- Gamma: 'Γ',
- Iota: 'Ι',
- Kai: 'Ϗ',
- Kappa: 'Κ',
- Lambda: 'Λ',
- Mu: 'Μ',
- Nu: 'Ν',
- Omega: 'Ω',
- Omicron: 'Ο',
- Phi: 'Φ',
- Pi: 'Π',
- Psi: 'Ψ',
- Rho: 'Ρ',
- Sigma: 'Σ',
- Tau: 'Τ',
- Theta: 'Θ',
- Upsilon: 'Υ',
- Xi: 'Ξ',
- Zeta: 'Ζ',
-
- // Hebrew.
- alef: 'א',
- bet: 'ב',
- gimel: 'ג',
- shin: 'ש',
-
- // Double-struck.
- AA: '𝔸',
- BB: '𝔹',
- CC: 'ℂ',
- DD: '𝔻',
- EE: '𝔼',
- FF: '𝔽',
- GG: '𝔾',
- HH: 'ℍ',
- II: '𝕀',
- JJ: '𝕁',
- KK: '𝕂',
- LL: '𝕃',
- MM: '𝕄',
- NN: 'ℕ',
- OO: '𝕆',
- PP: 'ℙ',
- QQ: 'ℚ',
- RR: 'ℝ',
- SS: '𝕊',
- TT: '𝕋',
- UU: '𝕌',
- VV: '𝕍',
- WW: '𝕎',
- XX: '𝕏',
- YY: '𝕐',
- ZZ: 'ℤ',
-
- // Override.
- angled: [
- "l": '⟨',
- "l.double": '⟪',
- "r": '⟩',
- "r.double": '⟫',
- ],
-
- // Operators.
- plus: [
- '+',
- "circle": '⊕',
- "circle.arrow": '⟴',
- "circle.big": '⨁',
- "dot": '∔',
- "minus": '±',
- "small": '﹢',
- "square": '⊞',
- "triangle": '⨹',
- ],
- minus: [
- '−',
- "circle": '⊖',
- "dot": '∸',
- "plus": '∓',
- "square": '⊟',
- "tilde": '≂',
- "triangle": '⨺',
- ],
- dot: [
- '⋅',
- "circle": '⊙',
- "circle.big": '⨀',
- "square": '⊡',
- ],
- div: [
- '∕',
- "circle": '⊘',
- "sign": '÷',
- "sign.circle": '⨸',
- ],
- times: [
- '×',
- "big": '⨉',
- "circle": '⊗',
- "circle.big": '⨂',
- "div": '⋇',
- "l": '⋋',
- "r": '⋌',
- "square": '⊠',
- "triangle": '⨻',
- ],
- ast: [
- '∗',
- "circle": '⊛',
- "small": '﹡',
- "sq": '⧆',
- ],
- star: '⋆',
- smash: '⨳',
- wreath: '≀',
-
- // Relations.
- eq: [
- '=',
- "ast": '≛',
- "circle": '⊜',
- "colon": '≕',
- "def": '≝',
- "delta": '≜',
- "equi": '≚',
- "est": '≙',
- "gt": '⋝',
- "lt": '⋜',
- "m": '≞',
- "not": '≠',
- "prec": '⋞',
- "quest": '≟',
- "small": '﹦',
- "succ": '⋟',
- ],
- gt: [
- '>',
- "circle": '⧁',
- "dot": '⋗',
- "double": '≫',
- "eq": '≥',
- "eq.lt": '⋛',
- "eq.not": '≱',
- "eqq": '≧',
- "lt": '≷',
- "lt.not": '≹',
- "neqq": '≩',
- "not": '≯',
- "ntilde": '⋧',
- "small": '﹥',
- "tilde": '≳',
- "tilde.not": '≵',
- "triple": '⋙',
- "triple.nested": '⫸',
- ],
- lt: [
- '<',
- "circle": '⧀',
- "dot": '⋖',
- "double": '≪',
- "eq": '≤',
- "eq.gt": '⋚',
- "eq.not": '≰',
- "eqq": '≦',
- "gt": '≶',
- "gt.not": '≸',
- "neqq": '≨',
- "not": '≮',
- "ntilde": '⋦',
- "small": '﹤',
- "tilde": '≲',
- "tilde.not": '≴',
- "triple": '⋘',
- "triple.nested": '⫷',
- ],
- prec: [
- '≺',
- "approx": '⪷',
- "double": '⪻',
- "eq": '≼',
- "eq.not": '⋠',
- "eqq": '⪳',
- "napprox": '⪹',
- "neqq": '⪵',
- "not": '⊀',
- "ntilde": '⋨',
- "tilde": '≾',
- ],
- succ: [
- '≻',
- "approx": '⪸',
- "double": '⪼',
- "eq": '≽',
- "eq.not": '⋡',
- "eqq": '⪴',
- "napprox": '⪺',
- "neqq": '⪶',
- "not": '⊁',
- "ntilde": '⋩',
- "tilde": '≿',
- ],
- ident: ['≡', "not": '≢', "strict": '≣'],
- approx: ['≈', "eq": '≊', "not": '≉'],
- tilde: [
- '∼',
- "eq": '≃',
- "eq.not": '≄',
- "eq.rev": '⋍',
- "eqq": '≅',
- "eqq.not": '≇',
- "neqq": '≆',
- "not": '≁',
- "rev": '∽',
- "rev.eqq": '≌',
- "triple": '≋',
- ],
-
- // Set theory.
- nothing: ['∅', "rev": '⦰'],
- in: [
- '∈',
- "not": '∉',
- "rev": '∋',
- "rev.not": '∌',
- "rev.small": '∍',
- "small": '∊',
- ],
- subset: [
- '⊂',
- "dot": '⪽',
- "double": '⋐',
- "eq": '⊆',
- "eq.not": '⊈',
- "eq.sq": '⊑',
- "eq.sq.not": '⋢',
- "neq": '⊊',
- "not": '⊄',
- "sq": '⊏',
- "sq.neq": '⋤',
- ],
- supset: [
- '⊃',
- "dot": '⪾',
- "double": '⋑',
- "eq": '⊇',
- "eq.not": '⊉',
- "eq.sq": '⊒',
- "eq.sq.not": '⋣',
- "neq": '⊋',
- "not": '⊅',
- "sq": '⊐',
- "sq.neq": '⋥',
- ],
- union: [
- '∪',
- "arrow": '⊌',
- "big": '⋃',
- "dot": '⊍',
- "dot.big": '⨃',
- "double": '⋓',
- "minus": '⩁',
- "or": '⩅',
- "plus": '⊎',
- "plus.big": '⨄',
- "sq": '⊔',
- "sq.big": '⨆',
- "sq.double": '⩏',
- ],
- sect: [
- '∩',
- "and": '⩄',
- "big": '⋂',
- "dot": '⩀',
- "double": '⋒',
- "sq": '⊓',
- "sq.big": '⨅',
- "sq.double": '⩎',
- ],
- without: '∖',
- complement: '∁',
-
- // Relational algebra.
- join: [
- '⨝',
- "r": '⟖',
- "l": '⟕',
- "l.r": '⟗',
- ],
-
- // Logic.
- forall: '∀',
- exists: ['∃', "not": '∄'],
- top: '⊤',
- bot: '⊥',
- not: '¬',
- and: [
- '∧',
- "big": '⋀',
- "curly": '⋏',
- "dot": '⟑',
- "double": '⩓',
- ],
- or: [
- '∨',
- "big": '⋁',
- "curly": '⋎',
- "dot": '⟇',
- "double": '⩔',
- ],
- models: '⊧',
- therefore: '∴',
- because: '∵',
- qed: '∎',
- tack: [
- "r": '⊢',
- "r.long": '⟝',
- "l": '⊣',
- "l.long": '⟞',
- "l.short": '⫞',
- "t": '⊥',
- "t.big": '⟘',
- "t.double": '⫫',
- "t.short": '⫠',
- "b": '⊤',
- "b.big": '⟙',
- "b.double": '⫪',
- "b.short": '⫟',
- "l.r": '⟛',
- ],
-
- // Geometry.
- perp: ['⟂', "circle": '⦹'],
- parallel: ['∥', "circle": '⦷', "not": '∦'],
- angle: [
- '∠',
- "acute": '⦟',
- "arc": '∡',
- "arc.rev": '⦛',
- "rev": '⦣',
- "right": '∟',
- "right.rev": '⯾',
- "right.arc": '⊾',
- "right.dot": '⦝',
- "right.sq": '⦜',
- "spatial": '⟀',
- "spheric": '∢',
- "spheric.rev": '⦠',
- "spheric.top": '⦡',
- ],
-
- // Analysis.
- infty: '∞',
- sum: ['∑', "integral": '⨋'],
- prod: ['∏', "co": '∐'],
- integral: [
- '∫',
- "arrow.hook": '⨗',
- "ccw": '⨑',
- "cont": '∮',
- "cont.ccw": '∳',
- "cont.cw": '∲',
- "cw": '∱',
- "double": '∬',
- "quad": '⨌',
- "sect": '⨙',
- "sq": '⨖',
- "surf": '∯',
- "times": '⨘',
- "triple": '∭',
- "union": '⨚',
- "vol": '∰',
- ],
- prop: '∝',
- divides: ['∣', "not": '∤'],
- compose: '∘',
-
- // Miscellaneous.
- diff: '∂',
- nabla: '∇',
- kelvin: 'K',
- micro: 'µ',
- degree: ['°', "c": '℃', "f": '℉'],
- planck: ['ℎ', "reduce": 'ℏ'],
- angstrom: 'Å',
- diameter: '⌀',
-}
diff --git a/library/src/symbols/emoji.rs b/library/src/symbols/emoji.rs
new file mode 100644
index 00000000..efde0e76
--- /dev/null
+++ b/library/src/symbols/emoji.rs
@@ -0,0 +1,1356 @@
+use typst::model::{symbols, Module, Scope, Symbol};
+
+/// A module with all emoji.
+pub fn emoji() -> Module {
+ let mut scope = Scope::new();
+ for (name, symbol) in EMOJI {
+ scope.define(*name, symbol.clone());
+ }
+ Module::new("emoji").with_scope(scope)
+}
+
+/// A list of named emoji.
+const EMOJI: &[(&'static str, Symbol)] = symbols! {
+ abacus: '🧮',
+ abc: '🔤',
+ abcd: '🔡',
+ ABCD: '🔠',
+ accordion: '🪗',
+ aesculapius: '⚕',
+ airplane: [
+ '✈',
+ landing: '🛬',
+ small: '🛩',
+ takeoff: '🛫',
+ ],
+ alembic: '⚗',
+ alien: ['👽', monster: '👾'],
+ ambulance: '🚑',
+ amphora: '🏺',
+ anchor: '⚓',
+ anger: '💢',
+ ant: '🐜',
+ apple: [green: '🍏', red: '🍎'],
+ arm: [mech: '🦾', muscle: '💪', selfie: '🤳'],
+ arrow: [
+ r.filled: '➡',
+ r.hook: '↪',
+ r.soon: '🔜',
+ l.filled: '⬅',
+ l.hook: '↩',
+ l.back: '🔙',
+ l.end: '🔚',
+ t.filled: '⬆',
+ t.curve: '⤴',
+ t.top: '🔝',
+ b.filled: '⬇',
+ b.curve: '⤵',
+ l.r: '↔',
+ l.r.on: '🔛',
+ t.b: '↕',
+ bl: '↙',
+ br: '↘',
+ tl: '↖',
+ tr: '↗',
+ ],
+ arrows: [cycle: '🔄'],
+ ast: ['*', box: '✳'],
+ atm: '🏧',
+ atom: '⚛',
+ aubergine: '🍆',
+ avocado: '🥑',
+ axe: '🪓',
+ baby: ['👶', angel: '👼', box: '🚼'],
+ babybottle: '🍼',
+ backpack: '🎒',
+ bacon: '🥓',
+ badger: '🦡',
+ badminton: '🏸',
+ bagel: '🥯',
+ baggageclaim: '🛄',
+ baguette: '🥖',
+ balloon: '🎈',
+ ballot: [check: '☑'],
+ ballotbox: '🗳',
+ banana: '🍌',
+ banjo: '🪕',
+ bank: '🏦',
+ barberpole: '💈',
+ baseball: '⚾',
+ basecap: '🧢',
+ basket: '🧺',
+ basketball: ['⛹', ball: '🏀'],
+ bat: '🦇',
+ bathtub: ['🛀', foam: '🛁'],
+ battery: ['🔋', low: '🪫'],
+ beach: [palm: '🏝', umbrella: '🏖'],
+ beads: '📿',
+ beans: '🫘',
+ bear: '🐻',
+ beaver: '🦫',
+ bed: ['🛏', person: '🛌'],
+ bee: '🐝',
+ beer: ['🍺', clink: '🍻'],
+ beetle: ['🪲', lady: '🐞'],
+ bell: ['🔔', ding: '🛎', not: '🔕'],
+ bento: '🍱',
+ bicyclist: ['🚴', mountain: '🚵'],
+ bike: ['🚲', not: '🚳'],
+ bikini: '👙',
+ billiards: '🎱',
+ bin: '🗑',
+ biohazard: '☣',
+ bird: '🐦',
+ bison: '🦬',
+ blood: '🩸',
+ blouse: '👚',
+ blowfish: '🐡',
+ blueberries: '🫐',
+ boar: '🐗',
+ boat: [
+ sail: '⛵',
+ row: '🚣',
+ motor: '🛥',
+ speed: '🚤',
+ canoe: '🛶',
+ ],
+ bolt: '🔩',
+ bomb: '💣',
+ bone: '🦴',
+ book: [
+ red: '📕',
+ blue: '📘',
+ green: '📗',
+ orange: '📙',
+ spiral: '📒',
+ open: '📖',
+ ],
+ bookmark: '🔖',
+ books: '📚',
+ boomerang: '🪃',
+ bordercontrol: '🛂',
+ bouquet: '💐',
+ bow: '🏹',
+ bowl: [spoon: '🥣', steam: '🍜'],
+ bowling: '🎳',
+ boxing: '🥊',
+ boy: '👦',
+ brain: '🧠',
+ bread: '🍞',
+ brick: '🧱',
+ bride: '👰',
+ bridge: [fog: '🌁', night: '🌉'],
+ briefcase: '💼',
+ briefs: '🩲',
+ brightness: [high: '🔆', low: '🔅'],
+ broccoli: '🥦',
+ broom: '🧹',
+ brush: '🖌',
+ bubble: [
+ speech.r: '💬',
+ speech.l: '🗨',
+ thought: '💭',
+ anger.r: '🗯',
+ ],
+ bubbles: '🫧',
+ bubbletea: '🧋',
+ bucket: '🪣',
+ buffalo: [water: '🐃'],
+ bug: '🐛',
+ builder: '👷',
+ burger: '🍔',
+ burrito: '🌯',
+ bus: [
+ '🚌',
+ front: '🚍',
+ small: '🚐',
+ stop: '🚏',
+ trolley: '🚎',
+ ],
+ butter: '🧈',
+ butterfly: '🦋',
+ button: ['🔲', alt: '🔳', radio: '🔘'],
+ cabinet: [file: '🗄'],
+ cablecar: ['🚠', small: '🚡'],
+ cactus: '🌵',
+ cake: [
+ '🎂',
+ fish: '🍥',
+ moon: '🥮',
+ slice: '🍰',
+ ],
+ calendar: ['📅', spiral: '🗓', tearoff: '📆'],
+ camel: ['🐫', dromedar: '🐪'],
+ camera: [
+ '📷',
+ flash: '📸',
+ movie: '🎥',
+ movie.box: '🎦',
+ video: '📹',
+ ],
+ camping: '🏕',
+ can: '🥫',
+ candle: '🕯',
+ candy: '🍬',
+ cane: '🦯',
+ car: [
+ '🚗',
+ front: '🚘',
+ pickup: '🛻',
+ police: '🚓',
+ police.front: '🚔',
+ racing: '🏎',
+ rickshaw: '🛺',
+ suv: '🚙',
+ ],
+ card: [credit: '💳', id: '🪪'],
+ cardindex: '📇',
+ carrot: '🥕',
+ cart: '🛒',
+ cassette: '📼',
+ castle: [eu: '🏰', jp: '🏯'],
+ cat: [
+ '🐈',
+ face: '🐱',
+ face.angry: '😾',
+ face.cry: '😿',
+ face.heart: '😻',
+ face.joy: '😹',
+ face.kiss: '😽',
+ face.laugh: '😸',
+ face.shock: '🙀',
+ face.smile: '😺',
+ face.smirk: '😼',
+ ],
+ chain: '🔗',
+ chains: '⛓',
+ chair: '🪑',
+ champagne: '🍾',
+ chart: [
+ bar: '📊',
+ up: '📈',
+ down: '📉',
+ yen.up: '💹',
+ ],
+ checkmark: [heavy: '✔', box: '✅'],
+ cheese: '🧀',
+ cherries: '🍒',
+ chess: '♟',
+ chestnut: '🌰',
+ chicken: [
+ '🐔',
+ baby: '🐥',
+ baby.egg: '🐣',
+ baby.head: '🐤',
+ leg: '🍗',
+ male: '🐓',
+ ],
+ child: '🧒',
+ chipmunk: '🐿',
+ chocolate: '🍫',
+ chopsticks: '🥢',
+ church: ['⛪', love: '💒'],
+ cigarette: ['🚬', not: '🚭'],
+ circle: [
+ black: '⚫',
+ blue: '🔵',
+ brown: '🟤',
+ green: '🟢',
+ orange: '🟠',
+ purple: '🟣',
+ white: '⚪',
+ red: '🔴',
+ yellow: '🟡',
+ stroked: '⭕',
+ ],
+ circus: '🎪',
+ city: [
+ '🏙',
+ dusk: '🌆',
+ night: '🌃',
+ sunset: '🌇',
+ ],
+ clamp: '🗜',
+ clapperboard: '🎬',
+ climbing: '🧗',
+ clip: '📎',
+ clipboard: '📋',
+ clips: '🖇',
+ clock: [
+ one: '🕐',
+ one.thirty: '🕜',
+ two: '🕑',
+ two.thirty: '🕝',
+ three: '🕒',
+ three.thirty: '🕞',
+ four: '🕓',
+ four.thirty: '🕟',
+ five: '🕔',
+ five.thirty: '🕠',
+ six: '🕕',
+ six.thirty: '🕡',
+ seven: '🕖',
+ seven.thirty: '🕢',
+ eight: '🕗',
+ eight.thirty: '🕣',
+ nine: '🕘',
+ nine.thirty: '🕤',
+ ten: '🕙',
+ ten.thirty: '🕥',
+ eleven: '🕚',
+ eleven.thirty: '🕦',
+ twelve: '🕛',
+ twelve.thirty: '🕧',
+ alarm: '⏰',
+ old: '🕰',
+ timer: '⏲',
+ ],
+ cloud: [
+ '☁',
+ dust: '💨',
+ rain: '🌧',
+ snow: '🌨',
+ storm: '⛈',
+ sun: '⛅',
+ sun.hidden: '🌥',
+ sun.rain: '🌦',
+ thunder: '🌩',
+ ],
+ coat: ['🧥', lab: '🥼'],
+ cockroach: '🪳',
+ cocktail: [martini: '🍸', tropical: '🍹'],
+ coconut: '🥥',
+ coffee: '☕',
+ coffin: '⚰',
+ coin: '🪙',
+ comet: '☄',
+ compass: '🧭',
+ computer: '🖥',
+ computermouse: '🖱',
+ confetti: '🎊',
+ construction: '🚧',
+ controller: '🎮',
+ cookie: ['🍪', fortune: '🥠'],
+ cooking: '🍳',
+ cool: '🆒',
+ copyright: '©',
+ coral: '🪸',
+ corn: '🌽',
+ couch: '🛋',
+ couple: '💑',
+ cow: ['🐄', face: '🐮'],
+ crab: '🦀',
+ crane: '🏗',
+ crayon: '🖍',
+ cricket: '🦗',
+ cricketbat: '🏏',
+ crocodile: '🐊',
+ croissant: '🥐',
+ crossmark: ['❌', box: '❎'],
+ crown: '👑',
+ crutch: '🩼',
+ crystal: '🔮',
+ cucumber: '🥒',
+ cup: [straw: '🥤'],
+ cupcake: '🧁',
+ curling: '🥌',
+ curry: '🍛',
+ custard: '🍮',
+ customs: '🛃',
+ cutlery: '🍴',
+ cyclone: '🌀',
+ dancing: [man: '🕺', woman: '💃', women.bunny: '👯'],
+ darts: '🎯',
+ dash: [wave.double: '〰'],
+ deer: '🦌',
+ desert: '🏜',
+ detective: '🕵',
+ diamond: [
+ blue: '🔷',
+ blue.small: '🔹',
+ orange: '🔶',
+ orange.small: '🔸',
+ dot: '💠',
+ ],
+ die: '🎲',
+ dino: [pod: '🦕', rex: '🦖'],
+ disc: [cd: '💿', dvd: '📀', mini: '💽'],
+ discoball: '🪩',
+ diving: '🤿',
+ dodo: '🦤',
+ dog: [
+ '🐕',
+ face: '🐶',
+ guide: '🦮',
+ poodle: '🐩',
+ ],
+ dollar: '💲',
+ dolphin: '🐬',
+ donut: '🍩',
+ door: '🚪',
+ dove: [peace: '🕊'],
+ dragon: ['🐉', face: '🐲'],
+ dress: ['👗', kimono: '👘', sari: '🥻'],
+ drop: '💧',
+ drops: '💦',
+ drum: ['🥁', big: '🪘'],
+ duck: '🦆',
+ dumpling: '🥟',
+ eagle: '🦅',
+ ear: ['👂', aid: '🦻'],
+ egg: '🥚',
+ eighteen: [not: '🔞'],
+ elephant: '🐘',
+ elevator: '🛗',
+ elf: '🧝',
+ email: '📧',
+ excl: [
+ '❗',
+ white: '❕',
+ double: '‼',
+ quest: '⁉',
+ ],
+ explosion: '💥',
+ extinguisher: '🧯',
+ eye: '👁',
+ eyes: '👀',
+ face: [
+ grin: '😀',
+ angry: '😠',
+ angry.red: '😡',
+ anguish: '😧',
+ astonish: '😲',
+ bandage: '🤕',
+ beam: '😁',
+ blank: '😶',
+ clown: '🤡',
+ cold: '🥶',
+ concern: '😦',
+ cool: '😎',
+ cover: '🤭',
+ cowboy: '🤠',
+ cry: '😭',
+ devil.smile: '😈',
+ devil.frown: '👿',
+ diagonal: '🫤',
+ disguise: '🥸',
+ dizzy: '😵',
+ dotted: '🫥',
+ down: '😞',
+ down.sweat: '😓',
+ drool: '🤤',
+ explode: '🤯',
+ eyeroll: '🙄',
+ friendly: '☺',
+ fear: '😨',
+ fear.sweat: '😰',
+ fever: '🤒',
+ flush: '😳',
+ frown: '☹',
+ frown.slight: '🙁',
+ frust: '😣',
+ goofy: '🤪',
+ halo: '😇',
+ happy: '😊',
+ heart: '😍',
+ hearts: '🥰',
+ heat: '🥵',
+ hug: '🤗',
+ inv: '🙃',
+ joy: '😂',
+ kiss: '😗',
+ kiss.smile: '😙',
+ kiss.heart: '😘',
+ kiss.blush: '😚',
+ lick: '😋',
+ lie: '🤥',
+ mask: '😷',
+ meh: '😒',
+ melt: '🫠',
+ money: '🤑',
+ monocle: '🧐',
+ nausea: '🤢',
+ nerd: '🤓',
+ neutral: '😐',
+ open: '😃',
+ party: '🥳',
+ peek: '🫣',
+ plead: '🥺',
+ relief: '😌',
+ rofl: '🤣',
+ sad: '😔',
+ salute: '🫡',
+ shock: '😱',
+ shush: '🤫',
+ skeptic: '🤨',
+ sleep: '😴',
+ sleepy: '😪',
+ smile: '😄',
+ smile.slight: '🙂',
+ smile.sweat: '😅',
+ smile.tear: '🥲',
+ smirk: '😏',
+ sneeze: '🤧',
+ speak.not: '🫢',
+ squint: '😆',
+ stars: '🤩',
+ straight: '😑',
+ suffer: '😖',
+ surprise: '😯',
+ symbols: '🤬',
+ tear: '😢',
+ tear.relief: '😥',
+ tear.withheld: '🥹',
+ teeth: '😬',
+ think: '🤔',
+ tired: '😫',
+ tongue: '😛',
+ tongue.squint: '😝',
+ tongue.wink: '😜',
+ triumph: '😤',
+ unhappy: '😕',
+ vomit: '🤮',
+ weary: '😩',
+ wink: '😉',
+ woozy: '🥴',
+ worry: '😟',
+ wow: '😮',
+ yawn: '🥱',
+ zip: '🤐',
+ ],
+ factory: '🏭',
+ fairy: '🧚',
+ faith: [
+ christ: '✝',
+ dharma: '☸',
+ islam: '☪',
+ judaism: '✡',
+ menorah: '🕎',
+ om: '🕉',
+ orthodox: '☦',
+ peace: '☮',
+ star.dot: '🔯',
+ worship: '🛐',
+ yinyang: '☯',
+ ],
+ falafel: '🧆',
+ family: '👪',
+ fax: '📠',
+ feather: '🪶',
+ feeding: [breast: '🤱'],
+ fencing: '🤺',
+ ferriswheel: '🎡',
+ filebox: '🗃',
+ filedividers: '🗂',
+ film: '🎞',
+ finger: [
+ r: '👉',
+ l: '👈',
+ t: '👆',
+ t.alt: '☝',
+ b: '👇',
+ front: '🫵',
+ m: '🖕',
+ ],
+ fingers: [cross: '🤞', pinch: '🤌', snap: '🫰'],
+ fire: '🔥',
+ firecracker: '🧨',
+ fireengine: '🚒',
+ fireworks: '🎆',
+ fish: ['🐟', tropical: '🐠'],
+ fishing: '🎣',
+ fist: [
+ front: '👊',
+ r: '🤜',
+ l: '🤛',
+ raised: '✊',
+ ],
+ flag: [
+ black: '🏴',
+ white: '🏳',
+ goal: '🏁',
+ golf: '⛳',
+ red: '🚩',
+ ],
+ flags: [jp.crossed: '🎌'],
+ flamingo: '🦩',
+ flashlight: '🔦',
+ flatbread: '🫓',
+ fleur: '⚜',
+ floppy: '💾',
+ flower: [
+ hibiscus: '🌺',
+ lotus: '🪷',
+ pink: '🌸',
+ rose: '🌹',
+ sun: '🌻',
+ tulip: '🌷',
+ white: '💮',
+ wilted: '🥀',
+ yellow: '🌼',
+ ],
+ fly: '🪰',
+ fog: '🌫',
+ folder: ['📁', open: '📂'],
+ fondue: '🫕',
+ foot: '🦶',
+ football: ['⚽', am: '🏈'],
+ forex: '💱',
+ fountain: '⛲',
+ fox: '🦊',
+ free: '🆓',
+ fries: '🍟',
+ frisbee: '🥏',
+ frog: [face: '🐸'],
+ fuelpump: '⛽',
+ garlic: '🧄',
+ gear: '⚙',
+ gem: '💎',
+ genie: '🧞',
+ ghost: '👻',
+ giraffe: '🦒',
+ girl: '👧',
+ glass: [
+ clink: '🥂',
+ milk: '🥛',
+ pour: '🫗',
+ tumbler: '🥃',
+ ],
+ glasses: ['👓', sun: '🕶'],
+ globe: [
+ am: '🌎',
+ as.au: '🌏',
+ eu.af: '🌍',
+ meridian: '🌐',
+ ],
+ gloves: '🧤',
+ goal: '🥅',
+ goat: '🐐',
+ goggles: '🥽',
+ golfing: '🏌',
+ gorilla: '🦍',
+ grapes: '🍇',
+ guard: [man: '💂'],
+ guitar: '🎸',
+ gymnastics: '🤸',
+ haircut: '💇',
+ hammer: ['🔨', pick: '⚒', wrench: '🛠'],
+ hamsa: '🪬',
+ hamster: [face: '🐹'],
+ hand: [
+ raised: '✋',
+ raised.alt: '🤚',
+ r: '🫱',
+ l: '🫲',
+ t: '🫴',
+ b: '🫳',
+ ok: '👌',
+ call: '🤙',
+ love: '🤟',
+ part: '🖖',
+ peace: '✌',
+ pinch: '🤏',
+ rock: '🤘',
+ splay: '🖐',
+ wave: '👋',
+ write: '✍',
+ ],
+ handbag: '👜',
+ handball: '🤾',
+ handholding: [man.man: '👬', woman.man: '👫', woman.woman: '👭'],
+ hands: [
+ folded: '🙏',
+ palms: '🤲',
+ clap: '👏',
+ heart: '🫶',
+ open: '👐',
+ raised: '🙌',
+ shake: '🤝',
+ ],
+ hash: '#',
+ hat: [ribbon: '👒', top: '🎩'],
+ headphone: '🎧',
+ heart: [
+ '❤',
+ arrow: '💘',
+ beat: '💓',
+ black: '🖤',
+ blue: '💙',
+ box: '💟',
+ broken: '💔',
+ brown: '🤎',
+ double: '💕',
+ excl: '❣',
+ green: '💚',
+ grow: '💗',
+ orange: '🧡',
+ purple: '💜',
+ real: '🫀',
+ revolve: '💞',
+ ribbon: '💝',
+ spark: '💖',
+ white: '🤍',
+ yellow: '💛',
+ ],
+ hedgehog: '🦔',
+ helicopter: '🚁',
+ helix: '🧬',
+ helmet: [cross: '⛑', military: '🪖'],
+ hippo: '🦛',
+ hockey: '🏑',
+ hole: '🕳',
+ honey: '🍯',
+ hongbao: '🧧',
+ hook: '🪝',
+ horn: [postal: '📯'],
+ horse: [
+ '🐎',
+ carousel: '🎠',
+ face: '🐴',
+ race: '🏇',
+ ],
+ hospital: '🏥',
+ hotdog: '🌭',
+ hotel: ['🏨', love: '🏩'],
+ hotspring: '♨',
+ hourglass: ['⌛', flow: '⏳'],
+ house: [
+ '🏠',
+ derelict: '🏚',
+ garden: '🏡',
+ multiple: '🏘',
+ ],
+ hundred: '💯',
+ hut: '🛖',
+ ice: '🧊',
+ icecream: ['🍨', shaved: '🍧', soft: '🍦'],
+ icehockey: '🏒',
+ id: '🆔',
+ info: 'ℹ',
+ izakaya: '🏮',
+ jar: '🫙',
+ jeans: '👖',
+ jigsaw: '🧩',
+ joystick: '🕹',
+ juggling: '🤹',
+ juice: '🧃',
+ kaaba: '🕋',
+ kadomatsu: '🎍',
+ kangaroo: '🦘',
+ gachi: '🈷',
+ go: '🈴',
+ hi: '㊙',
+ ka: '🉑',
+ kachi: '🈹',
+ kara: '🈳',
+ kon: '🈲',
+ man: '🈵',
+ muryo: '🈚',
+ shin: '🈸',
+ shuku: '㊗',
+ toku: '🉐',
+ yo: '🈺',
+ yubi: '🈯',
+ yuryo: '🈶',
+ koko: '🈁',
+ sa: '🈂',
+ kebab: '🥙',
+ key: ['🔑', old: '🗝'],
+ keyboard: '⌨',
+ kiss: '💏',
+ kissmark: '💋',
+ kite: '🪁',
+ kiwi: '🥝',
+ knife: ['🔪', dagger: '🗡'],
+ knot: '🪢',
+ koala: '🐨',
+ koinobori: '🎏',
+ label: '🏷',
+ lacrosse: '🥍',
+ ladder: '🪜',
+ lamp: [diya: '🪔'],
+ laptop: '💻',
+ a: '🅰',
+ ab: '🆎',
+ b: '🅱',
+ cl: '🆑',
+ o: '🅾',
+ leaf: [
+ clover.three: '☘',
+ clover.four: '🍀',
+ fall: '🍂',
+ herb: '🌿',
+ maple: '🍁',
+ wind: '🍃',
+ ],
+ leftluggage: '🛅',
+ leg: ['🦵', mech: '🦿'],
+ lemon: '🍋',
+ leopard: '🐆',
+ letter: [love: '💌'],
+ liberty: '🗽',
+ lightbulb: '💡',
+ lightning: '⚡',
+ lion: '🦁',
+ lipstick: '💄',
+ litter: ['🚮', not: '🚯'],
+ lizard: '🦎',
+ llama: '🦙',
+ lobster: '🦞',
+ lock: [
+ '🔒',
+ key: '🔐',
+ open: '🔓',
+ pen: '🔏',
+ ],
+ lollipop: '🍭',
+ lotion: '🧴',
+ luggage: '🧳',
+ lungs: '🫁',
+ mage: '🧙',
+ magnet: '🧲',
+ magnify: [r: '🔎', l: '🔍'],
+ mahjong: [dragon.red: '🀄'],
+ mail: ['✉', arrow: '📩'],
+ mailbox: [
+ closed.empty: '📪',
+ closed.full: '📫',
+ open.empty: '📭',
+ open.full: '📬',
+ ],
+ mammoth: '🦣',
+ man: [
+ '👨',
+ box: '🚹',
+ crown: '🤴',
+ guapimao: '👲',
+ levitate: '🕴',
+ old: '👴',
+ pregnant: '🫃',
+ turban: '👳',
+ tuxedo: '🤵',
+ ],
+ mango: '🥭',
+ map: [world: '🗺', jp: '🗾'],
+ martialarts: '🥋',
+ masks: '🎭',
+ mate: '🧉',
+ matryoshka: '🪆',
+ meat: ['🥩', bone: '🍖'],
+ medal: [
+ first: '🥇',
+ second: '🥈',
+ third: '🥉',
+ sports: '🏅',
+ military: '🎖',
+ ],
+ megaphone: ['📢', simple: '📣'],
+ melon: '🍈',
+ merperson: '🧜',
+ metro: 'Ⓜ',
+ microbe: '🦠',
+ microphone: ['🎤', studio: '🎙'],
+ microscope: '🔬',
+ milkyway: '🌌',
+ mirror: '🪞',
+ mixer: '🎛',
+ money: [
+ bag: '💰',
+ dollar: '💵',
+ euro: '💶',
+ pound: '💷',
+ yen: '💴',
+ wings: '💸',
+ ],
+ monkey: [
+ '🐒',
+ face: '🐵',
+ hear.not: '🙉',
+ see.not: '🙈',
+ speak.not: '🙊',
+ ],
+ moon: [
+ crescent: '🌙',
+ full: '🌕',
+ full.face: '🌝',
+ new: '🌑',
+ new.face: '🌚',
+ wane.one: '🌖',
+ wane.two: '🌗',
+ wane.three.face: '🌜',
+ wane.three: '🌘',
+ wax.one: '🌒',
+ wax.two: '🌓',
+ wax.two.face: '🌛',
+ wax.three: '🌔',
+ ],
+ mortarboard: '🎓',
+ mosque: '🕌',
+ mosquito: '🦟',
+ motorcycle: '🏍',
+ motorway: '🛣',
+ mountain: [
+ '⛰',
+ fuji: '🗻',
+ snow: '🏔',
+ sunrise: '🌄',
+ ],
+ mouse: ['🐁', face: '🐭'],
+ mousetrap: '🪤',
+ mouth: ['👄', bite: '🫦'],
+ moyai: '🗿',
+ museum: '🏛',
+ mushroom: '🍄',
+ musicalscore: '🎼',
+ nails: [polish: '💅'],
+ namebadge: '📛',
+ nazar: '🧿',
+ necktie: '👔',
+ needle: '🪡',
+ nest: [empty: '🪹', eggs: '🪺'],
+ new: '🆕',
+ newspaper: ['📰', rolled: '🗞'],
+ ng: '🆖',
+ ningyo: '🎎',
+ ninja: '🥷',
+ noentry: '⛔',
+ nose: '👃',
+ notebook: ['📓', deco: '📔'],
+ notepad: '🗒',
+ notes: ['🎵', triple: '🎶'],
+ numbers: '🔢',
+ octopus: '🐙',
+ office: '🏢',
+ oil: '🛢',
+ ok: '🆗',
+ olive: '🫒',
+ oni: '👹',
+ onion: '🧅',
+ orangutan: '🦧',
+ otter: '🦦',
+ owl: '🦉',
+ ox: '🐂',
+ oyster: '🦪',
+ package: '📦',
+ paella: '🥘',
+ page: ['📄', curl: '📃', pencil: '📝'],
+ pager: '📟',
+ pages: [tabs: '📑'],
+ painting: '🖼',
+ palette: '🎨',
+ pancakes: '🥞',
+ panda: '🐼',
+ parachute: '🪂',
+ park: '🏞',
+ parking: '🅿',
+ parrot: '🦜',
+ partalteration: '〽',
+ party: '🎉',
+ peach: '🍑',
+ peacock: '🦚',
+ peanuts: '🥜',
+ pear: '🍐',
+ pedestrian: ['🚶', not: '🚷'],
+ pen: [ball: '🖊', fountain: '🖋'],
+ pencil: '✏',
+ penguin: '🐧',
+ pepper: ['🫑', hot: '🌶'],
+ person: [
+ '🧑',
+ angry: '🙎',
+ beard: '🧔',
+ blonde: '👱',
+ bow: '🙇',
+ crown: '🫅',
+ deaf: '🧏',
+ facepalm: '🤦',
+ frown: '🙍',
+ hijab: '🧕',
+ kneel: '🧎',
+ lotus: '🧘',
+ massage: '💆',
+ no: '🙅',
+ ok: '🙆',
+ old: '🧓',
+ pregnant: '🫄',
+ raise: '🙋',
+ sassy: '💁',
+ shrug: '🤷',
+ stand: '🧍',
+ steam: '🧖',
+ ],
+ petri: '🧫',
+ phone: [
+ '📱',
+ arrow: '📲',
+ classic: '☎',
+ not: '📵',
+ off: '📴',
+ receiver: '📞',
+ signal: '📶',
+ vibrate: '📳',
+ ],
+ piano: '🎹',
+ pick: '⛏',
+ pie: '🥧',
+ pig: ['🐖', face: '🐷', node: '🐽'],
+ pill: '💊',
+ pin: ['📌', round: '📍'],
+ pinata: '🪅',
+ pineapple: '🍍',
+ pingpong: '🏓',
+ pistol: '🔫',
+ pizza: '🍕',
+ placard: '🪧',
+ planet: '🪐',
+ plant: '🪴',
+ plaster: '🩹',
+ plate: [cutlery: '🍽'],
+ playback: [
+ down: '⏬',
+ eject: '⏏',
+ forward: '⏩',
+ pause: '⏸',
+ record: '⏺',
+ repeat: '🔁',
+ repeat.once: '🔂',
+ repeat.v: '🔃',
+ restart: '⏮',
+ rewind: '⏪',
+ shuffle: '🔀',
+ skip: '⏭',
+ stop: '⏹',
+ toggle: '⏯',
+ up: '⏫',
+ ],
+ playingcard: [flower: '🎴', joker: '🃏'],
+ plunger: '🪠',
+ policeofficer: '👮',
+ poo: '💩',
+ popcorn: '🍿',
+ post: [eu: '🏤', jp: '🏣'],
+ postbox: '📮',
+ potato: ['🥔', sweet: '🍠'],
+ pouch: '👝',
+ powerplug: '🔌',
+ present: '🎁',
+ pretzel: '🥨',
+ printer: '🖨',
+ prints: [foot: '👣', paw: '🐾'],
+ prohibited: '🚫',
+ projector: '📽',
+ pumpkin: [lantern: '🎃'],
+ purse: '👛',
+ quest: ['❓', white: '❔'],
+ rabbit: ['🐇', face: '🐰'],
+ raccoon: '🦝',
+ radio: '📻',
+ radioactive: '☢',
+ railway: '🛤',
+ rainbow: '🌈',
+ ram: '🐏',
+ rat: '🐀',
+ razor: '🪒',
+ receipt: '🧾',
+ recycling: '♻',
+ reg: '®',
+ restroom: '🚻',
+ rhino: '🦏',
+ ribbon: ['🎀', remind: '🎗'],
+ rice: [
+ '🍚',
+ cracker: '🍘',
+ ear: '🌾',
+ onigiri: '🍙',
+ ],
+ ring: '💍',
+ ringbuoy: '🛟',
+ robot: '🤖',
+ rock: '🪨',
+ rocket: '🚀',
+ rollercoaster: '🎢',
+ rosette: '🏵',
+ rugby: '🏉',
+ ruler: ['📏', triangle: '📐'],
+ running: '🏃',
+ safetypin: '🧷',
+ safetyvest: '🦺',
+ sake: '🍶',
+ salad: '🥗',
+ salt: '🧂',
+ sandwich: '🥪',
+ santa: [man: '🎅', woman: '🤶'],
+ satdish: '📡',
+ satellite: '🛰',
+ saw: '🪚',
+ saxophone: '🎷',
+ scales: '⚖',
+ scarf: '🧣',
+ school: '🏫',
+ scissors: '✂',
+ scooter: ['🛴', motor: '🛵'],
+ scorpion: '🦂',
+ screwdriver: '🪛',
+ scroll: '📜',
+ seal: '🦭',
+ seat: '💺',
+ seedling: '🌱',
+ shark: '🦈',
+ sheep: '🐑',
+ shell: [spiral: '🐚'],
+ shield: '🛡',
+ ship: ['🚢', cruise: '🛳', ferry: '⛴'],
+ shirt: [sports: '🎽', t: '👕'],
+ shoe: [
+ '👞',
+ ballet: '🩰',
+ flat: '🥿',
+ heel: '👠',
+ hike: '🥾',
+ ice: '⛸',
+ roller: '🛼',
+ sandal.heel: '👡',
+ ski: '🎿',
+ sneaker: '👟',
+ tall: '👢',
+ thong: '🩴',
+ ],
+ shopping: '🛍',
+ shorts: '🩳',
+ shoshinsha: '🔰',
+ shower: '🚿',
+ shrimp: ['🦐', fried: '🍤'],
+ shrine: '⛩',
+ sign: [crossing: '🚸', stop: '🛑'],
+ silhouette: [
+ '👤',
+ double: '👥',
+ hug: '🫂',
+ speak: '🗣',
+ ],
+ siren: '🚨',
+ skateboard: '🛹',
+ skewer: [dango: '🍡', oden: '🍢'],
+ skiing: '⛷',
+ skull: ['💀', bones: '☠'],
+ skunk: '🦨',
+ sled: '🛷',
+ slide: '🛝',
+ slider: '🎚',
+ sloth: '🦥',
+ slots: '🎰',
+ snail: '🐌',
+ snake: '🐍',
+ snowboarding: '🏂',
+ snowflake: '❄',
+ snowman: ['⛄', snow: '☃'],
+ soap: '🧼',
+ socks: '🧦',
+ softball: '🥎',
+ sos: '🆘',
+ soup: '🍲',
+ spaghetti: '🍝',
+ sparkle: [box: '❇'],
+ sparkler: '🎇',
+ sparkles: '✨',
+ speaker: [
+ '🔈',
+ not: '🔇',
+ wave: '🔉',
+ waves: '🔊',
+ ],
+ spider: '🕷',
+ spiderweb: '🕸',
+ spinach: '🥬',
+ sponge: '🧽',
+ spoon: '🥄',
+ square: [
+ black: '⬛',
+ black.tiny: '▪',
+ black.small: '◾',
+ black.medium: '◼',
+ white: '⬜',
+ white.tiny: '▫',
+ white.small: '◽',
+ white.medium: '◻',
+ blue: '🟦',
+ brown: '🟫',
+ green: '🟩',
+ orange: '🟧',
+ purple: '🟪',
+ red: '🟥',
+ yellow: '🟨',
+ ],
+ squid: '🦑',
+ stadium: '🏟',
+ star: [
+ '⭐',
+ arc: '💫',
+ box: '✴',
+ glow: '🌟',
+ shoot: '🌠',
+ ],
+ stethoscope: '🩺',
+ store: [big: '🏬', small: '🏪'],
+ strawberry: '🍓',
+ suit: [
+ club: '♣',
+ diamond: '♦',
+ heart: '♥',
+ spade: '♠',
+ ],
+ sun: ['☀', cloud: '🌤', face: '🌞'],
+ sunrise: '🌅',
+ superhero: '🦸',
+ supervillain: '🦹',
+ surfing: '🏄',
+ sushi: '🍣',
+ swan: '🦢',
+ swimming: '🏊',
+ swimsuit: '🩱',
+ swords: '⚔',
+ symbols: '🔣',
+ synagogue: '🕍',
+ syringe: '💉',
+ taco: '🌮',
+ takeout: '🥡',
+ tamale: '🫔',
+ tanabata: '🎋',
+ tangerine: '🍊',
+ tap: ['🚰', not: '🚱'],
+ taxi: ['🚕', front: '🚖'],
+ teacup: '🍵',
+ teapot: '🫖',
+ teddy: '🧸',
+ telescope: '🔭',
+ temple: '🛕',
+ ten: '🔟',
+ tengu: '👺',
+ tennis: '🎾',
+ tent: '⛺',
+ testtube: '🧪',
+ thermometer: '🌡',
+ thread: '🧵',
+ thumb: [up: '👍', down: '👎'],
+ ticket: [event: '🎟', travel: '🎫'],
+ tiger: ['🐅', face: '🐯'],
+ tm: '™',
+ toilet: '🚽',
+ toiletpaper: '🧻',
+ tomato: '🍅',
+ tombstone: '🪦',
+ tongue: '👅',
+ toolbox: '🧰',
+ tooth: '🦷',
+ toothbrush: '🪥',
+ tornado: '🌪',
+ tower: [tokyo: '🗼'],
+ trackball: '🖲',
+ tractor: '🚜',
+ trafficlight: [v: '🚦', h: '🚥'],
+ train: [
+ '🚆',
+ car: '🚃',
+ light: '🚈',
+ metro: '🚇',
+ mono: '🚝',
+ mountain: '🚞',
+ speed: '🚄',
+ speed.bullet: '🚅',
+ steam: '🚂',
+ stop: '🚉',
+ suspend: '🚟',
+ tram: '🚊',
+ tram.car: '🚋',
+ ],
+ transgender: '⚧',
+ tray: [inbox: '📥', mail: '📨', outbox: '📤'],
+ tree: [
+ deciduous: '🌳',
+ evergreen: '🌲',
+ palm: '🌴',
+ xmas: '🎄',
+ ],
+ triangle: [
+ r: '▶',
+ l: '◀',
+ t: '🔼',
+ b: '🔽',
+ t.red: '🔺',
+ b.red: '🔻',
+ ],
+ trident: '🔱',
+ troll: '🧌',
+ trophy: '🏆',
+ truck: ['🚚', trailer: '🚛'],
+ trumpet: '🎺',
+ tsukimi: '🎑',
+ turkey: '🦃',
+ turtle: '🐢',
+ tv: '📺',
+ ufo: '🛸',
+ umbrella: [
+ open: '☂',
+ closed: '🌂',
+ rain: '☔',
+ sun: '⛱',
+ ],
+ unicorn: '🦄',
+ unknown: '🦳',
+ up: '🆙',
+ urn: '⚱',
+ vampire: '🧛',
+ violin: '🎻',
+ volcano: '🌋',
+ volleyball: '🏐',
+ vs: '🆚',
+ waffle: '🧇',
+ wand: '🪄',
+ warning: '⚠',
+ watch: ['⌚', stop: '⏱'],
+ watermelon: '🍉',
+ waterpolo: '🤽',
+ wave: '🌊',
+ wc: '🚾',
+ weightlifting: '🏋',
+ whale: ['🐋', spout: '🐳'],
+ wheel: '🛞',
+ wheelchair: ['🦽', box: '♿', motor: '🦼'],
+ wind: '🌬',
+ windchime: '🎐',
+ window: '🪟',
+ wine: '🍷',
+ wolf: '🐺',
+ woman: [
+ '👩',
+ box: '🚺',
+ crown: '👸',
+ old: '👵',
+ pregnant: '🤰',
+ ],
+ wood: '🪵',
+ worm: '🪱',
+ wrench: '🔧',
+ wrestling: '🤼',
+ xray: '🩻',
+ yarn: '🧶',
+ yoyo: '🪀',
+ zebra: '🦓',
+ zodiac: [
+ aquarius: '♒',
+ aries: '♈',
+ cancer: '♋',
+ capri: '♑',
+ gemini: '♊',
+ leo: '♌',
+ libra: '♎',
+ ophi: '⛎',
+ pisces: '♓',
+ sagit: '♐',
+ scorpio: '♏',
+ taurus: '♉',
+ virgo: '♍',
+ ],
+ zombie: '🧟',
+ zzz: '💤',
+};
diff --git a/library/src/symbols/mod.rs b/library/src/symbols/mod.rs
new file mode 100644
index 00000000..8cd5f2f3
--- /dev/null
+++ b/library/src/symbols/mod.rs
@@ -0,0 +1,7 @@
+//! Modifiable symbols.
+
+mod emoji;
+mod sym;
+
+pub use emoji::*;
+pub use sym::*;
diff --git a/library/src/symbols/sym.rs b/library/src/symbols/sym.rs
new file mode 100644
index 00000000..5a68cc80
--- /dev/null
+++ b/library/src/symbols/sym.rs
@@ -0,0 +1,808 @@
+use typst::model::{symbols, Module, Scope, Symbol};
+
+/// A module with all general symbols.
+pub fn sym() -> Module {
+ let mut scope = Scope::new();
+ for (name, symbol) in SYM {
+ scope.define(*name, symbol.clone());
+ }
+ Module::new("sym").with_scope(scope)
+}
+
+/// The list of general symbols.
+pub(crate) const SYM: &[(&'static str, Symbol)] = symbols! {
+ // Control.
+ wj: '\u{2060}',
+ zwj: '\u{200D}',
+ zwnj: '\u{200C}',
+ zws: '\u{200B}',
+
+ // Spaces.
+ space: [
+ ' ',
+ nobreak: '\u{A0}',
+ en: '\u{2002}',
+ quad: '\u{2003}',
+ third: '\u{2004}',
+ quarter: '\u{2005}',
+ sixth: '\u{2006}',
+ med: '\u{205F}',
+ fig: '\u{2007}',
+ punct: '\u{2008}',
+ thin: '\u{2009}',
+ hair: '\u{200A}',
+ ],
+
+ // Delimiters.
+ paren: [l: '(', r: ')', t: '⏜', b: '⏝'],
+ brace: [l: '{', r: '}', t: '⏞', b: '⏟'],
+ bracket: [l: '[', r: ']', t: '⎴', b: '⎵'],
+ turtle: [l: '〔', r: '〕', t: '⏠', b: '⏡'],
+ bar: [v: '|', v.double: '‖', v.triple: '⦀', v.broken: '¦', v.circle: '⦶', h: '―'],
+ fence: [l: '⧘', l.double: '⧚', r: '⧙', r.double: '⧛', dotted: '⦙'],
+ angle: [
+ '∠',
+ l: '〈',
+ r: '〉',
+ l.double: '《',
+ r.double: '》',
+ acute: '⦟',
+ arc: '∡',
+ arc.rev: '⦛',
+ rev: '⦣',
+ right: '∟',
+ right.rev: '⯾',
+ right.arc: '⊾',
+ right.dot: '⦝',
+ right.sq: '⦜',
+ spatial: '⟀',
+ spheric: '∢',
+ spheric.rev: '⦠',
+ spheric.top: '⦡',
+ ],
+
+ // Punctuation.
+ amp: ['&', inv: '⅋'],
+ ast: [
+ '*',
+ low: '⁎',
+ double: '⁑',
+ triple: '⁂',
+ small: '﹡',
+ op: '∗',
+ circle: '⊛',
+ sq: '⧆',
+ ],
+ at: '@',
+ backslash: ['\\', circle: '⦸', not: '⧷'],
+ co: '℅',
+ colon: [':', eq: '≔', double.eq: '⩴'],
+ comma: ',',
+ dagger: ['†', double: '‡'],
+ dash: [
+ en: '–',
+ em: '—',
+ fig: '‒',
+ wave: '〜',
+ colon: '∹',
+ circle: '⊝',
+ wave.double: '〰',
+ ],
+ dot: ['.', op: '⋅', c: '·', circle: '⊙', circle.big: '⨀', square: '⊡'],
+ excl: ['!', double: '‼', inv: '¡', quest: '⁉'],
+ quest: ['?', double: '⁇', excl: '⁈', inv: '¿'],
+ interrobang: '‽',
+ hash: '#',
+ hyph: ['‐', minus: '\u{2D}', nobreak: '\u{2011}', point: '‧', soft: '\u{ad}'],
+ percent: '%',
+ copyright: ['©', sound: '℗'],
+ permille: '‰',
+ pilcrow: ['¶', rev: '⁋'],
+ section: '§',
+ semi: [';', rev: '⁏'],
+ slash: ['/', double: '⫽', triple: '⫻'],
+ dots: [h: '…', h.c: '⋯', v: '⋮', down: '⋱', up: '⋰'],
+ tilde: [
+ '~',
+ op: '∼',
+ eq: '≃',
+ eq.not: '≄',
+ eq.rev: '⋍',
+ eqq: '≅',
+ eqq.not: '≇',
+ neqq: '≆',
+ not: '≁',
+ rev: '∽',
+ rev.eqq: '≌',
+ triple: '≋',
+ ],
+
+ // Accents, quotes, and primes.
+ acute: ['´', double: '˝'],
+ breve: '˘',
+ caret: '‸',
+ caron: 'ˇ',
+ hat: '^',
+ diaer: '¨',
+ grave: '`',
+ macron: '¯',
+ 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: '‚',
+ ],
+ prime: [
+ '′',
+ rev: '‵',
+ double: '″',
+ double.rev: '‶',
+ triple: '‴',
+ triple.rev: '‷',
+ quad: '⁗',
+ ],
+
+ // https://en.wikipedia.org/wiki/List_of_mathematical_symbols_by_subject
+ // Arithmetic.
+ plus: [
+ '+',
+ circle: '⊕',
+ circle.arrow: '⟴',
+ circle.big: '⨁',
+ dot: '∔',
+ minus: '±',
+ small: '﹢',
+ square: '⊞',
+ triangle: '⨹',
+ ],
+ minus: [
+ '−',
+ circle: '⊖',
+ dot: '∸',
+ plus: '∓',
+ square: '⊟',
+ tilde: '≂',
+ triangle: '⨺',
+ ],
+ div: ['÷', circle: '⨸'],
+ times: [
+ '×',
+ big: '⨉',
+ circle: '⊗',
+ circle.big: '⨂',
+ div: '⋇',
+ l: '⋋',
+ r: '⋌',
+ square: '⊠',
+ triangle: '⨻',
+ ],
+ ratio: '∶',
+
+ // Relations.
+ eq: [
+ '=',
+ star: '≛',
+ circle: '⊜',
+ colon: '≕',
+ def: '≝',
+ delta: '≜',
+ equi: '≚',
+ est: '≙',
+ gt: '⋝',
+ lt: '⋜',
+ m: '≞',
+ not: '≠',
+ prec: '⋞',
+ quest: '≟',
+ small: '﹦',
+ succ: '⋟',
+ ],
+ gt: [
+ '>',
+ circle: '⧁',
+ dot: '⋗',
+ double: '≫',
+ eq: '≥',
+ eq.lt: '⋛',
+ eq.not: '≱',
+ eqq: '≧',
+ lt: '≷',
+ lt.not: '≹',
+ neqq: '≩',
+ not: '≯',
+ ntilde: '⋧',
+ small: '﹥',
+ tilde: '≳',
+ tilde.not: '≵',
+ triple: '⋙',
+ triple.nested: '⫸',
+ ],
+ lt: [
+ '<',
+ circle: '⧀',
+ dot: '⋖',
+ double: '≪',
+ eq: '≤',
+ eq.gt: '⋚',
+ eq.not: '≰',
+ eqq: '≦',
+ gt: '≶',
+ gt.not: '≸',
+ neqq: '≨',
+ not: '≮',
+ ntilde: '⋦',
+ small: '﹤',
+ tilde: '≲',
+ tilde.not: '≴',
+ triple: '⋘',
+ triple.nested: '⫷',
+ ],
+ approx: ['≈', eq: '≊', not: '≉'],
+ prec: [
+ '≺',
+ approx: '⪷',
+ double: '⪻',
+ eq: '≼',
+ eq.not: '⋠',
+ eqq: '⪳',
+ napprox: '⪹',
+ neqq: '⪵',
+ not: '⊀',
+ ntilde: '⋨',
+ tilde: '≾',
+ ],
+ succ: [
+ '≻',
+ approx: '⪸',
+ double: '⪼',
+ eq: '≽',
+ eq.not: '⋡',
+ eqq: '⪴',
+ napprox: '⪺',
+ neqq: '⪶',
+ not: '⊁',
+ ntilde: '⋩',
+ tilde: '≿',
+ ],
+ ident: ['≡', not: '≢', strict: '≣'],
+ prop: '∝',
+
+ // Set theory.
+ nothing: ['∅', rev: '⦰'],
+ without: '∖',
+ complement: '∁',
+ in: [
+ '∈',
+ not: '∉',
+ rev: '∋',
+ rev.not: '∌',
+ rev.small: '∍',
+ small: '∊',
+ ],
+ subset: [
+ '⊂',
+ dot: '⪽',
+ double: '⋐',
+ eq: '⊆',
+ eq.not: '⊈',
+ eq.sq: '⊑',
+ eq.sq.not: '⋢',
+ neq: '⊊',
+ not: '⊄',
+ sq: '⊏',
+ sq.neq: '⋤',
+ ],
+ supset: [
+ '⊃',
+ dot: '⪾',
+ double: '⋑',
+ eq: '⊇',
+ eq.not: '⊉',
+ eq.sq: '⊒',
+ eq.sq.not: '⋣',
+ neq: '⊋',
+ not: '⊅',
+ sq: '⊐',
+ sq.neq: '⋥',
+ ],
+ union: [
+ '∪',
+ arrow: '⊌',
+ big: '⋃',
+ dot: '⊍',
+ dot.big: '⨃',
+ double: '⋓',
+ minus: '⩁',
+ or: '⩅',
+ plus: '⊎',
+ plus.big: '⨄',
+ sq: '⊔',
+ sq.big: '⨆',
+ sq.double: '⩏',
+ ],
+ sect: [
+ '∩',
+ and: '⩄',
+ big: '⋂',
+ dot: '⩀',
+ double: '⋒',
+ sq: '⊓',
+ sq.big: '⨅',
+ sq.double: '⩎',
+ ],
+
+ // Calculus.
+ infty: '∞',
+ diff: '∂',
+ nabla: '∇',
+ sum: ['∑', integral: '⨋'],
+ product: ['∏', co: '∐'],
+ integral: [
+ '∫',
+ arrow.hook: '⨗',
+ ccw: '⨑',
+ cont: '∮',
+ cont.ccw: '∳',
+ cont.cw: '∲',
+ cw: '∱',
+ double: '∬',
+ quad: '⨌',
+ sect: '⨙',
+ sq: '⨖',
+ surf: '∯',
+ times: '⨘',
+ triple: '∭',
+ union: '⨚',
+ vol: '∰',
+ ],
+
+ // Logic.
+ forall: '∀',
+ exists: ['∃', not: '∄'],
+ top: '⊤',
+ bot: '⊥',
+ not: '¬',
+ and: ['∧', big: '⋀', curly: '⋏', dot: '⟑', double: '⩓'],
+ or: ['∨', big: '⋁', curly: '⋎', dot: '⟇', double: '⩔'],
+ models: '⊧',
+ therefore: '∴',
+ because: '∵',
+ qed: '∎',
+
+ // Function and category theory.
+ compose: '∘',
+ convolve: '∗',
+ multimap: '⊸',
+
+ // Number theory.
+ divides: ['∣', not: '∤'],
+ perp: ['⟂', circle: '⦹'],
+
+ // Geometry.
+ parallel: ['∥', circle: '⦷', not: '∦'],
+
+ // Miscellaneous Technical.
+ diameter: '⌀',
+ join: ['⨝', r: '⟖', l: '⟕', l.r: '⟗'],
+ degree: ['°', c: '℃', f: '℉'],
+ smash: '⨳',
+ wreath: '≀',
+
+ // Currency.
+ bitcoin: '₿',
+ dollar: '$',
+ euro: '€',
+ franc: '₣',
+ lira: '₺',
+ peso: '₱',
+ pound: '£',
+ ruble: '₽',
+ rupee: '₹',
+ won: '₩',
+ yen: '¥',
+
+ // Miscellaneous.
+ ballot: ['☐', x: '☒'],
+ checkmark: ['✓', light: '🗸'],
+ 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: '⊚',
+ ],
+ ellipse: [
+ 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: '▴',
+ ],
+ square: [
+ stroked: '□',
+ stroked.tiny: '▫',
+ stroked.small: '◽',
+ stroked.medium: '◻',
+ stroked.big: '⬜',
+ stroked.dotted: '⬚',
+ stroked.rounded: '▢',
+ filled: '■',
+ filled.tiny: '▪',
+ filled.small: '◾',
+ filled.medium: '◼',
+ filled.big: '⬛',
+ ],
+ rect: [
+ stroked.h: '▭',
+ stroked.v: '▯',
+ filled.h: '▬',
+ filled.v: '▮',
+ ],
+ penta: [stroked: '⬠', filled: '⬟'],
+ hexa: [stroked: '⬡', filled: '⬢'],
+ diamond: [
+ stroked: '◇',
+ stroked.small: '⋄',
+ stroked.medium: '⬦',
+ stroked.dot: '⟐',
+ filled: '◆',
+ filled.medium: '⬥',
+ filled.small: '⬩',
+ ],
+ lozenge: [
+ stroked: '◊',
+ stroked.small: '⬫',
+ stroked.medium: '⬨',
+ filled: '⧫',
+ filled.small: '⬪',
+ filled.medium: '⬧',
+ ],
+ star: [op: '⋆', stroked: '★', filled: '★'],
+
+ // Arrows, harpoons, and tacks.
+ 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: '⥣',
+ ],
+ tack: [
+ r: '⊢',
+ r.long: '⟝',
+ l: '⊣',
+ l.long: '⟞',
+ l.short: '⫞',
+ t: '⊥',
+ t.big: '⟘',
+ t.double: '⫫',
+ t.short: '⫠',
+ b: '⊤',
+ b.big: '⟙',
+ b.double: '⫪',
+ b.short: '⫟',
+ l.r: '⟛',
+ ],
+
+ // Lowercase Greek.
+ alpha: 'α',
+ beta: ['β', alt: 'ϐ'],
+ chi: 'χ',
+ delta: 'δ',
+ epsilon: ['ε', alt: 'ϵ'],
+ eta: 'η',
+ gamma: 'γ',
+ iota: 'ι',
+ kai: 'ϗ',
+ kappa: ['κ', alt: 'ϰ'],
+ lambda: 'λ',
+ mu: 'μ',
+ nu: 'ν',
+ ohm: ['Ω', inv: '℧'],
+ omega: 'ω',
+ omicron: 'ο',
+ phi: ['φ', alt: 'ϕ'],
+ pi: ['π', alt: 'ϖ'],
+ psi: 'ψ',
+ rho: ['ρ', alt: 'ϱ'],
+ sigma: 'σ',
+ tau: 'τ',
+ theta: ['θ', alt: 'ϑ'],
+ upsilon: 'υ',
+ xi: 'ξ',
+ zeta: 'ζ',
+
+ // Uppercase Greek.
+ Alpha: 'Α',
+ Beta: 'Β',
+ Chi: 'Χ',
+ Delta: 'Δ',
+ Epsilon: 'Ε',
+ Eta: 'Η',
+ Gamma: 'Γ',
+ Iota: 'Ι',
+ Kai: 'Ϗ',
+ Kappa: 'Κ',
+ Lambda: 'Λ',
+ Mu: 'Μ',
+ Nu: 'Ν',
+ Omega: 'Ω',
+ Omicron: 'Ο',
+ Phi: 'Φ',
+ Pi: 'Π',
+ Psi: 'Ψ',
+ Rho: 'Ρ',
+ Sigma: 'Σ',
+ Tau: 'Τ',
+ Theta: 'Θ',
+ Upsilon: 'Υ',
+ Xi: 'Ξ',
+ Zeta: 'Ζ',
+
+ // Hebrew.
+ alef: 'א',
+ bet: 'ב',
+ gimel: 'ג',
+ shin: 'ש',
+
+ // Double-struck.
+ AA: '𝔸',
+ BB: '𝔹',
+ CC: 'ℂ',
+ DD: '𝔻',
+ EE: '𝔼',
+ FF: '𝔽',
+ GG: '𝔾',
+ HH: 'ℍ',
+ II: '𝕀',
+ JJ: '𝕁',
+ KK: '𝕂',
+ LL: '𝕃',
+ MM: '𝕄',
+ NN: 'ℕ',
+ OO: '𝕆',
+ PP: 'ℙ',
+ QQ: 'ℚ',
+ RR: 'ℝ',
+ SS: '𝕊',
+ TT: '𝕋',
+ UU: '𝕌',
+ VV: '𝕍',
+ WW: '𝕎',
+ XX: '𝕏',
+ YY: '𝕐',
+ ZZ: 'ℤ',
+
+ // Miscellaneous letter-likes.
+ ell: 'ℓ',
+ planck: ['ℎ', reduce: 'ℏ'],
+ angstrom: 'Å',
+ kelvin: 'K',
+ Re: 'ℜ',
+ Im: 'ℑ',
+};
diff --git a/library/src/text/emoji.rs b/library/src/text/emoji.rs
deleted file mode 100644
index f38f2738..00000000
--- a/library/src/text/emoji.rs
+++ /dev/null
@@ -1,1355 +0,0 @@
-use typst::model::{symbols, Module, Scope};
-
-/// A module with all emoji.
-pub fn emoji() -> Module {
- let mut scope = Scope::new();
- define(&mut scope);
- Module::new("emoji").with_scope(scope)
-}
-
-symbols! {
- define,
-
- abacus: '🧮',
- abc: '🔤',
- abcd: '🔡',
- ABCD: '🔠',
- accordion: '🪗',
- aesculapius: '⚕',
- airplane: [
- '✈',
- "landing": '🛬',
- "small": '🛩',
- "takeoff": '🛫',
- ],
- alembic: '⚗',
- alien: ['👽', "monster": '👾'],
- ambulance: '🚑',
- amphora: '🏺',
- anchor: '⚓',
- anger: '💢',
- ant: '🐜',
- apple: ["green": '🍏', "red": '🍎'],
- arm: ["mech": '🦾', "muscle": '💪', "selfie": '🤳'],
- arrow: [
- "r.filled": '➡',
- "r.hook": '↪',
- "r.soon": '🔜',
- "l.filled": '⬅',
- "l.hook": '↩',
- "l.back": '🔙',
- "l.end": '🔚',
- "t.filled": '⬆',
- "t.curve": '⤴',
- "t.top": '🔝',
- "b.filled": '⬇',
- "b.curve": '⤵',
- "l.r": '↔',
- "l.r.on": '🔛',
- "t.b": '↕',
- "bl": '↙',
- "br": '↘',
- "tl": '↖',
- "tr": '↗',
- ],
- arrows: ["cycle": '🔄'],
- ast: ['*', "box": '✳'],
- atm: '🏧',
- atom: '⚛',
- aubergine: '🍆',
- avocado: '🥑',
- axe: '🪓',
- baby: ['👶', "angel": '👼', "box": '🚼'],
- babybottle: '🍼',
- backpack: '🎒',
- bacon: '🥓',
- badger: '🦡',
- badminton: '🏸',
- bagel: '🥯',
- baggageclaim: '🛄',
- baguette: '🥖',
- balloon: '🎈',
- ballot: ["check": '☑'],
- ballotbox: '🗳',
- banana: '🍌',
- banjo: '🪕',
- bank: '🏦',
- barberpole: '💈',
- baseball: '⚾',
- basecap: '🧢',
- basket: '🧺',
- basketball: ['⛹', "ball": '🏀'],
- bat: '🦇',
- bathtub: ['🛀', "foam": '🛁'],
- battery: ['🔋', "low": '🪫'],
- beach: ["palm": '🏝', "umbrella": '🏖'],
- beads: '📿',
- beans: '🫘',
- bear: '🐻',
- beaver: '🦫',
- bed: ['🛏', "person": '🛌'],
- bee: '🐝',
- beer: ['🍺', "clink": '🍻'],
- beetle: ['🪲', "lady": '🐞'],
- bell: ['🔔', "ding": '🛎', "not": '🔕'],
- bento: '🍱',
- bicyclist: ['🚴', "mountain": '🚵'],
- bike: ['🚲', "not": '🚳'],
- bikini: '👙',
- billiards: '🎱',
- bin: '🗑',
- biohazard: '☣',
- bird: '🐦',
- bison: '🦬',
- blood: '🩸',
- blouse: '👚',
- blowfish: '🐡',
- blueberries: '🫐',
- boar: '🐗',
- boat: [
- "sail": '⛵',
- "row": '🚣',
- "motor": '🛥',
- "speed": '🚤',
- "canoe": '🛶',
- ],
- bolt: '🔩',
- bomb: '💣',
- bone: '🦴',
- book: [
- "red": '📕',
- "blue": '📘',
- "green": '📗',
- "orange": '📙',
- "spiral": '📒',
- "open": '📖',
- ],
- bookmark: '🔖',
- books: '📚',
- boomerang: '🪃',
- bordercontrol: '🛂',
- bouquet: '💐',
- bow: '🏹',
- bowl: ["spoon": '🥣', "steam": '🍜'],
- bowling: '🎳',
- boxing: '🥊',
- boy: '👦',
- brain: '🧠',
- bread: '🍞',
- brick: '🧱',
- bride: '👰',
- bridge: ["fog": '🌁', "night": '🌉'],
- briefcase: '💼',
- briefs: '🩲',
- brightness: ["high": '🔆', "low": '🔅'],
- broccoli: '🥦',
- broom: '🧹',
- brush: '🖌',
- bubble: [
- "speech.r": '💬',
- "speech.l": '🗨',
- "thought": '💭',
- "anger.r": '🗯',
- ],
- bubbles: '🫧',
- bubbletea: '🧋',
- bucket: '🪣',
- buffalo: ["water": '🐃'],
- bug: '🐛',
- builder: '👷',
- burger: '🍔',
- burrito: '🌯',
- bus: [
- '🚌',
- "front": '🚍',
- "small": '🚐',
- "stop": '🚏',
- "trolley": '🚎',
- ],
- butter: '🧈',
- butterfly: '🦋',
- button: ['🔲', "alt": '🔳', "radio": '🔘'],
- cabinet: ["file": '🗄'],
- cablecar: ['🚠', "small": '🚡'],
- cactus: '🌵',
- cake: [
- '🎂',
- "fish": '🍥',
- "moon": '🥮',
- "slice": '🍰',
- ],
- calendar: ['📅', "spiral": '🗓', "tearoff": '📆'],
- camel: ['🐫', "dromedar": '🐪'],
- camera: [
- '📷',
- "flash": '📸',
- "movie": '🎥',
- "movie.box": '🎦',
- "video": '📹',
- ],
- camping: '🏕',
- can: '🥫',
- candle: '🕯',
- candy: '🍬',
- cane: '🦯',
- car: [
- '🚗',
- "front": '🚘',
- "pickup": '🛻',
- "police": '🚓',
- "police.front": '🚔',
- "racing": '🏎',
- "rickshaw": '🛺',
- "suv": '🚙',
- ],
- card: ["credit": '💳', "id": '🪪'],
- cardindex: '📇',
- carrot: '🥕',
- cart: '🛒',
- cassette: '📼',
- castle: ["eu": '🏰', "jp": '🏯'],
- cat: [
- '🐈',
- "face": '🐱',
- "face.angry": '😾',
- "face.cry": '😿',
- "face.heart": '😻',
- "face.joy": '😹',
- "face.kiss": '😽',
- "face.laugh": '😸',
- "face.shock": '🙀',
- "face.smile": '😺',
- "face.smirk": '😼',
- ],
- chain: '🔗',
- chains: '⛓',
- chair: '🪑',
- champagne: '🍾',
- chart: [
- "bar": '📊',
- "up": '📈',
- "down": '📉',
- "yen.up": '💹',
- ],
- checkmark: ["heavy": '✔', "box": '✅'],
- cheese: '🧀',
- cherries: '🍒',
- chess: '♟',
- chestnut: '🌰',
- chicken: [
- '🐔',
- "baby": '🐥',
- "baby.egg": '🐣',
- "baby.head": '🐤',
- "leg": '🍗',
- "male": '🐓',
- ],
- child: '🧒',
- chipmunk: '🐿',
- chocolate: '🍫',
- chopsticks: '🥢',
- church: ['⛪', "love": '💒'],
- cigarette: ['🚬', "not": '🚭'],
- circle: [
- "black": '⚫',
- "blue": '🔵',
- "brown": '🟤',
- "green": '🟢',
- "orange": '🟠',
- "purple": '🟣',
- "white": '⚪',
- "red": '🔴',
- "yellow": '🟡',
- "stroked": '⭕',
- ],
- circus: '🎪',
- city: [
- '🏙',
- "dusk": '🌆',
- "night": '🌃',
- "sunset": '🌇',
- ],
- clamp: '🗜',
- clapperboard: '🎬',
- climbing: '🧗',
- clip: '📎',
- clipboard: '📋',
- clips: '🖇',
- clock: [
- "one": '🕐',
- "one.thirty": '🕜',
- "two": '🕑',
- "two.thirty": '🕝',
- "three": '🕒',
- "three.thirty": '🕞',
- "four": '🕓',
- "four.thirty": '🕟',
- "five": '🕔',
- "five.thirty": '🕠',
- "six": '🕕',
- "six.thirty": '🕡',
- "seven": '🕖',
- "seven.thirty": '🕢',
- "eight": '🕗',
- "eight.thirty": '🕣',
- "nine": '🕘',
- "nine.thirty": '🕤',
- "ten": '🕙',
- "ten.thirty": '🕥',
- "eleven": '🕚',
- "eleven.thirty": '🕦',
- "twelve": '🕛',
- "twelve.thirty": '🕧',
- "alarm": '⏰',
- "old": '🕰',
- "timer": '⏲',
- ],
- cloud: [
- '☁',
- "dust": '💨',
- "rain": '🌧',
- "snow": '🌨',
- "storm": '⛈',
- "sun": '⛅',
- "sun.hidden": '🌥',
- "sun.rain": '🌦',
- "thunder": '🌩',
- ],
- coat: ['🧥', "lab": '🥼'],
- cockroach: '🪳',
- cocktail: ["martini": '🍸', "tropical": '🍹'],
- coconut: '🥥',
- coffee: '☕',
- coffin: '⚰',
- coin: '🪙',
- comet: '☄',
- compass: '🧭',
- computer: '🖥',
- computermouse: '🖱',
- confetti: '🎊',
- construction: '🚧',
- controller: '🎮',
- cookie: ['🍪', "fortune": '🥠'],
- cooking: '🍳',
- cool: '🆒',
- copyright: '©',
- coral: '🪸',
- corn: '🌽',
- couch: '🛋',
- couple: '💑',
- cow: ['🐄', "face": '🐮'],
- crab: '🦀',
- crane: '🏗',
- crayon: '🖍',
- cricket: '🦗',
- cricketbat: '🏏',
- crocodile: '🐊',
- croissant: '🥐',
- crossmark: ['❌', "box": '❎'],
- crown: '👑',
- crutch: '🩼',
- crystal: '🔮',
- cucumber: '🥒',
- cup: ["straw": '🥤'],
- cupcake: '🧁',
- curling: '🥌',
- curry: '🍛',
- custard: '🍮',
- customs: '🛃',
- cutlery: '🍴',
- cyclone: '🌀',
- dancing: ["man": '🕺', "woman": '💃', "women.bunny": '👯'],
- darts: '🎯',
- dash: ["wave.double": '〰'],
- deer: '🦌',
- desert: '🏜',
- detective: '🕵',
- diamond: [
- "blue": '🔷',
- "blue.small": '🔹',
- "orange": '🔶',
- "orange.small": '🔸',
- "dot": '💠',
- ],
- die: '🎲',
- dino: ["pod": '🦕', "rex": '🦖'],
- disc: ["cd": '💿', "dvd": '📀', "mini": '💽'],
- discoball: '🪩',
- diving: '🤿',
- dodo: '🦤',
- dog: [
- '🐕',
- "face": '🐶',
- "guide": '🦮',
- "poodle": '🐩',
- ],
- dollar: '💲',
- dolphin: '🐬',
- donut: '🍩',
- door: '🚪',
- dove: ["peace": '🕊'],
- dragon: ['🐉', "face": '🐲'],
- dress: ['👗', "kimono": '👘', "sari": '🥻'],
- drop: '💧',
- drops: '💦',
- drum: ['🥁', "big": '🪘'],
- duck: '🦆',
- dumpling: '🥟',
- eagle: '🦅',
- ear: ['👂', "aid": '🦻'],
- egg: '🥚',
- eighteen: ["not": '🔞'],
- elephant: '🐘',
- elevator: '🛗',
- elf: '🧝',
- email: '📧',
- excl: [
- '❗',
- "white": '❕',
- "double": '‼',
- "quest": '⁉',
- ],
- explosion: '💥',
- extinguisher: '🧯',
- eye: '👁',
- eyes: '👀',
- face: [
- "grin": '😀',
- "angry": '😠',
- "angry.red": '😡',
- "anguish": '😧',
- "astonish": '😲',
- "bandage": '🤕',
- "beam": '😁',
- "blank": '😶',
- "clown": '🤡',
- "cold": '🥶',
- "concern": '😦',
- "cool": '😎',
- "cover": '🤭',
- "cowboy": '🤠',
- "cry": '😭',
- "devil.smile": '😈',
- "devil.frown": '👿',
- "diagonal": '🫤',
- "disguise": '🥸',
- "dizzy": '😵',
- "dotted": '🫥',
- "down": '😞',
- "down.sweat": '😓',
- "drool": '🤤',
- "explode": '🤯',
- "eyeroll": '🙄',
- "friendly": '☺',
- "fear": '😨',
- "fear.sweat": '😰',
- "fever": '🤒',
- "flush": '😳',
- "frown": '☹',
- "frown.slight": '🙁',
- "frust": '😣',
- "goofy": '🤪',
- "halo": '😇',
- "happy": '😊',
- "heart": '😍',
- "hearts": '🥰',
- "heat": '🥵',
- "hug": '🤗',
- "inv": '🙃',
- "joy": '😂',
- "kiss": '😗',
- "kiss.smile": '😙',
- "kiss.heart": '😘',
- "kiss.blush": '😚',
- "lick": '😋',
- "lie": '🤥',
- "mask": '😷',
- "meh": '😒',
- "melt": '🫠',
- "money": '🤑',
- "monocle": '🧐',
- "nausea": '🤢',
- "nerd": '🤓',
- "neutral": '😐',
- "open": '😃',
- "party": '🥳',
- "peek": '🫣',
- "plead": '🥺',
- "relief": '😌',
- "rofl": '🤣',
- "sad": '😔',
- "salute": '🫡',
- "shock": '😱',
- "shush": '🤫',
- "skeptic": '🤨',
- "sleep": '😴',
- "sleepy": '😪',
- "smile": '😄',
- "smile.slight": '🙂',
- "smile.sweat": '😅',
- "smile.tear": '🥲',
- "smirk": '😏',
- "sneeze": '🤧',
- "speak.not": '🫢',
- "squint": '😆',
- "stars": '🤩',
- "straight": '😑',
- "suffer": '😖',
- "surprise": '😯',
- "symbols": '🤬',
- "tear": '😢',
- "tear.relief": '😥',
- "tear.withheld": '🥹',
- "teeth": '😬',
- "think": '🤔',
- "tired": '😫',
- "tongue": '😛',
- "tongue.squint": '😝',
- "tongue.wink": '😜',
- "triumph": '😤',
- "unhappy": '😕',
- "vomit": '🤮',
- "weary": '😩',
- "wink": '😉',
- "woozy": '🥴',
- "worry": '😟',
- "wow": '😮',
- "yawn": '🥱',
- "zip": '🤐',
- ],
- factory: '🏭',
- fairy: '🧚',
- faith: [
- "christ": '✝',
- "dharma": '☸',
- "islam": '☪',
- "judaism": '✡',
- "menorah": '🕎',
- "om": '🕉',
- "orthodox": '☦',
- "peace": '☮',
- "star.dot": '🔯',
- "worship": '🛐',
- "yinyang": '☯',
- ],
- falafel: '🧆',
- family: '👪',
- fax: '📠',
- feather: '🪶',
- feeding: ["breast": '🤱'],
- fencing: '🤺',
- ferriswheel: '🎡',
- filebox: '🗃',
- filedividers: '🗂',
- film: '🎞',
- finger: [
- "r": '👉',
- "l": '👈',
- "t": '👆',
- "t.alt": '☝',
- "b": '👇',
- "front": '🫵',
- "m": '🖕',
- ],
- fingers: ["cross": '🤞', "pinch": '🤌', "snap": '🫰'],
- fire: '🔥',
- firecracker: '🧨',
- fireengine: '🚒',
- fireworks: '🎆',
- fish: ['🐟', "tropical": '🐠'],
- fishing: '🎣',
- fist: [
- "front": '👊',
- "r": '🤜',
- "l": '🤛',
- "raised": '✊',
- ],
- flag: [
- "black": '🏴',
- "white": '🏳',
- "goal": '🏁',
- "golf": '⛳',
- "red": '🚩',
- ],
- flags: ["jp.crossed": '🎌'],
- flamingo: '🦩',
- flashlight: '🔦',
- flatbread: '🫓',
- fleur: '⚜',
- floppy: '💾',
- flower: [
- "hibiscus": '🌺',
- "lotus": '🪷',
- "pink": '🌸',
- "rose": '🌹',
- "sun": '🌻',
- "tulip": '🌷',
- "white": '💮',
- "wilted": '🥀',
- "yellow": '🌼',
- ],
- fly: '🪰',
- fog: '🌫',
- folder: ['📁', "open": '📂'],
- fondue: '🫕',
- foot: '🦶',
- football: ['⚽', "am": '🏈'],
- forex: '💱',
- fountain: '⛲',
- fox: '🦊',
- free: '🆓',
- fries: '🍟',
- frisbee: '🥏',
- frog: ["face": '🐸'],
- fuelpump: '⛽',
- garlic: '🧄',
- gear: '⚙',
- gem: '💎',
- genie: '🧞',
- ghost: '👻',
- giraffe: '🦒',
- girl: '👧',
- glass: [
- "clink": '🥂',
- "milk": '🥛',
- "pour": '🫗',
- "tumbler": '🥃',
- ],
- glasses: ['👓', "sun": '🕶'],
- globe: [
- "am": '🌎',
- "as.au": '🌏',
- "eu.af": '🌍',
- "meridian": '🌐',
- ],
- gloves: '🧤',
- goal: '🥅',
- goat: '🐐',
- goggles: '🥽',
- golfing: '🏌',
- gorilla: '🦍',
- grapes: '🍇',
- guard: ["man": '💂'],
- guitar: '🎸',
- gymnastics: '🤸',
- haircut: '💇',
- hammer: ['🔨', "pick": '⚒', "wrench": '🛠'],
- hamsa: '🪬',
- hamster: ["face": '🐹'],
- hand: [
- "raised": '✋',
- "raised.alt": '🤚',
- "r": '🫱',
- "l": '🫲',
- "t": '🫴',
- "b": '🫳',
- "ok": '👌',
- "call": '🤙',
- "love": '🤟',
- "part": '🖖',
- "peace": '✌',
- "pinch": '🤏',
- "rock": '🤘',
- "splay": '🖐',
- "wave": '👋',
- "write": '✍',
- ],
- handbag: '👜',
- handball: '🤾',
- handholding: ["man.man": '👬', "woman.man": '👫', "woman.woman": '👭'],
- hands: [
- "folded": '🙏',
- "palms": '🤲',
- "clap": '👏',
- "heart": '🫶',
- "open": '👐',
- "raised": '🙌',
- "shake": '🤝',
- ],
- hash: '#',
- hat: ["ribbon": '👒', "top": '🎩'],
- headphone: '🎧',
- heart: [
- '❤',
- "arrow": '💘',
- "beat": '💓',
- "black": '🖤',
- "blue": '💙',
- "box": '💟',
- "broken": '💔',
- "brown": '🤎',
- "double": '💕',
- "excl": '❣',
- "green": '💚',
- "grow": '💗',
- "orange": '🧡',
- "purple": '💜',
- "real": '🫀',
- "revolve": '💞',
- "ribbon": '💝',
- "spark": '💖',
- "white": '🤍',
- "yellow": '💛',
- ],
- hedgehog: '🦔',
- helicopter: '🚁',
- helix: '🧬',
- helmet: ["cross": '⛑', "military": '🪖'],
- hippo: '🦛',
- hockey: '🏑',
- hole: '🕳',
- honey: '🍯',
- hongbao: '🧧',
- hook: '🪝',
- horn: ["postal": '📯'],
- horse: [
- '🐎',
- "carousel": '🎠',
- "face": '🐴',
- "race": '🏇',
- ],
- hospital: '🏥',
- hotdog: '🌭',
- hotel: ['🏨', "love": '🏩'],
- hotspring: '♨',
- hourglass: ['⌛', "flow": '⏳'],
- house: [
- '🏠',
- "derelict": '🏚',
- "garden": '🏡',
- "multiple": '🏘',
- ],
- hundred: '💯',
- hut: '🛖',
- ice: '🧊',
- icecream: ['🍨', "shaved": '🍧', "soft": '🍦'],
- icehockey: '🏒',
- id: '🆔',
- info: 'ℹ',
- izakaya: '🏮',
- jar: '🫙',
- jeans: '👖',
- jigsaw: '🧩',
- joystick: '🕹',
- juggling: '🤹',
- juice: '🧃',
- kaaba: '🕋',
- kadomatsu: '🎍',
- kangaroo: '🦘',
- gachi: '🈷',
- go: '🈴',
- hi: '㊙',
- ka: '🉑',
- kachi: '🈹',
- kara: '🈳',
- kon: '🈲',
- man: '🈵',
- muryo: '🈚',
- shin: '🈸',
- shuku: '㊗',
- toku: '🉐',
- yo: '🈺',
- yubi: '🈯',
- yuryo: '🈶',
- koko: '🈁',
- sa: '🈂',
- kebab: '🥙',
- key: ['🔑', "old": '🗝'],
- keyboard: '⌨',
- kiss: '💏',
- kissmark: '💋',
- kite: '🪁',
- kiwi: '🥝',
- knife: ['🔪', "dagger": '🗡'],
- knot: '🪢',
- koala: '🐨',
- koinobori: '🎏',
- label: '🏷',
- lacrosse: '🥍',
- ladder: '🪜',
- lamp: ["diya": '🪔'],
- laptop: '💻',
- a: '🅰',
- ab: '🆎',
- b: '🅱',
- cl: '🆑',
- o: '🅾',
- leaf: [
- "clover.three": '☘',
- "clover.four": '🍀',
- "fall": '🍂',
- "herb": '🌿',
- "maple": '🍁',
- "wind": '🍃',
- ],
- leftluggage: '🛅',
- leg: ['🦵', "mech": '🦿'],
- lemon: '🍋',
- leopard: '🐆',
- letter: ["love": '💌'],
- liberty: '🗽',
- lightbulb: '💡',
- lightning: '⚡',
- lion: '🦁',
- lipstick: '💄',
- litter: ['🚮', "not": '🚯'],
- lizard: '🦎',
- llama: '🦙',
- lobster: '🦞',
- lock: [
- '🔒',
- "key": '🔐',
- "open": '🔓',
- "pen": '🔏',
- ],
- lollipop: '🍭',
- lotion: '🧴',
- luggage: '🧳',
- lungs: '🫁',
- mage: '🧙',
- magnet: '🧲',
- magnify: ["r": '🔎', "l": '🔍'],
- mahjong: ["dragon.red": '🀄'],
- mail: ['✉', "arrow": '📩'],
- mailbox: [
- "closed.empty": '📪',
- "closed.full": '📫',
- "open.empty": '📭',
- "open.full": '📬',
- ],
- mammoth: '🦣',
- man: [
- '👨',
- "box": '🚹',
- "crown": '🤴',
- "guapimao": '👲',
- "levitate": '🕴',
- "old": '👴',
- "pregnant": '🫃',
- "turban": '👳',
- "tuxedo": '🤵',
- ],
- mango: '🥭',
- map: ["world": '🗺', "jp": '🗾'],
- martialarts: '🥋',
- masks: '🎭',
- mate: '🧉',
- matryoshka: '🪆',
- meat: ['🥩', "bone": '🍖'],
- medal: [
- "first": '🥇',
- "second": '🥈',
- "third": '🥉',
- "sports": '🏅',
- "military": '🎖',
- ],
- megaphone: ['📢', "simple": '📣'],
- melon: '🍈',
- merperson: '🧜',
- metro: 'Ⓜ',
- microbe: '🦠',
- microphone: ['🎤', "studio": '🎙'],
- microscope: '🔬',
- milkyway: '🌌',
- mirror: '🪞',
- mixer: '🎛',
- money: [
- "bag": '💰',
- "dollar": '💵',
- "euro": '💶',
- "pound": '💷',
- "yen": '💴',
- "wings": '💸',
- ],
- monkey: [
- '🐒',
- "face": '🐵',
- "hear.not": '🙉',
- "see.not": '🙈',
- "speak.not": '🙊',
- ],
- moon: [
- "crescent": '🌙',
- "full": '🌕',
- "full.face": '🌝',
- "new": '🌑',
- "new.face": '🌚',
- "wane.one": '🌖',
- "wane.two": '🌗',
- "wane.three.face": '🌜',
- "wane.three": '🌘',
- "wax.one": '🌒',
- "wax.two": '🌓',
- "wax.two.face": '🌛',
- "wax.three": '🌔',
- ],
- mortarboard: '🎓',
- mosque: '🕌',
- mosquito: '🦟',
- motorcycle: '🏍',
- motorway: '🛣',
- mountain: [
- '⛰',
- "fuji": '🗻',
- "snow": '🏔',
- "sunrise": '🌄',
- ],
- mouse: ['🐁', "face": '🐭'],
- mousetrap: '🪤',
- mouth: ['👄', "bite": '🫦'],
- moyai: '🗿',
- museum: '🏛',
- mushroom: '🍄',
- musicalscore: '🎼',
- nails: ["polish": '💅'],
- namebadge: '📛',
- nazar: '🧿',
- necktie: '👔',
- needle: '🪡',
- nest: ["empty": '🪹', "eggs": '🪺'],
- new: '🆕',
- newspaper: ['📰', "rolled": '🗞'],
- ng: '🆖',
- ningyo: '🎎',
- ninja: '🥷',
- noentry: '⛔',
- nose: '👃',
- notebook: ['📓', "deco": '📔'],
- notepad: '🗒',
- notes: ['🎵', "triple": '🎶'],
- numbers: '🔢',
- octopus: '🐙',
- office: '🏢',
- oil: '🛢',
- ok: '🆗',
- olive: '🫒',
- oni: '👹',
- onion: '🧅',
- orangutan: '🦧',
- otter: '🦦',
- owl: '🦉',
- ox: '🐂',
- oyster: '🦪',
- package: '📦',
- paella: '🥘',
- page: ['📄', "curl": '📃', "pencil": '📝'],
- pager: '📟',
- pages: ["tabs": '📑'],
- painting: '🖼',
- palette: '🎨',
- pancakes: '🥞',
- panda: '🐼',
- parachute: '🪂',
- park: '🏞',
- parking: '🅿',
- parrot: '🦜',
- partalteration: '〽',
- party: '🎉',
- peach: '🍑',
- peacock: '🦚',
- peanuts: '🥜',
- pear: '🍐',
- pedestrian: ['🚶', "not": '🚷'],
- pen: ["ball": '🖊', "fountain": '🖋'],
- pencil: '✏',
- penguin: '🐧',
- pepper: ['🫑', "hot": '🌶'],
- person: [
- '🧑',
- "angry": '🙎',
- "beard": '🧔',
- "blonde": '👱',
- "bow": '🙇',
- "crown": '🫅',
- "deaf": '🧏',
- "facepalm": '🤦',
- "frown": '🙍',
- "hijab": '🧕',
- "kneel": '🧎',
- "lotus": '🧘',
- "massage": '💆',
- "no": '🙅',
- "ok": '🙆',
- "old": '🧓',
- "pregnant": '🫄',
- "raise": '🙋',
- "sassy": '💁',
- "shrug": '🤷',
- "stand": '🧍',
- "steam": '🧖',
- ],
- petri: '🧫',
- phone: [
- '📱',
- "arrow": '📲',
- "classic": '☎',
- "not": '📵',
- "off": '📴',
- "receiver": '📞',
- "signal": '📶',
- "vibrate": '📳',
- ],
- piano: '🎹',
- pick: '⛏',
- pie: '🥧',
- pig: ['🐖', "face": '🐷', "node": '🐽'],
- pill: '💊',
- pin: ['📌', "round": '📍'],
- pinata: '🪅',
- pineapple: '🍍',
- pingpong: '🏓',
- pistol: '🔫',
- pizza: '🍕',
- placard: '🪧',
- planet: '🪐',
- plant: '🪴',
- plaster: '🩹',
- plate: ["cutlery": '🍽'],
- playback: [
- "down": '⏬',
- "eject": '⏏',
- "forward": '⏩',
- "pause": '⏸',
- "record": '⏺',
- "repeat": '🔁',
- "repeat.once": '🔂',
- "repeat.v": '🔃',
- "restart": '⏮',
- "rewind": '⏪',
- "shuffle": '🔀',
- "skip": '⏭',
- "stop": '⏹',
- "toggle": '⏯',
- "up": '⏫',
- ],
- playingcard: ["flower": '🎴', "joker": '🃏'],
- plunger: '🪠',
- policeofficer: '👮',
- poo: '💩',
- popcorn: '🍿',
- post: ["eu": '🏤', "jp": '🏣'],
- postbox: '📮',
- potato: ['🥔', "sweet": '🍠'],
- pouch: '👝',
- powerplug: '🔌',
- present: '🎁',
- pretzel: '🥨',
- printer: '🖨',
- prints: ["foot": '👣', "paw": '🐾'],
- prohibited: '🚫',
- projector: '📽',
- pumpkin: ["lantern": '🎃'],
- purse: '👛',
- quest: ['❓', "white": '❔'],
- rabbit: ['🐇', "face": '🐰'],
- raccoon: '🦝',
- radio: '📻',
- radioactive: '☢',
- railway: '🛤',
- rainbow: '🌈',
- ram: '🐏',
- rat: '🐀',
- razor: '🪒',
- receipt: '🧾',
- recycling: '♻',
- reg: '®',
- restroom: '🚻',
- rhino: '🦏',
- ribbon: ['🎀', "remind": '🎗'],
- rice: [
- '🍚',
- "cracker": '🍘',
- "ear": '🌾',
- "onigiri": '🍙',
- ],
- ring: '💍',
- ringbuoy: '🛟',
- robot: '🤖',
- rock: '🪨',
- rocket: '🚀',
- rollercoaster: '🎢',
- rosette: '🏵',
- rugby: '🏉',
- ruler: ['📏', "triangle": '📐'],
- running: '🏃',
- safetypin: '🧷',
- safetyvest: '🦺',
- sake: '🍶',
- salad: '🥗',
- salt: '🧂',
- sandwich: '🥪',
- santa: ["man": '🎅', "woman": '🤶'],
- satdish: '📡',
- satellite: '🛰',
- saw: '🪚',
- saxophone: '🎷',
- scales: '⚖',
- scarf: '🧣',
- school: '🏫',
- scissors: '✂',
- scooter: ['🛴', "motor": '🛵'],
- scorpion: '🦂',
- screwdriver: '🪛',
- scroll: '📜',
- seal: '🦭',
- seat: '💺',
- seedling: '🌱',
- shark: '🦈',
- sheep: '🐑',
- shell: ["spiral": '🐚'],
- shield: '🛡',
- ship: ['🚢', "cruise": '🛳', "ferry": '⛴'],
- shirt: ["sports": '🎽', "t": '👕'],
- shoe: [
- '👞',
- "ballet": '🩰',
- "flat": '🥿',
- "heel": '👠',
- "hike": '🥾',
- "ice": '⛸',
- "roller": '🛼',
- "sandal.heel": '👡',
- "ski": '🎿',
- "sneaker": '👟',
- "tall": '👢',
- "thong": '🩴',
- ],
- shopping: '🛍',
- shorts: '🩳',
- shoshinsha: '🔰',
- shower: '🚿',
- shrimp: ['🦐', "fried": '🍤'],
- shrine: '⛩',
- sign: ["crossing": '🚸', "stop": '🛑'],
- silhouette: [
- '👤',
- "double": '👥',
- "hug": '🫂',
- "speak": '🗣',
- ],
- siren: '🚨',
- skateboard: '🛹',
- skewer: ["dango": '🍡', "oden": '🍢'],
- skiing: '⛷',
- skull: ['💀', "bones": '☠'],
- skunk: '🦨',
- sled: '🛷',
- slide: '🛝',
- slider: '🎚',
- sloth: '🦥',
- slots: '🎰',
- snail: '🐌',
- snake: '🐍',
- snowboarding: '🏂',
- snowflake: '❄',
- snowman: ['⛄', "snow": '☃'],
- soap: '🧼',
- socks: '🧦',
- softball: '🥎',
- sos: '🆘',
- soup: '🍲',
- spaghetti: '🍝',
- sparkle: ["box": '❇'],
- sparkler: '🎇',
- sparkles: '✨',
- speaker: [
- '🔈',
- "not": '🔇',
- "wave": '🔉',
- "waves": '🔊',
- ],
- spider: '🕷',
- spiderweb: '🕸',
- spinach: '🥬',
- sponge: '🧽',
- spoon: '🥄',
- square: [
- "black": '⬛',
- "black.tiny": '▪',
- "black.small": '◾',
- "black.medium": '◼',
- "white": '⬜',
- "white.tiny": '▫',
- "white.small": '◽',
- "white.medium": '◻',
- "blue": '🟦',
- "brown": '🟫',
- "green": '🟩',
- "orange": '🟧',
- "purple": '🟪',
- "red": '🟥',
- "yellow": '🟨',
- ],
- squid: '🦑',
- stadium: '🏟',
- star: [
- '⭐',
- "arc": '💫',
- "box": '✴',
- "glow": '🌟',
- "shoot": '🌠',
- ],
- stethoscope: '🩺',
- store: ["big": '🏬', "small": '🏪'],
- strawberry: '🍓',
- suit: [
- "club": '♣',
- "diamond": '♦',
- "heart": '♥',
- "spade": '♠',
- ],
- sun: ['☀', "cloud": '🌤', "face": '🌞'],
- sunrise: '🌅',
- superhero: '🦸',
- supervillain: '🦹',
- surfing: '🏄',
- sushi: '🍣',
- swan: '🦢',
- swimming: '🏊',
- swimsuit: '🩱',
- swords: '⚔',
- symbols: '🔣',
- synagogue: '🕍',
- syringe: '💉',
- taco: '🌮',
- takeout: '🥡',
- tamale: '🫔',
- tanabata: '🎋',
- tangerine: '🍊',
- tap: ['🚰', "not": '🚱'],
- taxi: ['🚕', "front": '🚖'],
- teacup: '🍵',
- teapot: '🫖',
- teddy: '🧸',
- telescope: '🔭',
- temple: '🛕',
- ten: '🔟',
- tengu: '👺',
- tennis: '🎾',
- tent: '⛺',
- testtube: '🧪',
- thermometer: '🌡',
- thread: '🧵',
- thumb: ["up": '👍', "down": '👎'],
- ticket: ["event": '🎟', "travel": '🎫'],
- tiger: ['🐅', "face": '🐯'],
- tm: '™',
- toilet: '🚽',
- toiletpaper: '🧻',
- tomato: '🍅',
- tombstone: '🪦',
- tongue: '👅',
- toolbox: '🧰',
- tooth: '🦷',
- toothbrush: '🪥',
- tornado: '🌪',
- tower: ["tokyo": '🗼'],
- trackball: '🖲',
- tractor: '🚜',
- trafficlight: ["v": '🚦', "h": '🚥'],
- train: [
- '🚆',
- "car": '🚃',
- "light": '🚈',
- "metro": '🚇',
- "mono": '🚝',
- "mountain": '🚞',
- "speed": '🚄',
- "speed.bullet": '🚅',
- "steam": '🚂',
- "stop": '🚉',
- "suspend": '🚟',
- "tram": '🚊',
- "tram.car": '🚋',
- ],
- transgender: '⚧',
- tray: ["inbox": '📥', "mail": '📨', "outbox": '📤'],
- tree: [
- "deciduous": '🌳',
- "evergreen": '🌲',
- "palm": '🌴',
- "xmas": '🎄',
- ],
- triangle: [
- "r": '▶',
- "l": '◀',
- "t": '🔼',
- "b": '🔽',
- "t.red": '🔺',
- "b.red": '🔻',
- ],
- trident: '🔱',
- troll: '🧌',
- trophy: '🏆',
- truck: ['🚚', "trailer": '🚛'],
- trumpet: '🎺',
- tsukimi: '🎑',
- turkey: '🦃',
- turtle: '🐢',
- tv: '📺',
- ufo: '🛸',
- umbrella: [
- "open": '☂',
- "closed": '🌂',
- "rain": '☔',
- "sun": '⛱',
- ],
- unicorn: '🦄',
- unknown: '🦳',
- up: '🆙',
- urn: '⚱',
- vampire: '🧛',
- violin: '🎻',
- volcano: '🌋',
- volleyball: '🏐',
- vs: '🆚',
- waffle: '🧇',
- wand: '🪄',
- warning: '⚠',
- watch: ['⌚', "stop": '⏱'],
- watermelon: '🍉',
- waterpolo: '🤽',
- wave: '🌊',
- wc: '🚾',
- weightlifting: '🏋',
- whale: ['🐋', "spout": '🐳'],
- wheel: '🛞',
- wheelchair: ['🦽', "box": '♿', "motor": '🦼'],
- wind: '🌬',
- windchime: '🎐',
- window: '🪟',
- wine: '🍷',
- wolf: '🐺',
- woman: [
- '👩',
- "box": '🚺',
- "crown": '👸',
- "old": '👵',
- "pregnant": '🤰',
- ],
- wood: '🪵',
- worm: '🪱',
- wrench: '🔧',
- wrestling: '🤼',
- xray: '🩻',
- yarn: '🧶',
- yoyo: '🪀',
- zebra: '🦓',
- zodiac: [
- "aquarius": '♒',
- "aries": '♈',
- "cancer": '♋',
- "capri": '♑',
- "gemini": '♊',
- "leo": '♌',
- "libra": '♎',
- "ophi": '⛎',
- "pisces": '♓',
- "sagit": '♐',
- "scorpio": '♏',
- "taurus": '♉',
- "virgo": '♍',
- ],
- zombie: '🧟',
- zzz: '💤',
-}
diff --git a/library/src/text/mod.rs b/library/src/text/mod.rs
index 85e58ecd..67587655 100644
--- a/library/src/text/mod.rs
+++ b/library/src/text/mod.rs
@@ -1,22 +1,18 @@
//! Text handling.
mod deco;
-mod emoji;
mod misc;
mod quotes;
mod raw;
mod shaping;
mod shift;
-mod symbols;
pub use self::deco::*;
-pub use self::emoji::*;
pub use self::misc::*;
pub use self::quotes::*;
pub use self::raw::*;
pub use self::shaping::*;
pub use self::shift::*;
-pub use self::symbols::*;
use std::borrow::Cow;
diff --git a/library/src/text/symbols.rs b/library/src/text/symbols.rs
deleted file mode 100644
index 17ab6f4f..00000000
--- a/library/src/text/symbols.rs
+++ /dev/null
@@ -1,458 +0,0 @@
-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: 'ˇ',
- hat: '^',
- 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": '⥣',
- ],
-}