mirror of
https://github.com/typst/typst
synced 2025-05-14 04:56:26 +08:00
Add Devanagari numbering (#4850)
This commit is contained in:
parent
c644dce81b
commit
51df7aee76
@ -297,6 +297,8 @@ pub enum NumberingKind {
|
|||||||
EasternArabic,
|
EasternArabic,
|
||||||
/// The variant of Eastern Arabic numerals used in Persian and Urdu.
|
/// The variant of Eastern Arabic numerals used in Persian and Urdu.
|
||||||
EasternArabicPersian,
|
EasternArabicPersian,
|
||||||
|
/// Devanagari numerals.
|
||||||
|
DevanagariNumber,
|
||||||
/// Circled numbers (①, ②, ③, etc.), up to 50.
|
/// Circled numbers (①, ②, ③, etc.), up to 50.
|
||||||
CircledNumber,
|
CircledNumber,
|
||||||
/// Double-circled numbers (⓵, ⓶, ⓷, etc.), up to 10.
|
/// Double-circled numbers (⓵, ⓶, ⓷, etc.), up to 10.
|
||||||
@ -321,6 +323,7 @@ impl NumberingKind {
|
|||||||
'가' => NumberingKind::KoreanSyllable,
|
'가' => NumberingKind::KoreanSyllable,
|
||||||
'\u{0661}' => NumberingKind::EasternArabic,
|
'\u{0661}' => NumberingKind::EasternArabic,
|
||||||
'\u{06F1}' => NumberingKind::EasternArabicPersian,
|
'\u{06F1}' => NumberingKind::EasternArabicPersian,
|
||||||
|
'\u{0967}' => NumberingKind::DevanagariNumber,
|
||||||
'①' => NumberingKind::CircledNumber,
|
'①' => NumberingKind::CircledNumber,
|
||||||
'⓵' => NumberingKind::DoubleCircledNumber,
|
'⓵' => NumberingKind::DoubleCircledNumber,
|
||||||
_ => return None,
|
_ => return None,
|
||||||
@ -345,6 +348,7 @@ impl NumberingKind {
|
|||||||
Self::KoreanSyllable => '가',
|
Self::KoreanSyllable => '가',
|
||||||
Self::EasternArabic => '\u{0661}',
|
Self::EasternArabic => '\u{0661}',
|
||||||
Self::EasternArabicPersian => '\u{06F1}',
|
Self::EasternArabicPersian => '\u{06F1}',
|
||||||
|
Self::DevanagariNumber => '\u{0967}',
|
||||||
Self::CircledNumber => '①',
|
Self::CircledNumber => '①',
|
||||||
Self::DoubleCircledNumber => '⓵',
|
Self::DoubleCircledNumber => '⓵',
|
||||||
}
|
}
|
||||||
@ -556,6 +560,7 @@ impl NumberingKind {
|
|||||||
),
|
),
|
||||||
Self::EasternArabic => decimal('\u{0660}', n),
|
Self::EasternArabic => decimal('\u{0660}', n),
|
||||||
Self::EasternArabicPersian => decimal('\u{06F0}', n),
|
Self::EasternArabicPersian => decimal('\u{06F0}', n),
|
||||||
|
Self::DevanagariNumber => decimal('\u{0966}', n),
|
||||||
Self::CircledNumber => zeroless::<50>(
|
Self::CircledNumber => zeroless::<50>(
|
||||||
|x| {
|
|x| {
|
||||||
[
|
[
|
||||||
|
@ -102,6 +102,11 @@
|
|||||||
#assert.eq(numbering("\u{0661}", 1475), "١٤٧٥")
|
#assert.eq(numbering("\u{0661}", 1475), "١٤٧٥")
|
||||||
#assert.eq(numbering("\u{06F1}", 1475), "۱۴۷۵")
|
#assert.eq(numbering("\u{06F1}", 1475), "۱۴۷۵")
|
||||||
|
|
||||||
|
--- numbering-devanagari-number ---
|
||||||
|
#assert.eq(numbering("\u{0967}", 1), "१")
|
||||||
|
#assert.eq(numbering("\u{0967}", 10), "१०")
|
||||||
|
#assert.eq(numbering("\u{0967}", 123456789), "१२३४५६७८९")
|
||||||
|
|
||||||
--- numbering-negative ---
|
--- numbering-negative ---
|
||||||
// Error: 17-19 number must be at least zero
|
// Error: 17-19 number must be at least zero
|
||||||
#numbering("1", -1)
|
#numbering("1", -1)
|
||||||
@ -112,4 +117,4 @@
|
|||||||
|
|
||||||
--- numbering-double-circled-number ---
|
--- numbering-double-circled-number ---
|
||||||
#assert.eq(numbering("⓵", 1), "⓵")
|
#assert.eq(numbering("⓵", 1), "⓵")
|
||||||
#assert.eq(numbering("⓵", 10), "⓾")
|
#assert.eq(numbering("⓵", 10), "⓾")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user