summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/mozilla/tests/mathml/mathvariant
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/mozilla/tests/mathml/mathvariant')
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1a-ref.html233
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1a.html225
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1b-ref.html126
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1b.html127
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1c-ref.html247
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1c.html248
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1d-ref.html64
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1d.html65
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-2-ref.html25
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-2.html26
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-4-ref.html55
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-4.html47
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-5-ref.html49
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-5.html71
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-basic-transforms-with-default-font-ref.html15
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-basic-transforms-with-default-font.html20
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-fraktur-ref.html79
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-fraktur.html85
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-italic-ref.html137
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-italic.html143
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-ref.html149
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-sans-serif-ref.html147
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-sans-serif.html153
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-script-ref.html79
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-script.html85
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold.html155
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-case-sensitivity-ref.html163
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-case-sensitivity.html168
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-double-struck-font-style-font-weight-ref.html25
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-double-struck-font-style-font-weight.html30
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-double-struck-ref.html114
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-double-struck.html120
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-fraktur-ref.html79
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-fraktur.html85
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-initial-ref.html47
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-initial.html53
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-italic-ref.html139
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-italic.html145
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-looped-ref.html54
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-looped.html60
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-monospace-ref.html89
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-monospace.html95
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-bold-italic-ref.html137
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-bold-italic.html143
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-italic-ref.html79
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-italic.html85
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-ref.html89
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif.html95
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-script-ref.html79
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-script.html85
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-stretched-ref.html50
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-stretched.html56
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-tailed-ref.html42
-rw-r--r--testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-tailed.html48
54 files changed, 5309 insertions, 0 deletions
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1a-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1a-ref.html
new file mode 100644
index 0000000000..b70be9312f
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1a-ref.html
@@ -0,0 +1,233 @@
+<!DOCTYPE html>
+<html>
+
+ <head>
+ <title>Test mathvariant character mappings</title>
+ </head>
+ <body>
+ <math>
+ <mrow>
+ <mtext>ABCDEFGHIJKLMNOPQRSTUVWXYZ</mtext>
+ <mtext>abcdefghijklmnopqrstuvwxyz</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d400;&#x1d401;&#x1d402;&#x1d403;&#x1d404;&#x1d405;
+ &#x1d406;&#x1d407;&#x1d408;&#x1d409;&#x1d40a;&#x1d40b;
+ &#x1d40c;&#x1d40d;&#x1d40e;&#x1d40f;&#x1d410;&#x1d411;
+ &#x1d412;&#x1d413;&#x1d414;&#x1d415;&#x1d416;&#x1d417;
+ &#x1d418;&#x1d419;
+ &#x1d41a;&#x1d41b;&#x1d41c;&#x1d41d;&#x1d41e;&#x1d41f;
+ &#x1d420;&#x1d421;&#x1d422;&#x1d423;&#x1d424;&#x1d425;
+ &#x1d426;&#x1d427;&#x1d428;&#x1d429;&#x1d42a;&#x1d42b;
+ &#x1d42c;&#x1d42d;&#x1d42e;&#x1d42f;&#x1d430;&#x1d431;
+ &#x1d432;&#x1d433;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d434;&#x1d435;&#x1d436;&#x1d437;&#x1d438;&#x1d439;
+ &#x1d43a;&#x1d43b;&#x1d43c;&#x1d43d;&#x1d43e;&#x1d43f;
+ &#x1d440;&#x1d441;&#x1d442;&#x1d443;&#x1d444;&#x1d445;
+ &#x1d446;&#x1d447;&#x1d448;&#x1d449;&#x1d44a;&#x1d44b;
+ &#x1d44c;&#x1d44d;
+ &#x1d44e;&#x1d44f;&#x1d450;&#x1d451;&#x1d452;&#x1d453;
+ &#x1d454;&#x210e;&#x1d456;&#x1d457;&#x1d458;&#x1d459;
+ &#x1d45a;&#x1d45b;&#x1d45c;&#x1d45d;&#x1d45e;&#x1d45f;
+ &#x1d460;&#x1d461;&#x1d462;&#x1d463;&#x1d464;&#x1d465;
+ &#x1d466;&#x1d467;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d468;&#x1d469;&#x1d46a;&#x1d46b;&#x1d46c;&#x1d46d;
+ &#x1d46e;&#x1d46f;&#x1d470;&#x1d471;&#x1d472;&#x1d473;
+ &#x1d474;&#x1d475;&#x1d476;&#x1d477;&#x1d478;&#x1d479;
+ &#x1d47a;&#x1d47b;&#x1d47c;&#x1d47d;&#x1d47e;&#x1d47f;
+ &#x1d480;&#x1d481;
+ &#x1d482;&#x1d483;&#x1d484;&#x1d485;&#x1d486;&#x1d487;
+ &#x1d488;&#x1d489;&#x1d48a;&#x1d48b;&#x1d48c;&#x1d48d;
+ &#x1d48e;&#x1d48f;&#x1d490;&#x1d491;&#x1d492;&#x1d493;
+ &#x1d494;&#x1d495;&#x1d496;&#x1d497;&#x1d498;&#x1d499;
+ &#x1d49a;&#x1d49b;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d49c;&#x212c;&#x1d49e;&#x1d49f;&#x2130;&#x2131;
+ &#x1d4a2;&#x210b;&#x2110;&#x1d4a5;&#x1d4a6;&#x2112;
+ &#x2133;&#x1d4a9;&#x1d4aa;&#x1d4ab;&#x1d4ac;&#x211b;
+ &#x1d4ae;&#x1d4af;&#x1d4b0;&#x1d4b1;&#x1d4b2;&#x1d4b3;
+ &#x1d4b4;&#x1d4b5;
+ &#x1d4b6;&#x1d4b7;&#x1d4b8;&#x1d4b9;&#x212f;&#x1d4bb;
+ &#x210a;&#x1d4bd;&#x1d4be;&#x1d4bf;&#x1d4c0;&#x1d4c1;
+ &#x1d4c2;&#x1d4c3;&#x2134;&#x1d4c5;&#x1d4c6;&#x1d4c7;
+ &#x1d4c8;&#x1d4c9;&#x1d4ca;&#x1d4cb;&#x1d4cc;&#x1d4cd;
+ &#x1d4ce;&#x1d4cf;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d4d0;&#x1d4d1;&#x1d4d2;&#x1d4d3;&#x1d4d4;&#x1d4d5;
+ &#x1d4d6;&#x1d4d7;&#x1d4d8;&#x1d4d9;&#x1d4da;&#x1d4db;
+ &#x1d4dc;&#x1d4dd;&#x1d4de;&#x1d4df;&#x1d4e0;&#x1d4e1;
+ &#x1d4e2;&#x1d4e3;&#x1d4e4;&#x1d4e5;&#x1d4e6;&#x1d4e7;
+ &#x1d4e8;&#x1d4e9;
+ &#x1d4ea;&#x1d4eb;&#x1d4ec;&#x1d4ed;&#x1d4ee;&#x1d4ef;
+ &#x1d4f0;&#x1d4f1;&#x1d4f2;&#x1d4f3;&#x1d4f4;&#x1d4f5;
+ &#x1d4f6;&#x1d4f7;&#x1d4f8;&#x1d4f9;&#x1d4fa;&#x1d4fb;
+ &#x1d4fc;&#x1d4fd;&#x1d4fe;&#x1d4ff;&#x1d500;&#x1d501;
+ &#x1d502;&#x1d503;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d504;&#x1d505;&#x212d;&#x1d507;&#x1d508;&#x1d509;
+ &#x1d50a;&#x210c;&#x2111;&#x1d50d;&#x1d50e;&#x1d50f;
+ &#x1d510;&#x1d511;&#x1d512;&#x1d513;&#x1d514;&#x211c;
+ &#x1d516;&#x1d517;&#x1d518;&#x1d519;&#x1d51a;&#x1d51b;
+ &#x1d51c;&#x2128;
+ &#x1d51e;&#x1d51f;&#x1d520;&#x1d521;&#x1d522;&#x1d523;
+ &#x1d524;&#x1d525;&#x1d526;&#x1d527;&#x1d528;&#x1d529;
+ &#x1d52a;&#x1d52b;&#x1d52c;&#x1d52d;&#x1d52e;&#x1d52f;
+ &#x1d530;&#x1d531;&#x1d532;&#x1d533;&#x1d534;&#x1d535;
+ &#x1d536;&#x1d537;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d538;&#x1d539;&#x2102;&#x1d53b;&#x1d53c;&#x1d53d;
+ &#x1d53e;&#x210d;&#x1d540;&#x1d541;&#x1d542;&#x1d543;
+ &#x1d544;&#x2115;&#x1d546;&#x2119;&#x211a;&#x211d;
+ &#x1d54a;&#x1d54b;&#x1d54c;&#x1d54d;&#x1d54e;&#x1d54f;
+ &#x1d550;&#x2124;
+ &#x1d552;&#x1d553;&#x1d554;&#x1d555;&#x1d556;&#x1d557;
+ &#x1d558;&#x1d559;&#x1d55a;&#x1d55b;&#x1d55c;&#x1d55d;
+ &#x1d55e;&#x1d55f;&#x1d560;&#x1d561;&#x1d562;&#x1d563;
+ &#x1d564;&#x1d565;&#x1d566;&#x1d567;&#x1d568;&#x1d569;
+ &#x1d56a;&#x1d56b;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d56c;&#x1d56d;&#x1d56e;&#x1d56f;&#x1d570;&#x1d571;
+ &#x1d572;&#x1d573;&#x1d574;&#x1d575;&#x1d576;&#x1d577;
+ &#x1d578;&#x1d579;&#x1d57a;&#x1d57b;&#x1d57c;&#x1d57d;
+ &#x1d57e;&#x1d57f;&#x1d580;&#x1d581;&#x1d582;&#x1d583;
+ &#x1d584;&#x1d585;
+ &#x1d586;&#x1d587;&#x1d588;&#x1d589;&#x1d58a;&#x1d58b;
+ &#x1d58c;&#x1d58d;&#x1d58e;&#x1d58f;&#x1d590;&#x1d591;
+ &#x1d592;&#x1d593;&#x1d594;&#x1d595;&#x1d596;&#x1d597;
+ &#x1d598;&#x1d599;&#x1d59a;&#x1d59b;&#x1d59c;&#x1d59d;
+ &#x1d59e;&#x1d59f;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d5a0;&#x1d5a1;&#x1d5a2;&#x1d5a3;&#x1d5a4;&#x1d5a5;
+ &#x1d5a6;&#x1d5a7;&#x1d5a8;&#x1d5a9;&#x1d5aa;&#x1d5ab;
+ &#x1d5ac;&#x1d5ad;&#x1d5ae;&#x1d5af;&#x1d5b0;&#x1d5b1;
+ &#x1d5b2;&#x1d5b3;&#x1d5b4;&#x1d5b5;&#x1d5b6;&#x1d5b7;
+ &#x1d5b8;&#x1d5b9;
+ &#x1d5ba;&#x1d5bb;&#x1d5bc;&#x1d5bd;&#x1d5be;&#x1d5bf;
+ &#x1d5c0;&#x1d5c1;&#x1d5c2;&#x1d5c3;&#x1d5c4;&#x1d5c5;
+ &#x1d5c6;&#x1d5c7;&#x1d5c8;&#x1d5c9;&#x1d5ca;&#x1d5cb;
+ &#x1d5cc;&#x1d5cd;&#x1d5ce;&#x1d5cf;&#x1d5d0;&#x1d5d1;
+ &#x1d5d2;&#x1d5d3;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d5d4;&#x1d5d5;&#x1d5d6;&#x1d5d7;&#x1d5d8;&#x1d5d9;
+ &#x1d5da;&#x1d5db;&#x1d5dc;&#x1d5dd;&#x1d5de;&#x1d5df;
+ &#x1d5e0;&#x1d5e1;&#x1d5e2;&#x1d5e3;&#x1d5e4;&#x1d5e5;
+ &#x1d5e6;&#x1d5e7;&#x1d5e8;&#x1d5e9;&#x1d5ea;&#x1d5eb;
+ &#x1d5ec;&#x1d5ed;
+ &#x1d5ee;&#x1d5ef;&#x1d5f0;&#x1d5f1;&#x1d5f2;&#x1d5f3;
+ &#x1d5f4;&#x1d5f5;&#x1d5f6;&#x1d5f7;&#x1d5f8;&#x1d5f9;
+ &#x1d5fa;&#x1d5fb;&#x1d5fc;&#x1d5fd;&#x1d5fe;&#x1d5ff;
+ &#x1d600;&#x1d601;&#x1d602;&#x1d603;&#x1d604;&#x1d605;
+ &#x1d606;&#x1d607;</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d608;&#x1d609;&#x1d60a;&#x1d60b;&#x1d60c;&#x1d60d;
+ &#x1d60e;&#x1d60f;&#x1d610;&#x1d611;&#x1d612;&#x1d613;
+ &#x1d614;&#x1d615;&#x1d616;&#x1d617;&#x1d618;&#x1d619;
+ &#x1d61a;&#x1d61b;&#x1d61c;&#x1d61d;&#x1d61e;&#x1d61f;
+ &#x1d620;&#x1d621;
+ &#x1d622;&#x1d623;&#x1d624;&#x1d625;&#x1d626;&#x1d627;
+ &#x1d628;&#x1d629;&#x1d62a;&#x1d62b;&#x1d62c;&#x1d62d;
+ &#x1d62e;&#x1d62f;&#x1d630;&#x1d631;&#x1d632;&#x1d633;
+ &#x1d634;&#x1d635;&#x1d636;&#x1d637;&#x1d638;&#x1d639;
+ &#x1d63a;&#x1d63b;</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d63c;&#x1d63d;&#x1d63e;&#x1d63f;&#x1d640;&#x1d641;
+ &#x1d642;&#x1d643;&#x1d644;&#x1d645;&#x1d646;&#x1d647;
+ &#x1d648;&#x1d649;&#x1d64a;&#x1d64b;&#x1d64c;&#x1d64d;
+ &#x1d64e;&#x1d64f;&#x1d650;&#x1d651;&#x1d652;&#x1d653;
+ &#x1d654;&#x1d655;
+ &#x1d656;&#x1d657;&#x1d658;&#x1d659;&#x1d65a;&#x1d65b;
+ &#x1d65c;&#x1d65d;&#x1d65e;&#x1d65f;&#x1d660;&#x1d661;
+ &#x1d662;&#x1d663;&#x1d664;&#x1d665;&#x1d666;&#x1d667;
+ &#x1d668;&#x1d669;&#x1d66a;&#x1d66b;&#x1d66c;&#x1d66d;
+ &#x1d66e;&#x1d66f;</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d670;&#x1d671;&#x1d672;&#x1d673;&#x1d674;&#x1d675;
+ &#x1d676;&#x1d677;&#x1d678;&#x1d679;&#x1d67a;&#x1d67b;
+ &#x1d67c;&#x1d67d;&#x1d67e;&#x1d67f;&#x1d680;&#x1d681;
+ &#x1d682;&#x1d683;&#x1d684;&#x1d685;&#x1d686;&#x1d687;
+ &#x1d688;&#x1d689;
+ &#x1d68a;&#x1d68b;&#x1d68c;&#x1d68d;&#x1d68e;&#x1d68f;
+ &#x1d690;&#x1d691;&#x1d692;&#x1d693;&#x1d694;&#x1d695;
+ &#x1d696;&#x1d697;&#x1d698;&#x1d699;&#x1d69a;&#x1d69b;
+ &#x1d69c;&#x1d69d;&#x1d69e;&#x1d69f;&#x1d6a0;&#x1d6a1;
+ &#x1d6a2;&#x1d6a3;</mtext>
+ </mrow>
+ </math>
+ <br>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1a.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1a.html
new file mode 100644
index 0000000000..0cd85b9bc9
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1a.html
@@ -0,0 +1,225 @@
+<!DOCTYPE html>
+<html>
+
+ <head>
+ <title>Test mathvariant character mappings</title>
+ <link rel="match" href="mathvariant-1a-ref.html"/>
+ </head>
+ <body>
+ <math>
+ <mrow>
+ <mtext mathvariant="normal">ABCDEFGHIJKLMNOPQRSTUVWXYZ</mtext>
+ <mtext mathvariant="normal">abcdefghijklmnopqrstuvwxyz</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="bold">
+ ABCDEF
+ GHIJKL
+ MNOPQR
+ STUVWX
+ YZ
+ abcdef
+ ghijkl
+ mnopqr
+ stuvwx
+ yz</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="italic">
+ ABCDEF
+ GHIJKL
+ MNOPQR
+ STUVWX
+ YZ
+ abcdef
+ ghijkl
+ mnopqr
+ stuvwx
+ yz</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="bold-italic">
+ ABCDEF
+ GHIJKL
+ MNOPQR
+ STUVWX
+ YZ
+ abcdef
+ ghijkl
+ mnopqr
+ stuvwx
+ yz</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="script">
+ ABCDEF
+ GHIJKL
+ MNOPQR
+ STUVWX
+ YZ
+ abcdef
+ ghijkl
+ mnopqr
+ stuvwx
+ yz</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="bold-script">
+ ABCDEF
+ GHIJKL
+ MNOPQR
+ STUVWX
+ YZ
+ abcdef
+ ghijkl
+ mnopqr
+ stuvwx
+ yz</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="fraktur">
+ ABCDEF
+ GHIJKL
+ MNOPQR
+ STUVWX
+ YZ
+ abcdef
+ ghijkl
+ mnopqr
+ stuvwx
+ yz</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="double-struck">
+ ABCDEF
+ GHIJKL
+ MNOPQR
+ STUVWX
+ YZ
+ abcdef
+ ghijkl
+ mnopqr
+ stuvwx
+ yz</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="bold-fraktur">
+ ABCDEF
+ GHIJKL
+ MNOPQR
+ STUVWX
+ YZ
+ abcdef
+ ghijkl
+ mnopqr
+ stuvwx
+ yz</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="sans-serif">
+ ABCDEF
+ GHIJKL
+ MNOPQR
+ STUVWX
+ YZ
+ abcdef
+ ghijkl
+ mnopqr
+ stuvwx
+ yz</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="bold-sans-serif">
+ ABCDEF
+ GHIJKL
+ MNOPQR
+ STUVWX
+ YZ
+ abcdef
+ ghijkl
+ mnopqr
+ stuvwx
+ yz</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="sans-serif-italic">
+ ABCDEF
+ GHIJKL
+ MNOPQR
+ STUVWX
+ YZ
+ abcdef
+ ghijkl
+ mnopqr
+ stuvwx
+ yz</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="sans-serif-bold-italic">
+ ABCDEF
+ GHIJKL
+ MNOPQR
+ STUVWX
+ YZ
+ abcdef
+ ghijkl
+ mnopqr
+ stuvwx
+ yz</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="monospace">
+ ABCDEF
+ GHIJKL
+ MNOPQR
+ STUVWX
+ YZ
+ abcdef
+ ghijkl
+ mnopqr
+ stuvwx
+ yz</mtext>
+ </mrow>
+ </math>
+ <br>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1b-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1b-ref.html
new file mode 100644
index 0000000000..6dd2f622a0
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1b-ref.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html>
+<html>
+
+ <head>
+ <title>Test mathvariant character mappings</title>
+ </head>
+ <body>
+ <math>
+ <mrow>
+ <mtext>0123456789</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d7ce;&#x1d7cf;&#x1d7d0;&#x1d7d1;&#x1d7d2;&#x1d7d3;
+ &#x1d7d4;&#x1d7d5;&#x1d7d6;&#x1d7d7;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>0123456789</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>0123456789</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d7d8;&#x1d7d9;&#x1d7da;&#x1d7db;&#x1d7dc;&#x1d7dd;
+ &#x1d7de;&#x1d7df;&#x1d7e0;&#x1d7e1;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d7e2;&#x1d7e3;&#x1d7e4;&#x1d7e5;&#x1d7e6;&#x1d7e7;
+ &#x1d7e8;&#x1d7e9;&#x1d7ea;&#x1d7eb;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d7ec;&#x1d7ed;&#x1d7ee;&#x1d7ef;&#x1d7f0;&#x1d7f1;
+ &#x1d7f2;&#x1d7f3;&#x1d7f4;&#x1d7f5;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d7f6;&#x1d7f7;&#x1d7f8;&#x1d7f9;&#x1d7fa;&#x1d7fb;
+ &#x1d7fc;&#x1d7fd;&#x1d7fe;&#x1d7ff;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1b.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1b.html
new file mode 100644
index 0000000000..c744469e42
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1b.html
@@ -0,0 +1,127 @@
+<!DOCTYPE html>
+<html>
+
+ <head>
+ <title>Test mathvariant character mappings</title>
+ <link rel="match" href="mathvariant-1b-ref.html"/>
+ </head>
+ <body>
+ <math>
+ <mrow>
+ <mtext mathvariant="normal">0123456789</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="bold">
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="italic">0123456789</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="bold-italic">0123456789</mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="script">
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="bold-script">
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="fraktur">
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="double-struck">
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="bold-fraktur">
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="sans-serif">
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="bold-sans-serif">
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="sans-serif-italic">
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="sans-serif-bold-italic">
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="monospace">
+ 012345
+ 6789
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1c-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1c-ref.html
new file mode 100644
index 0000000000..6a4f8cf1c4
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1c-ref.html
@@ -0,0 +1,247 @@
+<!DOCTYPE html>
+<html>
+
+ <head>
+ <title>Test mathvariant character mappings</title>
+ </head>
+ <body>
+ <math>
+ <mrow>
+ <mtext>
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d6a8;&#x1d6a9;&#x1d6aa;&#x1d6ab;&#x1d6ac;&#x1d6ad;
+ &#x1d6ae;&#x1d6af;&#x1d6b0;&#x1d6b1;&#x1d6b2;&#x1d6b3;
+ &#x1d6b4;&#x1d6b5;&#x1d6b6;&#x1d6b7;&#x1d6b8;&#x1d6b9;
+ &#x1d6ba;&#x1d6bb;&#x1d6bc;&#x1d6bd;&#x1d6be;&#x1d6bf;
+ &#x1d6c0;&#x1d6c1;&#x1d6c2;&#x1d6c3;&#x1d6c4;&#x1d6c5;
+ &#x1d6c6;&#x1d6c7;&#x1d6c8;&#x1d6c9;&#x1d6ca;&#x1d6cb;
+ &#x1d6cc;&#x1d6cd;&#x1d6ce;&#x1d6cf;&#x1d6d0;&#x1d6d1;
+ &#x1d6d2;&#x1d6d3;&#x1d6d4;&#x1d6d5;&#x1d6d6;&#x1d6d7;
+ &#x1d6d8;&#x1d6d9;&#x1d6da;&#x1d6db;&#x1d6dc;&#x1d6dd;
+ &#x1d6de;&#x1d6df;&#x1d6e0;&#x1d6e1;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d6e2;&#x1d6e3;&#x1d6e4;&#x1d6e5;&#x1d6e6;&#x1d6e7;
+ &#x1d6e8;&#x1d6e9;&#x1d6ea;&#x1d6eb;&#x1d6ec;&#x1d6ed;
+ &#x1d6ee;&#x1d6ef;&#x1d6f0;&#x1d6f1;&#x1d6f2;&#x1d6f3;
+ &#x1d6f4;&#x1d6f5;&#x1d6f6;&#x1d6f7;&#x1d6f8;&#x1d6f9;
+ &#x1d6fa;&#x1d6fb;&#x1d6fc;&#x1d6fd;&#x1d6fe;&#x1d6ff;
+ &#x1d700;&#x1d701;&#x1d702;&#x1d703;&#x1d704;&#x1d705;
+ &#x1d706;&#x1d707;&#x1d708;&#x1d709;&#x1d70a;&#x1d70b;
+ &#x1d70c;&#x1d70d;&#x1d70e;&#x1d70f;&#x1d710;&#x1d711;
+ &#x1d712;&#x1d713;&#x1d714;&#x1d715;&#x1d716;&#x1d717;
+ &#x1d718;&#x1d719;&#x1d71a;&#x1d71b;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d71c;&#x1d71d;&#x1d71e;&#x1d71f;&#x1d720;&#x1d721;
+ &#x1d722;&#x1d723;&#x1d724;&#x1d725;&#x1d726;&#x1d727;
+ &#x1d728;&#x1d729;&#x1d72a;&#x1d72b;&#x1d72c;&#x1d72d;
+ &#x1d72e;&#x1d72f;&#x1d730;&#x1d731;&#x1d732;&#x1d733;
+ &#x1d734;&#x1d735;&#x1d736;&#x1d737;&#x1d738;&#x1d739;
+ &#x1d73a;&#x1d73b;&#x1d73c;&#x1d73d;&#x1d73e;&#x1d73f;
+ &#x1d740;&#x1d741;&#x1d742;&#x1d743;&#x1d744;&#x1d745;
+ &#x1d746;&#x1d747;&#x1d748;&#x1d749;&#x1d74a;&#x1d74b;
+ &#x1d74c;&#x1d74d;&#x1d74e;&#x1d74f;&#x1d750;&#x1d751;
+ &#x1d752;&#x1d753;&#x1d754;&#x1d755;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d756;&#x1d757;&#x1d758;&#x1d759;&#x1d75a;&#x1d75b;
+ &#x1d75c;&#x1d75d;&#x1d75e;&#x1d75f;&#x1d760;&#x1d761;
+ &#x1d762;&#x1d763;&#x1d764;&#x1d765;&#x1d766;&#x1d767;
+ &#x1d768;&#x1d769;&#x1d76a;&#x1d76b;&#x1d76c;&#x1d76d;
+ &#x1d76e;&#x1d76f;&#x1d770;&#x1d771;&#x1d772;&#x1d773;
+ &#x1d774;&#x1d775;&#x1d776;&#x1d777;&#x1d778;&#x1d779;
+ &#x1d77a;&#x1d77b;&#x1d77c;&#x1d77d;&#x1d77e;&#x1d77f;
+ &#x1d780;&#x1d781;&#x1d782;&#x1d783;&#x1d784;&#x1d785;
+ &#x1d786;&#x1d787;&#x1d788;&#x1d789;&#x1d78a;&#x1d78b;
+ &#x1d78c;&#x1d78d;&#x1d78e;&#x1d78f;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1d790;&#x1d791;&#x1d792;&#x1d793;&#x1d794;&#x1d795;
+ &#x1d796;&#x1d797;&#x1d798;&#x1d799;&#x1d79a;&#x1d79b;
+ &#x1d79c;&#x1d79d;&#x1d79e;&#x1d79f;&#x1d7a0;&#x1d7a1;
+ &#x1d7a2;&#x1d7a3;&#x1d7a4;&#x1d7a5;&#x1d7a6;&#x1d7a7;
+ &#x1d7a8;&#x1d7a9;&#x1d7aa;&#x1d7ab;&#x1d7ac;&#x1d7ad;
+ &#x1d7ae;&#x1d7af;&#x1d7b0;&#x1d7b1;&#x1d7b2;&#x1d7b3;
+ &#x1d7b4;&#x1d7b5;&#x1d7b6;&#x1d7b7;&#x1d7b8;&#x1d7b9;
+ &#x1d7ba;&#x1d7bb;&#x1d7bc;&#x1d7bd;&#x1d7be;&#x1d7bf;
+ &#x1d7c0;&#x1d7c1;&#x1d7c2;&#x1d7c3;&#x1d7c4;&#x1d7c5;
+ &#x1d7c6;&#x1d7c7;&#x1d7c8;&#x1d7c9;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1c.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1c.html
new file mode 100644
index 0000000000..9e99d9ba64
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1c.html
@@ -0,0 +1,248 @@
+<!DOCTYPE html>
+<html>
+
+ <head>
+ <title>Test mathvariant character mappings</title>
+ <link rel="match" href="mathvariant-1c-ref.html"/>
+ </head>
+ <body>
+ <math>
+ <mrow>
+ <mtext mathvariant="normal">
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="bold">
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="italic">
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="bold-italic">
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="script">
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="bold-script">
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="fraktur">
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="double-struck">
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="bold-fraktur">
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="sans-serif">
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="bold-sans-serif">
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="sans-serif-italic">
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="sans-serif-bold-italic">
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="monospace">
+ &#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;
+ &#x0397;&#x0398;&#x0399;&#x039a;&#x039b;&#x039c;
+ &#x039d;&#x039e;&#x039f;&#x03a0;&#x03a1;&#x03f4;
+ &#x03a3;&#x03a4;&#x03a5;&#x03a6;&#x03a7;&#x03a8;
+ &#x03a9;&#x2207;&#x03b1;&#x03b2;&#x03b3;&#x03b4;
+ &#x03b5;&#x03b6;&#x03b7;&#x03b8;&#x03b9;&#x03ba;
+ &#x03bb;&#x03bc;&#x03bd;&#x03be;&#x03bf;&#x03c0;
+ &#x03c1;&#x03c2;&#x03c3;&#x03c4;&#x03c5;&#x03c6;
+ &#x03c7;&#x03c8;&#x03c9;&#x2202;&#x03f5;&#x03d1;
+ &#x03f0;&#x03d5;&#x03f1;&#x03d6;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1d-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1d-ref.html
new file mode 100644
index 0000000000..6a7226e255
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1d-ref.html
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<html>
+
+ <head>
+ <title>Test mathvariant character mappings</title>
+ </head>
+ <body>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1EEA1;&#x1EEA2;&#x1EEA3;&#x1EEA5;&#x1EEA6;&#x1EEA7;
+ &#x1EEA8;&#x1EEA9;&#x1EEAB;&#x1EEAC;&#x1EEAD;&#x1EEAE;
+ &#x1EEAF;&#x1EEB0;&#x1EEB1;&#x1EEB2;&#x1EEB3;&#x1EEB4;
+ &#x1EEB5;&#x1EEB6;&#x1EEB7;&#x1EEB8;&#x1EEB9;&#x1EEBA;
+ &#x1EEBB
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1EE21;&#x1EE22;&#x1EE24;&#x1EE27;&#x1EE29;&#x1EE2A;
+ &#x1EE2B;&#x1EE2C;&#x1EE2D;&#x1EE2E;&#x1EE2F;&#x1EE30;
+ &#x1EE31;&#x1EE32;&#x1EE34;&#x1EE35;&#x1EE36;&#x1EE37;
+ &#x1EE39;&#x1EE3B;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1EE42;&#x1EE47;&#x1EE49;&#x1EE4B;&#x1EE4D;&#x1EE4E;
+ &#x1EE4F;&#x1EE51;&#x1EE52;&#x1EE54;&#x1EE57;&#x1EE59
+ &#x1EE5B;&#x1EE5D;&#x1EE5F;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1EE80;&#x1EE81;&#x1EE82;&#x1EE83;&#x1EE84;&#x1EE85;
+ &#x1EE86;&#x1EE87;&#x1EE88;&#x1EE89;&#x1EE8B;&#x1EE8C;
+ &#x1EE8D;&#x1EE8E;&#x1EE8F;&#x1EE90;&#x1EE91;&#x1EE92;
+ &#x1EE93;&#x1EE94;&#x1EE95;&#x1EE96;&#x1EE97;&#x1EE98;
+ &#x1EE99;&#x1EE9A;&#x1EE9B;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext>
+ &#x1EE61;&#x1EE62;&#x1EE64;&#x1EE67;&#x1EE68;&#x1EE69;
+ &#x1EE6A;&#x1EE6C;&#x1EE6D;&#x1EE6E;&#x1EE6F;&#x1EE70;
+ &#x1EE71;&#x1EE72;&#x1EE74;&#x1EE75;&#x1EE76;&#x1EE77;
+ &#x1EE79;&#x1EE7A;&#x1EE7B;&#x1EE7C;&#x1EE7E;
+ </mtext>
+ </mrow>
+ </math>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1d.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1d.html
new file mode 100644
index 0000000000..5d1de1e87b
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-1d.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<html>
+
+ <head>
+ <title>Test mathvariant character mappings</title>
+ <link rel="match" href="mathvariant-1d-ref.html"/>
+ </head>
+ <body>
+ <math>
+ <mrow>
+ <mtext mathvariant="double-struck">
+ &#x0628;&#x062C;&#x062F;&#x0648;&#x0632;&#x062D;
+ &#x0637;&#x064A;&#x0644;&#x0645;&#x0646;&#x0633;
+ &#x0639;&#x0641;&#x0635;&#x0642;&#x0631;&#x0634;
+ &#x062A;&#x062B;&#x062E;&#x0630;&#x0636;&#x0638;
+ &#x063A;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="initial">
+ &#x0628;&#x062C;&#x0647;&#x062D;&#x064A;&#x0643;
+ &#x0644;&#x0645;&#x0646;&#x0633;&#x0639;&#x0641;
+ &#x0635;&#x0642;&#x0634;&#x062A;&#x062B;&#x062E;
+ &#x0636;&#x063A;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="tailed">
+ &#x062C;&#x062D;&#x064A;&#x0644;&#x0646;&#x0633;
+ &#x0639;&#x0635;&#x0642;&#x0634;&#x062E;&#x0636;
+ &#x063A;&#x06BA;&#x066F;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="looped">
+ &#x0627;&#x0628;&#x062C;&#x062F;&#x0647;&#x0648;
+ &#x0632;&#x062D;&#x0637;&#x064A;&#x0644;&#x0645;
+ &#x0646;&#x0633;&#x0639;&#x0641;&#x0635;&#x0642;
+ &#x0631;&#x0634;&#x062A;&#x062B;&#x062E;&#x0630;
+ &#x0636;&#x0638;&#x063A;
+ </mtext>
+ </mrow>
+ </math>
+ <br>
+ <math>
+ <mrow>
+ <mtext mathvariant="stretched">
+ &#x0628;&#x062C;&#x0647;&#x062D;&#x0637;&#x064A;
+ &#x0643;&#x0645;&#x0646;&#x0633;&#x0639;&#x0641;
+ &#x0635;&#x0642;&#x0634;&#x062A;&#x062B;&#x062E;
+ &#x0636;&#x0638;&#x063A;&#x066E;&#x06A1;
+ </mtext>
+ </mrow>
+ </math>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-2-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-2-ref.html
new file mode 100644
index 0000000000..6118ad058a
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-2-ref.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Test mathvariant exception mappings</title>
+ </head>
+ <body>
+ <math>
+ <mrow>
+ <mtext>&#x1d6a4;&#x1d6a5;</mtext>
+ <mtext>&#x0131;&#x0237;</mtext>
+ <mtext>&#x1d7ca;&#x1d7cb;</mtext>
+ <mtext>&#x03DC;&#x03DD;</mtext>
+ </mrow>
+ </math>
+ <p>
+ <math>
+ <mrow>
+ <mi mathvariant="italic">&imath;</mi>
+ <mi mathvariant="italic">&jmath;</mi>
+ <mi mathvariant="normal">&imath;&imath;</mi>
+ <mi mathvariant="normal">&jmath;&jmath;</mi>
+ </mrow>
+ </math>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-2.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-2.html
new file mode 100644
index 0000000000..3c2cc7b45a
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Test mathvariant exception mappings</title>
+ <link rel="match" href="mathvariant-2-ref.html"/>
+ </head>
+ <body>
+ <math>
+ <mrow>
+ <mtext mathvariant="italic">&#x0131;&#x0237;</mtext>
+ <mtext mathvariant="bold">&#x0131;&#x0237;</mtext>
+ <mtext mathvariant="bold">&#x03DC;&#x03DD;</mtext>
+ <mtext mathvariant="italic">&#x03DC;&#x03DD;</mtext>
+ </mrow>
+ </math>
+ <p>
+ <math>
+ <mrow>
+ <mi>&imath;</mi>
+ <mi>&jmath;</mi>
+ <mi>&imath;&imath;</mi>
+ <mi>&jmath;&jmath;</mi>
+ </mrow>
+ </math>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-4-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-4-ref.html
new file mode 100644
index 0000000000..9c51d61b67
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-4-ref.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>More mathvariant tests</title>
+ </head>
+ <body>
+ <math>
+ <mrow>
+ <!-- mathvariant on characters that are already in the Mathematical
+ AlphanumericSymbols or are exceptions (should not have any
+ effect).-->
+ <mtext>&#x1d49c;</mtext>
+ <mtext>&#x212c;</mtext>
+ <!-- mathvariant on characters for which there is no equivalent mathvariant
+ form in Unicode (should not have any effect) -->
+ <mtext>&#x00e1;</mtext>
+ </mrow>
+ </math>
+
+ <p>
+
+ <math>
+ <mrow>
+ <!-- mathvariant on multi-char token elements (should apply to all the
+ characters) -->
+ <mtext>&#x1d670;&#x1d670;&#x1d670;</mtext>
+ </mrow>
+ </math>
+
+ <p>
+
+ <math>
+ <mrow>
+ <!-- mathvariant on mstyle (should apply to all token element descendants
+ like single-char mi, mtext etc) -->
+ <mtext mathvariant="sans-serif">cos</mtext>
+ <mo>&#x2061;</mo>
+ <mi mathvariant="sans-serif">x</mi>
+ </mrow>
+ </math>
+
+ <p>
+
+ <math>
+ <mrow>
+ <!-- mathvariant on math (should apply to all token element descendants
+ like single-char mi, mtext etc) -->
+ <mtext mathvariant="sans-serif">cos</mtext>
+ <mo>&#x2061;</mo>
+ <mi mathvariant="sans-serif">x</mi>
+ </mrow>
+ </math>
+
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-4.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-4.html
new file mode 100644
index 0000000000..ca66e87f4a
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-4.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>More mathvariant tests</title>
+ <link rel="match" href="mathvariant-4-ref.html"/>
+ </head>
+ <body>
+ <math>
+ <mrow>
+ <mtext mathvariant="fraktur">&#x1d49c;</mtext>
+ <mtext mathvariant="fraktur">&#x212c;</mtext>
+ <mtext mathvariant="fraktur">&#x00e1;</mtext>
+ </mrow>
+ </math>
+
+ <p>
+
+ <math>
+ <mrow>
+ <mtext mathvariant="monospace">AAA</mtext>
+ </mrow>
+ </math>
+
+ <p>
+
+ <math>
+ <mstyle mathvariant="sans-serif">
+ <mrow>
+ <mtext>cos</mtext>
+ <mo>&#x2061;</mo>
+ <mi>x</mi>
+ </mrow>
+ </mstyle>
+ </math>
+
+ <p>
+
+ <math mathvariant="sans-serif">
+ <mrow>
+ <mtext>cos</mtext>
+ <mo>&#x2061;</mo>
+ <mi>x</mi>
+ </mrow>
+ </math>
+
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-5-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-5-ref.html
new file mode 100644
index 0000000000..1854ce4b13
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-5-ref.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Dynamic mathvariant tests</title>
+ </head>
+ <body>
+ <math>
+ <mrow>
+ <mi id="Mi0" mathvariant="script">A</mi>
+ <mi id="Mi1">BB</mi>
+ <mi id="Mi2">B</mi>
+ <mi id="Mi3">A</mi>
+ <mi id="Mi4" mathvariant="script">A</mi>
+ <mtext id="Mtext0">A</mtext>
+ <mtext id="Mtext2" mathvariant="script">A</mtext>
+ <mtext id="Mtext4" mathvariant="script">A</mtext>
+ </mrow>
+ </math>
+
+ <p>
+
+ <math>
+ <mrow>
+ <mstyle id="Mstyle0" mathvariant="fraktur">
+ <mtext>Hello</mtext>
+ </mstyle>
+ <mstyle id="Mstyle1" mathvariant="monospace">
+ <mtext>Hello</mtext>
+ </mstyle>
+ <mstyle id="Mstyle2">
+ <mtext>Hello</mtext>
+ </mstyle>
+ </mrow>
+ </math>
+
+ <p>
+
+ <math id="Math0" mathvariant="fraktur">
+ <mtext>Hello</mtext>
+ </math>
+ <math id="Math1" mathvariant="monospace">
+ <mtext>Hello</mtext>
+ </math>
+ <math id="Math2">
+ <mtext>Hello</mtext>
+ </math>
+
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-5.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-5.html
new file mode 100644
index 0000000000..f135fbe7a7
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-5.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <title>Dynamic mathvariant tests</title>
+ <link rel="match" href="mathvariant-5-ref.html"/>
+ </head>
+ <body>
+ <math>
+ <mrow>
+ <mi id="Mi0">A</mi>
+ <mi id="Mi1">A</mi>
+ <mi id="Mi2">AA</mi>
+ <mi id="Mi3" mathvariant="fraktur">A</mi>
+ <mi id="Mi4" mathvariant="monospace">A</mi>
+ <mtext id="Mtext0" mathvariant="monospace">A</mtext>
+ <mtext id="Mtext2" mathvariant="monospace">A</mtext>
+ <mtext id="Mtext4">A</mtext>
+ </mrow>
+ </math>
+
+ <p>
+
+ <math>
+ <mrow>
+ <mstyle id="Mstyle0">
+ <mtext>Hello</mtext>
+ </mstyle>
+ <mstyle id="Mstyle1" mathvariant="bold-fraktur">
+ <mtext>Hello</mtext>
+ </mstyle>
+ <mstyle id="Mstyle2" mathvariant="bold">
+ <mtext>Hello</mtext>
+ </mstyle>
+ </mrow>
+ </math>
+
+ <p>
+
+ <math id="Math0">
+ <mtext>Hello</mtext>
+ </math>
+ <math id="Math1" mathvariant="fraktur">
+ <mtext>Hello</mtext>
+ </math>
+ <math id="Math2" mathvariant="bold">
+ <mtext>Hello</mtext>
+ </math>
+ <script>
+ function doTest()
+ {
+ document.getElementById("Mi0").setAttribute("mathvariant", "script");
+ document.getElementById("Mi1").innerHTML = "BB";
+ document.getElementById("Mi2").innerHTML = "B";
+ document.getElementById("Mi3").removeAttribute("mathvariant");
+ document.getElementById("Mi4").setAttribute("mathvariant", "script");
+ document.getElementById("Mtext0").removeAttribute("mathvariant");
+ document.getElementById("Mtext2").setAttribute("mathvariant", "script");
+ document.getElementById("Mtext4").setAttribute("mathvariant", "script");
+ document.getElementById("Mstyle0").setAttribute("mathvariant", "fraktur");
+ document.getElementById("Mstyle1").setAttribute("mathvariant", "monospace");
+ document.getElementById("Mstyle2").removeAttribute("mathvariant");
+ document.getElementById("Math0").setAttribute("mathvariant", "fraktur");
+ document.getElementById("Math1").setAttribute("mathvariant", "monospace");
+ document.getElementById("Math2").removeAttribute("mathvariant");
+
+ document.documentElement.removeAttribute("class");
+ }
+ document.documentElement.addEventListener("TestRendered", doTest);
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-basic-transforms-with-default-font-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-basic-transforms-with-default-font-ref.html
new file mode 100644
index 0000000000..6ebfd75c2f
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-basic-transforms-with-default-font-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>Basic mathvariant transforms with the default font (reference)</title>
+ </head>
+ <body>
+ <p>Test passes if you see three lines of text rendered with corresponding
+ italic, bold, bold-italic characters from the
+ Mathematical Alphanumeric Symbols block:</p>
+ <p><math><mtext>𝐼𝑡𝑎𝑙𝑖𝑐</mtext></math></p>
+ <p><math><mtext>𝐁𝐨𝐥𝐝</mtext></math></p>
+ <p><math><mtext>𝑩𝒐𝒍𝒅𝑰𝒕𝒂𝒍𝒊𝒄</mtext></math></p>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-basic-transforms-with-default-font.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-basic-transforms-with-default-font.html
new file mode 100644
index 0000000000..24c868c495
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-basic-transforms-with-default-font.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>Basic mathvariant transforms with the default font</title>
+ <link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+ <link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1789083">
+ <link rel="match" href="mathvariant-basic-transforms-with-default-font-ref.html"/>
+ <meta name="assert" content="Verify that the default font provides Mathematical Alphanumeric Symbols to perform basic mathvariant transforms (italic, bold, bold-italic), without requiring some kind of style fallback.">
+ </head>
+ <body>
+ <p>Test passes if you see three lines of text rendered with corresponding
+ italic, bold, bold-italic characters from the
+ Mathematical Alphanumeric Symbols block:</p>
+ <p><math><mtext mathvariant="italic">Italic</mtext></math></p>
+ <p><math><mtext mathvariant="bold">Bold</mtext></math></p>
+ <p><math><mtext mathvariant="bold-italic">BoldItalic</mtext></math></p>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-fraktur-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-fraktur-ref.html
new file mode 100644
index 0000000000..44588948e7
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-fraktur-ref.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant bold-fraktur (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-bold-fraktur.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1D56C;</mtext></math>=<span>1D56C</span></span>
+ <span><math class="testfont"><mtext>&#x1D56D;</mtext></math>=<span>1D56D</span></span>
+ <span><math class="testfont"><mtext>&#x1D56E;</mtext></math>=<span>1D56E</span></span>
+ <span><math class="testfont"><mtext>&#x1D56F;</mtext></math>=<span>1D56F</span></span>
+ <span><math class="testfont"><mtext>&#x1D570;</mtext></math>=<span>1D570</span></span>
+ <span><math class="testfont"><mtext>&#x1D571;</mtext></math>=<span>1D571</span></span>
+ <span><math class="testfont"><mtext>&#x1D572;</mtext></math>=<span>1D572</span></span>
+ <span><math class="testfont"><mtext>&#x1D573;</mtext></math>=<span>1D573</span></span>
+ <span><math class="testfont"><mtext>&#x1D574;</mtext></math>=<span>1D574</span></span>
+ <span><math class="testfont"><mtext>&#x1D575;</mtext></math>=<span>1D575</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D576;</mtext></math>=<span>1D576</span></span>
+ <span><math class="testfont"><mtext>&#x1D577;</mtext></math>=<span>1D577</span></span>
+ <span><math class="testfont"><mtext>&#x1D578;</mtext></math>=<span>1D578</span></span>
+ <span><math class="testfont"><mtext>&#x1D579;</mtext></math>=<span>1D579</span></span>
+ <span><math class="testfont"><mtext>&#x1D57A;</mtext></math>=<span>1D57A</span></span>
+ <span><math class="testfont"><mtext>&#x1D57B;</mtext></math>=<span>1D57B</span></span>
+ <span><math class="testfont"><mtext>&#x1D57C;</mtext></math>=<span>1D57C</span></span>
+ <span><math class="testfont"><mtext>&#x1D57D;</mtext></math>=<span>1D57D</span></span>
+ <span><math class="testfont"><mtext>&#x1D57E;</mtext></math>=<span>1D57E</span></span>
+ <span><math class="testfont"><mtext>&#x1D57F;</mtext></math>=<span>1D57F</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D580;</mtext></math>=<span>1D580</span></span>
+ <span><math class="testfont"><mtext>&#x1D581;</mtext></math>=<span>1D581</span></span>
+ <span><math class="testfont"><mtext>&#x1D582;</mtext></math>=<span>1D582</span></span>
+ <span><math class="testfont"><mtext>&#x1D583;</mtext></math>=<span>1D583</span></span>
+ <span><math class="testfont"><mtext>&#x1D584;</mtext></math>=<span>1D584</span></span>
+ <span><math class="testfont"><mtext>&#x1D585;</mtext></math>=<span>1D585</span></span>
+ <span><math class="testfont"><mtext>&#x1D586;</mtext></math>=<span>1D586</span></span>
+ <span><math class="testfont"><mtext>&#x1D587;</mtext></math>=<span>1D587</span></span>
+ <span><math class="testfont"><mtext>&#x1D588;</mtext></math>=<span>1D588</span></span>
+ <span><math class="testfont"><mtext>&#x1D589;</mtext></math>=<span>1D589</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D58A;</mtext></math>=<span>1D58A</span></span>
+ <span><math class="testfont"><mtext>&#x1D58B;</mtext></math>=<span>1D58B</span></span>
+ <span><math class="testfont"><mtext>&#x1D58C;</mtext></math>=<span>1D58C</span></span>
+ <span><math class="testfont"><mtext>&#x1D58D;</mtext></math>=<span>1D58D</span></span>
+ <span><math class="testfont"><mtext>&#x1D58E;</mtext></math>=<span>1D58E</span></span>
+ <span><math class="testfont"><mtext>&#x1D58F;</mtext></math>=<span>1D58F</span></span>
+ <span><math class="testfont"><mtext>&#x1D590;</mtext></math>=<span>1D590</span></span>
+ <span><math class="testfont"><mtext>&#x1D591;</mtext></math>=<span>1D591</span></span>
+ <span><math class="testfont"><mtext>&#x1D592;</mtext></math>=<span>1D592</span></span>
+ <span><math class="testfont"><mtext>&#x1D593;</mtext></math>=<span>1D593</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D594;</mtext></math>=<span>1D594</span></span>
+ <span><math class="testfont"><mtext>&#x1D595;</mtext></math>=<span>1D595</span></span>
+ <span><math class="testfont"><mtext>&#x1D596;</mtext></math>=<span>1D596</span></span>
+ <span><math class="testfont"><mtext>&#x1D597;</mtext></math>=<span>1D597</span></span>
+ <span><math class="testfont"><mtext>&#x1D598;</mtext></math>=<span>1D598</span></span>
+ <span><math class="testfont"><mtext>&#x1D599;</mtext></math>=<span>1D599</span></span>
+ <span><math class="testfont"><mtext>&#x1D59A;</mtext></math>=<span>1D59A</span></span>
+ <span><math class="testfont"><mtext>&#x1D59B;</mtext></math>=<span>1D59B</span></span>
+ <span><math class="testfont"><mtext>&#x1D59C;</mtext></math>=<span>1D59C</span></span>
+ <span><math class="testfont"><mtext>&#x1D59D;</mtext></math>=<span>1D59D</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D59E;</mtext></math>=<span>1D59E</span></span>
+ <span><math class="testfont"><mtext>&#x1D59F;</mtext></math>=<span>1D59F</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-fraktur.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-fraktur.html
new file mode 100644
index 0000000000..32d037603b
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-fraktur.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant bold-fraktur</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#bold-fraktur-mappings">
+<link rel="match" href="mathvariant-bold-fraktur-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a bold-fraktur mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-bold-fraktur.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x41;</mtext></math>=<span>1D56C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x42;</mtext></math>=<span>1D56D</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x43;</mtext></math>=<span>1D56E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x44;</mtext></math>=<span>1D56F</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x45;</mtext></math>=<span>1D570</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x46;</mtext></math>=<span>1D571</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x47;</mtext></math>=<span>1D572</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x48;</mtext></math>=<span>1D573</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x49;</mtext></math>=<span>1D574</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x4A;</mtext></math>=<span>1D575</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x4B;</mtext></math>=<span>1D576</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x4C;</mtext></math>=<span>1D577</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x4D;</mtext></math>=<span>1D578</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x4E;</mtext></math>=<span>1D579</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x4F;</mtext></math>=<span>1D57A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x50;</mtext></math>=<span>1D57B</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x51;</mtext></math>=<span>1D57C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x52;</mtext></math>=<span>1D57D</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x53;</mtext></math>=<span>1D57E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x54;</mtext></math>=<span>1D57F</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x55;</mtext></math>=<span>1D580</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x56;</mtext></math>=<span>1D581</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x57;</mtext></math>=<span>1D582</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x58;</mtext></math>=<span>1D583</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x59;</mtext></math>=<span>1D584</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x5A;</mtext></math>=<span>1D585</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x61;</mtext></math>=<span>1D586</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x62;</mtext></math>=<span>1D587</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x63;</mtext></math>=<span>1D588</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x64;</mtext></math>=<span>1D589</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x65;</mtext></math>=<span>1D58A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x66;</mtext></math>=<span>1D58B</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x67;</mtext></math>=<span>1D58C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x68;</mtext></math>=<span>1D58D</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x69;</mtext></math>=<span>1D58E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x6A;</mtext></math>=<span>1D58F</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x6B;</mtext></math>=<span>1D590</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x6C;</mtext></math>=<span>1D591</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x6D;</mtext></math>=<span>1D592</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x6E;</mtext></math>=<span>1D593</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x6F;</mtext></math>=<span>1D594</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x70;</mtext></math>=<span>1D595</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x71;</mtext></math>=<span>1D596</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x72;</mtext></math>=<span>1D597</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x73;</mtext></math>=<span>1D598</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x74;</mtext></math>=<span>1D599</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x75;</mtext></math>=<span>1D59A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x76;</mtext></math>=<span>1D59B</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x77;</mtext></math>=<span>1D59C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x78;</mtext></math>=<span>1D59D</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x79;</mtext></math>=<span>1D59E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-fraktur">&#x7A;</mtext></math>=<span>1D59F</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-italic-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-italic-ref.html
new file mode 100644
index 0000000000..9a93a37e35
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-italic-ref.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant bold-italic (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-bold-italic.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1D468;</mtext></math>=<span>1D468</span></span>
+ <span><math class="testfont"><mtext>&#x1D469;</mtext></math>=<span>1D469</span></span>
+ <span><math class="testfont"><mtext>&#x1D46A;</mtext></math>=<span>1D46A</span></span>
+ <span><math class="testfont"><mtext>&#x1D46B;</mtext></math>=<span>1D46B</span></span>
+ <span><math class="testfont"><mtext>&#x1D46C;</mtext></math>=<span>1D46C</span></span>
+ <span><math class="testfont"><mtext>&#x1D46D;</mtext></math>=<span>1D46D</span></span>
+ <span><math class="testfont"><mtext>&#x1D46E;</mtext></math>=<span>1D46E</span></span>
+ <span><math class="testfont"><mtext>&#x1D46F;</mtext></math>=<span>1D46F</span></span>
+ <span><math class="testfont"><mtext>&#x1D470;</mtext></math>=<span>1D470</span></span>
+ <span><math class="testfont"><mtext>&#x1D471;</mtext></math>=<span>1D471</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D472;</mtext></math>=<span>1D472</span></span>
+ <span><math class="testfont"><mtext>&#x1D473;</mtext></math>=<span>1D473</span></span>
+ <span><math class="testfont"><mtext>&#x1D474;</mtext></math>=<span>1D474</span></span>
+ <span><math class="testfont"><mtext>&#x1D475;</mtext></math>=<span>1D475</span></span>
+ <span><math class="testfont"><mtext>&#x1D476;</mtext></math>=<span>1D476</span></span>
+ <span><math class="testfont"><mtext>&#x1D477;</mtext></math>=<span>1D477</span></span>
+ <span><math class="testfont"><mtext>&#x1D478;</mtext></math>=<span>1D478</span></span>
+ <span><math class="testfont"><mtext>&#x1D479;</mtext></math>=<span>1D479</span></span>
+ <span><math class="testfont"><mtext>&#x1D47A;</mtext></math>=<span>1D47A</span></span>
+ <span><math class="testfont"><mtext>&#x1D47B;</mtext></math>=<span>1D47B</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D47C;</mtext></math>=<span>1D47C</span></span>
+ <span><math class="testfont"><mtext>&#x1D47D;</mtext></math>=<span>1D47D</span></span>
+ <span><math class="testfont"><mtext>&#x1D47E;</mtext></math>=<span>1D47E</span></span>
+ <span><math class="testfont"><mtext>&#x1D47F;</mtext></math>=<span>1D47F</span></span>
+ <span><math class="testfont"><mtext>&#x1D480;</mtext></math>=<span>1D480</span></span>
+ <span><math class="testfont"><mtext>&#x1D481;</mtext></math>=<span>1D481</span></span>
+ <span><math class="testfont"><mtext>&#x1D482;</mtext></math>=<span>1D482</span></span>
+ <span><math class="testfont"><mtext>&#x1D483;</mtext></math>=<span>1D483</span></span>
+ <span><math class="testfont"><mtext>&#x1D484;</mtext></math>=<span>1D484</span></span>
+ <span><math class="testfont"><mtext>&#x1D485;</mtext></math>=<span>1D485</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D486;</mtext></math>=<span>1D486</span></span>
+ <span><math class="testfont"><mtext>&#x1D487;</mtext></math>=<span>1D487</span></span>
+ <span><math class="testfont"><mtext>&#x1D488;</mtext></math>=<span>1D488</span></span>
+ <span><math class="testfont"><mtext>&#x1D489;</mtext></math>=<span>1D489</span></span>
+ <span><math class="testfont"><mtext>&#x1D48A;</mtext></math>=<span>1D48A</span></span>
+ <span><math class="testfont"><mtext>&#x1D48B;</mtext></math>=<span>1D48B</span></span>
+ <span><math class="testfont"><mtext>&#x1D48C;</mtext></math>=<span>1D48C</span></span>
+ <span><math class="testfont"><mtext>&#x1D48D;</mtext></math>=<span>1D48D</span></span>
+ <span><math class="testfont"><mtext>&#x1D48E;</mtext></math>=<span>1D48E</span></span>
+ <span><math class="testfont"><mtext>&#x1D48F;</mtext></math>=<span>1D48F</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D490;</mtext></math>=<span>1D490</span></span>
+ <span><math class="testfont"><mtext>&#x1D491;</mtext></math>=<span>1D491</span></span>
+ <span><math class="testfont"><mtext>&#x1D492;</mtext></math>=<span>1D492</span></span>
+ <span><math class="testfont"><mtext>&#x1D493;</mtext></math>=<span>1D493</span></span>
+ <span><math class="testfont"><mtext>&#x1D494;</mtext></math>=<span>1D494</span></span>
+ <span><math class="testfont"><mtext>&#x1D495;</mtext></math>=<span>1D495</span></span>
+ <span><math class="testfont"><mtext>&#x1D496;</mtext></math>=<span>1D496</span></span>
+ <span><math class="testfont"><mtext>&#x1D497;</mtext></math>=<span>1D497</span></span>
+ <span><math class="testfont"><mtext>&#x1D498;</mtext></math>=<span>1D498</span></span>
+ <span><math class="testfont"><mtext>&#x1D499;</mtext></math>=<span>1D499</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D49A;</mtext></math>=<span>1D49A</span></span>
+ <span><math class="testfont"><mtext>&#x1D49B;</mtext></math>=<span>1D49B</span></span>
+ <span><math class="testfont"><mtext>&#x1D71C;</mtext></math>=<span>1D71C</span></span>
+ <span><math class="testfont"><mtext>&#x1D71D;</mtext></math>=<span>1D71D</span></span>
+ <span><math class="testfont"><mtext>&#x1D71E;</mtext></math>=<span>1D71E</span></span>
+ <span><math class="testfont"><mtext>&#x1D71F;</mtext></math>=<span>1D71F</span></span>
+ <span><math class="testfont"><mtext>&#x1D720;</mtext></math>=<span>1D720</span></span>
+ <span><math class="testfont"><mtext>&#x1D721;</mtext></math>=<span>1D721</span></span>
+ <span><math class="testfont"><mtext>&#x1D722;</mtext></math>=<span>1D722</span></span>
+ <span><math class="testfont"><mtext>&#x1D723;</mtext></math>=<span>1D723</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D724;</mtext></math>=<span>1D724</span></span>
+ <span><math class="testfont"><mtext>&#x1D725;</mtext></math>=<span>1D725</span></span>
+ <span><math class="testfont"><mtext>&#x1D726;</mtext></math>=<span>1D726</span></span>
+ <span><math class="testfont"><mtext>&#x1D727;</mtext></math>=<span>1D727</span></span>
+ <span><math class="testfont"><mtext>&#x1D728;</mtext></math>=<span>1D728</span></span>
+ <span><math class="testfont"><mtext>&#x1D729;</mtext></math>=<span>1D729</span></span>
+ <span><math class="testfont"><mtext>&#x1D72A;</mtext></math>=<span>1D72A</span></span>
+ <span><math class="testfont"><mtext>&#x1D72B;</mtext></math>=<span>1D72B</span></span>
+ <span><math class="testfont"><mtext>&#x1D72C;</mtext></math>=<span>1D72C</span></span>
+ <span><math class="testfont"><mtext>&#x1D72D;</mtext></math>=<span>1D72D</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D72E;</mtext></math>=<span>1D72E</span></span>
+ <span><math class="testfont"><mtext>&#x1D72F;</mtext></math>=<span>1D72F</span></span>
+ <span><math class="testfont"><mtext>&#x1D730;</mtext></math>=<span>1D730</span></span>
+ <span><math class="testfont"><mtext>&#x1D731;</mtext></math>=<span>1D731</span></span>
+ <span><math class="testfont"><mtext>&#x1D732;</mtext></math>=<span>1D732</span></span>
+ <span><math class="testfont"><mtext>&#x1D733;</mtext></math>=<span>1D733</span></span>
+ <span><math class="testfont"><mtext>&#x1D734;</mtext></math>=<span>1D734</span></span>
+ <span><math class="testfont"><mtext>&#x1D735;</mtext></math>=<span>1D735</span></span>
+ <span><math class="testfont"><mtext>&#x1D736;</mtext></math>=<span>1D736</span></span>
+ <span><math class="testfont"><mtext>&#x1D737;</mtext></math>=<span>1D737</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D738;</mtext></math>=<span>1D738</span></span>
+ <span><math class="testfont"><mtext>&#x1D739;</mtext></math>=<span>1D739</span></span>
+ <span><math class="testfont"><mtext>&#x1D73A;</mtext></math>=<span>1D73A</span></span>
+ <span><math class="testfont"><mtext>&#x1D73B;</mtext></math>=<span>1D73B</span></span>
+ <span><math class="testfont"><mtext>&#x1D73C;</mtext></math>=<span>1D73C</span></span>
+ <span><math class="testfont"><mtext>&#x1D73D;</mtext></math>=<span>1D73D</span></span>
+ <span><math class="testfont"><mtext>&#x1D73E;</mtext></math>=<span>1D73E</span></span>
+ <span><math class="testfont"><mtext>&#x1D73F;</mtext></math>=<span>1D73F</span></span>
+ <span><math class="testfont"><mtext>&#x1D740;</mtext></math>=<span>1D740</span></span>
+ <span><math class="testfont"><mtext>&#x1D741;</mtext></math>=<span>1D741</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D742;</mtext></math>=<span>1D742</span></span>
+ <span><math class="testfont"><mtext>&#x1D743;</mtext></math>=<span>1D743</span></span>
+ <span><math class="testfont"><mtext>&#x1D744;</mtext></math>=<span>1D744</span></span>
+ <span><math class="testfont"><mtext>&#x1D745;</mtext></math>=<span>1D745</span></span>
+ <span><math class="testfont"><mtext>&#x1D746;</mtext></math>=<span>1D746</span></span>
+ <span><math class="testfont"><mtext>&#x1D747;</mtext></math>=<span>1D747</span></span>
+ <span><math class="testfont"><mtext>&#x1D748;</mtext></math>=<span>1D748</span></span>
+ <span><math class="testfont"><mtext>&#x1D749;</mtext></math>=<span>1D749</span></span>
+ <span><math class="testfont"><mtext>&#x1D74A;</mtext></math>=<span>1D74A</span></span>
+ <span><math class="testfont"><mtext>&#x1D74B;</mtext></math>=<span>1D74B</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D74C;</mtext></math>=<span>1D74C</span></span>
+ <span><math class="testfont"><mtext>&#x1D74D;</mtext></math>=<span>1D74D</span></span>
+ <span><math class="testfont"><mtext>&#x1D74E;</mtext></math>=<span>1D74E</span></span>
+ <span><math class="testfont"><mtext>&#x1D74F;</mtext></math>=<span>1D74F</span></span>
+ <span><math class="testfont"><mtext>&#x1D750;</mtext></math>=<span>1D750</span></span>
+ <span><math class="testfont"><mtext>&#x1D751;</mtext></math>=<span>1D751</span></span>
+ <span><math class="testfont"><mtext>&#x1D752;</mtext></math>=<span>1D752</span></span>
+ <span><math class="testfont"><mtext>&#x1D753;</mtext></math>=<span>1D753</span></span>
+ <span><math class="testfont"><mtext>&#x1D754;</mtext></math>=<span>1D754</span></span>
+ <span><math class="testfont"><mtext>&#x1D755;</mtext></math>=<span>1D755</span></span><br/>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-italic.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-italic.html
new file mode 100644
index 0000000000..725559a571
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-italic.html
@@ -0,0 +1,143 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant bold-italic</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#bold-italic-mappings">
+<link rel="match" href="mathvariant-bold-italic-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a bold-italic mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-bold-italic.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x41;</mtext></math>=<span>1D468</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x42;</mtext></math>=<span>1D469</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x43;</mtext></math>=<span>1D46A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x44;</mtext></math>=<span>1D46B</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x45;</mtext></math>=<span>1D46C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x46;</mtext></math>=<span>1D46D</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x47;</mtext></math>=<span>1D46E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x48;</mtext></math>=<span>1D46F</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x49;</mtext></math>=<span>1D470</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x4A;</mtext></math>=<span>1D471</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x4B;</mtext></math>=<span>1D472</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x4C;</mtext></math>=<span>1D473</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x4D;</mtext></math>=<span>1D474</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x4E;</mtext></math>=<span>1D475</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x4F;</mtext></math>=<span>1D476</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x50;</mtext></math>=<span>1D477</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x51;</mtext></math>=<span>1D478</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x52;</mtext></math>=<span>1D479</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x53;</mtext></math>=<span>1D47A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x54;</mtext></math>=<span>1D47B</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x55;</mtext></math>=<span>1D47C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x56;</mtext></math>=<span>1D47D</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x57;</mtext></math>=<span>1D47E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x58;</mtext></math>=<span>1D47F</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x59;</mtext></math>=<span>1D480</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x5A;</mtext></math>=<span>1D481</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x61;</mtext></math>=<span>1D482</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x62;</mtext></math>=<span>1D483</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x63;</mtext></math>=<span>1D484</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x64;</mtext></math>=<span>1D485</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x65;</mtext></math>=<span>1D486</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x66;</mtext></math>=<span>1D487</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x67;</mtext></math>=<span>1D488</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x68;</mtext></math>=<span>1D489</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x69;</mtext></math>=<span>1D48A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x6A;</mtext></math>=<span>1D48B</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x6B;</mtext></math>=<span>1D48C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x6C;</mtext></math>=<span>1D48D</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x6D;</mtext></math>=<span>1D48E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x6E;</mtext></math>=<span>1D48F</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x6F;</mtext></math>=<span>1D490</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x70;</mtext></math>=<span>1D491</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x71;</mtext></math>=<span>1D492</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x72;</mtext></math>=<span>1D493</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x73;</mtext></math>=<span>1D494</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x74;</mtext></math>=<span>1D495</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x75;</mtext></math>=<span>1D496</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x76;</mtext></math>=<span>1D497</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x77;</mtext></math>=<span>1D498</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x78;</mtext></math>=<span>1D499</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x79;</mtext></math>=<span>1D49A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x7A;</mtext></math>=<span>1D49B</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x391;</mtext></math>=<span>1D71C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x392;</mtext></math>=<span>1D71D</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x393;</mtext></math>=<span>1D71E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x394;</mtext></math>=<span>1D71F</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x395;</mtext></math>=<span>1D720</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x396;</mtext></math>=<span>1D721</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x397;</mtext></math>=<span>1D722</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x398;</mtext></math>=<span>1D723</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x399;</mtext></math>=<span>1D724</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x39A;</mtext></math>=<span>1D725</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x39B;</mtext></math>=<span>1D726</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x39C;</mtext></math>=<span>1D727</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x39D;</mtext></math>=<span>1D728</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x39E;</mtext></math>=<span>1D729</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x39F;</mtext></math>=<span>1D72A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A0;</mtext></math>=<span>1D72B</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A1;</mtext></math>=<span>1D72C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3F4;</mtext></math>=<span>1D72D</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A3;</mtext></math>=<span>1D72E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A4;</mtext></math>=<span>1D72F</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A5;</mtext></math>=<span>1D730</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A6;</mtext></math>=<span>1D731</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A7;</mtext></math>=<span>1D732</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A8;</mtext></math>=<span>1D733</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3A9;</mtext></math>=<span>1D734</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x2207;</mtext></math>=<span>1D735</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3B1;</mtext></math>=<span>1D736</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3B2;</mtext></math>=<span>1D737</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3B3;</mtext></math>=<span>1D738</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3B4;</mtext></math>=<span>1D739</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3B5;</mtext></math>=<span>1D73A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3B6;</mtext></math>=<span>1D73B</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3B7;</mtext></math>=<span>1D73C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3B8;</mtext></math>=<span>1D73D</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3B9;</mtext></math>=<span>1D73E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3BA;</mtext></math>=<span>1D73F</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3BB;</mtext></math>=<span>1D740</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3BC;</mtext></math>=<span>1D741</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3BD;</mtext></math>=<span>1D742</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3BE;</mtext></math>=<span>1D743</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3BF;</mtext></math>=<span>1D744</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3C0;</mtext></math>=<span>1D745</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3C1;</mtext></math>=<span>1D746</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3C2;</mtext></math>=<span>1D747</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3C3;</mtext></math>=<span>1D748</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3C4;</mtext></math>=<span>1D749</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3C5;</mtext></math>=<span>1D74A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3C6;</mtext></math>=<span>1D74B</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3C7;</mtext></math>=<span>1D74C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3C8;</mtext></math>=<span>1D74D</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3C9;</mtext></math>=<span>1D74E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x2202;</mtext></math>=<span>1D74F</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3F5;</mtext></math>=<span>1D750</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3D1;</mtext></math>=<span>1D751</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3F0;</mtext></math>=<span>1D752</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3D5;</mtext></math>=<span>1D753</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3F1;</mtext></math>=<span>1D754</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-italic">&#x3D6;</mtext></math>=<span>1D755</span></span><br/>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-ref.html
new file mode 100644
index 0000000000..ac24ab5b00
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-ref.html
@@ -0,0 +1,149 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant bold (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-bold.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1D400;</mtext></math>=<span>1D400</span></span>
+ <span><math class="testfont"><mtext>&#x1D401;</mtext></math>=<span>1D401</span></span>
+ <span><math class="testfont"><mtext>&#x1D402;</mtext></math>=<span>1D402</span></span>
+ <span><math class="testfont"><mtext>&#x1D403;</mtext></math>=<span>1D403</span></span>
+ <span><math class="testfont"><mtext>&#x1D404;</mtext></math>=<span>1D404</span></span>
+ <span><math class="testfont"><mtext>&#x1D405;</mtext></math>=<span>1D405</span></span>
+ <span><math class="testfont"><mtext>&#x1D406;</mtext></math>=<span>1D406</span></span>
+ <span><math class="testfont"><mtext>&#x1D407;</mtext></math>=<span>1D407</span></span>
+ <span><math class="testfont"><mtext>&#x1D408;</mtext></math>=<span>1D408</span></span>
+ <span><math class="testfont"><mtext>&#x1D409;</mtext></math>=<span>1D409</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D40A;</mtext></math>=<span>1D40A</span></span>
+ <span><math class="testfont"><mtext>&#x1D40B;</mtext></math>=<span>1D40B</span></span>
+ <span><math class="testfont"><mtext>&#x1D40C;</mtext></math>=<span>1D40C</span></span>
+ <span><math class="testfont"><mtext>&#x1D40D;</mtext></math>=<span>1D40D</span></span>
+ <span><math class="testfont"><mtext>&#x1D40E;</mtext></math>=<span>1D40E</span></span>
+ <span><math class="testfont"><mtext>&#x1D40F;</mtext></math>=<span>1D40F</span></span>
+ <span><math class="testfont"><mtext>&#x1D410;</mtext></math>=<span>1D410</span></span>
+ <span><math class="testfont"><mtext>&#x1D411;</mtext></math>=<span>1D411</span></span>
+ <span><math class="testfont"><mtext>&#x1D412;</mtext></math>=<span>1D412</span></span>
+ <span><math class="testfont"><mtext>&#x1D413;</mtext></math>=<span>1D413</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D414;</mtext></math>=<span>1D414</span></span>
+ <span><math class="testfont"><mtext>&#x1D415;</mtext></math>=<span>1D415</span></span>
+ <span><math class="testfont"><mtext>&#x1D416;</mtext></math>=<span>1D416</span></span>
+ <span><math class="testfont"><mtext>&#x1D417;</mtext></math>=<span>1D417</span></span>
+ <span><math class="testfont"><mtext>&#x1D418;</mtext></math>=<span>1D418</span></span>
+ <span><math class="testfont"><mtext>&#x1D419;</mtext></math>=<span>1D419</span></span>
+ <span><math class="testfont"><mtext>&#x1D41A;</mtext></math>=<span>1D41A</span></span>
+ <span><math class="testfont"><mtext>&#x1D41B;</mtext></math>=<span>1D41B</span></span>
+ <span><math class="testfont"><mtext>&#x1D41C;</mtext></math>=<span>1D41C</span></span>
+ <span><math class="testfont"><mtext>&#x1D41D;</mtext></math>=<span>1D41D</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D41E;</mtext></math>=<span>1D41E</span></span>
+ <span><math class="testfont"><mtext>&#x1D41F;</mtext></math>=<span>1D41F</span></span>
+ <span><math class="testfont"><mtext>&#x1D420;</mtext></math>=<span>1D420</span></span>
+ <span><math class="testfont"><mtext>&#x1D421;</mtext></math>=<span>1D421</span></span>
+ <span><math class="testfont"><mtext>&#x1D422;</mtext></math>=<span>1D422</span></span>
+ <span><math class="testfont"><mtext>&#x1D423;</mtext></math>=<span>1D423</span></span>
+ <span><math class="testfont"><mtext>&#x1D424;</mtext></math>=<span>1D424</span></span>
+ <span><math class="testfont"><mtext>&#x1D425;</mtext></math>=<span>1D425</span></span>
+ <span><math class="testfont"><mtext>&#x1D426;</mtext></math>=<span>1D426</span></span>
+ <span><math class="testfont"><mtext>&#x1D427;</mtext></math>=<span>1D427</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D428;</mtext></math>=<span>1D428</span></span>
+ <span><math class="testfont"><mtext>&#x1D429;</mtext></math>=<span>1D429</span></span>
+ <span><math class="testfont"><mtext>&#x1D42A;</mtext></math>=<span>1D42A</span></span>
+ <span><math class="testfont"><mtext>&#x1D42B;</mtext></math>=<span>1D42B</span></span>
+ <span><math class="testfont"><mtext>&#x1D42C;</mtext></math>=<span>1D42C</span></span>
+ <span><math class="testfont"><mtext>&#x1D42D;</mtext></math>=<span>1D42D</span></span>
+ <span><math class="testfont"><mtext>&#x1D42E;</mtext></math>=<span>1D42E</span></span>
+ <span><math class="testfont"><mtext>&#x1D42F;</mtext></math>=<span>1D42F</span></span>
+ <span><math class="testfont"><mtext>&#x1D430;</mtext></math>=<span>1D430</span></span>
+ <span><math class="testfont"><mtext>&#x1D431;</mtext></math>=<span>1D431</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D432;</mtext></math>=<span>1D432</span></span>
+ <span><math class="testfont"><mtext>&#x1D433;</mtext></math>=<span>1D433</span></span>
+ <span><math class="testfont"><mtext>&#x1D6A8;</mtext></math>=<span>1D6A8</span></span>
+ <span><math class="testfont"><mtext>&#x1D6A9;</mtext></math>=<span>1D6A9</span></span>
+ <span><math class="testfont"><mtext>&#x1D6AA;</mtext></math>=<span>1D6AA</span></span>
+ <span><math class="testfont"><mtext>&#x1D6AB;</mtext></math>=<span>1D6AB</span></span>
+ <span><math class="testfont"><mtext>&#x1D6AC;</mtext></math>=<span>1D6AC</span></span>
+ <span><math class="testfont"><mtext>&#x1D6AD;</mtext></math>=<span>1D6AD</span></span>
+ <span><math class="testfont"><mtext>&#x1D6AE;</mtext></math>=<span>1D6AE</span></span>
+ <span><math class="testfont"><mtext>&#x1D6AF;</mtext></math>=<span>1D6AF</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D6B0;</mtext></math>=<span>1D6B0</span></span>
+ <span><math class="testfont"><mtext>&#x1D6B1;</mtext></math>=<span>1D6B1</span></span>
+ <span><math class="testfont"><mtext>&#x1D6B2;</mtext></math>=<span>1D6B2</span></span>
+ <span><math class="testfont"><mtext>&#x1D6B3;</mtext></math>=<span>1D6B3</span></span>
+ <span><math class="testfont"><mtext>&#x1D6B4;</mtext></math>=<span>1D6B4</span></span>
+ <span><math class="testfont"><mtext>&#x1D6B5;</mtext></math>=<span>1D6B5</span></span>
+ <span><math class="testfont"><mtext>&#x1D6B6;</mtext></math>=<span>1D6B6</span></span>
+ <span><math class="testfont"><mtext>&#x1D6B7;</mtext></math>=<span>1D6B7</span></span>
+ <span><math class="testfont"><mtext>&#x1D6B8;</mtext></math>=<span>1D6B8</span></span>
+ <span><math class="testfont"><mtext>&#x1D6B9;</mtext></math>=<span>1D6B9</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D6BA;</mtext></math>=<span>1D6BA</span></span>
+ <span><math class="testfont"><mtext>&#x1D6BB;</mtext></math>=<span>1D6BB</span></span>
+ <span><math class="testfont"><mtext>&#x1D6BC;</mtext></math>=<span>1D6BC</span></span>
+ <span><math class="testfont"><mtext>&#x1D6BD;</mtext></math>=<span>1D6BD</span></span>
+ <span><math class="testfont"><mtext>&#x1D6BE;</mtext></math>=<span>1D6BE</span></span>
+ <span><math class="testfont"><mtext>&#x1D6BF;</mtext></math>=<span>1D6BF</span></span>
+ <span><math class="testfont"><mtext>&#x1D6C0;</mtext></math>=<span>1D6C0</span></span>
+ <span><math class="testfont"><mtext>&#x1D6C1;</mtext></math>=<span>1D6C1</span></span>
+ <span><math class="testfont"><mtext>&#x1D6C2;</mtext></math>=<span>1D6C2</span></span>
+ <span><math class="testfont"><mtext>&#x1D6C3;</mtext></math>=<span>1D6C3</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D6C4;</mtext></math>=<span>1D6C4</span></span>
+ <span><math class="testfont"><mtext>&#x1D6C5;</mtext></math>=<span>1D6C5</span></span>
+ <span><math class="testfont"><mtext>&#x1D6C6;</mtext></math>=<span>1D6C6</span></span>
+ <span><math class="testfont"><mtext>&#x1D6C7;</mtext></math>=<span>1D6C7</span></span>
+ <span><math class="testfont"><mtext>&#x1D6C8;</mtext></math>=<span>1D6C8</span></span>
+ <span><math class="testfont"><mtext>&#x1D6C9;</mtext></math>=<span>1D6C9</span></span>
+ <span><math class="testfont"><mtext>&#x1D6CA;</mtext></math>=<span>1D6CA</span></span>
+ <span><math class="testfont"><mtext>&#x1D6CB;</mtext></math>=<span>1D6CB</span></span>
+ <span><math class="testfont"><mtext>&#x1D6CC;</mtext></math>=<span>1D6CC</span></span>
+ <span><math class="testfont"><mtext>&#x1D6CD;</mtext></math>=<span>1D6CD</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D6CE;</mtext></math>=<span>1D6CE</span></span>
+ <span><math class="testfont"><mtext>&#x1D6CF;</mtext></math>=<span>1D6CF</span></span>
+ <span><math class="testfont"><mtext>&#x1D6D0;</mtext></math>=<span>1D6D0</span></span>
+ <span><math class="testfont"><mtext>&#x1D6D1;</mtext></math>=<span>1D6D1</span></span>
+ <span><math class="testfont"><mtext>&#x1D6D2;</mtext></math>=<span>1D6D2</span></span>
+ <span><math class="testfont"><mtext>&#x1D6D3;</mtext></math>=<span>1D6D3</span></span>
+ <span><math class="testfont"><mtext>&#x1D6D4;</mtext></math>=<span>1D6D4</span></span>
+ <span><math class="testfont"><mtext>&#x1D6D5;</mtext></math>=<span>1D6D5</span></span>
+ <span><math class="testfont"><mtext>&#x1D6D6;</mtext></math>=<span>1D6D6</span></span>
+ <span><math class="testfont"><mtext>&#x1D6D7;</mtext></math>=<span>1D6D7</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D6D8;</mtext></math>=<span>1D6D8</span></span>
+ <span><math class="testfont"><mtext>&#x1D6D9;</mtext></math>=<span>1D6D9</span></span>
+ <span><math class="testfont"><mtext>&#x1D6DA;</mtext></math>=<span>1D6DA</span></span>
+ <span><math class="testfont"><mtext>&#x1D6DB;</mtext></math>=<span>1D6DB</span></span>
+ <span><math class="testfont"><mtext>&#x1D6DC;</mtext></math>=<span>1D6DC</span></span>
+ <span><math class="testfont"><mtext>&#x1D6DD;</mtext></math>=<span>1D6DD</span></span>
+ <span><math class="testfont"><mtext>&#x1D6DE;</mtext></math>=<span>1D6DE</span></span>
+ <span><math class="testfont"><mtext>&#x1D6DF;</mtext></math>=<span>1D6DF</span></span>
+ <span><math class="testfont"><mtext>&#x1D6E0;</mtext></math>=<span>1D6E0</span></span>
+ <span><math class="testfont"><mtext>&#x1D6E1;</mtext></math>=<span>1D6E1</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D7CA;</mtext></math>=<span>1D7CA</span></span>
+ <span><math class="testfont"><mtext>&#x1D7CB;</mtext></math>=<span>1D7CB</span></span>
+ <span><math class="testfont"><mtext>&#x1D7CE;</mtext></math>=<span>1D7CE</span></span>
+ <span><math class="testfont"><mtext>&#x1D7CF;</mtext></math>=<span>1D7CF</span></span>
+ <span><math class="testfont"><mtext>&#x1D7D0;</mtext></math>=<span>1D7D0</span></span>
+ <span><math class="testfont"><mtext>&#x1D7D1;</mtext></math>=<span>1D7D1</span></span>
+ <span><math class="testfont"><mtext>&#x1D7D2;</mtext></math>=<span>1D7D2</span></span>
+ <span><math class="testfont"><mtext>&#x1D7D3;</mtext></math>=<span>1D7D3</span></span>
+ <span><math class="testfont"><mtext>&#x1D7D4;</mtext></math>=<span>1D7D4</span></span>
+ <span><math class="testfont"><mtext>&#x1D7D5;</mtext></math>=<span>1D7D5</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D7D6;</mtext></math>=<span>1D7D6</span></span>
+ <span><math class="testfont"><mtext>&#x1D7D7;</mtext></math>=<span>1D7D7</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-sans-serif-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-sans-serif-ref.html
new file mode 100644
index 0000000000..78c0cc5ea6
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-sans-serif-ref.html
@@ -0,0 +1,147 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant bold-sans-serif (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-bold-sans-serif.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1D5D4;</mtext></math>=<span>1D5D4</span></span>
+ <span><math class="testfont"><mtext>&#x1D5D5;</mtext></math>=<span>1D5D5</span></span>
+ <span><math class="testfont"><mtext>&#x1D5D6;</mtext></math>=<span>1D5D6</span></span>
+ <span><math class="testfont"><mtext>&#x1D5D7;</mtext></math>=<span>1D5D7</span></span>
+ <span><math class="testfont"><mtext>&#x1D5D8;</mtext></math>=<span>1D5D8</span></span>
+ <span><math class="testfont"><mtext>&#x1D5D9;</mtext></math>=<span>1D5D9</span></span>
+ <span><math class="testfont"><mtext>&#x1D5DA;</mtext></math>=<span>1D5DA</span></span>
+ <span><math class="testfont"><mtext>&#x1D5DB;</mtext></math>=<span>1D5DB</span></span>
+ <span><math class="testfont"><mtext>&#x1D5DC;</mtext></math>=<span>1D5DC</span></span>
+ <span><math class="testfont"><mtext>&#x1D5DD;</mtext></math>=<span>1D5DD</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D5DE;</mtext></math>=<span>1D5DE</span></span>
+ <span><math class="testfont"><mtext>&#x1D5DF;</mtext></math>=<span>1D5DF</span></span>
+ <span><math class="testfont"><mtext>&#x1D5E0;</mtext></math>=<span>1D5E0</span></span>
+ <span><math class="testfont"><mtext>&#x1D5E1;</mtext></math>=<span>1D5E1</span></span>
+ <span><math class="testfont"><mtext>&#x1D5E2;</mtext></math>=<span>1D5E2</span></span>
+ <span><math class="testfont"><mtext>&#x1D5E3;</mtext></math>=<span>1D5E3</span></span>
+ <span><math class="testfont"><mtext>&#x1D5E4;</mtext></math>=<span>1D5E4</span></span>
+ <span><math class="testfont"><mtext>&#x1D5E5;</mtext></math>=<span>1D5E5</span></span>
+ <span><math class="testfont"><mtext>&#x1D5E6;</mtext></math>=<span>1D5E6</span></span>
+ <span><math class="testfont"><mtext>&#x1D5E7;</mtext></math>=<span>1D5E7</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D5E8;</mtext></math>=<span>1D5E8</span></span>
+ <span><math class="testfont"><mtext>&#x1D5E9;</mtext></math>=<span>1D5E9</span></span>
+ <span><math class="testfont"><mtext>&#x1D5EA;</mtext></math>=<span>1D5EA</span></span>
+ <span><math class="testfont"><mtext>&#x1D5EB;</mtext></math>=<span>1D5EB</span></span>
+ <span><math class="testfont"><mtext>&#x1D5EC;</mtext></math>=<span>1D5EC</span></span>
+ <span><math class="testfont"><mtext>&#x1D5ED;</mtext></math>=<span>1D5ED</span></span>
+ <span><math class="testfont"><mtext>&#x1D5EE;</mtext></math>=<span>1D5EE</span></span>
+ <span><math class="testfont"><mtext>&#x1D5EF;</mtext></math>=<span>1D5EF</span></span>
+ <span><math class="testfont"><mtext>&#x1D5F0;</mtext></math>=<span>1D5F0</span></span>
+ <span><math class="testfont"><mtext>&#x1D5F1;</mtext></math>=<span>1D5F1</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D5F2;</mtext></math>=<span>1D5F2</span></span>
+ <span><math class="testfont"><mtext>&#x1D5F3;</mtext></math>=<span>1D5F3</span></span>
+ <span><math class="testfont"><mtext>&#x1D5F4;</mtext></math>=<span>1D5F4</span></span>
+ <span><math class="testfont"><mtext>&#x1D5F5;</mtext></math>=<span>1D5F5</span></span>
+ <span><math class="testfont"><mtext>&#x1D5F6;</mtext></math>=<span>1D5F6</span></span>
+ <span><math class="testfont"><mtext>&#x1D5F7;</mtext></math>=<span>1D5F7</span></span>
+ <span><math class="testfont"><mtext>&#x1D5F8;</mtext></math>=<span>1D5F8</span></span>
+ <span><math class="testfont"><mtext>&#x1D5F9;</mtext></math>=<span>1D5F9</span></span>
+ <span><math class="testfont"><mtext>&#x1D5FA;</mtext></math>=<span>1D5FA</span></span>
+ <span><math class="testfont"><mtext>&#x1D5FB;</mtext></math>=<span>1D5FB</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D5FC;</mtext></math>=<span>1D5FC</span></span>
+ <span><math class="testfont"><mtext>&#x1D5FD;</mtext></math>=<span>1D5FD</span></span>
+ <span><math class="testfont"><mtext>&#x1D5FE;</mtext></math>=<span>1D5FE</span></span>
+ <span><math class="testfont"><mtext>&#x1D5FF;</mtext></math>=<span>1D5FF</span></span>
+ <span><math class="testfont"><mtext>&#x1D600;</mtext></math>=<span>1D600</span></span>
+ <span><math class="testfont"><mtext>&#x1D601;</mtext></math>=<span>1D601</span></span>
+ <span><math class="testfont"><mtext>&#x1D602;</mtext></math>=<span>1D602</span></span>
+ <span><math class="testfont"><mtext>&#x1D603;</mtext></math>=<span>1D603</span></span>
+ <span><math class="testfont"><mtext>&#x1D604;</mtext></math>=<span>1D604</span></span>
+ <span><math class="testfont"><mtext>&#x1D605;</mtext></math>=<span>1D605</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D606;</mtext></math>=<span>1D606</span></span>
+ <span><math class="testfont"><mtext>&#x1D607;</mtext></math>=<span>1D607</span></span>
+ <span><math class="testfont"><mtext>&#x1D756;</mtext></math>=<span>1D756</span></span>
+ <span><math class="testfont"><mtext>&#x1D757;</mtext></math>=<span>1D757</span></span>
+ <span><math class="testfont"><mtext>&#x1D758;</mtext></math>=<span>1D758</span></span>
+ <span><math class="testfont"><mtext>&#x1D759;</mtext></math>=<span>1D759</span></span>
+ <span><math class="testfont"><mtext>&#x1D75A;</mtext></math>=<span>1D75A</span></span>
+ <span><math class="testfont"><mtext>&#x1D75B;</mtext></math>=<span>1D75B</span></span>
+ <span><math class="testfont"><mtext>&#x1D75C;</mtext></math>=<span>1D75C</span></span>
+ <span><math class="testfont"><mtext>&#x1D75D;</mtext></math>=<span>1D75D</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D75E;</mtext></math>=<span>1D75E</span></span>
+ <span><math class="testfont"><mtext>&#x1D75F;</mtext></math>=<span>1D75F</span></span>
+ <span><math class="testfont"><mtext>&#x1D760;</mtext></math>=<span>1D760</span></span>
+ <span><math class="testfont"><mtext>&#x1D761;</mtext></math>=<span>1D761</span></span>
+ <span><math class="testfont"><mtext>&#x1D762;</mtext></math>=<span>1D762</span></span>
+ <span><math class="testfont"><mtext>&#x1D763;</mtext></math>=<span>1D763</span></span>
+ <span><math class="testfont"><mtext>&#x1D764;</mtext></math>=<span>1D764</span></span>
+ <span><math class="testfont"><mtext>&#x1D765;</mtext></math>=<span>1D765</span></span>
+ <span><math class="testfont"><mtext>&#x1D766;</mtext></math>=<span>1D766</span></span>
+ <span><math class="testfont"><mtext>&#x1D767;</mtext></math>=<span>1D767</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D768;</mtext></math>=<span>1D768</span></span>
+ <span><math class="testfont"><mtext>&#x1D769;</mtext></math>=<span>1D769</span></span>
+ <span><math class="testfont"><mtext>&#x1D76A;</mtext></math>=<span>1D76A</span></span>
+ <span><math class="testfont"><mtext>&#x1D76B;</mtext></math>=<span>1D76B</span></span>
+ <span><math class="testfont"><mtext>&#x1D76C;</mtext></math>=<span>1D76C</span></span>
+ <span><math class="testfont"><mtext>&#x1D76D;</mtext></math>=<span>1D76D</span></span>
+ <span><math class="testfont"><mtext>&#x1D76E;</mtext></math>=<span>1D76E</span></span>
+ <span><math class="testfont"><mtext>&#x1D76F;</mtext></math>=<span>1D76F</span></span>
+ <span><math class="testfont"><mtext>&#x1D770;</mtext></math>=<span>1D770</span></span>
+ <span><math class="testfont"><mtext>&#x1D771;</mtext></math>=<span>1D771</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D772;</mtext></math>=<span>1D772</span></span>
+ <span><math class="testfont"><mtext>&#x1D773;</mtext></math>=<span>1D773</span></span>
+ <span><math class="testfont"><mtext>&#x1D774;</mtext></math>=<span>1D774</span></span>
+ <span><math class="testfont"><mtext>&#x1D775;</mtext></math>=<span>1D775</span></span>
+ <span><math class="testfont"><mtext>&#x1D776;</mtext></math>=<span>1D776</span></span>
+ <span><math class="testfont"><mtext>&#x1D777;</mtext></math>=<span>1D777</span></span>
+ <span><math class="testfont"><mtext>&#x1D778;</mtext></math>=<span>1D778</span></span>
+ <span><math class="testfont"><mtext>&#x1D779;</mtext></math>=<span>1D779</span></span>
+ <span><math class="testfont"><mtext>&#x1D77A;</mtext></math>=<span>1D77A</span></span>
+ <span><math class="testfont"><mtext>&#x1D77B;</mtext></math>=<span>1D77B</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D77C;</mtext></math>=<span>1D77C</span></span>
+ <span><math class="testfont"><mtext>&#x1D77D;</mtext></math>=<span>1D77D</span></span>
+ <span><math class="testfont"><mtext>&#x1D77E;</mtext></math>=<span>1D77E</span></span>
+ <span><math class="testfont"><mtext>&#x1D77F;</mtext></math>=<span>1D77F</span></span>
+ <span><math class="testfont"><mtext>&#x1D780;</mtext></math>=<span>1D780</span></span>
+ <span><math class="testfont"><mtext>&#x1D781;</mtext></math>=<span>1D781</span></span>
+ <span><math class="testfont"><mtext>&#x1D782;</mtext></math>=<span>1D782</span></span>
+ <span><math class="testfont"><mtext>&#x1D783;</mtext></math>=<span>1D783</span></span>
+ <span><math class="testfont"><mtext>&#x1D784;</mtext></math>=<span>1D784</span></span>
+ <span><math class="testfont"><mtext>&#x1D785;</mtext></math>=<span>1D785</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D786;</mtext></math>=<span>1D786</span></span>
+ <span><math class="testfont"><mtext>&#x1D787;</mtext></math>=<span>1D787</span></span>
+ <span><math class="testfont"><mtext>&#x1D788;</mtext></math>=<span>1D788</span></span>
+ <span><math class="testfont"><mtext>&#x1D789;</mtext></math>=<span>1D789</span></span>
+ <span><math class="testfont"><mtext>&#x1D78A;</mtext></math>=<span>1D78A</span></span>
+ <span><math class="testfont"><mtext>&#x1D78B;</mtext></math>=<span>1D78B</span></span>
+ <span><math class="testfont"><mtext>&#x1D78C;</mtext></math>=<span>1D78C</span></span>
+ <span><math class="testfont"><mtext>&#x1D78D;</mtext></math>=<span>1D78D</span></span>
+ <span><math class="testfont"><mtext>&#x1D78E;</mtext></math>=<span>1D78E</span></span>
+ <span><math class="testfont"><mtext>&#x1D78F;</mtext></math>=<span>1D78F</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D7EC;</mtext></math>=<span>1D7EC</span></span>
+ <span><math class="testfont"><mtext>&#x1D7ED;</mtext></math>=<span>1D7ED</span></span>
+ <span><math class="testfont"><mtext>&#x1D7EE;</mtext></math>=<span>1D7EE</span></span>
+ <span><math class="testfont"><mtext>&#x1D7EF;</mtext></math>=<span>1D7EF</span></span>
+ <span><math class="testfont"><mtext>&#x1D7F0;</mtext></math>=<span>1D7F0</span></span>
+ <span><math class="testfont"><mtext>&#x1D7F1;</mtext></math>=<span>1D7F1</span></span>
+ <span><math class="testfont"><mtext>&#x1D7F2;</mtext></math>=<span>1D7F2</span></span>
+ <span><math class="testfont"><mtext>&#x1D7F3;</mtext></math>=<span>1D7F3</span></span>
+ <span><math class="testfont"><mtext>&#x1D7F4;</mtext></math>=<span>1D7F4</span></span>
+ <span><math class="testfont"><mtext>&#x1D7F5;</mtext></math>=<span>1D7F5</span></span><br/>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-sans-serif.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-sans-serif.html
new file mode 100644
index 0000000000..0e0662dff6
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-sans-serif.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant bold-sans-serif</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#bold-sans-serif-mappings">
+<link rel="match" href="mathvariant-bold-sans-serif-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a bold-sans-serif mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-bold-sans-serif.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x41;</mtext></math>=<span>1D5D4</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x42;</mtext></math>=<span>1D5D5</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x43;</mtext></math>=<span>1D5D6</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x44;</mtext></math>=<span>1D5D7</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x45;</mtext></math>=<span>1D5D8</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x46;</mtext></math>=<span>1D5D9</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x47;</mtext></math>=<span>1D5DA</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x48;</mtext></math>=<span>1D5DB</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x49;</mtext></math>=<span>1D5DC</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x4A;</mtext></math>=<span>1D5DD</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x4B;</mtext></math>=<span>1D5DE</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x4C;</mtext></math>=<span>1D5DF</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x4D;</mtext></math>=<span>1D5E0</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x4E;</mtext></math>=<span>1D5E1</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x4F;</mtext></math>=<span>1D5E2</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x50;</mtext></math>=<span>1D5E3</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x51;</mtext></math>=<span>1D5E4</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x52;</mtext></math>=<span>1D5E5</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x53;</mtext></math>=<span>1D5E6</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x54;</mtext></math>=<span>1D5E7</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x55;</mtext></math>=<span>1D5E8</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x56;</mtext></math>=<span>1D5E9</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x57;</mtext></math>=<span>1D5EA</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x58;</mtext></math>=<span>1D5EB</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x59;</mtext></math>=<span>1D5EC</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x5A;</mtext></math>=<span>1D5ED</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x61;</mtext></math>=<span>1D5EE</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x62;</mtext></math>=<span>1D5EF</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x63;</mtext></math>=<span>1D5F0</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x64;</mtext></math>=<span>1D5F1</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x65;</mtext></math>=<span>1D5F2</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x66;</mtext></math>=<span>1D5F3</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x67;</mtext></math>=<span>1D5F4</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x68;</mtext></math>=<span>1D5F5</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x69;</mtext></math>=<span>1D5F6</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x6A;</mtext></math>=<span>1D5F7</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x6B;</mtext></math>=<span>1D5F8</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x6C;</mtext></math>=<span>1D5F9</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x6D;</mtext></math>=<span>1D5FA</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x6E;</mtext></math>=<span>1D5FB</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x6F;</mtext></math>=<span>1D5FC</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x70;</mtext></math>=<span>1D5FD</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x71;</mtext></math>=<span>1D5FE</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x72;</mtext></math>=<span>1D5FF</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x73;</mtext></math>=<span>1D600</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x74;</mtext></math>=<span>1D601</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x75;</mtext></math>=<span>1D602</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x76;</mtext></math>=<span>1D603</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x77;</mtext></math>=<span>1D604</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x78;</mtext></math>=<span>1D605</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x79;</mtext></math>=<span>1D606</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x7A;</mtext></math>=<span>1D607</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x391;</mtext></math>=<span>1D756</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x392;</mtext></math>=<span>1D757</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x393;</mtext></math>=<span>1D758</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x394;</mtext></math>=<span>1D759</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x395;</mtext></math>=<span>1D75A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x396;</mtext></math>=<span>1D75B</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x397;</mtext></math>=<span>1D75C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x398;</mtext></math>=<span>1D75D</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x399;</mtext></math>=<span>1D75E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x39A;</mtext></math>=<span>1D75F</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x39B;</mtext></math>=<span>1D760</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x39C;</mtext></math>=<span>1D761</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x39D;</mtext></math>=<span>1D762</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x39E;</mtext></math>=<span>1D763</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x39F;</mtext></math>=<span>1D764</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A0;</mtext></math>=<span>1D765</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A1;</mtext></math>=<span>1D766</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3F4;</mtext></math>=<span>1D767</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A3;</mtext></math>=<span>1D768</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A4;</mtext></math>=<span>1D769</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A5;</mtext></math>=<span>1D76A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A6;</mtext></math>=<span>1D76B</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A7;</mtext></math>=<span>1D76C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A8;</mtext></math>=<span>1D76D</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3A9;</mtext></math>=<span>1D76E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x2207;</mtext></math>=<span>1D76F</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3B1;</mtext></math>=<span>1D770</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3B2;</mtext></math>=<span>1D771</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3B3;</mtext></math>=<span>1D772</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3B4;</mtext></math>=<span>1D773</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3B5;</mtext></math>=<span>1D774</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3B6;</mtext></math>=<span>1D775</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3B7;</mtext></math>=<span>1D776</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3B8;</mtext></math>=<span>1D777</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3B9;</mtext></math>=<span>1D778</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3BA;</mtext></math>=<span>1D779</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3BB;</mtext></math>=<span>1D77A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3BC;</mtext></math>=<span>1D77B</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3BD;</mtext></math>=<span>1D77C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3BE;</mtext></math>=<span>1D77D</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3BF;</mtext></math>=<span>1D77E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3C0;</mtext></math>=<span>1D77F</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3C1;</mtext></math>=<span>1D780</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3C2;</mtext></math>=<span>1D781</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3C3;</mtext></math>=<span>1D782</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3C4;</mtext></math>=<span>1D783</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3C5;</mtext></math>=<span>1D784</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3C6;</mtext></math>=<span>1D785</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3C7;</mtext></math>=<span>1D786</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3C8;</mtext></math>=<span>1D787</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3C9;</mtext></math>=<span>1D788</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x2202;</mtext></math>=<span>1D789</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3F5;</mtext></math>=<span>1D78A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3D1;</mtext></math>=<span>1D78B</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3F0;</mtext></math>=<span>1D78C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3D5;</mtext></math>=<span>1D78D</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3F1;</mtext></math>=<span>1D78E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x3D6;</mtext></math>=<span>1D78F</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x30;</mtext></math>=<span>1D7EC</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x31;</mtext></math>=<span>1D7ED</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x32;</mtext></math>=<span>1D7EE</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x33;</mtext></math>=<span>1D7EF</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x34;</mtext></math>=<span>1D7F0</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x35;</mtext></math>=<span>1D7F1</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x36;</mtext></math>=<span>1D7F2</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x37;</mtext></math>=<span>1D7F3</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x38;</mtext></math>=<span>1D7F4</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-sans-serif">&#x39;</mtext></math>=<span>1D7F5</span></span><br/>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-script-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-script-ref.html
new file mode 100644
index 0000000000..ef11f7fb8f
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-script-ref.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant bold-script (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-bold-script.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1D4D0;</mtext></math>=<span>1D4D0</span></span>
+ <span><math class="testfont"><mtext>&#x1D4D1;</mtext></math>=<span>1D4D1</span></span>
+ <span><math class="testfont"><mtext>&#x1D4D2;</mtext></math>=<span>1D4D2</span></span>
+ <span><math class="testfont"><mtext>&#x1D4D3;</mtext></math>=<span>1D4D3</span></span>
+ <span><math class="testfont"><mtext>&#x1D4D4;</mtext></math>=<span>1D4D4</span></span>
+ <span><math class="testfont"><mtext>&#x1D4D5;</mtext></math>=<span>1D4D5</span></span>
+ <span><math class="testfont"><mtext>&#x1D4D6;</mtext></math>=<span>1D4D6</span></span>
+ <span><math class="testfont"><mtext>&#x1D4D7;</mtext></math>=<span>1D4D7</span></span>
+ <span><math class="testfont"><mtext>&#x1D4D8;</mtext></math>=<span>1D4D8</span></span>
+ <span><math class="testfont"><mtext>&#x1D4D9;</mtext></math>=<span>1D4D9</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D4DA;</mtext></math>=<span>1D4DA</span></span>
+ <span><math class="testfont"><mtext>&#x1D4DB;</mtext></math>=<span>1D4DB</span></span>
+ <span><math class="testfont"><mtext>&#x1D4DC;</mtext></math>=<span>1D4DC</span></span>
+ <span><math class="testfont"><mtext>&#x1D4DD;</mtext></math>=<span>1D4DD</span></span>
+ <span><math class="testfont"><mtext>&#x1D4DE;</mtext></math>=<span>1D4DE</span></span>
+ <span><math class="testfont"><mtext>&#x1D4DF;</mtext></math>=<span>1D4DF</span></span>
+ <span><math class="testfont"><mtext>&#x1D4E0;</mtext></math>=<span>1D4E0</span></span>
+ <span><math class="testfont"><mtext>&#x1D4E1;</mtext></math>=<span>1D4E1</span></span>
+ <span><math class="testfont"><mtext>&#x1D4E2;</mtext></math>=<span>1D4E2</span></span>
+ <span><math class="testfont"><mtext>&#x1D4E3;</mtext></math>=<span>1D4E3</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D4E4;</mtext></math>=<span>1D4E4</span></span>
+ <span><math class="testfont"><mtext>&#x1D4E5;</mtext></math>=<span>1D4E5</span></span>
+ <span><math class="testfont"><mtext>&#x1D4E6;</mtext></math>=<span>1D4E6</span></span>
+ <span><math class="testfont"><mtext>&#x1D4E7;</mtext></math>=<span>1D4E7</span></span>
+ <span><math class="testfont"><mtext>&#x1D4E8;</mtext></math>=<span>1D4E8</span></span>
+ <span><math class="testfont"><mtext>&#x1D4E9;</mtext></math>=<span>1D4E9</span></span>
+ <span><math class="testfont"><mtext>&#x1D4EA;</mtext></math>=<span>1D4EA</span></span>
+ <span><math class="testfont"><mtext>&#x1D4EB;</mtext></math>=<span>1D4EB</span></span>
+ <span><math class="testfont"><mtext>&#x1D4EC;</mtext></math>=<span>1D4EC</span></span>
+ <span><math class="testfont"><mtext>&#x1D4ED;</mtext></math>=<span>1D4ED</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D4EE;</mtext></math>=<span>1D4EE</span></span>
+ <span><math class="testfont"><mtext>&#x1D4EF;</mtext></math>=<span>1D4EF</span></span>
+ <span><math class="testfont"><mtext>&#x1D4F0;</mtext></math>=<span>1D4F0</span></span>
+ <span><math class="testfont"><mtext>&#x1D4F1;</mtext></math>=<span>1D4F1</span></span>
+ <span><math class="testfont"><mtext>&#x1D4F2;</mtext></math>=<span>1D4F2</span></span>
+ <span><math class="testfont"><mtext>&#x1D4F3;</mtext></math>=<span>1D4F3</span></span>
+ <span><math class="testfont"><mtext>&#x1D4F4;</mtext></math>=<span>1D4F4</span></span>
+ <span><math class="testfont"><mtext>&#x1D4F5;</mtext></math>=<span>1D4F5</span></span>
+ <span><math class="testfont"><mtext>&#x1D4F6;</mtext></math>=<span>1D4F6</span></span>
+ <span><math class="testfont"><mtext>&#x1D4F7;</mtext></math>=<span>1D4F7</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D4F8;</mtext></math>=<span>1D4F8</span></span>
+ <span><math class="testfont"><mtext>&#x1D4F9;</mtext></math>=<span>1D4F9</span></span>
+ <span><math class="testfont"><mtext>&#x1D4FA;</mtext></math>=<span>1D4FA</span></span>
+ <span><math class="testfont"><mtext>&#x1D4FB;</mtext></math>=<span>1D4FB</span></span>
+ <span><math class="testfont"><mtext>&#x1D4FC;</mtext></math>=<span>1D4FC</span></span>
+ <span><math class="testfont"><mtext>&#x1D4FD;</mtext></math>=<span>1D4FD</span></span>
+ <span><math class="testfont"><mtext>&#x1D4FE;</mtext></math>=<span>1D4FE</span></span>
+ <span><math class="testfont"><mtext>&#x1D4FF;</mtext></math>=<span>1D4FF</span></span>
+ <span><math class="testfont"><mtext>&#x1D500;</mtext></math>=<span>1D500</span></span>
+ <span><math class="testfont"><mtext>&#x1D501;</mtext></math>=<span>1D501</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D502;</mtext></math>=<span>1D502</span></span>
+ <span><math class="testfont"><mtext>&#x1D503;</mtext></math>=<span>1D503</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-script.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-script.html
new file mode 100644
index 0000000000..0e775949f9
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold-script.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant bold-script</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#bold-script-mappings">
+<link rel="match" href="mathvariant-bold-script-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a bold-script mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-bold-script.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x41;</mtext></math>=<span>1D4D0</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x42;</mtext></math>=<span>1D4D1</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x43;</mtext></math>=<span>1D4D2</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x44;</mtext></math>=<span>1D4D3</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x45;</mtext></math>=<span>1D4D4</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x46;</mtext></math>=<span>1D4D5</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x47;</mtext></math>=<span>1D4D6</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x48;</mtext></math>=<span>1D4D7</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x49;</mtext></math>=<span>1D4D8</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x4A;</mtext></math>=<span>1D4D9</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x4B;</mtext></math>=<span>1D4DA</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x4C;</mtext></math>=<span>1D4DB</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x4D;</mtext></math>=<span>1D4DC</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x4E;</mtext></math>=<span>1D4DD</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x4F;</mtext></math>=<span>1D4DE</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x50;</mtext></math>=<span>1D4DF</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x51;</mtext></math>=<span>1D4E0</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x52;</mtext></math>=<span>1D4E1</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x53;</mtext></math>=<span>1D4E2</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x54;</mtext></math>=<span>1D4E3</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x55;</mtext></math>=<span>1D4E4</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x56;</mtext></math>=<span>1D4E5</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x57;</mtext></math>=<span>1D4E6</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x58;</mtext></math>=<span>1D4E7</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x59;</mtext></math>=<span>1D4E8</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x5A;</mtext></math>=<span>1D4E9</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x61;</mtext></math>=<span>1D4EA</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x62;</mtext></math>=<span>1D4EB</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x63;</mtext></math>=<span>1D4EC</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x64;</mtext></math>=<span>1D4ED</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x65;</mtext></math>=<span>1D4EE</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x66;</mtext></math>=<span>1D4EF</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x67;</mtext></math>=<span>1D4F0</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x68;</mtext></math>=<span>1D4F1</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x69;</mtext></math>=<span>1D4F2</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x6A;</mtext></math>=<span>1D4F3</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x6B;</mtext></math>=<span>1D4F4</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x6C;</mtext></math>=<span>1D4F5</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x6D;</mtext></math>=<span>1D4F6</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x6E;</mtext></math>=<span>1D4F7</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x6F;</mtext></math>=<span>1D4F8</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x70;</mtext></math>=<span>1D4F9</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x71;</mtext></math>=<span>1D4FA</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x72;</mtext></math>=<span>1D4FB</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x73;</mtext></math>=<span>1D4FC</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x74;</mtext></math>=<span>1D4FD</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x75;</mtext></math>=<span>1D4FE</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x76;</mtext></math>=<span>1D4FF</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x77;</mtext></math>=<span>1D500</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x78;</mtext></math>=<span>1D501</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x79;</mtext></math>=<span>1D502</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold-script">&#x7A;</mtext></math>=<span>1D503</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold.html
new file mode 100644
index 0000000000..db5f4755be
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-bold.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant bold</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#bold-mappings">
+<link rel="match" href="mathvariant-bold-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a bold mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-bold.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x41;</mtext></math>=<span>1D400</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x42;</mtext></math>=<span>1D401</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x43;</mtext></math>=<span>1D402</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x44;</mtext></math>=<span>1D403</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x45;</mtext></math>=<span>1D404</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x46;</mtext></math>=<span>1D405</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x47;</mtext></math>=<span>1D406</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x48;</mtext></math>=<span>1D407</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x49;</mtext></math>=<span>1D408</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x4A;</mtext></math>=<span>1D409</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x4B;</mtext></math>=<span>1D40A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x4C;</mtext></math>=<span>1D40B</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x4D;</mtext></math>=<span>1D40C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x4E;</mtext></math>=<span>1D40D</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x4F;</mtext></math>=<span>1D40E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x50;</mtext></math>=<span>1D40F</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x51;</mtext></math>=<span>1D410</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x52;</mtext></math>=<span>1D411</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x53;</mtext></math>=<span>1D412</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x54;</mtext></math>=<span>1D413</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x55;</mtext></math>=<span>1D414</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x56;</mtext></math>=<span>1D415</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x57;</mtext></math>=<span>1D416</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x58;</mtext></math>=<span>1D417</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x59;</mtext></math>=<span>1D418</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x5A;</mtext></math>=<span>1D419</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x61;</mtext></math>=<span>1D41A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x62;</mtext></math>=<span>1D41B</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x63;</mtext></math>=<span>1D41C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x64;</mtext></math>=<span>1D41D</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x65;</mtext></math>=<span>1D41E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x66;</mtext></math>=<span>1D41F</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x67;</mtext></math>=<span>1D420</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x68;</mtext></math>=<span>1D421</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x69;</mtext></math>=<span>1D422</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x6A;</mtext></math>=<span>1D423</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x6B;</mtext></math>=<span>1D424</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x6C;</mtext></math>=<span>1D425</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x6D;</mtext></math>=<span>1D426</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x6E;</mtext></math>=<span>1D427</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x6F;</mtext></math>=<span>1D428</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x70;</mtext></math>=<span>1D429</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x71;</mtext></math>=<span>1D42A</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x72;</mtext></math>=<span>1D42B</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x73;</mtext></math>=<span>1D42C</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x74;</mtext></math>=<span>1D42D</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x75;</mtext></math>=<span>1D42E</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x76;</mtext></math>=<span>1D42F</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x77;</mtext></math>=<span>1D430</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x78;</mtext></math>=<span>1D431</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x79;</mtext></math>=<span>1D432</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x7A;</mtext></math>=<span>1D433</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x391;</mtext></math>=<span>1D6A8</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x392;</mtext></math>=<span>1D6A9</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x393;</mtext></math>=<span>1D6AA</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x394;</mtext></math>=<span>1D6AB</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x395;</mtext></math>=<span>1D6AC</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x396;</mtext></math>=<span>1D6AD</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x397;</mtext></math>=<span>1D6AE</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x398;</mtext></math>=<span>1D6AF</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x399;</mtext></math>=<span>1D6B0</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x39A;</mtext></math>=<span>1D6B1</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x39B;</mtext></math>=<span>1D6B2</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x39C;</mtext></math>=<span>1D6B3</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x39D;</mtext></math>=<span>1D6B4</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x39E;</mtext></math>=<span>1D6B5</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x39F;</mtext></math>=<span>1D6B6</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3A0;</mtext></math>=<span>1D6B7</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3A1;</mtext></math>=<span>1D6B8</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3F4;</mtext></math>=<span>1D6B9</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3A3;</mtext></math>=<span>1D6BA</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3A4;</mtext></math>=<span>1D6BB</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3A5;</mtext></math>=<span>1D6BC</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3A6;</mtext></math>=<span>1D6BD</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3A7;</mtext></math>=<span>1D6BE</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3A8;</mtext></math>=<span>1D6BF</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3A9;</mtext></math>=<span>1D6C0</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x2207;</mtext></math>=<span>1D6C1</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3B1;</mtext></math>=<span>1D6C2</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3B2;</mtext></math>=<span>1D6C3</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3B3;</mtext></math>=<span>1D6C4</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3B4;</mtext></math>=<span>1D6C5</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3B5;</mtext></math>=<span>1D6C6</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3B6;</mtext></math>=<span>1D6C7</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3B7;</mtext></math>=<span>1D6C8</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3B8;</mtext></math>=<span>1D6C9</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3B9;</mtext></math>=<span>1D6CA</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3BA;</mtext></math>=<span>1D6CB</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3BB;</mtext></math>=<span>1D6CC</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3BC;</mtext></math>=<span>1D6CD</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3BD;</mtext></math>=<span>1D6CE</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3BE;</mtext></math>=<span>1D6CF</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3BF;</mtext></math>=<span>1D6D0</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3C0;</mtext></math>=<span>1D6D1</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3C1;</mtext></math>=<span>1D6D2</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3C2;</mtext></math>=<span>1D6D3</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3C3;</mtext></math>=<span>1D6D4</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3C4;</mtext></math>=<span>1D6D5</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3C5;</mtext></math>=<span>1D6D6</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3C6;</mtext></math>=<span>1D6D7</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3C7;</mtext></math>=<span>1D6D8</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3C8;</mtext></math>=<span>1D6D9</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3C9;</mtext></math>=<span>1D6DA</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x2202;</mtext></math>=<span>1D6DB</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3F5;</mtext></math>=<span>1D6DC</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3D1;</mtext></math>=<span>1D6DD</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3F0;</mtext></math>=<span>1D6DE</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3D5;</mtext></math>=<span>1D6DF</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3F1;</mtext></math>=<span>1D6E0</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3D6;</mtext></math>=<span>1D6E1</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3DC;</mtext></math>=<span>1D7CA</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x3DD;</mtext></math>=<span>1D7CB</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x30;</mtext></math>=<span>1D7CE</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x31;</mtext></math>=<span>1D7CF</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x32;</mtext></math>=<span>1D7D0</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x33;</mtext></math>=<span>1D7D1</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x34;</mtext></math>=<span>1D7D2</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x35;</mtext></math>=<span>1D7D3</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x36;</mtext></math>=<span>1D7D4</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x37;</mtext></math>=<span>1D7D5</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x38;</mtext></math>=<span>1D7D6</span></span>
+ <span><math class="testfont"><mtext mathvariant="bold">&#x39;</mtext></math>=<span>1D7D7</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-case-sensitivity-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-case-sensitivity-ref.html
new file mode 100644
index 0000000000..28d9acc1f4
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-case-sensitivity-ref.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant case sensitivity</title>
+<style>
+ @font-face {
+ font-family: mathvariant-bold-fraktur;
+ src: url("/fonts/math/mathvariant-bold-fraktur.woff");
+ }
+ @font-face {
+ font-family: mathvariant-bold;
+ src: url("/fonts/math/mathvariant-bold.woff");
+ }
+ @font-face {
+ font-family: mathvariant-bold-italic;
+ src: url("/fonts/math/mathvariant-bold-italic.woff");
+ }
+ @font-face {
+ font-family: mathvariant-bold-sans-serif;
+ src: url("/fonts/math/mathvariant-bold-sans-serif.woff");
+ }
+ @font-face {
+ font-family: mathvariant-bold-script;
+ src: url("/fonts/math/mathvariant-bold-script.woff");
+ }
+ @font-face {
+ font-family: mathvariant-double-struck;
+ src: url("/fonts/math/mathvariant-double-struck.woff");
+ }
+ @font-face {
+ font-family: mathvariant-fraktur;
+ src: url("/fonts/math/mathvariant-fraktur.woff");
+ }
+ @font-face {
+ font-family: mathvariant-initial;
+ src: url("/fonts/math/mathvariant-initial.woff");
+ }
+ @font-face {
+ font-family: mathvariant-italic;
+ src: url("/fonts/math/mathvariant-italic.woff");
+ }
+ @font-face {
+ font-family: mathvariant-looped;
+ src: url("/fonts/math/mathvariant-looped.woff");
+ }
+ @font-face {
+ font-family: mathvariant-monospace;
+ src: url("/fonts/math/mathvariant-monospace.woff");
+ }
+ @font-face {
+ font-family: mathvariant-sans-serif-bold-italic;
+ src: url("/fonts/math/mathvariant-sans-serif-bold-italic.woff");
+ }
+ @font-face {
+ font-family: mathvariant-sans-serif;
+ src: url("/fonts/math/mathvariant-sans-serif.woff");
+ }
+ @font-face {
+ font-family: mathvariant-sans-serif-italic;
+ src: url("/fonts/math/mathvariant-sans-serif-italic.woff");
+ }
+ @font-face {
+ font-family: mathvariant-script;
+ src: url("/fonts/math/mathvariant-script.woff");
+ }
+ @font-face {
+ font-family: mathvariant-stretched;
+ src: url("/fonts/math/mathvariant-stretched.woff");
+ }
+ @font-face {
+ font-family: mathvariant-tailed;
+ src: url("/fonts/math/mathvariant-tailed.woff");
+ }
+</style>
+<body>
+ <p>
+ <math style="font-family: mathvariant-bold-fraktur">
+ <mtext>&#x1D56C;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-bold">
+ <mtext>&#x1D400;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-bold-italic">
+ <mtext>&#x1D468;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-bold-sans-serif">
+ <mtext>&#x1D5D4;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-bold-script">
+ <mtext>&#x1D4D0;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-double-struck">
+ <mtext>&#x1D538;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-fraktur">
+ <mtext>&#x1D504;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-initial">
+ <mtext>&#x1EE30;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-italic">
+ <mtext>&#x1D434;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-looped">
+ <mtext>&#x1EE90;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-monospace">
+ <mtext>&#x1D670;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-sans-serif-bold-italic">
+ <mtext>&#x1D63C;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-sans-serif">
+ <mtext>&#x1D5A0;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-sans-serif-italic">
+ <mtext>&#x1D608;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-script">
+ <mtext>&#x1D49C;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-stretched">
+ <mtext>&#x1EE70;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-tailed">
+ <mtext>&#x1EE52;</mtext>
+ </math>
+ </p>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-case-sensitivity.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-case-sensitivity.html
new file mode 100644
index 0000000000..21c8300a7a
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-case-sensitivity.html
@@ -0,0 +1,168 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant case sensitivity</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="match" href="mathvariant-case-sensitivity-ref.html"/>
+<meta name="assert" content="Verify that mathvariant value is case insensitive">
+<style>
+ @font-face {
+ font-family: mathvariant-bold-fraktur;
+ src: url("/fonts/math/mathvariant-bold-fraktur.woff");
+ }
+ @font-face {
+ font-family: mathvariant-bold;
+ src: url("/fonts/math/mathvariant-bold.woff");
+ }
+ @font-face {
+ font-family: mathvariant-bold-italic;
+ src: url("/fonts/math/mathvariant-bold-italic.woff");
+ }
+ @font-face {
+ font-family: mathvariant-bold-sans-serif;
+ src: url("/fonts/math/mathvariant-bold-sans-serif.woff");
+ }
+ @font-face {
+ font-family: mathvariant-bold-script;
+ src: url("/fonts/math/mathvariant-bold-script.woff");
+ }
+ @font-face {
+ font-family: mathvariant-double-struck;
+ src: url("/fonts/math/mathvariant-double-struck.woff");
+ }
+ @font-face {
+ font-family: mathvariant-fraktur;
+ src: url("/fonts/math/mathvariant-fraktur.woff");
+ }
+ @font-face {
+ font-family: mathvariant-initial;
+ src: url("/fonts/math/mathvariant-initial.woff");
+ }
+ @font-face {
+ font-family: mathvariant-italic;
+ src: url("/fonts/math/mathvariant-italic.woff");
+ }
+ @font-face {
+ font-family: mathvariant-looped;
+ src: url("/fonts/math/mathvariant-looped.woff");
+ }
+ @font-face {
+ font-family: mathvariant-monospace;
+ src: url("/fonts/math/mathvariant-monospace.woff");
+ }
+ @font-face {
+ font-family: mathvariant-sans-serif-bold-italic;
+ src: url("/fonts/math/mathvariant-sans-serif-bold-italic.woff");
+ }
+ @font-face {
+ font-family: mathvariant-sans-serif;
+ src: url("/fonts/math/mathvariant-sans-serif.woff");
+ }
+ @font-face {
+ font-family: mathvariant-sans-serif-italic;
+ src: url("/fonts/math/mathvariant-sans-serif-italic.woff");
+ }
+ @font-face {
+ font-family: mathvariant-script;
+ src: url("/fonts/math/mathvariant-script.woff");
+ }
+ @font-face {
+ font-family: mathvariant-stretched;
+ src: url("/fonts/math/mathvariant-stretched.woff");
+ }
+ @font-face {
+ font-family: mathvariant-tailed;
+ src: url("/fonts/math/mathvariant-tailed.woff");
+ }
+</style>
+<body>
+ <p>
+ <math style="font-family: mathvariant-bold-fraktur">
+ <mtext mathvariant="BoLd-fRaKtUr">&#x41;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-bold">
+ <mtext mathvariant="BoLd">&#x41;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-bold-italic">
+ <mtext mathvariant="BoLd-iTaLiC">&#x41;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-bold-sans-serif">
+ <mtext mathvariant="BoLd-sAnS-SeRiF">&#x41;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-bold-script">
+ <mtext mathvariant="BoLd-sCrIpT">&#x41;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-double-struck">
+ <mtext mathvariant="DoUbLe-sTrUcK">&#x41;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-fraktur">
+ <mtext mathvariant="FrAkTuR">&#x41;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-initial">
+ <mtext mathvariant="InItIaL">&#x641;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-italic">
+ <mtext mathvariant="ItAlIc">&#x41;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-looped">
+ <mtext mathvariant="LoOpEd">&#x641;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-monospace">
+ <mtext mathvariant="MoNoSpAcE">&#x41;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-sans-serif-bold-italic">
+ <mtext mathvariant="SaNs-sErIf-bOlD-ItAlIc">&#x41;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-sans-serif">
+ <mtext mathvariant="SaNs-sErIf">&#x41;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-sans-serif-italic">
+ <mtext mathvariant="SaNs-sErIf-iTaLiC">&#x41;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-script">
+ <mtext mathvariant="ScRiPt">&#x41;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-stretched">
+ <mtext mathvariant="StReTcHeD">&#x641;</mtext>
+ </math>
+ </p>
+ <p>
+ <math style="font-family: mathvariant-tailed">
+ <mtext mathvariant="TaIlEd">&#x642;</mtext>
+ </math>
+ </p>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-double-struck-font-style-font-weight-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-double-struck-font-style-font-weight-ref.html
new file mode 100644
index 0000000000..817723a62d
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-double-struck-font-style-font-weight-ref.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>mathvariant="double-struck" and font-style/font-weight (reference)</title>
+ <style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-double-struck.woff");
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 32px;
+ }
+ .italic { font-style: italic; }
+ .bold { font-weight: bold; }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see three lines with text <span class="testfont">&#x1EEA1;</span> respectively rendered with italic, bold and bold-italic style:</p>
+ <p><math class="testfont"><mtext class="italic">&#x1EEA1;</mtext></math></p>
+ <p><math class="testfont"><mtext class="bold">&#x1EEA1;</mtext></math></p>
+ <p><math class="testfont"><mtext class="bold italic">&#x1EEA1;</mtext></math></p>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-double-struck-font-style-font-weight.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-double-struck-font-style-font-weight.html
new file mode 100644
index 0000000000..2e283e1d70
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-double-struck-font-style-font-weight.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>mathvariant="double-struck" and font-style/font-weight</title>
+ <link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+ <link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+ <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1789081">
+ <link rel="match" href="mathvariant-double-struck-font-style-font-weight-ref.html"/>
+ <meta name="assert" content="Verify that mathvariant='double-struck' don't reset the font-style/font-weight properties.">
+ <style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-double-struck.woff");
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 32px;
+ }
+ .italic { font-style: italic; }
+ .bold { font-weight: bold; }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see three lines with text <span class="testfont">&#x1EEA1;</span> respectively rendered with italic, bold and bold-italic style:</p>
+ <p><math class="testfont"><mtext mathvariant="double-struck" class="italic">&#x628;</mtext></math></p>
+ <p><math class="testfont"><mtext mathvariant="double-struck" class="bold">&#x628;</mtext></math></p>
+ <p><math class="testfont"><mtext mathvariant="double-struck" class="bold italic">&#x628;</mtext></math></p>
+ </body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-double-struck-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-double-struck-ref.html
new file mode 100644
index 0000000000..ebdb7a15b0
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-double-struck-ref.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant double-struck (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-double-struck.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1D538;</mtext></math>=<span>1D538</span></span>
+ <span><math class="testfont"><mtext>&#x1D539;</mtext></math>=<span>1D539</span></span>
+ <span><math class="testfont"><mtext>&#x2102;</mtext></math>=<span>02102</span></span>
+ <span><math class="testfont"><mtext>&#x1D53B;</mtext></math>=<span>1D53B</span></span>
+ <span><math class="testfont"><mtext>&#x1D53C;</mtext></math>=<span>1D53C</span></span>
+ <span><math class="testfont"><mtext>&#x1D53D;</mtext></math>=<span>1D53D</span></span>
+ <span><math class="testfont"><mtext>&#x1D53E;</mtext></math>=<span>1D53E</span></span>
+ <span><math class="testfont"><mtext>&#x210D;</mtext></math>=<span>0210D</span></span>
+ <span><math class="testfont"><mtext>&#x1D540;</mtext></math>=<span>1D540</span></span>
+ <span><math class="testfont"><mtext>&#x1D541;</mtext></math>=<span>1D541</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D542;</mtext></math>=<span>1D542</span></span>
+ <span><math class="testfont"><mtext>&#x1D543;</mtext></math>=<span>1D543</span></span>
+ <span><math class="testfont"><mtext>&#x1D544;</mtext></math>=<span>1D544</span></span>
+ <span><math class="testfont"><mtext>&#x2115;</mtext></math>=<span>02115</span></span>
+ <span><math class="testfont"><mtext>&#x1D546;</mtext></math>=<span>1D546</span></span>
+ <span><math class="testfont"><mtext>&#x2119;</mtext></math>=<span>02119</span></span>
+ <span><math class="testfont"><mtext>&#x211A;</mtext></math>=<span>0211A</span></span>
+ <span><math class="testfont"><mtext>&#x211D;</mtext></math>=<span>0211D</span></span>
+ <span><math class="testfont"><mtext>&#x1D54A;</mtext></math>=<span>1D54A</span></span>
+ <span><math class="testfont"><mtext>&#x1D54B;</mtext></math>=<span>1D54B</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D54C;</mtext></math>=<span>1D54C</span></span>
+ <span><math class="testfont"><mtext>&#x1D54D;</mtext></math>=<span>1D54D</span></span>
+ <span><math class="testfont"><mtext>&#x1D54E;</mtext></math>=<span>1D54E</span></span>
+ <span><math class="testfont"><mtext>&#x1D54F;</mtext></math>=<span>1D54F</span></span>
+ <span><math class="testfont"><mtext>&#x1D550;</mtext></math>=<span>1D550</span></span>
+ <span><math class="testfont"><mtext>&#x2124;</mtext></math>=<span>02124</span></span>
+ <span><math class="testfont"><mtext>&#x1D552;</mtext></math>=<span>1D552</span></span>
+ <span><math class="testfont"><mtext>&#x1D553;</mtext></math>=<span>1D553</span></span>
+ <span><math class="testfont"><mtext>&#x1D554;</mtext></math>=<span>1D554</span></span>
+ <span><math class="testfont"><mtext>&#x1D555;</mtext></math>=<span>1D555</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D556;</mtext></math>=<span>1D556</span></span>
+ <span><math class="testfont"><mtext>&#x1D557;</mtext></math>=<span>1D557</span></span>
+ <span><math class="testfont"><mtext>&#x1D558;</mtext></math>=<span>1D558</span></span>
+ <span><math class="testfont"><mtext>&#x1D559;</mtext></math>=<span>1D559</span></span>
+ <span><math class="testfont"><mtext>&#x1D55A;</mtext></math>=<span>1D55A</span></span>
+ <span><math class="testfont"><mtext>&#x1D55B;</mtext></math>=<span>1D55B</span></span>
+ <span><math class="testfont"><mtext>&#x1D55C;</mtext></math>=<span>1D55C</span></span>
+ <span><math class="testfont"><mtext>&#x1D55D;</mtext></math>=<span>1D55D</span></span>
+ <span><math class="testfont"><mtext>&#x1D55E;</mtext></math>=<span>1D55E</span></span>
+ <span><math class="testfont"><mtext>&#x1D55F;</mtext></math>=<span>1D55F</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D560;</mtext></math>=<span>1D560</span></span>
+ <span><math class="testfont"><mtext>&#x1D561;</mtext></math>=<span>1D561</span></span>
+ <span><math class="testfont"><mtext>&#x1D562;</mtext></math>=<span>1D562</span></span>
+ <span><math class="testfont"><mtext>&#x1D563;</mtext></math>=<span>1D563</span></span>
+ <span><math class="testfont"><mtext>&#x1D564;</mtext></math>=<span>1D564</span></span>
+ <span><math class="testfont"><mtext>&#x1D565;</mtext></math>=<span>1D565</span></span>
+ <span><math class="testfont"><mtext>&#x1D566;</mtext></math>=<span>1D566</span></span>
+ <span><math class="testfont"><mtext>&#x1D567;</mtext></math>=<span>1D567</span></span>
+ <span><math class="testfont"><mtext>&#x1D568;</mtext></math>=<span>1D568</span></span>
+ <span><math class="testfont"><mtext>&#x1D569;</mtext></math>=<span>1D569</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D56A;</mtext></math>=<span>1D56A</span></span>
+ <span><math class="testfont"><mtext>&#x1D56B;</mtext></math>=<span>1D56B</span></span>
+ <span><math class="testfont"><mtext>&#x1D7D8;</mtext></math>=<span>1D7D8</span></span>
+ <span><math class="testfont"><mtext>&#x1D7D9;</mtext></math>=<span>1D7D9</span></span>
+ <span><math class="testfont"><mtext>&#x1D7DA;</mtext></math>=<span>1D7DA</span></span>
+ <span><math class="testfont"><mtext>&#x1D7DB;</mtext></math>=<span>1D7DB</span></span>
+ <span><math class="testfont"><mtext>&#x1D7DC;</mtext></math>=<span>1D7DC</span></span>
+ <span><math class="testfont"><mtext>&#x1D7DD;</mtext></math>=<span>1D7DD</span></span>
+ <span><math class="testfont"><mtext>&#x1D7DE;</mtext></math>=<span>1D7DE</span></span>
+ <span><math class="testfont"><mtext>&#x1D7DF;</mtext></math>=<span>1D7DF</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D7E0;</mtext></math>=<span>1D7E0</span></span>
+ <span><math class="testfont"><mtext>&#x1D7E1;</mtext></math>=<span>1D7E1</span></span>
+ <span><math class="testfont"><mtext>&#x1EEA1;</mtext></math>=<span>1EEA1</span></span>
+ <span><math class="testfont"><mtext>&#x1EEA2;</mtext></math>=<span>1EEA2</span></span>
+ <span><math class="testfont"><mtext>&#x1EEA3;</mtext></math>=<span>1EEA3</span></span>
+ <span><math class="testfont"><mtext>&#x1EEA5;</mtext></math>=<span>1EEA5</span></span>
+ <span><math class="testfont"><mtext>&#x1EEA6;</mtext></math>=<span>1EEA6</span></span>
+ <span><math class="testfont"><mtext>&#x1EEA7;</mtext></math>=<span>1EEA7</span></span>
+ <span><math class="testfont"><mtext>&#x1EEA8;</mtext></math>=<span>1EEA8</span></span>
+ <span><math class="testfont"><mtext>&#x1EEA9;</mtext></math>=<span>1EEA9</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1EEAB;</mtext></math>=<span>1EEAB</span></span>
+ <span><math class="testfont"><mtext>&#x1EEAC;</mtext></math>=<span>1EEAC</span></span>
+ <span><math class="testfont"><mtext>&#x1EEAD;</mtext></math>=<span>1EEAD</span></span>
+ <span><math class="testfont"><mtext>&#x1EEAE;</mtext></math>=<span>1EEAE</span></span>
+ <span><math class="testfont"><mtext>&#x1EEAF;</mtext></math>=<span>1EEAF</span></span>
+ <span><math class="testfont"><mtext>&#x1EEB0;</mtext></math>=<span>1EEB0</span></span>
+ <span><math class="testfont"><mtext>&#x1EEB1;</mtext></math>=<span>1EEB1</span></span>
+ <span><math class="testfont"><mtext>&#x1EEB2;</mtext></math>=<span>1EEB2</span></span>
+ <span><math class="testfont"><mtext>&#x1EEB3;</mtext></math>=<span>1EEB3</span></span>
+ <span><math class="testfont"><mtext>&#x1EEB4;</mtext></math>=<span>1EEB4</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1EEB5;</mtext></math>=<span>1EEB5</span></span>
+ <span><math class="testfont"><mtext>&#x1EEB6;</mtext></math>=<span>1EEB6</span></span>
+ <span><math class="testfont"><mtext>&#x1EEB7;</mtext></math>=<span>1EEB7</span></span>
+ <span><math class="testfont"><mtext>&#x1EEB8;</mtext></math>=<span>1EEB8</span></span>
+ <span><math class="testfont"><mtext>&#x1EEB9;</mtext></math>=<span>1EEB9</span></span>
+ <span><math class="testfont"><mtext>&#x1EEBA;</mtext></math>=<span>1EEBA</span></span>
+ <span><math class="testfont"><mtext>&#x1EEBB;</mtext></math>=<span>1EEBB</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-double-struck.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-double-struck.html
new file mode 100644
index 0000000000..335234ac38
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-double-struck.html
@@ -0,0 +1,120 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant double-struck</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#double-struck-mappings">
+<link rel="match" href="mathvariant-double-struck-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a double-struck mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-double-struck.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x41;</mtext></math>=<span>1D538</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x42;</mtext></math>=<span>1D539</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x43;</mtext></math>=<span>02102</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x44;</mtext></math>=<span>1D53B</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x45;</mtext></math>=<span>1D53C</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x46;</mtext></math>=<span>1D53D</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x47;</mtext></math>=<span>1D53E</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x48;</mtext></math>=<span>0210D</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x49;</mtext></math>=<span>1D540</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x4A;</mtext></math>=<span>1D541</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x4B;</mtext></math>=<span>1D542</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x4C;</mtext></math>=<span>1D543</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x4D;</mtext></math>=<span>1D544</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x4E;</mtext></math>=<span>02115</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x4F;</mtext></math>=<span>1D546</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x50;</mtext></math>=<span>02119</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x51;</mtext></math>=<span>0211A</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x52;</mtext></math>=<span>0211D</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x53;</mtext></math>=<span>1D54A</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x54;</mtext></math>=<span>1D54B</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x55;</mtext></math>=<span>1D54C</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x56;</mtext></math>=<span>1D54D</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x57;</mtext></math>=<span>1D54E</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x58;</mtext></math>=<span>1D54F</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x59;</mtext></math>=<span>1D550</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x5A;</mtext></math>=<span>02124</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x61;</mtext></math>=<span>1D552</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x62;</mtext></math>=<span>1D553</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x63;</mtext></math>=<span>1D554</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x64;</mtext></math>=<span>1D555</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x65;</mtext></math>=<span>1D556</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x66;</mtext></math>=<span>1D557</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x67;</mtext></math>=<span>1D558</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x68;</mtext></math>=<span>1D559</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x69;</mtext></math>=<span>1D55A</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x6A;</mtext></math>=<span>1D55B</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x6B;</mtext></math>=<span>1D55C</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x6C;</mtext></math>=<span>1D55D</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x6D;</mtext></math>=<span>1D55E</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x6E;</mtext></math>=<span>1D55F</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x6F;</mtext></math>=<span>1D560</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x70;</mtext></math>=<span>1D561</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x71;</mtext></math>=<span>1D562</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x72;</mtext></math>=<span>1D563</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x73;</mtext></math>=<span>1D564</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x74;</mtext></math>=<span>1D565</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x75;</mtext></math>=<span>1D566</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x76;</mtext></math>=<span>1D567</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x77;</mtext></math>=<span>1D568</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x78;</mtext></math>=<span>1D569</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x79;</mtext></math>=<span>1D56A</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x7A;</mtext></math>=<span>1D56B</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x30;</mtext></math>=<span>1D7D8</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x31;</mtext></math>=<span>1D7D9</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x32;</mtext></math>=<span>1D7DA</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x33;</mtext></math>=<span>1D7DB</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x34;</mtext></math>=<span>1D7DC</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x35;</mtext></math>=<span>1D7DD</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x36;</mtext></math>=<span>1D7DE</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x37;</mtext></math>=<span>1D7DF</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x38;</mtext></math>=<span>1D7E0</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x39;</mtext></math>=<span>1D7E1</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x628;</mtext></math>=<span>1EEA1</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x62C;</mtext></math>=<span>1EEA2</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x62F;</mtext></math>=<span>1EEA3</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x648;</mtext></math>=<span>1EEA5</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x632;</mtext></math>=<span>1EEA6</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x62D;</mtext></math>=<span>1EEA7</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x637;</mtext></math>=<span>1EEA8</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x64A;</mtext></math>=<span>1EEA9</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x644;</mtext></math>=<span>1EEAB</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x645;</mtext></math>=<span>1EEAC</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x646;</mtext></math>=<span>1EEAD</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x633;</mtext></math>=<span>1EEAE</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x639;</mtext></math>=<span>1EEAF</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x641;</mtext></math>=<span>1EEB0</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x635;</mtext></math>=<span>1EEB1</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x642;</mtext></math>=<span>1EEB2</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x631;</mtext></math>=<span>1EEB3</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x634;</mtext></math>=<span>1EEB4</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x62A;</mtext></math>=<span>1EEB5</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x62B;</mtext></math>=<span>1EEB6</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x62E;</mtext></math>=<span>1EEB7</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x630;</mtext></math>=<span>1EEB8</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x636;</mtext></math>=<span>1EEB9</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x638;</mtext></math>=<span>1EEBA</span></span>
+ <span><math class="testfont"><mtext mathvariant="double-struck">&#x63A;</mtext></math>=<span>1EEBB</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-fraktur-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-fraktur-ref.html
new file mode 100644
index 0000000000..3d1dd50a7d
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-fraktur-ref.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant fraktur (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-fraktur.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1D504;</mtext></math>=<span>1D504</span></span>
+ <span><math class="testfont"><mtext>&#x1D505;</mtext></math>=<span>1D505</span></span>
+ <span><math class="testfont"><mtext>&#x212D;</mtext></math>=<span>0212D</span></span>
+ <span><math class="testfont"><mtext>&#x1D507;</mtext></math>=<span>1D507</span></span>
+ <span><math class="testfont"><mtext>&#x1D508;</mtext></math>=<span>1D508</span></span>
+ <span><math class="testfont"><mtext>&#x1D509;</mtext></math>=<span>1D509</span></span>
+ <span><math class="testfont"><mtext>&#x1D50A;</mtext></math>=<span>1D50A</span></span>
+ <span><math class="testfont"><mtext>&#x210C;</mtext></math>=<span>0210C</span></span>
+ <span><math class="testfont"><mtext>&#x2111;</mtext></math>=<span>02111</span></span>
+ <span><math class="testfont"><mtext>&#x1D50D;</mtext></math>=<span>1D50D</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D50E;</mtext></math>=<span>1D50E</span></span>
+ <span><math class="testfont"><mtext>&#x1D50F;</mtext></math>=<span>1D50F</span></span>
+ <span><math class="testfont"><mtext>&#x1D510;</mtext></math>=<span>1D510</span></span>
+ <span><math class="testfont"><mtext>&#x1D511;</mtext></math>=<span>1D511</span></span>
+ <span><math class="testfont"><mtext>&#x1D512;</mtext></math>=<span>1D512</span></span>
+ <span><math class="testfont"><mtext>&#x1D513;</mtext></math>=<span>1D513</span></span>
+ <span><math class="testfont"><mtext>&#x1D514;</mtext></math>=<span>1D514</span></span>
+ <span><math class="testfont"><mtext>&#x211C;</mtext></math>=<span>0211C</span></span>
+ <span><math class="testfont"><mtext>&#x1D516;</mtext></math>=<span>1D516</span></span>
+ <span><math class="testfont"><mtext>&#x1D517;</mtext></math>=<span>1D517</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D518;</mtext></math>=<span>1D518</span></span>
+ <span><math class="testfont"><mtext>&#x1D519;</mtext></math>=<span>1D519</span></span>
+ <span><math class="testfont"><mtext>&#x1D51A;</mtext></math>=<span>1D51A</span></span>
+ <span><math class="testfont"><mtext>&#x1D51B;</mtext></math>=<span>1D51B</span></span>
+ <span><math class="testfont"><mtext>&#x1D51C;</mtext></math>=<span>1D51C</span></span>
+ <span><math class="testfont"><mtext>&#x2128;</mtext></math>=<span>02128</span></span>
+ <span><math class="testfont"><mtext>&#x1D51E;</mtext></math>=<span>1D51E</span></span>
+ <span><math class="testfont"><mtext>&#x1D51F;</mtext></math>=<span>1D51F</span></span>
+ <span><math class="testfont"><mtext>&#x1D520;</mtext></math>=<span>1D520</span></span>
+ <span><math class="testfont"><mtext>&#x1D521;</mtext></math>=<span>1D521</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D522;</mtext></math>=<span>1D522</span></span>
+ <span><math class="testfont"><mtext>&#x1D523;</mtext></math>=<span>1D523</span></span>
+ <span><math class="testfont"><mtext>&#x1D524;</mtext></math>=<span>1D524</span></span>
+ <span><math class="testfont"><mtext>&#x1D525;</mtext></math>=<span>1D525</span></span>
+ <span><math class="testfont"><mtext>&#x1D526;</mtext></math>=<span>1D526</span></span>
+ <span><math class="testfont"><mtext>&#x1D527;</mtext></math>=<span>1D527</span></span>
+ <span><math class="testfont"><mtext>&#x1D528;</mtext></math>=<span>1D528</span></span>
+ <span><math class="testfont"><mtext>&#x1D529;</mtext></math>=<span>1D529</span></span>
+ <span><math class="testfont"><mtext>&#x1D52A;</mtext></math>=<span>1D52A</span></span>
+ <span><math class="testfont"><mtext>&#x1D52B;</mtext></math>=<span>1D52B</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D52C;</mtext></math>=<span>1D52C</span></span>
+ <span><math class="testfont"><mtext>&#x1D52D;</mtext></math>=<span>1D52D</span></span>
+ <span><math class="testfont"><mtext>&#x1D52E;</mtext></math>=<span>1D52E</span></span>
+ <span><math class="testfont"><mtext>&#x1D52F;</mtext></math>=<span>1D52F</span></span>
+ <span><math class="testfont"><mtext>&#x1D530;</mtext></math>=<span>1D530</span></span>
+ <span><math class="testfont"><mtext>&#x1D531;</mtext></math>=<span>1D531</span></span>
+ <span><math class="testfont"><mtext>&#x1D532;</mtext></math>=<span>1D532</span></span>
+ <span><math class="testfont"><mtext>&#x1D533;</mtext></math>=<span>1D533</span></span>
+ <span><math class="testfont"><mtext>&#x1D534;</mtext></math>=<span>1D534</span></span>
+ <span><math class="testfont"><mtext>&#x1D535;</mtext></math>=<span>1D535</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D536;</mtext></math>=<span>1D536</span></span>
+ <span><math class="testfont"><mtext>&#x1D537;</mtext></math>=<span>1D537</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-fraktur.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-fraktur.html
new file mode 100644
index 0000000000..9c95cd06e7
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-fraktur.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant fraktur</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#fraktur-mappings">
+<link rel="match" href="mathvariant-fraktur-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a fraktur mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-fraktur.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x41;</mtext></math>=<span>1D504</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x42;</mtext></math>=<span>1D505</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x43;</mtext></math>=<span>0212D</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x44;</mtext></math>=<span>1D507</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x45;</mtext></math>=<span>1D508</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x46;</mtext></math>=<span>1D509</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x47;</mtext></math>=<span>1D50A</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x48;</mtext></math>=<span>0210C</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x49;</mtext></math>=<span>02111</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x4A;</mtext></math>=<span>1D50D</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x4B;</mtext></math>=<span>1D50E</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x4C;</mtext></math>=<span>1D50F</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x4D;</mtext></math>=<span>1D510</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x4E;</mtext></math>=<span>1D511</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x4F;</mtext></math>=<span>1D512</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x50;</mtext></math>=<span>1D513</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x51;</mtext></math>=<span>1D514</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x52;</mtext></math>=<span>0211C</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x53;</mtext></math>=<span>1D516</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x54;</mtext></math>=<span>1D517</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x55;</mtext></math>=<span>1D518</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x56;</mtext></math>=<span>1D519</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x57;</mtext></math>=<span>1D51A</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x58;</mtext></math>=<span>1D51B</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x59;</mtext></math>=<span>1D51C</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x5A;</mtext></math>=<span>02128</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x61;</mtext></math>=<span>1D51E</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x62;</mtext></math>=<span>1D51F</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x63;</mtext></math>=<span>1D520</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x64;</mtext></math>=<span>1D521</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x65;</mtext></math>=<span>1D522</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x66;</mtext></math>=<span>1D523</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x67;</mtext></math>=<span>1D524</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x68;</mtext></math>=<span>1D525</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x69;</mtext></math>=<span>1D526</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x6A;</mtext></math>=<span>1D527</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x6B;</mtext></math>=<span>1D528</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x6C;</mtext></math>=<span>1D529</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x6D;</mtext></math>=<span>1D52A</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x6E;</mtext></math>=<span>1D52B</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x6F;</mtext></math>=<span>1D52C</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x70;</mtext></math>=<span>1D52D</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x71;</mtext></math>=<span>1D52E</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x72;</mtext></math>=<span>1D52F</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x73;</mtext></math>=<span>1D530</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x74;</mtext></math>=<span>1D531</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x75;</mtext></math>=<span>1D532</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x76;</mtext></math>=<span>1D533</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x77;</mtext></math>=<span>1D534</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x78;</mtext></math>=<span>1D535</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x79;</mtext></math>=<span>1D536</span></span>
+ <span><math class="testfont"><mtext mathvariant="fraktur">&#x7A;</mtext></math>=<span>1D537</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-initial-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-initial-ref.html
new file mode 100644
index 0000000000..5d5b72a1c5
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-initial-ref.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant initial (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-initial.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1EE21;</mtext></math>=<span>1EE21</span></span>
+ <span><math class="testfont"><mtext>&#x1EE22;</mtext></math>=<span>1EE22</span></span>
+ <span><math class="testfont"><mtext>&#x1EE24;</mtext></math>=<span>1EE24</span></span>
+ <span><math class="testfont"><mtext>&#x1EE27;</mtext></math>=<span>1EE27</span></span>
+ <span><math class="testfont"><mtext>&#x1EE29;</mtext></math>=<span>1EE29</span></span>
+ <span><math class="testfont"><mtext>&#x1EE2A;</mtext></math>=<span>1EE2A</span></span>
+ <span><math class="testfont"><mtext>&#x1EE2B;</mtext></math>=<span>1EE2B</span></span>
+ <span><math class="testfont"><mtext>&#x1EE2C;</mtext></math>=<span>1EE2C</span></span>
+ <span><math class="testfont"><mtext>&#x1EE2D;</mtext></math>=<span>1EE2D</span></span>
+ <span><math class="testfont"><mtext>&#x1EE2E;</mtext></math>=<span>1EE2E</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1EE2F;</mtext></math>=<span>1EE2F</span></span>
+ <span><math class="testfont"><mtext>&#x1EE30;</mtext></math>=<span>1EE30</span></span>
+ <span><math class="testfont"><mtext>&#x1EE31;</mtext></math>=<span>1EE31</span></span>
+ <span><math class="testfont"><mtext>&#x1EE32;</mtext></math>=<span>1EE32</span></span>
+ <span><math class="testfont"><mtext>&#x1EE34;</mtext></math>=<span>1EE34</span></span>
+ <span><math class="testfont"><mtext>&#x1EE35;</mtext></math>=<span>1EE35</span></span>
+ <span><math class="testfont"><mtext>&#x1EE36;</mtext></math>=<span>1EE36</span></span>
+ <span><math class="testfont"><mtext>&#x1EE37;</mtext></math>=<span>1EE37</span></span>
+ <span><math class="testfont"><mtext>&#x1EE39;</mtext></math>=<span>1EE39</span></span>
+ <span><math class="testfont"><mtext>&#x1EE3B;</mtext></math>=<span>1EE3B</span></span><br/>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-initial.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-initial.html
new file mode 100644
index 0000000000..3b0263a197
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-initial.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant initial</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#initial-mappings">
+<link rel="match" href="mathvariant-initial-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a initial mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-initial.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x628;</mtext></math>=<span>1EE21</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x62C;</mtext></math>=<span>1EE22</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x647;</mtext></math>=<span>1EE24</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x62D;</mtext></math>=<span>1EE27</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x64A;</mtext></math>=<span>1EE29</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x643;</mtext></math>=<span>1EE2A</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x644;</mtext></math>=<span>1EE2B</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x645;</mtext></math>=<span>1EE2C</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x646;</mtext></math>=<span>1EE2D</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x633;</mtext></math>=<span>1EE2E</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x639;</mtext></math>=<span>1EE2F</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x641;</mtext></math>=<span>1EE30</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x635;</mtext></math>=<span>1EE31</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x642;</mtext></math>=<span>1EE32</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x634;</mtext></math>=<span>1EE34</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x62A;</mtext></math>=<span>1EE35</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x62B;</mtext></math>=<span>1EE36</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x62E;</mtext></math>=<span>1EE37</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x636;</mtext></math>=<span>1EE39</span></span>
+ <span><math class="testfont"><mtext mathvariant="initial">&#x63A;</mtext></math>=<span>1EE3B</span></span><br/>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-italic-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-italic-ref.html
new file mode 100644
index 0000000000..e2078c2948
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-italic-ref.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant italic (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-italic.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1D434;</mtext></math>=<span>1D434</span></span>
+ <span><math class="testfont"><mtext>&#x1D435;</mtext></math>=<span>1D435</span></span>
+ <span><math class="testfont"><mtext>&#x1D436;</mtext></math>=<span>1D436</span></span>
+ <span><math class="testfont"><mtext>&#x1D437;</mtext></math>=<span>1D437</span></span>
+ <span><math class="testfont"><mtext>&#x1D438;</mtext></math>=<span>1D438</span></span>
+ <span><math class="testfont"><mtext>&#x1D439;</mtext></math>=<span>1D439</span></span>
+ <span><math class="testfont"><mtext>&#x1D43A;</mtext></math>=<span>1D43A</span></span>
+ <span><math class="testfont"><mtext>&#x1D43B;</mtext></math>=<span>1D43B</span></span>
+ <span><math class="testfont"><mtext>&#x1D43C;</mtext></math>=<span>1D43C</span></span>
+ <span><math class="testfont"><mtext>&#x1D43D;</mtext></math>=<span>1D43D</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D43E;</mtext></math>=<span>1D43E</span></span>
+ <span><math class="testfont"><mtext>&#x1D43F;</mtext></math>=<span>1D43F</span></span>
+ <span><math class="testfont"><mtext>&#x1D440;</mtext></math>=<span>1D440</span></span>
+ <span><math class="testfont"><mtext>&#x1D441;</mtext></math>=<span>1D441</span></span>
+ <span><math class="testfont"><mtext>&#x1D442;</mtext></math>=<span>1D442</span></span>
+ <span><math class="testfont"><mtext>&#x1D443;</mtext></math>=<span>1D443</span></span>
+ <span><math class="testfont"><mtext>&#x1D444;</mtext></math>=<span>1D444</span></span>
+ <span><math class="testfont"><mtext>&#x1D445;</mtext></math>=<span>1D445</span></span>
+ <span><math class="testfont"><mtext>&#x1D446;</mtext></math>=<span>1D446</span></span>
+ <span><math class="testfont"><mtext>&#x1D447;</mtext></math>=<span>1D447</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D448;</mtext></math>=<span>1D448</span></span>
+ <span><math class="testfont"><mtext>&#x1D449;</mtext></math>=<span>1D449</span></span>
+ <span><math class="testfont"><mtext>&#x1D44A;</mtext></math>=<span>1D44A</span></span>
+ <span><math class="testfont"><mtext>&#x1D44B;</mtext></math>=<span>1D44B</span></span>
+ <span><math class="testfont"><mtext>&#x1D44C;</mtext></math>=<span>1D44C</span></span>
+ <span><math class="testfont"><mtext>&#x1D44D;</mtext></math>=<span>1D44D</span></span>
+ <span><math class="testfont"><mtext>&#x1D44E;</mtext></math>=<span>1D44E</span></span>
+ <span><math class="testfont"><mtext>&#x1D44F;</mtext></math>=<span>1D44F</span></span>
+ <span><math class="testfont"><mtext>&#x1D450;</mtext></math>=<span>1D450</span></span>
+ <span><math class="testfont"><mtext>&#x1D451;</mtext></math>=<span>1D451</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D452;</mtext></math>=<span>1D452</span></span>
+ <span><math class="testfont"><mtext>&#x1D453;</mtext></math>=<span>1D453</span></span>
+ <span><math class="testfont"><mtext>&#x1D454;</mtext></math>=<span>1D454</span></span>
+ <span><math class="testfont"><mtext>&#x210E;</mtext></math>=<span>0210E</span></span>
+ <span><math class="testfont"><mtext>&#x1D456;</mtext></math>=<span>1D456</span></span>
+ <span><math class="testfont"><mtext>&#x1D457;</mtext></math>=<span>1D457</span></span>
+ <span><math class="testfont"><mtext>&#x1D458;</mtext></math>=<span>1D458</span></span>
+ <span><math class="testfont"><mtext>&#x1D459;</mtext></math>=<span>1D459</span></span>
+ <span><math class="testfont"><mtext>&#x1D45A;</mtext></math>=<span>1D45A</span></span>
+ <span><math class="testfont"><mtext>&#x1D45B;</mtext></math>=<span>1D45B</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D45C;</mtext></math>=<span>1D45C</span></span>
+ <span><math class="testfont"><mtext>&#x1D45D;</mtext></math>=<span>1D45D</span></span>
+ <span><math class="testfont"><mtext>&#x1D45E;</mtext></math>=<span>1D45E</span></span>
+ <span><math class="testfont"><mtext>&#x1D45F;</mtext></math>=<span>1D45F</span></span>
+ <span><math class="testfont"><mtext>&#x1D460;</mtext></math>=<span>1D460</span></span>
+ <span><math class="testfont"><mtext>&#x1D461;</mtext></math>=<span>1D461</span></span>
+ <span><math class="testfont"><mtext>&#x1D462;</mtext></math>=<span>1D462</span></span>
+ <span><math class="testfont"><mtext>&#x1D463;</mtext></math>=<span>1D463</span></span>
+ <span><math class="testfont"><mtext>&#x1D464;</mtext></math>=<span>1D464</span></span>
+ <span><math class="testfont"><mtext>&#x1D465;</mtext></math>=<span>1D465</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D466;</mtext></math>=<span>1D466</span></span>
+ <span><math class="testfont"><mtext>&#x1D467;</mtext></math>=<span>1D467</span></span>
+ <span><math class="testfont"><mtext>&#x1D6A4;</mtext></math>=<span>1D6A4</span></span>
+ <span><math class="testfont"><mtext>&#x1D6A5;</mtext></math>=<span>1D6A5</span></span>
+ <span><math class="testfont"><mtext>&#x1D6E2;</mtext></math>=<span>1D6E2</span></span>
+ <span><math class="testfont"><mtext>&#x1D6E3;</mtext></math>=<span>1D6E3</span></span>
+ <span><math class="testfont"><mtext>&#x1D6E4;</mtext></math>=<span>1D6E4</span></span>
+ <span><math class="testfont"><mtext>&#x1D6E5;</mtext></math>=<span>1D6E5</span></span>
+ <span><math class="testfont"><mtext>&#x1D6E6;</mtext></math>=<span>1D6E6</span></span>
+ <span><math class="testfont"><mtext>&#x1D6E7;</mtext></math>=<span>1D6E7</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D6E8;</mtext></math>=<span>1D6E8</span></span>
+ <span><math class="testfont"><mtext>&#x1D6E9;</mtext></math>=<span>1D6E9</span></span>
+ <span><math class="testfont"><mtext>&#x1D6EA;</mtext></math>=<span>1D6EA</span></span>
+ <span><math class="testfont"><mtext>&#x1D6EB;</mtext></math>=<span>1D6EB</span></span>
+ <span><math class="testfont"><mtext>&#x1D6EC;</mtext></math>=<span>1D6EC</span></span>
+ <span><math class="testfont"><mtext>&#x1D6ED;</mtext></math>=<span>1D6ED</span></span>
+ <span><math class="testfont"><mtext>&#x1D6EE;</mtext></math>=<span>1D6EE</span></span>
+ <span><math class="testfont"><mtext>&#x1D6EF;</mtext></math>=<span>1D6EF</span></span>
+ <span><math class="testfont"><mtext>&#x1D6F0;</mtext></math>=<span>1D6F0</span></span>
+ <span><math class="testfont"><mtext>&#x1D6F1;</mtext></math>=<span>1D6F1</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D6F2;</mtext></math>=<span>1D6F2</span></span>
+ <span><math class="testfont"><mtext>&#x1D6F3;</mtext></math>=<span>1D6F3</span></span>
+ <span><math class="testfont"><mtext>&#x1D6F4;</mtext></math>=<span>1D6F4</span></span>
+ <span><math class="testfont"><mtext>&#x1D6F5;</mtext></math>=<span>1D6F5</span></span>
+ <span><math class="testfont"><mtext>&#x1D6F6;</mtext></math>=<span>1D6F6</span></span>
+ <span><math class="testfont"><mtext>&#x1D6F7;</mtext></math>=<span>1D6F7</span></span>
+ <span><math class="testfont"><mtext>&#x1D6F8;</mtext></math>=<span>1D6F8</span></span>
+ <span><math class="testfont"><mtext>&#x1D6F9;</mtext></math>=<span>1D6F9</span></span>
+ <span><math class="testfont"><mtext>&#x1D6FA;</mtext></math>=<span>1D6FA</span></span>
+ <span><math class="testfont"><mtext>&#x1D6FB;</mtext></math>=<span>1D6FB</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D6FC;</mtext></math>=<span>1D6FC</span></span>
+ <span><math class="testfont"><mtext>&#x1D6FD;</mtext></math>=<span>1D6FD</span></span>
+ <span><math class="testfont"><mtext>&#x1D6FE;</mtext></math>=<span>1D6FE</span></span>
+ <span><math class="testfont"><mtext>&#x1D6FF;</mtext></math>=<span>1D6FF</span></span>
+ <span><math class="testfont"><mtext>&#x1D700;</mtext></math>=<span>1D700</span></span>
+ <span><math class="testfont"><mtext>&#x1D701;</mtext></math>=<span>1D701</span></span>
+ <span><math class="testfont"><mtext>&#x1D702;</mtext></math>=<span>1D702</span></span>
+ <span><math class="testfont"><mtext>&#x1D703;</mtext></math>=<span>1D703</span></span>
+ <span><math class="testfont"><mtext>&#x1D704;</mtext></math>=<span>1D704</span></span>
+ <span><math class="testfont"><mtext>&#x1D705;</mtext></math>=<span>1D705</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D706;</mtext></math>=<span>1D706</span></span>
+ <span><math class="testfont"><mtext>&#x1D707;</mtext></math>=<span>1D707</span></span>
+ <span><math class="testfont"><mtext>&#x1D708;</mtext></math>=<span>1D708</span></span>
+ <span><math class="testfont"><mtext>&#x1D709;</mtext></math>=<span>1D709</span></span>
+ <span><math class="testfont"><mtext>&#x1D70A;</mtext></math>=<span>1D70A</span></span>
+ <span><math class="testfont"><mtext>&#x1D70B;</mtext></math>=<span>1D70B</span></span>
+ <span><math class="testfont"><mtext>&#x1D70C;</mtext></math>=<span>1D70C</span></span>
+ <span><math class="testfont"><mtext>&#x1D70D;</mtext></math>=<span>1D70D</span></span>
+ <span><math class="testfont"><mtext>&#x1D70E;</mtext></math>=<span>1D70E</span></span>
+ <span><math class="testfont"><mtext>&#x1D70F;</mtext></math>=<span>1D70F</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D710;</mtext></math>=<span>1D710</span></span>
+ <span><math class="testfont"><mtext>&#x1D711;</mtext></math>=<span>1D711</span></span>
+ <span><math class="testfont"><mtext>&#x1D712;</mtext></math>=<span>1D712</span></span>
+ <span><math class="testfont"><mtext>&#x1D713;</mtext></math>=<span>1D713</span></span>
+ <span><math class="testfont"><mtext>&#x1D714;</mtext></math>=<span>1D714</span></span>
+ <span><math class="testfont"><mtext>&#x1D715;</mtext></math>=<span>1D715</span></span>
+ <span><math class="testfont"><mtext>&#x1D716;</mtext></math>=<span>1D716</span></span>
+ <span><math class="testfont"><mtext>&#x1D717;</mtext></math>=<span>1D717</span></span>
+ <span><math class="testfont"><mtext>&#x1D718;</mtext></math>=<span>1D718</span></span>
+ <span><math class="testfont"><mtext>&#x1D719;</mtext></math>=<span>1D719</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D71A;</mtext></math>=<span>1D71A</span></span>
+ <span><math class="testfont"><mtext>&#x1D71B;</mtext></math>=<span>1D71B</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-italic.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-italic.html
new file mode 100644
index 0000000000..1e6aa6512d
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-italic.html
@@ -0,0 +1,145 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant italic</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#italic-mappings">
+<link rel="match" href="mathvariant-italic-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a italic mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-italic.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x41;</mtext></math>=<span>1D434</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x42;</mtext></math>=<span>1D435</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x43;</mtext></math>=<span>1D436</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x44;</mtext></math>=<span>1D437</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x45;</mtext></math>=<span>1D438</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x46;</mtext></math>=<span>1D439</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x47;</mtext></math>=<span>1D43A</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x48;</mtext></math>=<span>1D43B</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x49;</mtext></math>=<span>1D43C</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x4A;</mtext></math>=<span>1D43D</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x4B;</mtext></math>=<span>1D43E</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x4C;</mtext></math>=<span>1D43F</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x4D;</mtext></math>=<span>1D440</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x4E;</mtext></math>=<span>1D441</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x4F;</mtext></math>=<span>1D442</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x50;</mtext></math>=<span>1D443</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x51;</mtext></math>=<span>1D444</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x52;</mtext></math>=<span>1D445</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x53;</mtext></math>=<span>1D446</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x54;</mtext></math>=<span>1D447</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x55;</mtext></math>=<span>1D448</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x56;</mtext></math>=<span>1D449</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x57;</mtext></math>=<span>1D44A</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x58;</mtext></math>=<span>1D44B</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x59;</mtext></math>=<span>1D44C</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x5A;</mtext></math>=<span>1D44D</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x61;</mtext></math>=<span>1D44E</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x62;</mtext></math>=<span>1D44F</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x63;</mtext></math>=<span>1D450</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x64;</mtext></math>=<span>1D451</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x65;</mtext></math>=<span>1D452</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x66;</mtext></math>=<span>1D453</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x67;</mtext></math>=<span>1D454</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x68;</mtext></math>=<span>0210E</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x69;</mtext></math>=<span>1D456</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x6A;</mtext></math>=<span>1D457</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x6B;</mtext></math>=<span>1D458</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x6C;</mtext></math>=<span>1D459</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x6D;</mtext></math>=<span>1D45A</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x6E;</mtext></math>=<span>1D45B</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x6F;</mtext></math>=<span>1D45C</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x70;</mtext></math>=<span>1D45D</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x71;</mtext></math>=<span>1D45E</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x72;</mtext></math>=<span>1D45F</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x73;</mtext></math>=<span>1D460</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x74;</mtext></math>=<span>1D461</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x75;</mtext></math>=<span>1D462</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x76;</mtext></math>=<span>1D463</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x77;</mtext></math>=<span>1D464</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x78;</mtext></math>=<span>1D465</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x79;</mtext></math>=<span>1D466</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x7A;</mtext></math>=<span>1D467</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x131;</mtext></math>=<span>1D6A4</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x237;</mtext></math>=<span>1D6A5</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x391;</mtext></math>=<span>1D6E2</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x392;</mtext></math>=<span>1D6E3</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x393;</mtext></math>=<span>1D6E4</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x394;</mtext></math>=<span>1D6E5</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x395;</mtext></math>=<span>1D6E6</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x396;</mtext></math>=<span>1D6E7</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x397;</mtext></math>=<span>1D6E8</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x398;</mtext></math>=<span>1D6E9</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x399;</mtext></math>=<span>1D6EA</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x39A;</mtext></math>=<span>1D6EB</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x39B;</mtext></math>=<span>1D6EC</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x39C;</mtext></math>=<span>1D6ED</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x39D;</mtext></math>=<span>1D6EE</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x39E;</mtext></math>=<span>1D6EF</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x39F;</mtext></math>=<span>1D6F0</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3A0;</mtext></math>=<span>1D6F1</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3A1;</mtext></math>=<span>1D6F2</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3F4;</mtext></math>=<span>1D6F3</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3A3;</mtext></math>=<span>1D6F4</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3A4;</mtext></math>=<span>1D6F5</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3A5;</mtext></math>=<span>1D6F6</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3A6;</mtext></math>=<span>1D6F7</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3A7;</mtext></math>=<span>1D6F8</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3A8;</mtext></math>=<span>1D6F9</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3A9;</mtext></math>=<span>1D6FA</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x2207;</mtext></math>=<span>1D6FB</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3B1;</mtext></math>=<span>1D6FC</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3B2;</mtext></math>=<span>1D6FD</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3B3;</mtext></math>=<span>1D6FE</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3B4;</mtext></math>=<span>1D6FF</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3B5;</mtext></math>=<span>1D700</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3B6;</mtext></math>=<span>1D701</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3B7;</mtext></math>=<span>1D702</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3B8;</mtext></math>=<span>1D703</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3B9;</mtext></math>=<span>1D704</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3BA;</mtext></math>=<span>1D705</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3BB;</mtext></math>=<span>1D706</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3BC;</mtext></math>=<span>1D707</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3BD;</mtext></math>=<span>1D708</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3BE;</mtext></math>=<span>1D709</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3BF;</mtext></math>=<span>1D70A</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3C0;</mtext></math>=<span>1D70B</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3C1;</mtext></math>=<span>1D70C</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3C2;</mtext></math>=<span>1D70D</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3C3;</mtext></math>=<span>1D70E</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3C4;</mtext></math>=<span>1D70F</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3C5;</mtext></math>=<span>1D710</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3C6;</mtext></math>=<span>1D711</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3C7;</mtext></math>=<span>1D712</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3C8;</mtext></math>=<span>1D713</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3C9;</mtext></math>=<span>1D714</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x2202;</mtext></math>=<span>1D715</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3F5;</mtext></math>=<span>1D716</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3D1;</mtext></math>=<span>1D717</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3F0;</mtext></math>=<span>1D718</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3D5;</mtext></math>=<span>1D719</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3F1;</mtext></math>=<span>1D71A</span></span>
+ <span><math class="testfont"><mtext mathvariant="italic">&#x3D6;</mtext></math>=<span>1D71B</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-looped-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-looped-ref.html
new file mode 100644
index 0000000000..f00e5d87bb
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-looped-ref.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant looped (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-looped.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1EE80;</mtext></math>=<span>1EE80</span></span>
+ <span><math class="testfont"><mtext>&#x1EE81;</mtext></math>=<span>1EE81</span></span>
+ <span><math class="testfont"><mtext>&#x1EE82;</mtext></math>=<span>1EE82</span></span>
+ <span><math class="testfont"><mtext>&#x1EE83;</mtext></math>=<span>1EE83</span></span>
+ <span><math class="testfont"><mtext>&#x1EE84;</mtext></math>=<span>1EE84</span></span>
+ <span><math class="testfont"><mtext>&#x1EE85;</mtext></math>=<span>1EE85</span></span>
+ <span><math class="testfont"><mtext>&#x1EE86;</mtext></math>=<span>1EE86</span></span>
+ <span><math class="testfont"><mtext>&#x1EE87;</mtext></math>=<span>1EE87</span></span>
+ <span><math class="testfont"><mtext>&#x1EE88;</mtext></math>=<span>1EE88</span></span>
+ <span><math class="testfont"><mtext>&#x1EE89;</mtext></math>=<span>1EE89</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1EE8B;</mtext></math>=<span>1EE8B</span></span>
+ <span><math class="testfont"><mtext>&#x1EE8C;</mtext></math>=<span>1EE8C</span></span>
+ <span><math class="testfont"><mtext>&#x1EE8D;</mtext></math>=<span>1EE8D</span></span>
+ <span><math class="testfont"><mtext>&#x1EE8E;</mtext></math>=<span>1EE8E</span></span>
+ <span><math class="testfont"><mtext>&#x1EE8F;</mtext></math>=<span>1EE8F</span></span>
+ <span><math class="testfont"><mtext>&#x1EE90;</mtext></math>=<span>1EE90</span></span>
+ <span><math class="testfont"><mtext>&#x1EE91;</mtext></math>=<span>1EE91</span></span>
+ <span><math class="testfont"><mtext>&#x1EE92;</mtext></math>=<span>1EE92</span></span>
+ <span><math class="testfont"><mtext>&#x1EE93;</mtext></math>=<span>1EE93</span></span>
+ <span><math class="testfont"><mtext>&#x1EE94;</mtext></math>=<span>1EE94</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1EE95;</mtext></math>=<span>1EE95</span></span>
+ <span><math class="testfont"><mtext>&#x1EE96;</mtext></math>=<span>1EE96</span></span>
+ <span><math class="testfont"><mtext>&#x1EE97;</mtext></math>=<span>1EE97</span></span>
+ <span><math class="testfont"><mtext>&#x1EE98;</mtext></math>=<span>1EE98</span></span>
+ <span><math class="testfont"><mtext>&#x1EE99;</mtext></math>=<span>1EE99</span></span>
+ <span><math class="testfont"><mtext>&#x1EE9A;</mtext></math>=<span>1EE9A</span></span>
+ <span><math class="testfont"><mtext>&#x1EE9B;</mtext></math>=<span>1EE9B</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-looped.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-looped.html
new file mode 100644
index 0000000000..b208849368
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-looped.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant looped</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#looped-mappings">
+<link rel="match" href="mathvariant-looped-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a looped mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-looped.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x627;</mtext></math>=<span>1EE80</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x628;</mtext></math>=<span>1EE81</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x62C;</mtext></math>=<span>1EE82</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x62F;</mtext></math>=<span>1EE83</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x647;</mtext></math>=<span>1EE84</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x648;</mtext></math>=<span>1EE85</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x632;</mtext></math>=<span>1EE86</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x62D;</mtext></math>=<span>1EE87</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x637;</mtext></math>=<span>1EE88</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x64A;</mtext></math>=<span>1EE89</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x644;</mtext></math>=<span>1EE8B</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x645;</mtext></math>=<span>1EE8C</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x646;</mtext></math>=<span>1EE8D</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x633;</mtext></math>=<span>1EE8E</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x639;</mtext></math>=<span>1EE8F</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x641;</mtext></math>=<span>1EE90</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x635;</mtext></math>=<span>1EE91</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x642;</mtext></math>=<span>1EE92</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x631;</mtext></math>=<span>1EE93</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x634;</mtext></math>=<span>1EE94</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x62A;</mtext></math>=<span>1EE95</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x62B;</mtext></math>=<span>1EE96</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x62E;</mtext></math>=<span>1EE97</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x630;</mtext></math>=<span>1EE98</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x636;</mtext></math>=<span>1EE99</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x638;</mtext></math>=<span>1EE9A</span></span>
+ <span><math class="testfont"><mtext mathvariant="looped">&#x63A;</mtext></math>=<span>1EE9B</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-monospace-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-monospace-ref.html
new file mode 100644
index 0000000000..1d4a0c0a52
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-monospace-ref.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant monospace (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-monospace.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1D670;</mtext></math>=<span>1D670</span></span>
+ <span><math class="testfont"><mtext>&#x1D671;</mtext></math>=<span>1D671</span></span>
+ <span><math class="testfont"><mtext>&#x1D672;</mtext></math>=<span>1D672</span></span>
+ <span><math class="testfont"><mtext>&#x1D673;</mtext></math>=<span>1D673</span></span>
+ <span><math class="testfont"><mtext>&#x1D674;</mtext></math>=<span>1D674</span></span>
+ <span><math class="testfont"><mtext>&#x1D675;</mtext></math>=<span>1D675</span></span>
+ <span><math class="testfont"><mtext>&#x1D676;</mtext></math>=<span>1D676</span></span>
+ <span><math class="testfont"><mtext>&#x1D677;</mtext></math>=<span>1D677</span></span>
+ <span><math class="testfont"><mtext>&#x1D678;</mtext></math>=<span>1D678</span></span>
+ <span><math class="testfont"><mtext>&#x1D679;</mtext></math>=<span>1D679</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D67A;</mtext></math>=<span>1D67A</span></span>
+ <span><math class="testfont"><mtext>&#x1D67B;</mtext></math>=<span>1D67B</span></span>
+ <span><math class="testfont"><mtext>&#x1D67C;</mtext></math>=<span>1D67C</span></span>
+ <span><math class="testfont"><mtext>&#x1D67D;</mtext></math>=<span>1D67D</span></span>
+ <span><math class="testfont"><mtext>&#x1D67E;</mtext></math>=<span>1D67E</span></span>
+ <span><math class="testfont"><mtext>&#x1D67F;</mtext></math>=<span>1D67F</span></span>
+ <span><math class="testfont"><mtext>&#x1D680;</mtext></math>=<span>1D680</span></span>
+ <span><math class="testfont"><mtext>&#x1D681;</mtext></math>=<span>1D681</span></span>
+ <span><math class="testfont"><mtext>&#x1D682;</mtext></math>=<span>1D682</span></span>
+ <span><math class="testfont"><mtext>&#x1D683;</mtext></math>=<span>1D683</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D684;</mtext></math>=<span>1D684</span></span>
+ <span><math class="testfont"><mtext>&#x1D685;</mtext></math>=<span>1D685</span></span>
+ <span><math class="testfont"><mtext>&#x1D686;</mtext></math>=<span>1D686</span></span>
+ <span><math class="testfont"><mtext>&#x1D687;</mtext></math>=<span>1D687</span></span>
+ <span><math class="testfont"><mtext>&#x1D688;</mtext></math>=<span>1D688</span></span>
+ <span><math class="testfont"><mtext>&#x1D689;</mtext></math>=<span>1D689</span></span>
+ <span><math class="testfont"><mtext>&#x1D68A;</mtext></math>=<span>1D68A</span></span>
+ <span><math class="testfont"><mtext>&#x1D68B;</mtext></math>=<span>1D68B</span></span>
+ <span><math class="testfont"><mtext>&#x1D68C;</mtext></math>=<span>1D68C</span></span>
+ <span><math class="testfont"><mtext>&#x1D68D;</mtext></math>=<span>1D68D</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D68E;</mtext></math>=<span>1D68E</span></span>
+ <span><math class="testfont"><mtext>&#x1D68F;</mtext></math>=<span>1D68F</span></span>
+ <span><math class="testfont"><mtext>&#x1D690;</mtext></math>=<span>1D690</span></span>
+ <span><math class="testfont"><mtext>&#x1D691;</mtext></math>=<span>1D691</span></span>
+ <span><math class="testfont"><mtext>&#x1D692;</mtext></math>=<span>1D692</span></span>
+ <span><math class="testfont"><mtext>&#x1D693;</mtext></math>=<span>1D693</span></span>
+ <span><math class="testfont"><mtext>&#x1D694;</mtext></math>=<span>1D694</span></span>
+ <span><math class="testfont"><mtext>&#x1D695;</mtext></math>=<span>1D695</span></span>
+ <span><math class="testfont"><mtext>&#x1D696;</mtext></math>=<span>1D696</span></span>
+ <span><math class="testfont"><mtext>&#x1D697;</mtext></math>=<span>1D697</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D698;</mtext></math>=<span>1D698</span></span>
+ <span><math class="testfont"><mtext>&#x1D699;</mtext></math>=<span>1D699</span></span>
+ <span><math class="testfont"><mtext>&#x1D69A;</mtext></math>=<span>1D69A</span></span>
+ <span><math class="testfont"><mtext>&#x1D69B;</mtext></math>=<span>1D69B</span></span>
+ <span><math class="testfont"><mtext>&#x1D69C;</mtext></math>=<span>1D69C</span></span>
+ <span><math class="testfont"><mtext>&#x1D69D;</mtext></math>=<span>1D69D</span></span>
+ <span><math class="testfont"><mtext>&#x1D69E;</mtext></math>=<span>1D69E</span></span>
+ <span><math class="testfont"><mtext>&#x1D69F;</mtext></math>=<span>1D69F</span></span>
+ <span><math class="testfont"><mtext>&#x1D6A0;</mtext></math>=<span>1D6A0</span></span>
+ <span><math class="testfont"><mtext>&#x1D6A1;</mtext></math>=<span>1D6A1</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D6A2;</mtext></math>=<span>1D6A2</span></span>
+ <span><math class="testfont"><mtext>&#x1D6A3;</mtext></math>=<span>1D6A3</span></span>
+ <span><math class="testfont"><mtext>&#x1D7F6;</mtext></math>=<span>1D7F6</span></span>
+ <span><math class="testfont"><mtext>&#x1D7F7;</mtext></math>=<span>1D7F7</span></span>
+ <span><math class="testfont"><mtext>&#x1D7F8;</mtext></math>=<span>1D7F8</span></span>
+ <span><math class="testfont"><mtext>&#x1D7F9;</mtext></math>=<span>1D7F9</span></span>
+ <span><math class="testfont"><mtext>&#x1D7FA;</mtext></math>=<span>1D7FA</span></span>
+ <span><math class="testfont"><mtext>&#x1D7FB;</mtext></math>=<span>1D7FB</span></span>
+ <span><math class="testfont"><mtext>&#x1D7FC;</mtext></math>=<span>1D7FC</span></span>
+ <span><math class="testfont"><mtext>&#x1D7FD;</mtext></math>=<span>1D7FD</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D7FE;</mtext></math>=<span>1D7FE</span></span>
+ <span><math class="testfont"><mtext>&#x1D7FF;</mtext></math>=<span>1D7FF</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-monospace.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-monospace.html
new file mode 100644
index 0000000000..ad5541fe0e
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-monospace.html
@@ -0,0 +1,95 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant monospace</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#monospace-mappings">
+<link rel="match" href="mathvariant-monospace-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a monospace mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-monospace.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x41;</mtext></math>=<span>1D670</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x42;</mtext></math>=<span>1D671</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x43;</mtext></math>=<span>1D672</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x44;</mtext></math>=<span>1D673</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x45;</mtext></math>=<span>1D674</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x46;</mtext></math>=<span>1D675</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x47;</mtext></math>=<span>1D676</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x48;</mtext></math>=<span>1D677</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x49;</mtext></math>=<span>1D678</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x4A;</mtext></math>=<span>1D679</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x4B;</mtext></math>=<span>1D67A</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x4C;</mtext></math>=<span>1D67B</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x4D;</mtext></math>=<span>1D67C</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x4E;</mtext></math>=<span>1D67D</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x4F;</mtext></math>=<span>1D67E</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x50;</mtext></math>=<span>1D67F</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x51;</mtext></math>=<span>1D680</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x52;</mtext></math>=<span>1D681</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x53;</mtext></math>=<span>1D682</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x54;</mtext></math>=<span>1D683</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x55;</mtext></math>=<span>1D684</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x56;</mtext></math>=<span>1D685</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x57;</mtext></math>=<span>1D686</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x58;</mtext></math>=<span>1D687</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x59;</mtext></math>=<span>1D688</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x5A;</mtext></math>=<span>1D689</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x61;</mtext></math>=<span>1D68A</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x62;</mtext></math>=<span>1D68B</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x63;</mtext></math>=<span>1D68C</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x64;</mtext></math>=<span>1D68D</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x65;</mtext></math>=<span>1D68E</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x66;</mtext></math>=<span>1D68F</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x67;</mtext></math>=<span>1D690</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x68;</mtext></math>=<span>1D691</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x69;</mtext></math>=<span>1D692</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x6A;</mtext></math>=<span>1D693</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x6B;</mtext></math>=<span>1D694</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x6C;</mtext></math>=<span>1D695</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x6D;</mtext></math>=<span>1D696</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x6E;</mtext></math>=<span>1D697</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x6F;</mtext></math>=<span>1D698</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x70;</mtext></math>=<span>1D699</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x71;</mtext></math>=<span>1D69A</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x72;</mtext></math>=<span>1D69B</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x73;</mtext></math>=<span>1D69C</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x74;</mtext></math>=<span>1D69D</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x75;</mtext></math>=<span>1D69E</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x76;</mtext></math>=<span>1D69F</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x77;</mtext></math>=<span>1D6A0</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x78;</mtext></math>=<span>1D6A1</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x79;</mtext></math>=<span>1D6A2</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x7A;</mtext></math>=<span>1D6A3</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x30;</mtext></math>=<span>1D7F6</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x31;</mtext></math>=<span>1D7F7</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x32;</mtext></math>=<span>1D7F8</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x33;</mtext></math>=<span>1D7F9</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x34;</mtext></math>=<span>1D7FA</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x35;</mtext></math>=<span>1D7FB</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x36;</mtext></math>=<span>1D7FC</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x37;</mtext></math>=<span>1D7FD</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x38;</mtext></math>=<span>1D7FE</span></span>
+ <span><math class="testfont"><mtext mathvariant="monospace">&#x39;</mtext></math>=<span>1D7FF</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-bold-italic-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-bold-italic-ref.html
new file mode 100644
index 0000000000..f918db9b48
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-bold-italic-ref.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant sans-serif-bold-italic (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-sans-serif-bold-italic.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1D63C;</mtext></math>=<span>1D63C</span></span>
+ <span><math class="testfont"><mtext>&#x1D63D;</mtext></math>=<span>1D63D</span></span>
+ <span><math class="testfont"><mtext>&#x1D63E;</mtext></math>=<span>1D63E</span></span>
+ <span><math class="testfont"><mtext>&#x1D63F;</mtext></math>=<span>1D63F</span></span>
+ <span><math class="testfont"><mtext>&#x1D640;</mtext></math>=<span>1D640</span></span>
+ <span><math class="testfont"><mtext>&#x1D641;</mtext></math>=<span>1D641</span></span>
+ <span><math class="testfont"><mtext>&#x1D642;</mtext></math>=<span>1D642</span></span>
+ <span><math class="testfont"><mtext>&#x1D643;</mtext></math>=<span>1D643</span></span>
+ <span><math class="testfont"><mtext>&#x1D644;</mtext></math>=<span>1D644</span></span>
+ <span><math class="testfont"><mtext>&#x1D645;</mtext></math>=<span>1D645</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D646;</mtext></math>=<span>1D646</span></span>
+ <span><math class="testfont"><mtext>&#x1D647;</mtext></math>=<span>1D647</span></span>
+ <span><math class="testfont"><mtext>&#x1D648;</mtext></math>=<span>1D648</span></span>
+ <span><math class="testfont"><mtext>&#x1D649;</mtext></math>=<span>1D649</span></span>
+ <span><math class="testfont"><mtext>&#x1D64A;</mtext></math>=<span>1D64A</span></span>
+ <span><math class="testfont"><mtext>&#x1D64B;</mtext></math>=<span>1D64B</span></span>
+ <span><math class="testfont"><mtext>&#x1D64C;</mtext></math>=<span>1D64C</span></span>
+ <span><math class="testfont"><mtext>&#x1D64D;</mtext></math>=<span>1D64D</span></span>
+ <span><math class="testfont"><mtext>&#x1D64E;</mtext></math>=<span>1D64E</span></span>
+ <span><math class="testfont"><mtext>&#x1D64F;</mtext></math>=<span>1D64F</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D650;</mtext></math>=<span>1D650</span></span>
+ <span><math class="testfont"><mtext>&#x1D651;</mtext></math>=<span>1D651</span></span>
+ <span><math class="testfont"><mtext>&#x1D652;</mtext></math>=<span>1D652</span></span>
+ <span><math class="testfont"><mtext>&#x1D653;</mtext></math>=<span>1D653</span></span>
+ <span><math class="testfont"><mtext>&#x1D654;</mtext></math>=<span>1D654</span></span>
+ <span><math class="testfont"><mtext>&#x1D655;</mtext></math>=<span>1D655</span></span>
+ <span><math class="testfont"><mtext>&#x1D656;</mtext></math>=<span>1D656</span></span>
+ <span><math class="testfont"><mtext>&#x1D657;</mtext></math>=<span>1D657</span></span>
+ <span><math class="testfont"><mtext>&#x1D658;</mtext></math>=<span>1D658</span></span>
+ <span><math class="testfont"><mtext>&#x1D659;</mtext></math>=<span>1D659</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D65A;</mtext></math>=<span>1D65A</span></span>
+ <span><math class="testfont"><mtext>&#x1D65B;</mtext></math>=<span>1D65B</span></span>
+ <span><math class="testfont"><mtext>&#x1D65C;</mtext></math>=<span>1D65C</span></span>
+ <span><math class="testfont"><mtext>&#x1D65D;</mtext></math>=<span>1D65D</span></span>
+ <span><math class="testfont"><mtext>&#x1D65E;</mtext></math>=<span>1D65E</span></span>
+ <span><math class="testfont"><mtext>&#x1D65F;</mtext></math>=<span>1D65F</span></span>
+ <span><math class="testfont"><mtext>&#x1D660;</mtext></math>=<span>1D660</span></span>
+ <span><math class="testfont"><mtext>&#x1D661;</mtext></math>=<span>1D661</span></span>
+ <span><math class="testfont"><mtext>&#x1D662;</mtext></math>=<span>1D662</span></span>
+ <span><math class="testfont"><mtext>&#x1D663;</mtext></math>=<span>1D663</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D664;</mtext></math>=<span>1D664</span></span>
+ <span><math class="testfont"><mtext>&#x1D665;</mtext></math>=<span>1D665</span></span>
+ <span><math class="testfont"><mtext>&#x1D666;</mtext></math>=<span>1D666</span></span>
+ <span><math class="testfont"><mtext>&#x1D667;</mtext></math>=<span>1D667</span></span>
+ <span><math class="testfont"><mtext>&#x1D668;</mtext></math>=<span>1D668</span></span>
+ <span><math class="testfont"><mtext>&#x1D669;</mtext></math>=<span>1D669</span></span>
+ <span><math class="testfont"><mtext>&#x1D66A;</mtext></math>=<span>1D66A</span></span>
+ <span><math class="testfont"><mtext>&#x1D66B;</mtext></math>=<span>1D66B</span></span>
+ <span><math class="testfont"><mtext>&#x1D66C;</mtext></math>=<span>1D66C</span></span>
+ <span><math class="testfont"><mtext>&#x1D66D;</mtext></math>=<span>1D66D</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D66E;</mtext></math>=<span>1D66E</span></span>
+ <span><math class="testfont"><mtext>&#x1D66F;</mtext></math>=<span>1D66F</span></span>
+ <span><math class="testfont"><mtext>&#x1D790;</mtext></math>=<span>1D790</span></span>
+ <span><math class="testfont"><mtext>&#x1D791;</mtext></math>=<span>1D791</span></span>
+ <span><math class="testfont"><mtext>&#x1D792;</mtext></math>=<span>1D792</span></span>
+ <span><math class="testfont"><mtext>&#x1D793;</mtext></math>=<span>1D793</span></span>
+ <span><math class="testfont"><mtext>&#x1D794;</mtext></math>=<span>1D794</span></span>
+ <span><math class="testfont"><mtext>&#x1D795;</mtext></math>=<span>1D795</span></span>
+ <span><math class="testfont"><mtext>&#x1D796;</mtext></math>=<span>1D796</span></span>
+ <span><math class="testfont"><mtext>&#x1D797;</mtext></math>=<span>1D797</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D798;</mtext></math>=<span>1D798</span></span>
+ <span><math class="testfont"><mtext>&#x1D799;</mtext></math>=<span>1D799</span></span>
+ <span><math class="testfont"><mtext>&#x1D79A;</mtext></math>=<span>1D79A</span></span>
+ <span><math class="testfont"><mtext>&#x1D79B;</mtext></math>=<span>1D79B</span></span>
+ <span><math class="testfont"><mtext>&#x1D79C;</mtext></math>=<span>1D79C</span></span>
+ <span><math class="testfont"><mtext>&#x1D79D;</mtext></math>=<span>1D79D</span></span>
+ <span><math class="testfont"><mtext>&#x1D79E;</mtext></math>=<span>1D79E</span></span>
+ <span><math class="testfont"><mtext>&#x1D79F;</mtext></math>=<span>1D79F</span></span>
+ <span><math class="testfont"><mtext>&#x1D7A0;</mtext></math>=<span>1D7A0</span></span>
+ <span><math class="testfont"><mtext>&#x1D7A1;</mtext></math>=<span>1D7A1</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D7A2;</mtext></math>=<span>1D7A2</span></span>
+ <span><math class="testfont"><mtext>&#x1D7A3;</mtext></math>=<span>1D7A3</span></span>
+ <span><math class="testfont"><mtext>&#x1D7A4;</mtext></math>=<span>1D7A4</span></span>
+ <span><math class="testfont"><mtext>&#x1D7A5;</mtext></math>=<span>1D7A5</span></span>
+ <span><math class="testfont"><mtext>&#x1D7A6;</mtext></math>=<span>1D7A6</span></span>
+ <span><math class="testfont"><mtext>&#x1D7A7;</mtext></math>=<span>1D7A7</span></span>
+ <span><math class="testfont"><mtext>&#x1D7A8;</mtext></math>=<span>1D7A8</span></span>
+ <span><math class="testfont"><mtext>&#x1D7A9;</mtext></math>=<span>1D7A9</span></span>
+ <span><math class="testfont"><mtext>&#x1D7AA;</mtext></math>=<span>1D7AA</span></span>
+ <span><math class="testfont"><mtext>&#x1D7AB;</mtext></math>=<span>1D7AB</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D7AC;</mtext></math>=<span>1D7AC</span></span>
+ <span><math class="testfont"><mtext>&#x1D7AD;</mtext></math>=<span>1D7AD</span></span>
+ <span><math class="testfont"><mtext>&#x1D7AE;</mtext></math>=<span>1D7AE</span></span>
+ <span><math class="testfont"><mtext>&#x1D7AF;</mtext></math>=<span>1D7AF</span></span>
+ <span><math class="testfont"><mtext>&#x1D7B0;</mtext></math>=<span>1D7B0</span></span>
+ <span><math class="testfont"><mtext>&#x1D7B1;</mtext></math>=<span>1D7B1</span></span>
+ <span><math class="testfont"><mtext>&#x1D7B2;</mtext></math>=<span>1D7B2</span></span>
+ <span><math class="testfont"><mtext>&#x1D7B3;</mtext></math>=<span>1D7B3</span></span>
+ <span><math class="testfont"><mtext>&#x1D7B4;</mtext></math>=<span>1D7B4</span></span>
+ <span><math class="testfont"><mtext>&#x1D7B5;</mtext></math>=<span>1D7B5</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D7B6;</mtext></math>=<span>1D7B6</span></span>
+ <span><math class="testfont"><mtext>&#x1D7B7;</mtext></math>=<span>1D7B7</span></span>
+ <span><math class="testfont"><mtext>&#x1D7B8;</mtext></math>=<span>1D7B8</span></span>
+ <span><math class="testfont"><mtext>&#x1D7B9;</mtext></math>=<span>1D7B9</span></span>
+ <span><math class="testfont"><mtext>&#x1D7BA;</mtext></math>=<span>1D7BA</span></span>
+ <span><math class="testfont"><mtext>&#x1D7BB;</mtext></math>=<span>1D7BB</span></span>
+ <span><math class="testfont"><mtext>&#x1D7BC;</mtext></math>=<span>1D7BC</span></span>
+ <span><math class="testfont"><mtext>&#x1D7BD;</mtext></math>=<span>1D7BD</span></span>
+ <span><math class="testfont"><mtext>&#x1D7BE;</mtext></math>=<span>1D7BE</span></span>
+ <span><math class="testfont"><mtext>&#x1D7BF;</mtext></math>=<span>1D7BF</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D7C0;</mtext></math>=<span>1D7C0</span></span>
+ <span><math class="testfont"><mtext>&#x1D7C1;</mtext></math>=<span>1D7C1</span></span>
+ <span><math class="testfont"><mtext>&#x1D7C2;</mtext></math>=<span>1D7C2</span></span>
+ <span><math class="testfont"><mtext>&#x1D7C3;</mtext></math>=<span>1D7C3</span></span>
+ <span><math class="testfont"><mtext>&#x1D7C4;</mtext></math>=<span>1D7C4</span></span>
+ <span><math class="testfont"><mtext>&#x1D7C5;</mtext></math>=<span>1D7C5</span></span>
+ <span><math class="testfont"><mtext>&#x1D7C6;</mtext></math>=<span>1D7C6</span></span>
+ <span><math class="testfont"><mtext>&#x1D7C7;</mtext></math>=<span>1D7C7</span></span>
+ <span><math class="testfont"><mtext>&#x1D7C8;</mtext></math>=<span>1D7C8</span></span>
+ <span><math class="testfont"><mtext>&#x1D7C9;</mtext></math>=<span>1D7C9</span></span><br/>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-bold-italic.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-bold-italic.html
new file mode 100644
index 0000000000..d51afe4345
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-bold-italic.html
@@ -0,0 +1,143 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant sans-serif-bold-italic</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#sans-serif-bold-italic-mappings">
+<link rel="match" href="mathvariant-sans-serif-bold-italic-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a sans-serif-bold-italic mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-sans-serif-bold-italic.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x41;</mtext></math>=<span>1D63C</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x42;</mtext></math>=<span>1D63D</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x43;</mtext></math>=<span>1D63E</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x44;</mtext></math>=<span>1D63F</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x45;</mtext></math>=<span>1D640</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x46;</mtext></math>=<span>1D641</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x47;</mtext></math>=<span>1D642</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x48;</mtext></math>=<span>1D643</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x49;</mtext></math>=<span>1D644</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x4A;</mtext></math>=<span>1D645</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x4B;</mtext></math>=<span>1D646</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x4C;</mtext></math>=<span>1D647</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x4D;</mtext></math>=<span>1D648</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x4E;</mtext></math>=<span>1D649</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x4F;</mtext></math>=<span>1D64A</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x50;</mtext></math>=<span>1D64B</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x51;</mtext></math>=<span>1D64C</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x52;</mtext></math>=<span>1D64D</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x53;</mtext></math>=<span>1D64E</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x54;</mtext></math>=<span>1D64F</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x55;</mtext></math>=<span>1D650</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x56;</mtext></math>=<span>1D651</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x57;</mtext></math>=<span>1D652</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x58;</mtext></math>=<span>1D653</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x59;</mtext></math>=<span>1D654</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x5A;</mtext></math>=<span>1D655</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x61;</mtext></math>=<span>1D656</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x62;</mtext></math>=<span>1D657</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x63;</mtext></math>=<span>1D658</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x64;</mtext></math>=<span>1D659</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x65;</mtext></math>=<span>1D65A</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x66;</mtext></math>=<span>1D65B</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x67;</mtext></math>=<span>1D65C</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x68;</mtext></math>=<span>1D65D</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x69;</mtext></math>=<span>1D65E</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x6A;</mtext></math>=<span>1D65F</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x6B;</mtext></math>=<span>1D660</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x6C;</mtext></math>=<span>1D661</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x6D;</mtext></math>=<span>1D662</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x6E;</mtext></math>=<span>1D663</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x6F;</mtext></math>=<span>1D664</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x70;</mtext></math>=<span>1D665</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x71;</mtext></math>=<span>1D666</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x72;</mtext></math>=<span>1D667</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x73;</mtext></math>=<span>1D668</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x74;</mtext></math>=<span>1D669</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x75;</mtext></math>=<span>1D66A</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x76;</mtext></math>=<span>1D66B</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x77;</mtext></math>=<span>1D66C</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x78;</mtext></math>=<span>1D66D</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x79;</mtext></math>=<span>1D66E</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x7A;</mtext></math>=<span>1D66F</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x391;</mtext></math>=<span>1D790</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x392;</mtext></math>=<span>1D791</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x393;</mtext></math>=<span>1D792</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x394;</mtext></math>=<span>1D793</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x395;</mtext></math>=<span>1D794</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x396;</mtext></math>=<span>1D795</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x397;</mtext></math>=<span>1D796</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x398;</mtext></math>=<span>1D797</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x399;</mtext></math>=<span>1D798</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x39A;</mtext></math>=<span>1D799</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x39B;</mtext></math>=<span>1D79A</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x39C;</mtext></math>=<span>1D79B</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x39D;</mtext></math>=<span>1D79C</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x39E;</mtext></math>=<span>1D79D</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x39F;</mtext></math>=<span>1D79E</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A0;</mtext></math>=<span>1D79F</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A1;</mtext></math>=<span>1D7A0</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3F4;</mtext></math>=<span>1D7A1</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A3;</mtext></math>=<span>1D7A2</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A4;</mtext></math>=<span>1D7A3</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A5;</mtext></math>=<span>1D7A4</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A6;</mtext></math>=<span>1D7A5</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A7;</mtext></math>=<span>1D7A6</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A8;</mtext></math>=<span>1D7A7</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3A9;</mtext></math>=<span>1D7A8</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x2207;</mtext></math>=<span>1D7A9</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3B1;</mtext></math>=<span>1D7AA</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3B2;</mtext></math>=<span>1D7AB</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3B3;</mtext></math>=<span>1D7AC</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3B4;</mtext></math>=<span>1D7AD</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3B5;</mtext></math>=<span>1D7AE</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3B6;</mtext></math>=<span>1D7AF</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3B7;</mtext></math>=<span>1D7B0</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3B8;</mtext></math>=<span>1D7B1</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3B9;</mtext></math>=<span>1D7B2</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3BA;</mtext></math>=<span>1D7B3</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3BB;</mtext></math>=<span>1D7B4</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3BC;</mtext></math>=<span>1D7B5</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3BD;</mtext></math>=<span>1D7B6</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3BE;</mtext></math>=<span>1D7B7</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3BF;</mtext></math>=<span>1D7B8</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3C0;</mtext></math>=<span>1D7B9</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3C1;</mtext></math>=<span>1D7BA</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3C2;</mtext></math>=<span>1D7BB</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3C3;</mtext></math>=<span>1D7BC</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3C4;</mtext></math>=<span>1D7BD</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3C5;</mtext></math>=<span>1D7BE</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3C6;</mtext></math>=<span>1D7BF</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3C7;</mtext></math>=<span>1D7C0</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3C8;</mtext></math>=<span>1D7C1</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3C9;</mtext></math>=<span>1D7C2</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x2202;</mtext></math>=<span>1D7C3</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3F5;</mtext></math>=<span>1D7C4</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3D1;</mtext></math>=<span>1D7C5</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3F0;</mtext></math>=<span>1D7C6</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3D5;</mtext></math>=<span>1D7C7</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3F1;</mtext></math>=<span>1D7C8</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-bold-italic">&#x3D6;</mtext></math>=<span>1D7C9</span></span><br/>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-italic-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-italic-ref.html
new file mode 100644
index 0000000000..d7e23248c6
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-italic-ref.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant sans-serif-italic (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-sans-serif-italic.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1D608;</mtext></math>=<span>1D608</span></span>
+ <span><math class="testfont"><mtext>&#x1D609;</mtext></math>=<span>1D609</span></span>
+ <span><math class="testfont"><mtext>&#x1D60A;</mtext></math>=<span>1D60A</span></span>
+ <span><math class="testfont"><mtext>&#x1D60B;</mtext></math>=<span>1D60B</span></span>
+ <span><math class="testfont"><mtext>&#x1D60C;</mtext></math>=<span>1D60C</span></span>
+ <span><math class="testfont"><mtext>&#x1D60D;</mtext></math>=<span>1D60D</span></span>
+ <span><math class="testfont"><mtext>&#x1D60E;</mtext></math>=<span>1D60E</span></span>
+ <span><math class="testfont"><mtext>&#x1D60F;</mtext></math>=<span>1D60F</span></span>
+ <span><math class="testfont"><mtext>&#x1D610;</mtext></math>=<span>1D610</span></span>
+ <span><math class="testfont"><mtext>&#x1D611;</mtext></math>=<span>1D611</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D612;</mtext></math>=<span>1D612</span></span>
+ <span><math class="testfont"><mtext>&#x1D613;</mtext></math>=<span>1D613</span></span>
+ <span><math class="testfont"><mtext>&#x1D614;</mtext></math>=<span>1D614</span></span>
+ <span><math class="testfont"><mtext>&#x1D615;</mtext></math>=<span>1D615</span></span>
+ <span><math class="testfont"><mtext>&#x1D616;</mtext></math>=<span>1D616</span></span>
+ <span><math class="testfont"><mtext>&#x1D617;</mtext></math>=<span>1D617</span></span>
+ <span><math class="testfont"><mtext>&#x1D618;</mtext></math>=<span>1D618</span></span>
+ <span><math class="testfont"><mtext>&#x1D619;</mtext></math>=<span>1D619</span></span>
+ <span><math class="testfont"><mtext>&#x1D61A;</mtext></math>=<span>1D61A</span></span>
+ <span><math class="testfont"><mtext>&#x1D61B;</mtext></math>=<span>1D61B</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D61C;</mtext></math>=<span>1D61C</span></span>
+ <span><math class="testfont"><mtext>&#x1D61D;</mtext></math>=<span>1D61D</span></span>
+ <span><math class="testfont"><mtext>&#x1D61E;</mtext></math>=<span>1D61E</span></span>
+ <span><math class="testfont"><mtext>&#x1D61F;</mtext></math>=<span>1D61F</span></span>
+ <span><math class="testfont"><mtext>&#x1D620;</mtext></math>=<span>1D620</span></span>
+ <span><math class="testfont"><mtext>&#x1D621;</mtext></math>=<span>1D621</span></span>
+ <span><math class="testfont"><mtext>&#x1D622;</mtext></math>=<span>1D622</span></span>
+ <span><math class="testfont"><mtext>&#x1D623;</mtext></math>=<span>1D623</span></span>
+ <span><math class="testfont"><mtext>&#x1D624;</mtext></math>=<span>1D624</span></span>
+ <span><math class="testfont"><mtext>&#x1D625;</mtext></math>=<span>1D625</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D626;</mtext></math>=<span>1D626</span></span>
+ <span><math class="testfont"><mtext>&#x1D627;</mtext></math>=<span>1D627</span></span>
+ <span><math class="testfont"><mtext>&#x1D628;</mtext></math>=<span>1D628</span></span>
+ <span><math class="testfont"><mtext>&#x1D629;</mtext></math>=<span>1D629</span></span>
+ <span><math class="testfont"><mtext>&#x1D62A;</mtext></math>=<span>1D62A</span></span>
+ <span><math class="testfont"><mtext>&#x1D62B;</mtext></math>=<span>1D62B</span></span>
+ <span><math class="testfont"><mtext>&#x1D62C;</mtext></math>=<span>1D62C</span></span>
+ <span><math class="testfont"><mtext>&#x1D62D;</mtext></math>=<span>1D62D</span></span>
+ <span><math class="testfont"><mtext>&#x1D62E;</mtext></math>=<span>1D62E</span></span>
+ <span><math class="testfont"><mtext>&#x1D62F;</mtext></math>=<span>1D62F</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D630;</mtext></math>=<span>1D630</span></span>
+ <span><math class="testfont"><mtext>&#x1D631;</mtext></math>=<span>1D631</span></span>
+ <span><math class="testfont"><mtext>&#x1D632;</mtext></math>=<span>1D632</span></span>
+ <span><math class="testfont"><mtext>&#x1D633;</mtext></math>=<span>1D633</span></span>
+ <span><math class="testfont"><mtext>&#x1D634;</mtext></math>=<span>1D634</span></span>
+ <span><math class="testfont"><mtext>&#x1D635;</mtext></math>=<span>1D635</span></span>
+ <span><math class="testfont"><mtext>&#x1D636;</mtext></math>=<span>1D636</span></span>
+ <span><math class="testfont"><mtext>&#x1D637;</mtext></math>=<span>1D637</span></span>
+ <span><math class="testfont"><mtext>&#x1D638;</mtext></math>=<span>1D638</span></span>
+ <span><math class="testfont"><mtext>&#x1D639;</mtext></math>=<span>1D639</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D63A;</mtext></math>=<span>1D63A</span></span>
+ <span><math class="testfont"><mtext>&#x1D63B;</mtext></math>=<span>1D63B</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-italic.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-italic.html
new file mode 100644
index 0000000000..e847ca9bb8
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-italic.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant sans-serif-italic</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#sans-serif-italic-mappings">
+<link rel="match" href="mathvariant-sans-serif-italic-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a sans-serif-italic mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-sans-serif-italic.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x41;</mtext></math>=<span>1D608</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x42;</mtext></math>=<span>1D609</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x43;</mtext></math>=<span>1D60A</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x44;</mtext></math>=<span>1D60B</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x45;</mtext></math>=<span>1D60C</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x46;</mtext></math>=<span>1D60D</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x47;</mtext></math>=<span>1D60E</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x48;</mtext></math>=<span>1D60F</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x49;</mtext></math>=<span>1D610</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x4A;</mtext></math>=<span>1D611</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x4B;</mtext></math>=<span>1D612</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x4C;</mtext></math>=<span>1D613</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x4D;</mtext></math>=<span>1D614</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x4E;</mtext></math>=<span>1D615</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x4F;</mtext></math>=<span>1D616</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x50;</mtext></math>=<span>1D617</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x51;</mtext></math>=<span>1D618</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x52;</mtext></math>=<span>1D619</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x53;</mtext></math>=<span>1D61A</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x54;</mtext></math>=<span>1D61B</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x55;</mtext></math>=<span>1D61C</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x56;</mtext></math>=<span>1D61D</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x57;</mtext></math>=<span>1D61E</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x58;</mtext></math>=<span>1D61F</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x59;</mtext></math>=<span>1D620</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x5A;</mtext></math>=<span>1D621</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x61;</mtext></math>=<span>1D622</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x62;</mtext></math>=<span>1D623</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x63;</mtext></math>=<span>1D624</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x64;</mtext></math>=<span>1D625</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x65;</mtext></math>=<span>1D626</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x66;</mtext></math>=<span>1D627</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x67;</mtext></math>=<span>1D628</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x68;</mtext></math>=<span>1D629</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x69;</mtext></math>=<span>1D62A</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x6A;</mtext></math>=<span>1D62B</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x6B;</mtext></math>=<span>1D62C</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x6C;</mtext></math>=<span>1D62D</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x6D;</mtext></math>=<span>1D62E</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x6E;</mtext></math>=<span>1D62F</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x6F;</mtext></math>=<span>1D630</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x70;</mtext></math>=<span>1D631</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x71;</mtext></math>=<span>1D632</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x72;</mtext></math>=<span>1D633</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x73;</mtext></math>=<span>1D634</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x74;</mtext></math>=<span>1D635</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x75;</mtext></math>=<span>1D636</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x76;</mtext></math>=<span>1D637</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x77;</mtext></math>=<span>1D638</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x78;</mtext></math>=<span>1D639</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x79;</mtext></math>=<span>1D63A</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif-italic">&#x7A;</mtext></math>=<span>1D63B</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-ref.html
new file mode 100644
index 0000000000..ced5272ecb
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif-ref.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant sans-serif (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-sans-serif.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1D5A0;</mtext></math>=<span>1D5A0</span></span>
+ <span><math class="testfont"><mtext>&#x1D5A1;</mtext></math>=<span>1D5A1</span></span>
+ <span><math class="testfont"><mtext>&#x1D5A2;</mtext></math>=<span>1D5A2</span></span>
+ <span><math class="testfont"><mtext>&#x1D5A3;</mtext></math>=<span>1D5A3</span></span>
+ <span><math class="testfont"><mtext>&#x1D5A4;</mtext></math>=<span>1D5A4</span></span>
+ <span><math class="testfont"><mtext>&#x1D5A5;</mtext></math>=<span>1D5A5</span></span>
+ <span><math class="testfont"><mtext>&#x1D5A6;</mtext></math>=<span>1D5A6</span></span>
+ <span><math class="testfont"><mtext>&#x1D5A7;</mtext></math>=<span>1D5A7</span></span>
+ <span><math class="testfont"><mtext>&#x1D5A8;</mtext></math>=<span>1D5A8</span></span>
+ <span><math class="testfont"><mtext>&#x1D5A9;</mtext></math>=<span>1D5A9</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D5AA;</mtext></math>=<span>1D5AA</span></span>
+ <span><math class="testfont"><mtext>&#x1D5AB;</mtext></math>=<span>1D5AB</span></span>
+ <span><math class="testfont"><mtext>&#x1D5AC;</mtext></math>=<span>1D5AC</span></span>
+ <span><math class="testfont"><mtext>&#x1D5AD;</mtext></math>=<span>1D5AD</span></span>
+ <span><math class="testfont"><mtext>&#x1D5AE;</mtext></math>=<span>1D5AE</span></span>
+ <span><math class="testfont"><mtext>&#x1D5AF;</mtext></math>=<span>1D5AF</span></span>
+ <span><math class="testfont"><mtext>&#x1D5B0;</mtext></math>=<span>1D5B0</span></span>
+ <span><math class="testfont"><mtext>&#x1D5B1;</mtext></math>=<span>1D5B1</span></span>
+ <span><math class="testfont"><mtext>&#x1D5B2;</mtext></math>=<span>1D5B2</span></span>
+ <span><math class="testfont"><mtext>&#x1D5B3;</mtext></math>=<span>1D5B3</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D5B4;</mtext></math>=<span>1D5B4</span></span>
+ <span><math class="testfont"><mtext>&#x1D5B5;</mtext></math>=<span>1D5B5</span></span>
+ <span><math class="testfont"><mtext>&#x1D5B6;</mtext></math>=<span>1D5B6</span></span>
+ <span><math class="testfont"><mtext>&#x1D5B7;</mtext></math>=<span>1D5B7</span></span>
+ <span><math class="testfont"><mtext>&#x1D5B8;</mtext></math>=<span>1D5B8</span></span>
+ <span><math class="testfont"><mtext>&#x1D5B9;</mtext></math>=<span>1D5B9</span></span>
+ <span><math class="testfont"><mtext>&#x1D5BA;</mtext></math>=<span>1D5BA</span></span>
+ <span><math class="testfont"><mtext>&#x1D5BB;</mtext></math>=<span>1D5BB</span></span>
+ <span><math class="testfont"><mtext>&#x1D5BC;</mtext></math>=<span>1D5BC</span></span>
+ <span><math class="testfont"><mtext>&#x1D5BD;</mtext></math>=<span>1D5BD</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D5BE;</mtext></math>=<span>1D5BE</span></span>
+ <span><math class="testfont"><mtext>&#x1D5BF;</mtext></math>=<span>1D5BF</span></span>
+ <span><math class="testfont"><mtext>&#x1D5C0;</mtext></math>=<span>1D5C0</span></span>
+ <span><math class="testfont"><mtext>&#x1D5C1;</mtext></math>=<span>1D5C1</span></span>
+ <span><math class="testfont"><mtext>&#x1D5C2;</mtext></math>=<span>1D5C2</span></span>
+ <span><math class="testfont"><mtext>&#x1D5C3;</mtext></math>=<span>1D5C3</span></span>
+ <span><math class="testfont"><mtext>&#x1D5C4;</mtext></math>=<span>1D5C4</span></span>
+ <span><math class="testfont"><mtext>&#x1D5C5;</mtext></math>=<span>1D5C5</span></span>
+ <span><math class="testfont"><mtext>&#x1D5C6;</mtext></math>=<span>1D5C6</span></span>
+ <span><math class="testfont"><mtext>&#x1D5C7;</mtext></math>=<span>1D5C7</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D5C8;</mtext></math>=<span>1D5C8</span></span>
+ <span><math class="testfont"><mtext>&#x1D5C9;</mtext></math>=<span>1D5C9</span></span>
+ <span><math class="testfont"><mtext>&#x1D5CA;</mtext></math>=<span>1D5CA</span></span>
+ <span><math class="testfont"><mtext>&#x1D5CB;</mtext></math>=<span>1D5CB</span></span>
+ <span><math class="testfont"><mtext>&#x1D5CC;</mtext></math>=<span>1D5CC</span></span>
+ <span><math class="testfont"><mtext>&#x1D5CD;</mtext></math>=<span>1D5CD</span></span>
+ <span><math class="testfont"><mtext>&#x1D5CE;</mtext></math>=<span>1D5CE</span></span>
+ <span><math class="testfont"><mtext>&#x1D5CF;</mtext></math>=<span>1D5CF</span></span>
+ <span><math class="testfont"><mtext>&#x1D5D0;</mtext></math>=<span>1D5D0</span></span>
+ <span><math class="testfont"><mtext>&#x1D5D1;</mtext></math>=<span>1D5D1</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D5D2;</mtext></math>=<span>1D5D2</span></span>
+ <span><math class="testfont"><mtext>&#x1D5D3;</mtext></math>=<span>1D5D3</span></span>
+ <span><math class="testfont"><mtext>&#x1D7E2;</mtext></math>=<span>1D7E2</span></span>
+ <span><math class="testfont"><mtext>&#x1D7E3;</mtext></math>=<span>1D7E3</span></span>
+ <span><math class="testfont"><mtext>&#x1D7E4;</mtext></math>=<span>1D7E4</span></span>
+ <span><math class="testfont"><mtext>&#x1D7E5;</mtext></math>=<span>1D7E5</span></span>
+ <span><math class="testfont"><mtext>&#x1D7E6;</mtext></math>=<span>1D7E6</span></span>
+ <span><math class="testfont"><mtext>&#x1D7E7;</mtext></math>=<span>1D7E7</span></span>
+ <span><math class="testfont"><mtext>&#x1D7E8;</mtext></math>=<span>1D7E8</span></span>
+ <span><math class="testfont"><mtext>&#x1D7E9;</mtext></math>=<span>1D7E9</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D7EA;</mtext></math>=<span>1D7EA</span></span>
+ <span><math class="testfont"><mtext>&#x1D7EB;</mtext></math>=<span>1D7EB</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif.html
new file mode 100644
index 0000000000..43a1fa821f
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-sans-serif.html
@@ -0,0 +1,95 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant sans-serif</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#sans-serif-mappings">
+<link rel="match" href="mathvariant-sans-serif-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a sans-serif mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-sans-serif.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x41;</mtext></math>=<span>1D5A0</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x42;</mtext></math>=<span>1D5A1</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x43;</mtext></math>=<span>1D5A2</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x44;</mtext></math>=<span>1D5A3</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x45;</mtext></math>=<span>1D5A4</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x46;</mtext></math>=<span>1D5A5</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x47;</mtext></math>=<span>1D5A6</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x48;</mtext></math>=<span>1D5A7</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x49;</mtext></math>=<span>1D5A8</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x4A;</mtext></math>=<span>1D5A9</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x4B;</mtext></math>=<span>1D5AA</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x4C;</mtext></math>=<span>1D5AB</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x4D;</mtext></math>=<span>1D5AC</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x4E;</mtext></math>=<span>1D5AD</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x4F;</mtext></math>=<span>1D5AE</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x50;</mtext></math>=<span>1D5AF</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x51;</mtext></math>=<span>1D5B0</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x52;</mtext></math>=<span>1D5B1</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x53;</mtext></math>=<span>1D5B2</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x54;</mtext></math>=<span>1D5B3</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x55;</mtext></math>=<span>1D5B4</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x56;</mtext></math>=<span>1D5B5</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x57;</mtext></math>=<span>1D5B6</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x58;</mtext></math>=<span>1D5B7</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x59;</mtext></math>=<span>1D5B8</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x5A;</mtext></math>=<span>1D5B9</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x61;</mtext></math>=<span>1D5BA</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x62;</mtext></math>=<span>1D5BB</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x63;</mtext></math>=<span>1D5BC</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x64;</mtext></math>=<span>1D5BD</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x65;</mtext></math>=<span>1D5BE</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x66;</mtext></math>=<span>1D5BF</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x67;</mtext></math>=<span>1D5C0</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x68;</mtext></math>=<span>1D5C1</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x69;</mtext></math>=<span>1D5C2</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x6A;</mtext></math>=<span>1D5C3</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x6B;</mtext></math>=<span>1D5C4</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x6C;</mtext></math>=<span>1D5C5</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x6D;</mtext></math>=<span>1D5C6</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x6E;</mtext></math>=<span>1D5C7</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x6F;</mtext></math>=<span>1D5C8</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x70;</mtext></math>=<span>1D5C9</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x71;</mtext></math>=<span>1D5CA</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x72;</mtext></math>=<span>1D5CB</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x73;</mtext></math>=<span>1D5CC</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x74;</mtext></math>=<span>1D5CD</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x75;</mtext></math>=<span>1D5CE</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x76;</mtext></math>=<span>1D5CF</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x77;</mtext></math>=<span>1D5D0</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x78;</mtext></math>=<span>1D5D1</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x79;</mtext></math>=<span>1D5D2</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x7A;</mtext></math>=<span>1D5D3</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x30;</mtext></math>=<span>1D7E2</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x31;</mtext></math>=<span>1D7E3</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x32;</mtext></math>=<span>1D7E4</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x33;</mtext></math>=<span>1D7E5</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x34;</mtext></math>=<span>1D7E6</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x35;</mtext></math>=<span>1D7E7</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x36;</mtext></math>=<span>1D7E8</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x37;</mtext></math>=<span>1D7E9</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x38;</mtext></math>=<span>1D7EA</span></span>
+ <span><math class="testfont"><mtext mathvariant="sans-serif">&#x39;</mtext></math>=<span>1D7EB</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-script-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-script-ref.html
new file mode 100644
index 0000000000..60ced85bc3
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-script-ref.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant script (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-script.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1D49C;</mtext></math>=<span>1D49C</span></span>
+ <span><math class="testfont"><mtext>&#x212C;</mtext></math>=<span>0212C</span></span>
+ <span><math class="testfont"><mtext>&#x1D49E;</mtext></math>=<span>1D49E</span></span>
+ <span><math class="testfont"><mtext>&#x1D49F;</mtext></math>=<span>1D49F</span></span>
+ <span><math class="testfont"><mtext>&#x2130;</mtext></math>=<span>02130</span></span>
+ <span><math class="testfont"><mtext>&#x2131;</mtext></math>=<span>02131</span></span>
+ <span><math class="testfont"><mtext>&#x1D4A2;</mtext></math>=<span>1D4A2</span></span>
+ <span><math class="testfont"><mtext>&#x210B;</mtext></math>=<span>0210B</span></span>
+ <span><math class="testfont"><mtext>&#x2110;</mtext></math>=<span>02110</span></span>
+ <span><math class="testfont"><mtext>&#x1D4A5;</mtext></math>=<span>1D4A5</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D4A6;</mtext></math>=<span>1D4A6</span></span>
+ <span><math class="testfont"><mtext>&#x2112;</mtext></math>=<span>02112</span></span>
+ <span><math class="testfont"><mtext>&#x2133;</mtext></math>=<span>02133</span></span>
+ <span><math class="testfont"><mtext>&#x1D4A9;</mtext></math>=<span>1D4A9</span></span>
+ <span><math class="testfont"><mtext>&#x1D4AA;</mtext></math>=<span>1D4AA</span></span>
+ <span><math class="testfont"><mtext>&#x1D4AB;</mtext></math>=<span>1D4AB</span></span>
+ <span><math class="testfont"><mtext>&#x1D4AC;</mtext></math>=<span>1D4AC</span></span>
+ <span><math class="testfont"><mtext>&#x211B;</mtext></math>=<span>0211B</span></span>
+ <span><math class="testfont"><mtext>&#x1D4AE;</mtext></math>=<span>1D4AE</span></span>
+ <span><math class="testfont"><mtext>&#x1D4AF;</mtext></math>=<span>1D4AF</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D4B0;</mtext></math>=<span>1D4B0</span></span>
+ <span><math class="testfont"><mtext>&#x1D4B1;</mtext></math>=<span>1D4B1</span></span>
+ <span><math class="testfont"><mtext>&#x1D4B2;</mtext></math>=<span>1D4B2</span></span>
+ <span><math class="testfont"><mtext>&#x1D4B3;</mtext></math>=<span>1D4B3</span></span>
+ <span><math class="testfont"><mtext>&#x1D4B4;</mtext></math>=<span>1D4B4</span></span>
+ <span><math class="testfont"><mtext>&#x1D4B5;</mtext></math>=<span>1D4B5</span></span>
+ <span><math class="testfont"><mtext>&#x1D4B6;</mtext></math>=<span>1D4B6</span></span>
+ <span><math class="testfont"><mtext>&#x1D4B7;</mtext></math>=<span>1D4B7</span></span>
+ <span><math class="testfont"><mtext>&#x1D4B8;</mtext></math>=<span>1D4B8</span></span>
+ <span><math class="testfont"><mtext>&#x1D4B9;</mtext></math>=<span>1D4B9</span></span><br/>
+ <span><math class="testfont"><mtext>&#x212F;</mtext></math>=<span>0212F</span></span>
+ <span><math class="testfont"><mtext>&#x1D4BB;</mtext></math>=<span>1D4BB</span></span>
+ <span><math class="testfont"><mtext>&#x210A;</mtext></math>=<span>0210A</span></span>
+ <span><math class="testfont"><mtext>&#x1D4BD;</mtext></math>=<span>1D4BD</span></span>
+ <span><math class="testfont"><mtext>&#x1D4BE;</mtext></math>=<span>1D4BE</span></span>
+ <span><math class="testfont"><mtext>&#x1D4BF;</mtext></math>=<span>1D4BF</span></span>
+ <span><math class="testfont"><mtext>&#x1D4C0;</mtext></math>=<span>1D4C0</span></span>
+ <span><math class="testfont"><mtext>&#x1D4C1;</mtext></math>=<span>1D4C1</span></span>
+ <span><math class="testfont"><mtext>&#x1D4C2;</mtext></math>=<span>1D4C2</span></span>
+ <span><math class="testfont"><mtext>&#x1D4C3;</mtext></math>=<span>1D4C3</span></span><br/>
+ <span><math class="testfont"><mtext>&#x2134;</mtext></math>=<span>02134</span></span>
+ <span><math class="testfont"><mtext>&#x1D4C5;</mtext></math>=<span>1D4C5</span></span>
+ <span><math class="testfont"><mtext>&#x1D4C6;</mtext></math>=<span>1D4C6</span></span>
+ <span><math class="testfont"><mtext>&#x1D4C7;</mtext></math>=<span>1D4C7</span></span>
+ <span><math class="testfont"><mtext>&#x1D4C8;</mtext></math>=<span>1D4C8</span></span>
+ <span><math class="testfont"><mtext>&#x1D4C9;</mtext></math>=<span>1D4C9</span></span>
+ <span><math class="testfont"><mtext>&#x1D4CA;</mtext></math>=<span>1D4CA</span></span>
+ <span><math class="testfont"><mtext>&#x1D4CB;</mtext></math>=<span>1D4CB</span></span>
+ <span><math class="testfont"><mtext>&#x1D4CC;</mtext></math>=<span>1D4CC</span></span>
+ <span><math class="testfont"><mtext>&#x1D4CD;</mtext></math>=<span>1D4CD</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1D4CE;</mtext></math>=<span>1D4CE</span></span>
+ <span><math class="testfont"><mtext>&#x1D4CF;</mtext></math>=<span>1D4CF</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-script.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-script.html
new file mode 100644
index 0000000000..afbdfd9f94
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-script.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant script</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#script-mappings">
+<link rel="match" href="mathvariant-script-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a script mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-script.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="script">&#x41;</mtext></math>=<span>1D49C</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x42;</mtext></math>=<span>0212C</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x43;</mtext></math>=<span>1D49E</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x44;</mtext></math>=<span>1D49F</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x45;</mtext></math>=<span>02130</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x46;</mtext></math>=<span>02131</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x47;</mtext></math>=<span>1D4A2</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x48;</mtext></math>=<span>0210B</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x49;</mtext></math>=<span>02110</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x4A;</mtext></math>=<span>1D4A5</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="script">&#x4B;</mtext></math>=<span>1D4A6</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x4C;</mtext></math>=<span>02112</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x4D;</mtext></math>=<span>02133</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x4E;</mtext></math>=<span>1D4A9</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x4F;</mtext></math>=<span>1D4AA</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x50;</mtext></math>=<span>1D4AB</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x51;</mtext></math>=<span>1D4AC</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x52;</mtext></math>=<span>0211B</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x53;</mtext></math>=<span>1D4AE</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x54;</mtext></math>=<span>1D4AF</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="script">&#x55;</mtext></math>=<span>1D4B0</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x56;</mtext></math>=<span>1D4B1</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x57;</mtext></math>=<span>1D4B2</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x58;</mtext></math>=<span>1D4B3</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x59;</mtext></math>=<span>1D4B4</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x5A;</mtext></math>=<span>1D4B5</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x61;</mtext></math>=<span>1D4B6</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x62;</mtext></math>=<span>1D4B7</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x63;</mtext></math>=<span>1D4B8</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x64;</mtext></math>=<span>1D4B9</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="script">&#x65;</mtext></math>=<span>0212F</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x66;</mtext></math>=<span>1D4BB</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x67;</mtext></math>=<span>0210A</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x68;</mtext></math>=<span>1D4BD</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x69;</mtext></math>=<span>1D4BE</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x6A;</mtext></math>=<span>1D4BF</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x6B;</mtext></math>=<span>1D4C0</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x6C;</mtext></math>=<span>1D4C1</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x6D;</mtext></math>=<span>1D4C2</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x6E;</mtext></math>=<span>1D4C3</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="script">&#x6F;</mtext></math>=<span>02134</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x70;</mtext></math>=<span>1D4C5</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x71;</mtext></math>=<span>1D4C6</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x72;</mtext></math>=<span>1D4C7</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x73;</mtext></math>=<span>1D4C8</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x74;</mtext></math>=<span>1D4C9</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x75;</mtext></math>=<span>1D4CA</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x76;</mtext></math>=<span>1D4CB</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x77;</mtext></math>=<span>1D4CC</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x78;</mtext></math>=<span>1D4CD</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="script">&#x79;</mtext></math>=<span>1D4CE</span></span>
+ <span><math class="testfont"><mtext mathvariant="script">&#x7A;</mtext></math>=<span>1D4CF</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-stretched-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-stretched-ref.html
new file mode 100644
index 0000000000..454f2004ac
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-stretched-ref.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant stretched (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-stretched.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1EE61;</mtext></math>=<span>1EE61</span></span>
+ <span><math class="testfont"><mtext>&#x1EE62;</mtext></math>=<span>1EE62</span></span>
+ <span><math class="testfont"><mtext>&#x1EE64;</mtext></math>=<span>1EE64</span></span>
+ <span><math class="testfont"><mtext>&#x1EE67;</mtext></math>=<span>1EE67</span></span>
+ <span><math class="testfont"><mtext>&#x1EE68;</mtext></math>=<span>1EE68</span></span>
+ <span><math class="testfont"><mtext>&#x1EE69;</mtext></math>=<span>1EE69</span></span>
+ <span><math class="testfont"><mtext>&#x1EE6A;</mtext></math>=<span>1EE6A</span></span>
+ <span><math class="testfont"><mtext>&#x1EE6C;</mtext></math>=<span>1EE6C</span></span>
+ <span><math class="testfont"><mtext>&#x1EE6D;</mtext></math>=<span>1EE6D</span></span>
+ <span><math class="testfont"><mtext>&#x1EE6E;</mtext></math>=<span>1EE6E</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1EE6F;</mtext></math>=<span>1EE6F</span></span>
+ <span><math class="testfont"><mtext>&#x1EE70;</mtext></math>=<span>1EE70</span></span>
+ <span><math class="testfont"><mtext>&#x1EE71;</mtext></math>=<span>1EE71</span></span>
+ <span><math class="testfont"><mtext>&#x1EE72;</mtext></math>=<span>1EE72</span></span>
+ <span><math class="testfont"><mtext>&#x1EE74;</mtext></math>=<span>1EE74</span></span>
+ <span><math class="testfont"><mtext>&#x1EE75;</mtext></math>=<span>1EE75</span></span>
+ <span><math class="testfont"><mtext>&#x1EE76;</mtext></math>=<span>1EE76</span></span>
+ <span><math class="testfont"><mtext>&#x1EE77;</mtext></math>=<span>1EE77</span></span>
+ <span><math class="testfont"><mtext>&#x1EE79;</mtext></math>=<span>1EE79</span></span>
+ <span><math class="testfont"><mtext>&#x1EE7A;</mtext></math>=<span>1EE7A</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1EE7B;</mtext></math>=<span>1EE7B</span></span>
+ <span><math class="testfont"><mtext>&#x1EE7C;</mtext></math>=<span>1EE7C</span></span>
+ <span><math class="testfont"><mtext>&#x1EE7E;</mtext></math>=<span>1EE7E</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-stretched.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-stretched.html
new file mode 100644
index 0000000000..99b06fb41b
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-stretched.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant stretched</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#stretched-mappings">
+<link rel="match" href="mathvariant-stretched-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a stretched mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-stretched.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x628;</mtext></math>=<span>1EE61</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x62C;</mtext></math>=<span>1EE62</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x647;</mtext></math>=<span>1EE64</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x62D;</mtext></math>=<span>1EE67</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x637;</mtext></math>=<span>1EE68</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x64A;</mtext></math>=<span>1EE69</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x643;</mtext></math>=<span>1EE6A</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x645;</mtext></math>=<span>1EE6C</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x646;</mtext></math>=<span>1EE6D</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x633;</mtext></math>=<span>1EE6E</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x639;</mtext></math>=<span>1EE6F</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x641;</mtext></math>=<span>1EE70</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x635;</mtext></math>=<span>1EE71</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x642;</mtext></math>=<span>1EE72</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x634;</mtext></math>=<span>1EE74</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x62A;</mtext></math>=<span>1EE75</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x62B;</mtext></math>=<span>1EE76</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x62E;</mtext></math>=<span>1EE77</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x636;</mtext></math>=<span>1EE79</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x638;</mtext></math>=<span>1EE7A</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x63A;</mtext></math>=<span>1EE7B</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x66E;</mtext></math>=<span>1EE7C</span></span>
+ <span><math class="testfont"><mtext mathvariant="stretched">&#x6A1;</mtext></math>=<span>1EE7E</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-tailed-ref.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-tailed-ref.html
new file mode 100644
index 0000000000..5e1461cd33
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-tailed-ref.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant tailed (reference)</title>
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-tailed.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext>&#x1EE42;</mtext></math>=<span>1EE42</span></span>
+ <span><math class="testfont"><mtext>&#x1EE47;</mtext></math>=<span>1EE47</span></span>
+ <span><math class="testfont"><mtext>&#x1EE49;</mtext></math>=<span>1EE49</span></span>
+ <span><math class="testfont"><mtext>&#x1EE4B;</mtext></math>=<span>1EE4B</span></span>
+ <span><math class="testfont"><mtext>&#x1EE4D;</mtext></math>=<span>1EE4D</span></span>
+ <span><math class="testfont"><mtext>&#x1EE4E;</mtext></math>=<span>1EE4E</span></span>
+ <span><math class="testfont"><mtext>&#x1EE4F;</mtext></math>=<span>1EE4F</span></span>
+ <span><math class="testfont"><mtext>&#x1EE51;</mtext></math>=<span>1EE51</span></span>
+ <span><math class="testfont"><mtext>&#x1EE52;</mtext></math>=<span>1EE52</span></span>
+ <span><math class="testfont"><mtext>&#x1EE54;</mtext></math>=<span>1EE54</span></span><br/>
+ <span><math class="testfont"><mtext>&#x1EE57;</mtext></math>=<span>1EE57</span></span>
+ <span><math class="testfont"><mtext>&#x1EE59;</mtext></math>=<span>1EE59</span></span>
+ <span><math class="testfont"><mtext>&#x1EE5B;</mtext></math>=<span>1EE5B</span></span>
+ <span><math class="testfont"><mtext>&#x1EE5D;</mtext></math>=<span>1EE5D</span></span>
+ <span><math class="testfont"><mtext>&#x1EE5F;</mtext></math>=<span>1EE5F</span></span>
+</body>
+</html>
diff --git a/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-tailed.html b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-tailed.html
new file mode 100644
index 0000000000..43fbca5e80
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/mathml/mathvariant/mathvariant-tailed.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>mathvariant tailed</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#css-styling">
+<link rel="help" href="https://w3c.github.io/mathml-core/#the-mathvariant-attribute">
+<link rel="help" href="https://w3c.github.io/mathml-core/#new-text-transform-values">
+<link rel="help" href="https://w3c.github.io/mathml-core/#tailed-mappings">
+<link rel="match" href="mathvariant-tailed-ref.html"/>
+<meta name="assert" content="Verify that a single-char <mtext> with a tailed mathvariant is equivalent to an <mtext> with the transformed unicode character.">
+<style>
+ @font-face {
+ font-family: TestFont;
+ src: url("/fonts/math/mathvariant-tailed.woff");
+ }
+ body > span {
+ padding: 10px;
+ }
+ span > span {
+ font-family: monospace;
+ font-size: 10px;
+ }
+ .testfont {
+ font-family: TestFont;
+ font-size: 10px;
+ }
+</style>
+<body>
+ <!-- Generated by mathml/tools/mathvariant.py; DO NOT EDIT. -->
+ <p>Test passes if all the equalities below are true.</p>
+ <span><math class="testfont"><mtext mathvariant="tailed">&#x62C;</mtext></math>=<span>1EE42</span></span>
+ <span><math class="testfont"><mtext mathvariant="tailed">&#x62D;</mtext></math>=<span>1EE47</span></span>
+ <span><math class="testfont"><mtext mathvariant="tailed">&#x64A;</mtext></math>=<span>1EE49</span></span>
+ <span><math class="testfont"><mtext mathvariant="tailed">&#x644;</mtext></math>=<span>1EE4B</span></span>
+ <span><math class="testfont"><mtext mathvariant="tailed">&#x646;</mtext></math>=<span>1EE4D</span></span>
+ <span><math class="testfont"><mtext mathvariant="tailed">&#x633;</mtext></math>=<span>1EE4E</span></span>
+ <span><math class="testfont"><mtext mathvariant="tailed">&#x639;</mtext></math>=<span>1EE4F</span></span>
+ <span><math class="testfont"><mtext mathvariant="tailed">&#x635;</mtext></math>=<span>1EE51</span></span>
+ <span><math class="testfont"><mtext mathvariant="tailed">&#x642;</mtext></math>=<span>1EE52</span></span>
+ <span><math class="testfont"><mtext mathvariant="tailed">&#x634;</mtext></math>=<span>1EE54</span></span><br/>
+ <span><math class="testfont"><mtext mathvariant="tailed">&#x62E;</mtext></math>=<span>1EE57</span></span>
+ <span><math class="testfont"><mtext mathvariant="tailed">&#x636;</mtext></math>=<span>1EE59</span></span>
+ <span><math class="testfont"><mtext mathvariant="tailed">&#x63A;</mtext></math>=<span>1EE5B</span></span>
+ <span><math class="testfont"><mtext mathvariant="tailed">&#x6BA;</mtext></math>=<span>1EE5D</span></span>
+ <span><math class="testfont"><mtext mathvariant="tailed">&#x66F;</mtext></math>=<span>1EE5F</span></span>
+</body>
+</html>