Fix missing blackboard bold letters (#3759)

This commit is contained in:
José Lopes 2024-04-08 09:46:31 +01:00 committed by Laurenz
parent cc46267be3
commit fcd7705fb6
3 changed files with 30 additions and 11 deletions

View File

@ -300,7 +300,8 @@ pub fn styled_char(styles: StyleChain, c: char, auto_italic: bool) -> char {
c,
'a'..='z' | 'ı' | 'ȷ' | 'A'..='Z' | 'α'..='ω' |
'∂' | 'ϵ' | 'ϑ' | 'ϰ' | 'ϕ' | 'ϱ' | 'ϖ'
),
)
&& matches!(variant, Sans | Serif),
);
if let Some(c) = basic_exception(c) {
@ -444,6 +445,11 @@ fn latin_exception(
('Q', Bb, ..) => '',
('R', Bb, ..) => '',
('Z', Bb, ..) => '',
('D', Bb, _, true) => '',
('d', Bb, _, true) => '',
('e', Bb, _, true) => '',
('i', Bb, _, true) => '',
('j', Bb, _, true) => '',
('h', Serif, false, true) => '',
('e', Cal, false, _) => '',
('g', Cal, false, _) => '',
@ -462,15 +468,20 @@ fn greek_exception(
) -> Option<char> {
use MathVariant::*;
let list = match c {
'ϴ' => ['𝚹', '𝛳', '𝜭', '𝝧', '𝞡'],
'∇' => ['𝛁', '𝛻', '𝜵', '𝝯', '𝞩'],
'∂' => ['𝛛', '𝜕', '𝝏', '𝞉', '𝟃'],
'ϵ' => ['𝛜', '𝜖', '𝝐', '𝞊', '𝟄'],
'ϑ' => ['𝛝', '𝜗', '𝝑', '𝞋', '𝟅'],
'ϰ' => ['𝛞', '𝜘', '𝝒', '𝞌', '𝟆'],
'ϕ' => ['𝛟', '𝜙', '𝝓', '𝞍', '𝟇'],
'ϱ' => ['𝛠', '𝜚', '𝝔', '𝞎', '𝟈'],
'ϖ' => ['𝛡', '𝜛', '𝝕', '𝞏', '𝟉'],
'ϴ' => ['𝚹', '𝛳', '𝜭', '𝝧', '𝞡', 'ϴ'],
'∇' => ['𝛁', '𝛻', '𝜵', '𝝯', '𝞩', '∇'],
'∂' => ['𝛛', '𝜕', '𝝏', '𝞉', '𝟃', '∂'],
'ϵ' => ['𝛜', '𝜖', '𝝐', '𝞊', '𝟄', 'ϵ'],
'ϑ' => ['𝛝', '𝜗', '𝝑', '𝞋', '𝟅', 'ϑ'],
'ϰ' => ['𝛞', '𝜘', '𝝒', '𝞌', '𝟆', 'ϰ'],
'ϕ' => ['𝛟', '𝜙', '𝝓', '𝞍', '𝟇', 'ϕ'],
'ϱ' => ['𝛠', '𝜚', '𝝔', '𝞎', '𝟈', 'ϱ'],
'ϖ' => ['𝛡', '𝜛', '𝝕', '𝞏', '𝟉', 'ϖ'],
'Γ' => ['𝚪', '𝛤', '𝜞', '𝝘', '𝞒', 'ℾ'],
'γ' => ['𝛄', '𝛾', '𝜸', '𝝲', '𝞬', ''],
'Π' => ['𝚷', '𝛱', '𝜫', '𝝥', '𝞟', 'ℿ'],
'π' => ['𝛑', '𝜋', '𝝅', '𝝿', '𝞹', 'ℼ'],
'∑' => ['∑', '∑', '∑', '∑', '∑', '⅀'],
_ => return None,
};
@ -480,6 +491,7 @@ fn greek_exception(
(Serif, true, true) => list[2],
(Sans, _, false) => list[3],
(Sans, _, true) => list[4],
(Bb, ..) => list[5],
_ => return None,
})
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -20,7 +20,14 @@ $a/b, display(a/b), display(a)/display(b), inline(a/b), script(a/b), sscript(a/b
---
// Test a few style exceptions.
$h, bb(N), cal(R), Theta, italic(Theta), sans(Theta), sans(italic(Theta))$
$h, bb(N), cal(R), Theta, italic(Theta), sans(Theta), sans(italic(Theta)) \
bb(d), bb(italic(d)), italic(bb(d)), bb(e), bb(italic(e)), italic(bb(e)) \
bb(i), bb(italic(i)), italic(bb(i)), bb(j), bb(italic(j)), italic(bb(j)) \
bb(D), bb(italic(D)), italic(bb(D))$
---
// Test a few greek exceptions.
$bb(Gamma) , bb(gamma), bb(Pi), bb(pi), bb(sum)$
---
// Test hebrew exceptions.