diff options
-rw-r--r-- | Master/texmf-dist/doc/fonts/firamath/README.md | 42 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/firamath/firamath-demo.pdf | bin | 0 -> 36461 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/fonts/firamath/firamath-demo.tex | 109 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/firamath/firamath-glyph-list.tex | 19 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/firamath/firamath-specimen.pdf | bin | 0 -> 544741 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/fonts/firamath/firamath-specimen.tex | 502 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/opentype/public/firamath/FiraMath-Regular.otf | bin | 0 -> 177732 bytes | |||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rwxr-xr-x | Master/tlpkg/libexec/ctan2tds | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/firamath.tlpsrc | 0 |
11 files changed, 674 insertions, 2 deletions
diff --git a/Master/texmf-dist/doc/fonts/firamath/README.md b/Master/texmf-dist/doc/fonts/firamath/README.md new file mode 100644 index 00000000000..aba39883f80 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/firamath/README.md @@ -0,0 +1,42 @@ +The Fira Math Font +================== + +Fira Math is a sans-serif font with Unicode math support. This font is a fork of + +- [FiraSans](https://github.com/bBoxType/FiraSans) +- [FiraGO](https://github.com/bBoxType/FiraGO) + +Usage +----- + +Fira Math can be used via XeLaTeX or LuaLaTeX, with [`unicode-math`](https://ctan.org/pkg/unicode-math) package. + + % Compiled with XeLaTeX or LuaLaTeX + \documentclass{article} + \usepackage{amsmath} + \usepackage[mathrm=sym]{unicode-math} + \setmathfont{Fira Math} + + \begin{document} + \[ + \int_0^{\mathrm{\pi}} \sin x \, \mathrm{d}x = 2 + \] + \end{document} + +You may try the [`firamath-otf`](https://ctan.org/pkg/firamath-otf) package as well. + +Contributing +------------ + +[Issues](https://github.com/firamath/firamath/issues) and +[pull requests](https://github.com/firamath/firamath/pulls) +are always welcome. + +License +------- + +This Font Software is licensed under the [SIL Open Font License](http://scripts.sil.org/OFL), Version 1.1. + +----- + +Copyright (C) 2018, 2019 by Xiangdong Zeng <xdzeng96@gmail.com>. diff --git a/Master/texmf-dist/doc/fonts/firamath/firamath-demo.pdf b/Master/texmf-dist/doc/fonts/firamath/firamath-demo.pdf Binary files differnew file mode 100644 index 00000000000..84038b87be8 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/firamath/firamath-demo.pdf diff --git a/Master/texmf-dist/doc/fonts/firamath/firamath-demo.tex b/Master/texmf-dist/doc/fonts/firamath/firamath-demo.tex new file mode 100644 index 00000000000..c2515a65aab --- /dev/null +++ b/Master/texmf-dist/doc/fonts/firamath/firamath-demo.tex @@ -0,0 +1,109 @@ +\documentclass[aspectratio=169]{beamer} +\usepackage{amsmath,unicode-math,physics,tensor,xeCJK,bookmark} +\useoutertheme{metropolis} +\useinnertheme{metropolis} +\usecolortheme{metropolis} +\usefonttheme{professionalfonts} + +\setbeamerfont{title}{size=\Large, series=\bfseries} +\setbeamerfont{author}{size=\small} +\setbeamerfont{date}{size=\small} +\setbeamertemplate{footline}{\vspace*{0.3cm}} + +\makeatletter +% https://tex.stackexchange.com/q/66519 +\apptocmd{\beamer@@frametitle}{\only<1>{\bookmark[page=\the\c@page,level=3]{#1}}}{}{} +\makeatother + +\unimathsetup{math-style=ISO, bold-style=ISO, mathrm=sym} + +\setsansfont{FiraGO}[BoldFont=* SemiBold, Numbers=Monospaced] +\setmathfont{Fira Math Regular} + +\newCJKfontfamily\fontzhhans{Source Han Sans SC} +\newCJKfontfamily\fontzhhant{Source Han Sans TC} +\newCJKfontfamily\fontja{Source Han Sans} + +\def\ii{\symrm{i}} +\def\pp{\symrm{\pi}} + +\title{Fira Math} +\subtitle{Sans-serif font with Unicode math support} +\author{Xiangdong Zeng} +\date{2019/06/03\quad v0.3.2} + +\begin{document} + +\maketitle + +\begin{frame}{Basic examples (I)} +\begin{itemize} + \item Covariant derivative: + \[ + \nabla \symbf{X} = \tensor{X}{^\alpha_{;\beta}} \pdv{x^\alpha} \otimes \dd{x^\beta} + = \qty(\tensor{X}{^\alpha_{,\beta}} + \Gamma^{\alpha}_{\beta\gamma} \, X^\gamma) \, + \pdv{x^\alpha} \otimes \dd{x^\beta} + \] + \item Einstein's field equations: + \[ G_{\mu\nu} \equiv R_{\mu\nu} - \frac{1}{2} R g_{\mu\nu} = \frac{8\pi G}{c^4} T_{\mu\nu} \] + \item Schwarzschild metric: + \[ + c^2 \dd{\tau}^2 = \qty(1-\frac{r_{\mathrm{s}}}{r}) \, c^2 \dd{t}^2 + - \qty(1-\frac{r_{\mathrm{s}}}{r})^{-1} \dd{r}^2 + - r^2 \underbrace{\qty(\dd{\theta}^2 + \sin^2 \theta \dd{\varphi}^2)}_{\dd{\Omega}^2} + \] + \item Einstein--Hilbert action: + \[ S = \frac{1}{2\kappa} \int R \sqrt{-g} \dd[4]{x} \] +\end{itemize} +\end{frame} + +\begin{frame}{Basic examples (II)} +\begin{itemize} + \item Case $n=1$ + \small + \[ + \int_0^{\frac{\pp}{2}} + \frac{\sqrt{\frac12 \sqrt{\frac{\ln^2\cos\theta}{\theta^2+\ln^2\cos\theta}} + \frac12}}% + {\fourthroot{\theta^2 + \ln^2\cos\theta}} \dd{\theta} + = \frac{\pp}{2\sqrt{\ln 2}} + \] + \item Generalization: + \small\vspace{1ex} + \[ + \begin{cases} + \smash[t]{\displaystyle + R_n^- = \frac{2}{\pp} \int_0^{\pp/2} \qty(\theta^2+\ln^2\cos\theta)^{-2^{-n-1}} + \sqrt{\frac12+\frac12\sqrt{\frac12+\cdots+\frac12\sqrt{ + \frac{\ln^2\cos\theta}{\theta^2+\ln^2\cos\theta}}}} \dd{\theta} + = (\ln 2)^{-2^{-n}}} \\[3ex] + \smash[b]{\displaystyle + R_n^+ = \frac{2}{\pp} \int_0^{\pp/2} \qty(\theta^2+\ln^2\cos\theta)^{2^{-n-1}} + \sqrt{\frac12+\frac12\sqrt{\frac12+\cdots+\frac12\sqrt{ + \frac{\ln^2\cos\theta}{\theta^2+\ln^2\cos\theta}}}} \dd{\theta} + = (\ln 2)^{2^{-n}}} + \end{cases} + \] +\end{itemize} +\end{frame} + +\begin{frame}{Using with CJK fonts} +\begin{itemize} + \item {\fontzhhans 【留数定理】全纯函数 $f$ 在若尔当曲线 $\gamma$ 上的积分为:} + \[ + \oint_\gamma f(z) \dd{z} + = 2\pp\ii \sum_{k=1}^n \Res_{z=a_k} f(z). + \] + \item {\fontzhhant 【留數定理】全純函數 $f$ 在若爾當曲線 $\gamma$ 上的積分為:} + \[ + \oint_\gamma f(z) \dd{z} + = 2\pp\ii \sum_{k=1}^n \Res_{z=a_k} f(z). + \] + \item {\fontja 【留数定理】ジョルダン曲線 $\gamma$ に沿う正則関数 $f$ の積分は、} + \[ + \oint_\gamma f(z) \dd{z} + = 2\pp\ii \sum_{k=1}^n \Res_{z=a_k} f(z). + \] +\end{itemize} +\end{frame} + +\end{document} diff --git a/Master/texmf-dist/doc/fonts/firamath/firamath-glyph-list.tex b/Master/texmf-dist/doc/fonts/firamath/firamath-glyph-list.tex new file mode 100644 index 00000000000..08806012821 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/firamath/firamath-glyph-list.tex @@ -0,0 +1,19 @@ +% Generated by ./scripts/glyph_list.py +\seq_const_from_clist:Nn \c_@@_glyph_unicode_seq + {"0020,"0021,"0022,"0023,"0024,"0025,"0026,"0027,"0028,"0029,"002A,"002B,"002C,"002D,"002E,"002F,"0030,"0031,"0032,"0033,"0034,"0035,"0036,"0037,"0038,"0039,"003A,"003B,"003C,"003D,"003E,"003F,"0040,"0041,"0042,"0043,"0044,"0045,"0046,"0047,"0048,"0049,"004A,"004B,"004C,"004D,"004E,"004F,"0050,"0051,"0052,"0053,"0054,"0055,"0056,"0057,"0058,"0059,"005A,"005B,"005C,"005D,"005E,"005F,"0060,"0061,"0062,"0063,"0064,"0065,"0066,"0067,"0068,"0069,"006A,"006B,"006C,"006D,"006E,"006F,"0070,"0071,"0072,"0073,"0074,"0075,"0076,"0077,"0078,"0079,"007A,"007B,"007C,"007D,"007E,"00A0,"00A1,"00A2,"00A3,"00A4,"00A5,"00A6,"00A7,"00A8,"00A9,"00AA,"00AB,"00AC,"00AD,"00AE,"00AF,"00B0,"00B1,"00B2,"00B3,"00B4,"00B5,"00B6,"00B7,"00B8,"00B9,"00BA,"00BB,"00BC,"00BD,"00BE,"00BF,"00C0,"00C1,"00C2,"00C3,"00C4,"00C5,"00C6,"00C7,"00C8,"00C9,"00CA,"00CB,"00CC,"00CD,"00CE,"00CF,"00D0,"00D1,"00D2,"00D3,"00D4,"00D5,"00D6,"00D7,"00D8,"00D9,"00DA,"00DB,"00DC,"00DD,"00DE,"00DF,"00E0,"00E1,"00E2,"00E3,"00E4,"00E5,"00E6,"00E7,"00E8,"00E9,"00EA,"00EB,"00EC,"00ED,"00EE,"00EF,"00F0,"00F1,"00F2,"00F3,"00F4,"00F5,"00F6,"00F7,"00F8,"00F9,"00FA,"00FB,"00FC,"00FD,"00FE,"00FF,"0100,"0101,"0102,"0103,"0104,"0105,"0106,"0107,"010C,"010D,"010E,"010F,"0110,"0111,"0112,"0113,"0116,"0117,"0118,"0119,"011A,"011B,"011E,"011F,"0122,"0123,"012A,"012B,"012E,"012F,"0130,"0131,"0136,"0137,"0139,"013A,"013B,"013C,"013D,"013E,"0141,"0142,"0143,"0144,"0145,"0146,"0147,"0148,"014C,"014D,"0150,"0151,"0152,"0153,"0154,"0155,"0156,"0157,"0158,"0159,"015A,"015B,"015E,"015F,"0160,"0161,"0162,"0163,"0164,"0165,"016A,"016B,"016E,"016F,"0170,"0171,"0172,"0173,"0178,"0179,"017A,"017B,"017C,"017D,"017E,"0192,"0218,"0219,"021A,"021B,"0237,"0300,"0301,"0302,"0303,"0304,"0305,"0306,"0307,"0308,"0309,"030A,"030B,"030C,"030D,"030F,"0311,"0312,"0313,"0316,"0317,"0318,"0319,"031A,"031B,"031C,"031D,"031E,"031F,"0320,"0321,"0323,"0324,"0325,"0326,"0327,"0328,"0329,"032A,"032B,"032C,"032D,"032F,"0330,"0331,"0332,"0334,"0335,"0336,"0337,"0338,"0339,"033A,"033B,"033C,"033D,"0342,"0345,"035C,"0361,"037E,"0384,"0385,"0386,"0387,"0388,"0389,"038A,"038C,"038E,"038F,"0390,"0391,"0392,"0393,"0394,"0395,"0396,"0397,"0398,"0399,"039A,"039B,"039C,"039D,"039E,"039F,"03A0,"03A1,"03A3,"03A4,"03A5,"03A6,"03A7,"03A8,"03A9,"03AA,"03AB,"03AC,"03AD,"03AE,"03AF,"03B0,"03B1,"03B2,"03B3,"03B4,"03B5,"03B6,"03B7,"03B8,"03B9,"03BA,"03BB,"03BC,"03BD,"03BE,"03BF,"03C0,"03C1,"03C2,"03C3,"03C4,"03C5,"03C6,"03C7,"03C8,"03C9,"03CA,"03CB,"03CC,"03CD,"03CE,"03D0,"03D1,"03D2,"03D5,"03D6,"03D7,"03F0,"03F1,"03F2,"03F4,"03F5,"03F6,"0400,"0401,"0402,"0403,"0404,"0405,"0406,"0407,"0408,"0409,"040A,"040B,"040C,"040D,"040E,"040F,"0410,"0411,"0412,"0413,"0414,"0415,"0416,"0417,"0418,"0419,"041A,"041B,"041C,"041D,"041E,"041F,"0420,"0421,"0422,"0423,"0424,"0425,"0426,"0427,"0428,"0429,"042A,"042B,"042C,"042D,"042E,"042F,"0430,"0431,"0432,"0433,"0434,"0435,"0436,"0437,"0438,"0439,"043A,"043B,"043C,"043D,"043E,"043F,"0440,"0441,"0442,"0443,"0444,"0445,"0446,"0447,"0448,"0449,"044A,"044B,"044C,"044D,"044E,"044F,"0450,"0451,"0452,"0453,"0454,"0455,"0456,"0457,"0458,"0459,"045A,"045B,"045C,"045D,"045E,"045F,"0462,"0463,"0472,"0473,"0474,"0475,"0490,"0491,"2007,"2008,"200B,"200C,"200D,"200E,"200F,"2010,"2011,"2012,"2013,"2014,"2015,"2016,"2018,"2019,"201A,"201C,"201D,"201E,"2020,"2021,"2022,"2026,"2030,"2032,"2033,"2034,"2035,"2036,"2037,"2039,"203A,"203F,"2044,"2057,"20AC,"20B4,"20BA,"20BD,"20D0,"20D1,"20D2,"20D3,"20D6,"20D7,"20DB,"20DC,"20E1,"20E7,"20E8,"20E9,"20EC,"20ED,"20EE,"20EF,"20F0,"2102,"210A,"210D,"210E,"210F,"2113,"2115,"2116,"2119,"211A,"211D,"2122,"2124,"2126,"2127,"212A,"212B,"212E,"2135,"2136,"2137,"2138,"2140,"2153,"2154,"2155,"2156,"2157,"2158,"2159,"215A,"215B,"215C,"215D,"215E,"215F,"2190,"2191,"2192,"2193,"2194,"2195,"2196,"2197,"2198,"2199,"219A,"219B,"219C,"219D,"219E,"219F,"21A0,"21A1,"21A2,"21A3,"21A4,"21A5,"21A6,"21A7,"21A8,"21A9,"21AA,"21AB,"21AC,"21AD,"21AE,"21AF,"21B0,"21B1,"21B2,"21B3,"21B4,"21B5,"21B6,"21B7,"21B8,"21B9,"21BA,"21BB,"21BC,"21BD,"21BE,"21BF,"21C0,"21C1,"21C2,"21C3,"21C4,"21C5,"21C6,"21C7,"21C8,"21C9,"21CA,"21CB,"21CC,"21CD,"21CE,"21CF,"21D0,"21D1,"21D2,"21D3,"21D4,"21D5,"21D6,"21D7,"21D8,"21D9,"21DA,"21DB,"21DC,"21DD,"21DE,"21DF,"21E0,"21E1,"21E2,"21E3,"21E4,"21E5,"21E6,"21E7,"21E8,"21E9,"21EA,"21EB,"21EC,"21ED,"21EE,"21EF,"21F0,"21F1,"21F2,"21F3,"21F4,"21F5,"21F6,"21F7,"21F8,"21F9,"21FA,"21FB,"21FC,"21FD,"21FE,"21FF,"2200,"2201,"2202,"2203,"2204,"2205,"2206,"2207,"2208,"2209,"220A,"220B,"220C,"220D,"220E,"220F,"2210,"2211,"2212,"2213,"2214,"2215,"2217,"2218,"2219,"221A,"221B,"221C,"221D,"221E,"221F,"2220,"2221,"2222,"2223,"2224,"2225,"2226,"2227,"2228,"2229,"222A,"222B,"222C,"222D,"222E,"222F,"2230,"2234,"2235,"2236,"2237,"2238,"2239,"223A,"223B,"223C,"223D,"2240,"2241,"2242,"2243,"2244,"2245,"2246,"2247,"2248,"2249,"224A,"224B,"224C,"2250,"2251,"2252,"2253,"2254,"2255,"2260,"2261,"2262,"2263,"2264,"2265,"2266,"2267,"2268,"2269,"226A,"226B,"226E,"226F,"2270,"2271,"2272,"2273,"2274,"2275,"2276,"2277,"2278,"2279,"227A,"227B,"227C,"227D,"227E,"227F,"2280,"2281,"2282,"2283,"2284,"2285,"2286,"2287,"2288,"2289,"228A,"228B,"228C,"228D,"228E,"228F,"2290,"2291,"2292,"2293,"2294,"2295,"2296,"2297,"2298,"2299,"22C5,"22CD,"22CE,"22CF,"22D6,"22D7,"22D8,"22D9,"22DA,"22DB,"22DC,"22DD,"22DE,"22DF,"22E0,"22E1,"22E2,"22E3,"22E4,"22E5,"22E6,"22E7,"22E8,"22E9,"22EF,"2302,"2308,"2309,"230A,"230B,"2310,"239B,"239C,"239D,"239E,"239F,"23A0,"23A1,"23A2,"23A3,"23A4,"23A5,"23A6,"23A7,"23A8,"23A9,"23AA,"23AB,"23AC,"23AD,"23B4,"23B5,"23DC,"23DD,"23DE,"23DF,"2580,"2581,"2582,"2583,"2584,"2585,"2586,"2587,"2588,"2589,"258A,"258B,"258C,"258D,"258E,"258F,"2590,"2594,"2595,"2596,"2597,"2598,"2599,"259A,"259B,"259C,"259D,"259E,"259F,"25A0,"25A1,"25A2,"25A3,"25AA,"25AB,"25AC,"25AD,"25AE,"25AF,"25B2,"25B6,"25BA,"25BC,"25C0,"25C4,"25C6,"25C7,"25C9,"25CA,"25CB,"25CE,"25CF,"25D0,"25D1,"25D2,"25D3,"25D5,"25D6,"25D7,"25D9,"25DA,"25DB,"25DC,"25DD,"25DE,"25DF,"25E0,"25E1,"25E2,"25E3,"25E4,"25E5,"25E6,"25E7,"25E8,"25E9,"25EA,"25EB,"25EF,"25F0,"25F1,"25F2,"25F3,"25F4,"25F5,"25F6,"25F7,"2620,"2639,"263A,"263B,"263C,"2640,"2642,"2660,"2663,"2665,"2666,"266A,"266B,"26AA,"26AB,"26AC,"27C2,"27E8,"27E9,"27EA,"27EB,"27EE,"27EF,"27F5,"27F6,"27F7,"27F8,"27F9,"27FA,"27FB,"27FC,"27FD,"27FE,"2900,"2901,"2902,"2903,"2904,"2905,"2906,"2907,"2908,"2909,"290A,"290B,"2912,"2913,"2914,"2915,"2916,"2917,"2918,"2919,"291A,"291B,"291C,"2921,"2922,"2927,"2928,"2929,"292A,"292B,"292C,"292D,"292E,"292F,"2930,"2931,"2932,"294A,"294B,"294C,"294D,"294E,"294F,"2950,"2951,"2952,"2953,"2954,"2955,"2956,"2957,"2958,"2959,"295A,"295B,"295C,"295D,"295E,"295F,"2960,"2961,"2962,"2963,"2964,"2965,"2966,"2967,"2968,"2969,"296A,"296B,"296C,"296D,"296E,"296F,"2980,"2981,"299F,"29A0,"29A1,"29A2,"29A3,"29A6,"29A7,"29B0,"2A0C,"2A7D,"2A7E,"2B24,"2B31,"2B34,"2B35,"2B36,"2B39,"2B3A,"2B3B,"2B3C,"2B3D,"2BFE,"FB00,"FB01,"FB02,"FB03,"FB04,"FEFF,"1D400,"1D401,"1D402,"1D403,"1D404,"1D405,"1D406,"1D407,"1D408,"1D409,"1D40A,"1D40B,"1D40C,"1D40D,"1D40E,"1D40F,"1D410,"1D411,"1D412,"1D413,"1D414,"1D415,"1D416,"1D417,"1D418,"1D419,"1D41A,"1D41B,"1D41C,"1D41D,"1D41E,"1D41F,"1D420,"1D421,"1D422,"1D423,"1D424,"1D425,"1D426,"1D427,"1D428,"1D429,"1D42A,"1D42B,"1D42C,"1D42D,"1D42E,"1D42F,"1D430,"1D431,"1D432,"1D433,"1D434,"1D435,"1D436,"1D437,"1D438,"1D439,"1D43A,"1D43B,"1D43C,"1D43D,"1D43E,"1D43F,"1D440,"1D441,"1D442,"1D443,"1D444,"1D445,"1D446,"1D447,"1D448,"1D449,"1D44A,"1D44B,"1D44C,"1D44D,"1D44E,"1D44F,"1D450,"1D451,"1D452,"1D453,"1D454,"1D456,"1D457,"1D458,"1D459,"1D45A,"1D45B,"1D45C,"1D45D,"1D45E,"1D45F,"1D460,"1D461,"1D462,"1D463,"1D464,"1D465,"1D466,"1D467,"1D468,"1D469,"1D46A,"1D46B,"1D46C,"1D46D,"1D46E,"1D46F,"1D470,"1D471,"1D472,"1D473,"1D474,"1D475,"1D476,"1D477,"1D478,"1D479,"1D47A,"1D47B,"1D47C,"1D47D,"1D47E,"1D47F,"1D480,"1D481,"1D482,"1D483,"1D484,"1D485,"1D486,"1D487,"1D488,"1D489,"1D48A,"1D48B,"1D48C,"1D48D,"1D48E,"1D48F,"1D490,"1D491,"1D492,"1D493,"1D494,"1D495,"1D496,"1D497,"1D498,"1D499,"1D49A,"1D49B,"1D538,"1D539,"1D53B,"1D53C,"1D53D,"1D53E,"1D540,"1D541,"1D542,"1D543,"1D544,"1D546,"1D54A,"1D54B,"1D54C,"1D54D,"1D54E,"1D54F,"1D550,"1D552,"1D553,"1D554,"1D555,"1D556,"1D557,"1D558,"1D559,"1D55A,"1D55B,"1D55C,"1D55D,"1D55E,"1D55F,"1D560,"1D561,"1D562,"1D563,"1D564,"1D565,"1D566,"1D567,"1D568,"1D569,"1D56A,"1D56B,"1D670,"1D671,"1D672,"1D673,"1D674,"1D675,"1D676,"1D677,"1D678,"1D679,"1D67A,"1D67B,"1D67C,"1D67D,"1D67E,"1D67F,"1D680,"1D681,"1D682,"1D683,"1D684,"1D685,"1D686,"1D687,"1D688,"1D689,"1D68A,"1D68B,"1D68C,"1D68D,"1D68E,"1D68F,"1D690,"1D691,"1D692,"1D693,"1D694,"1D695,"1D696,"1D697,"1D698,"1D699,"1D69A,"1D69B,"1D69C,"1D69D,"1D69E,"1D69F,"1D6A0,"1D6A1,"1D6A2,"1D6A3,"1D6A4,"1D6A5,"1D6A8,"1D6A9,"1D6AA,"1D6AB,"1D6AC,"1D6AD,"1D6AE,"1D6AF,"1D6B0,"1D6B1,"1D6B2,"1D6B3,"1D6B4,"1D6B5,"1D6B6,"1D6B7,"1D6B8,"1D6B9,"1D6BA,"1D6BB,"1D6BC,"1D6BD,"1D6BE,"1D6BF,"1D6C0,"1D6C1,"1D6C2,"1D6C3,"1D6C4,"1D6C5,"1D6C6,"1D6C7,"1D6C8,"1D6C9,"1D6CA,"1D6CB,"1D6CC,"1D6CD,"1D6CE,"1D6CF,"1D6D0,"1D6D1,"1D6D2,"1D6D3,"1D6D4,"1D6D5,"1D6D6,"1D6D7,"1D6D8,"1D6D9,"1D6DA,"1D6DB,"1D6DC,"1D6DD,"1D6DE,"1D6DF,"1D6E0,"1D6E1,"1D6E2,"1D6E3,"1D6E4,"1D6E5,"1D6E6,"1D6E7,"1D6E8,"1D6E9,"1D6EA,"1D6EB,"1D6EC,"1D6ED,"1D6EE,"1D6EF,"1D6F0,"1D6F1,"1D6F2,"1D6F3,"1D6F4,"1D6F5,"1D6F6,"1D6F7,"1D6F8,"1D6F9,"1D6FA,"1D6FB,"1D6FC,"1D6FD,"1D6FE,"1D6FF,"1D700,"1D701,"1D702,"1D703,"1D704,"1D705,"1D706,"1D707,"1D708,"1D709,"1D70A,"1D70B,"1D70C,"1D70D,"1D70E,"1D70F,"1D710,"1D711,"1D712,"1D713,"1D714,"1D715,"1D716,"1D717,"1D718,"1D719,"1D71A,"1D71B,"1D71C,"1D71D,"1D71E,"1D71F,"1D720,"1D721,"1D722,"1D723,"1D724,"1D725,"1D726,"1D727,"1D728,"1D729,"1D72A,"1D72B,"1D72C,"1D72D,"1D72E,"1D72F,"1D730,"1D731,"1D732,"1D733,"1D734,"1D735,"1D736,"1D737,"1D738,"1D739,"1D73A,"1D73B,"1D73C,"1D73D,"1D73E,"1D73F,"1D740,"1D741,"1D742,"1D743,"1D744,"1D745,"1D746,"1D747,"1D748,"1D749,"1D74A,"1D74B,"1D74C,"1D74D,"1D74E,"1D74F,"1D750,"1D751,"1D752,"1D753,"1D754,"1D755,"1D7CA,"1D7CB,"1D7CE,"1D7CF,"1D7D0,"1D7D1,"1D7D2,"1D7D3,"1D7D4,"1D7D5,"1D7D6,"1D7D7,"1F784} +\seq_const_from_clist:Nn \c_@@_glyph_non_unicode_seq + {.notdef,uni2032.ssty1,uni2033.ssty1,uni2034.ssty1,uni2057.ssty1,uni2035.ssty1,uni2036.ssty1,uni2037.ssty1,uni2032.ssty2,uni2033.ssty2,uni2034.ssty2,uni2057.ssty2,uni2035.ssty2,uni2036.ssty2,uni2037.ssty2,uni2140.display,uni220F.display,uni2210.display,uni2211.display,uni222B.display,uni222C.display,uni222D.display,uni2A0C.display,uni222E.display,uni222F.display,uni2230.display,uni221A.size1,uni221A.size2,uni221A.size3,uni221A.size4,uni221A.size5,uni221A.size6,uni221A.size7,uni221A.size8,uni221A.size9,uni221A.size10,uni221A.size11,uni221A.size12,uni221A.size13,uni221A.size14,uni221A.size15,uni221B.size1,uni221B.size2,uni221B.size3,uni221B.size4,uni221B.size5,uni221B.size6,uni221B.size7,uni221B.size8,uni221B.size9,uni221B.size10,uni221B.size11,uni221B.size12,uni221B.size13,uni221B.size14,uni221B.size15,uni221C.size1,uni221C.size2,uni221C.size3,uni221C.size4,uni221C.size5,uni221C.size6,uni221C.size7,uni221C.size8,uni221C.size9,uni221C.size10,uni221C.size11,uni221C.size12,uni221C.size13,uni221C.size14,uni221C.size15,uni0028.size1,uni0028.size2,uni0028.size3,uni0028.size4,uni0028.size5,uni0028.size6,uni0028.size7,uni0028.size8,uni0028.size9,uni0028.size10,uni0028.size11,uni0028.size12,uni0028.size13,uni0028.size14,uni0028.size15,uni0029.size1,uni0029.size2,uni0029.size3,uni0029.size4,uni0029.size5,uni0029.size6,uni0029.size7,uni0029.size8,uni0029.size9,uni0029.size10,uni0029.size11,uni0029.size12,uni0029.size13,uni0029.size14,uni0029.size15,uni005B.size1,uni005B.size2,uni005B.size3,uni005B.size4,uni005B.size5,uni005B.size6,uni005B.size7,uni005B.size8,uni005B.size9,uni005B.size10,uni005B.size11,uni005B.size12,uni005B.size13,uni005B.size14,uni005B.size15,uni005D.size1,uni005D.size2,uni005D.size3,uni005D.size4,uni005D.size5,uni005D.size6,uni005D.size7,uni005D.size8,uni005D.size9,uni005D.size10,uni005D.size11,uni005D.size12,uni005D.size13,uni005D.size14,uni005D.size15,uni007B.size1,uni007B.size2,uni007B.size3,uni007B.size4,uni007B.size5,uni007B.size6,uni007B.size7,uni007B.size8,uni007B.size9,uni007B.size10,uni007B.size11,uni007B.size12,uni007B.size13,uni007B.size14,uni007B.size15,uni007D.size1,uni007D.size2,uni007D.size3,uni007D.size4,uni007D.size5,uni007D.size6,uni007D.size7,uni007D.size8,uni007D.size9,uni007D.size10,uni007D.size11,uni007D.size12,uni007D.size13,uni007D.size14,uni007D.size15,uni2308.size1,uni2308.size2,uni2308.size3,uni2308.size4,uni2308.size5,uni2308.size6,uni2308.size7,uni2308.size8,uni2308.size9,uni2308.size10,uni2308.size11,uni2308.size12,uni2308.size13,uni2308.size14,uni2308.size15,uni2309.size1,uni2309.size2,uni2309.size3,uni2309.size4,uni2309.size5,uni2309.size6,uni2309.size7,uni2309.size8,uni2309.size9,uni2309.size10,uni2309.size11,uni2309.size12,uni2309.size13,uni2309.size14,uni2309.size15,uni230A.size1,uni230A.size2,uni230A.size3,uni230A.size4,uni230A.size5,uni230A.size6,uni230A.size7,uni230A.size8,uni230A.size9,uni230A.size10,uni230A.size11,uni230A.size12,uni230A.size13,uni230A.size14,uni230A.size15,uni230B.size1,uni230B.size2,uni230B.size3,uni230B.size4,uni230B.size5,uni230B.size6,uni230B.size7,uni230B.size8,uni230B.size9,uni230B.size10,uni230B.size11,uni230B.size12,uni230B.size13,uni230B.size14,uni230B.size15,uni27E8.size1,uni27E8.size2,uni27E8.size3,uni27E8.size4,uni27E8.size5,uni27E8.size6,uni27E8.size7,uni27E8.size8,uni27E8.size9,uni27E8.size10,uni27E8.size11,uni27E8.size12,uni27E8.size13,uni27E8.size14,uni27E8.size15,uni27E9.size1,uni27E9.size2,uni27E9.size3,uni27E9.size4,uni27E9.size5,uni27E9.size6,uni27E9.size7,uni27E9.size8,uni27E9.size9,uni27E9.size10,uni27E9.size11,uni27E9.size12,uni27E9.size13,uni27E9.size14,uni27E9.size15,uni27EA.size1,uni27EA.size2,uni27EA.size3,uni27EA.size4,uni27EA.size5,uni27EA.size6,uni27EA.size7,uni27EA.size8,uni27EA.size9,uni27EA.size10,uni27EA.size11,uni27EA.size12,uni27EA.size13,uni27EA.size14,uni27EA.size15,uni27EB.size1,uni27EB.size2,uni27EB.size3,uni27EB.size4,uni27EB.size5,uni27EB.size6,uni27EB.size7,uni27EB.size8,uni27EB.size9,uni27EB.size10,uni27EB.size11,uni27EB.size12,uni27EB.size13,uni27EB.size14,uni27EB.size15,uni27EE.size1,uni27EE.size2,uni27EE.size3,uni27EE.size4,uni27EE.size5,uni27EE.size6,uni27EE.size7,uni27EE.size8,uni27EE.size9,uni27EE.size10,uni27EE.size11,uni27EE.size12,uni27EE.size13,uni27EE.size14,uni27EE.size15,uni27EF.size1,uni27EF.size2,uni27EF.size3,uni27EF.size4,uni27EF.size5,uni27EF.size6,uni27EF.size7,uni27EF.size8,uni27EF.size9,uni27EF.size10,uni27EF.size11,uni27EF.size12,uni27EF.size13,uni27EF.size14,uni27EF.size15,uni007C.size1,uni007C.size2,uni007C.size3,uni007C.size4,uni007C.size5,uni007C.size6,uni007C.size7,uni007C.size8,uni007C.size9,uni007C.size10,uni007C.size11,uni007C.size12,uni007C.size13,uni007C.size14,uni007C.size15,uni2016.size1,uni2016.size2,uni2016.size3,uni2016.size4,uni2016.size5,uni2016.size6,uni2016.size7,uni2016.size8,uni2016.size9,uni2016.size10,uni2016.size11,uni2016.size12,uni2016.size13,uni2016.size14,uni2016.size15,uni2980.size1,uni2980.size2,uni2980.size3,uni2980.size4,uni2980.size5,uni2980.size6,uni2980.size7,uni2980.size8,uni2980.size9,uni2980.size10,uni2980.size11,uni2980.size12,uni2980.size13,uni2980.size14,uni2980.size15,uni221A.top,uni221A.ext,uni221A.bot,uni221B.top,uni221B.ext,uni221B.bot,uni221C.top,uni221C.ext,uni221C.bot,uni2308.top,uni2308.ext,uni2309.top,uni2309.ext,uni230A.ext,uni230A.bot,uni230B.ext,uni230B.bot,uni27EE.top,uni27EE.ext,uni27EE.bot,uni27EF.top,uni27EF.ext,uni27EF.bot,uni007C.ext,uni2016.ext,uni2980.ext,uni23DC.size1,uni23DC.size2,uni23DC.size3,uni23DC.size4,uni23DC.size5,uni23DC.size6,uni23DC.size7,uni23DC.size8,uni23DC.size9,uni23DC.size10,uni23DC.size11,uni23DC.size12,uni23DC.size13,uni23DC.size14,uni23DC.size15,uni23DD.size1,uni23DD.size2,uni23DD.size3,uni23DD.size4,uni23DD.size5,uni23DD.size6,uni23DD.size7,uni23DD.size8,uni23DD.size9,uni23DD.size10,uni23DD.size11,uni23DD.size12,uni23DD.size13,uni23DD.size14,uni23DD.size15,uni23B4.size1,uni23B4.size2,uni23B4.size3,uni23B4.size4,uni23B4.size5,uni23B4.size6,uni23B4.size7,uni23B4.size8,uni23B4.size9,uni23B4.size10,uni23B4.size11,uni23B4.size12,uni23B4.size13,uni23B4.size14,uni23B4.size15,uni23B5.size1,uni23B5.size2,uni23B5.size3,uni23B5.size4,uni23B5.size5,uni23B5.size6,uni23B5.size7,uni23B5.size8,uni23B5.size9,uni23B5.size10,uni23B5.size11,uni23B5.size12,uni23B5.size13,uni23B5.size14,uni23B5.size15,uni23DE.size1,uni23DE.size2,uni23DE.size3,uni23DE.size4,uni23DE.size5,uni23DE.size6,uni23DE.size7,uni23DE.size8,uni23DE.size9,uni23DE.size10,uni23DE.size11,uni23DE.size12,uni23DE.size13,uni23DE.size14,uni23DE.size15,uni23DF.size1,uni23DF.size2,uni23DF.size3,uni23DF.size4,uni23DF.size5,uni23DF.size6,uni23DF.size7,uni23DF.size8,uni23DF.size9,uni23DF.size10,uni23DF.size11,uni23DF.size12,uni23DF.size13,uni23DF.size14,uni23DF.size15,uni23DC.left,uni23DC.ext,uni23DC.right,uni23DD.left,uni23DD.ext,uni23DD.right,uni23B4.left,uni23B4.ext,uni23B4.right,uni23B5.left,uni23B5.ext,uni23B5.right,uni23DE.left,uni23DE.ext,uni23DE.mid,uni23DE.right,uni23DF.left,uni23DF.ext,uni23DF.mid,uni23DF.right,uni0030.pnum,uni0031.pnum,uni0032.pnum,uni0033.pnum,uni0034.pnum,uni0035.pnum,uni0036.pnum,uni0037.pnum,uni0038.pnum,uni0039.pnum,u1D7CE.pnum,u1D7CF.pnum,u1D7D0.pnum,u1D7D1.pnum,u1D7D2.pnum,u1D7D3.pnum,u1D7D4.pnum,u1D7D5.pnum,u1D7D6.pnum,u1D7D7.pnum,uni222B.up,uni222C.up,uni222D.up,uni2A0C.up,uni222E.up,uni222F.up,uni2230.up,uni222B.display.up,uni222C.display.up,uni222D.display.up,uni2A0C.display.up,uni222E.display.up,uni222F.display.up,uni2230.display.up,uni210F.ss02,uni2201.ss03} +\seq_const_from_clist:Nn \c_@@_glyph_non_unicode_with_type_seq + { + {Special} {.notdef}, + {Math~Script~Style~Alternates} {uni2032.ssty1,uni2033.ssty1,uni2034.ssty1,uni2057.ssty1,uni2035.ssty1,uni2036.ssty1,uni2037.ssty1,uni2032.ssty2,uni2033.ssty2,uni2034.ssty2,uni2057.ssty2,uni2035.ssty2,uni2036.ssty2,uni2037.ssty2}, + {Display~Math~Operators} {uni2140.display,uni220F.display,uni2210.display,uni2211.display,uni222B.display,uni222C.display,uni222D.display,uni2A0C.display,uni222E.display,uni222F.display,uni2230.display}, + {Large~Delimiters} {uni221A.size1,uni221A.size2,uni221A.size3,uni221A.size4,uni221A.size5,uni221A.size6,uni221A.size7,uni221A.size8,uni221A.size9,uni221A.size10,uni221A.size11,uni221A.size12,uni221A.size13,uni221A.size14,uni221A.size15,uni221B.size1,uni221B.size2,uni221B.size3,uni221B.size4,uni221B.size5,uni221B.size6,uni221B.size7,uni221B.size8,uni221B.size9,uni221B.size10,uni221B.size11,uni221B.size12,uni221B.size13,uni221B.size14,uni221B.size15,uni221C.size1,uni221C.size2,uni221C.size3,uni221C.size4,uni221C.size5,uni221C.size6,uni221C.size7,uni221C.size8,uni221C.size9,uni221C.size10,uni221C.size11,uni221C.size12,uni221C.size13,uni221C.size14,uni221C.size15,uni0028.size1,uni0028.size2,uni0028.size3,uni0028.size4,uni0028.size5,uni0028.size6,uni0028.size7,uni0028.size8,uni0028.size9,uni0028.size10,uni0028.size11,uni0028.size12,uni0028.size13,uni0028.size14,uni0028.size15,uni0029.size1,uni0029.size2,uni0029.size3,uni0029.size4,uni0029.size5,uni0029.size6,uni0029.size7,uni0029.size8,uni0029.size9,uni0029.size10,uni0029.size11,uni0029.size12,uni0029.size13,uni0029.size14,uni0029.size15,uni005B.size1,uni005B.size2,uni005B.size3,uni005B.size4,uni005B.size5,uni005B.size6,uni005B.size7,uni005B.size8,uni005B.size9,uni005B.size10,uni005B.size11,uni005B.size12,uni005B.size13,uni005B.size14,uni005B.size15,uni005D.size1,uni005D.size2,uni005D.size3,uni005D.size4,uni005D.size5,uni005D.size6,uni005D.size7,uni005D.size8,uni005D.size9,uni005D.size10,uni005D.size11,uni005D.size12,uni005D.size13,uni005D.size14,uni005D.size15,uni007B.size1,uni007B.size2,uni007B.size3,uni007B.size4,uni007B.size5,uni007B.size6,uni007B.size7,uni007B.size8,uni007B.size9,uni007B.size10,uni007B.size11,uni007B.size12,uni007B.size13,uni007B.size14,uni007B.size15,uni007D.size1,uni007D.size2,uni007D.size3,uni007D.size4,uni007D.size5,uni007D.size6,uni007D.size7,uni007D.size8,uni007D.size9,uni007D.size10,uni007D.size11,uni007D.size12,uni007D.size13,uni007D.size14,uni007D.size15,uni2308.size1,uni2308.size2,uni2308.size3,uni2308.size4,uni2308.size5,uni2308.size6,uni2308.size7,uni2308.size8,uni2308.size9,uni2308.size10,uni2308.size11,uni2308.size12,uni2308.size13,uni2308.size14,uni2308.size15,uni2309.size1,uni2309.size2,uni2309.size3,uni2309.size4,uni2309.size5,uni2309.size6,uni2309.size7,uni2309.size8,uni2309.size9,uni2309.size10,uni2309.size11,uni2309.size12,uni2309.size13,uni2309.size14,uni2309.size15,uni230A.size1,uni230A.size2,uni230A.size3,uni230A.size4,uni230A.size5,uni230A.size6,uni230A.size7,uni230A.size8,uni230A.size9,uni230A.size10,uni230A.size11,uni230A.size12,uni230A.size13,uni230A.size14,uni230A.size15,uni230B.size1,uni230B.size2,uni230B.size3,uni230B.size4,uni230B.size5,uni230B.size6,uni230B.size7,uni230B.size8,uni230B.size9,uni230B.size10,uni230B.size11,uni230B.size12,uni230B.size13,uni230B.size14,uni230B.size15,uni27E8.size1,uni27E8.size2,uni27E8.size3,uni27E8.size4,uni27E8.size5,uni27E8.size6,uni27E8.size7,uni27E8.size8,uni27E8.size9,uni27E8.size10,uni27E8.size11,uni27E8.size12,uni27E8.size13,uni27E8.size14,uni27E8.size15,uni27E9.size1,uni27E9.size2,uni27E9.size3,uni27E9.size4,uni27E9.size5,uni27E9.size6,uni27E9.size7,uni27E9.size8,uni27E9.size9,uni27E9.size10,uni27E9.size11,uni27E9.size12,uni27E9.size13,uni27E9.size14,uni27E9.size15,uni27EA.size1,uni27EA.size2,uni27EA.size3,uni27EA.size4,uni27EA.size5,uni27EA.size6,uni27EA.size7,uni27EA.size8,uni27EA.size9,uni27EA.size10,uni27EA.size11,uni27EA.size12,uni27EA.size13,uni27EA.size14,uni27EA.size15,uni27EB.size1,uni27EB.size2,uni27EB.size3,uni27EB.size4,uni27EB.size5,uni27EB.size6,uni27EB.size7,uni27EB.size8,uni27EB.size9,uni27EB.size10,uni27EB.size11,uni27EB.size12,uni27EB.size13,uni27EB.size14,uni27EB.size15,uni27EE.size1,uni27EE.size2,uni27EE.size3,uni27EE.size4,uni27EE.size5,uni27EE.size6,uni27EE.size7,uni27EE.size8,uni27EE.size9,uni27EE.size10,uni27EE.size11,uni27EE.size12,uni27EE.size13,uni27EE.size14,uni27EE.size15,uni27EF.size1,uni27EF.size2,uni27EF.size3,uni27EF.size4,uni27EF.size5,uni27EF.size6,uni27EF.size7,uni27EF.size8,uni27EF.size9,uni27EF.size10,uni27EF.size11,uni27EF.size12,uni27EF.size13,uni27EF.size14,uni27EF.size15,uni007C.size1,uni007C.size2,uni007C.size3,uni007C.size4,uni007C.size5,uni007C.size6,uni007C.size7,uni007C.size8,uni007C.size9,uni007C.size10,uni007C.size11,uni007C.size12,uni007C.size13,uni007C.size14,uni007C.size15,uni2016.size1,uni2016.size2,uni2016.size3,uni2016.size4,uni2016.size5,uni2016.size6,uni2016.size7,uni2016.size8,uni2016.size9,uni2016.size10,uni2016.size11,uni2016.size12,uni2016.size13,uni2016.size14,uni2016.size15,uni2980.size1,uni2980.size2,uni2980.size3,uni2980.size4,uni2980.size5,uni2980.size6,uni2980.size7,uni2980.size8,uni2980.size9,uni2980.size10,uni2980.size11,uni2980.size12,uni2980.size13,uni2980.size14,uni2980.size15}, + {Extensible~Delimiters} {uni221A.top,uni221A.ext,uni221A.bot,uni221B.top,uni221B.ext,uni221B.bot,uni221C.top,uni221C.ext,uni221C.bot,uni2308.top,uni2308.ext,uni2309.top,uni2309.ext,uni230A.ext,uni230A.bot,uni230B.ext,uni230B.bot,uni27EE.top,uni27EE.ext,uni27EE.bot,uni27EF.top,uni27EF.ext,uni27EF.bot,uni007C.ext,uni2016.ext,uni2980.ext}, + {Large~Over/Under~Symbols} {uni23DC.size1,uni23DC.size2,uni23DC.size3,uni23DC.size4,uni23DC.size5,uni23DC.size6,uni23DC.size7,uni23DC.size8,uni23DC.size9,uni23DC.size10,uni23DC.size11,uni23DC.size12,uni23DC.size13,uni23DC.size14,uni23DC.size15,uni23DD.size1,uni23DD.size2,uni23DD.size3,uni23DD.size4,uni23DD.size5,uni23DD.size6,uni23DD.size7,uni23DD.size8,uni23DD.size9,uni23DD.size10,uni23DD.size11,uni23DD.size12,uni23DD.size13,uni23DD.size14,uni23DD.size15,uni23B4.size1,uni23B4.size2,uni23B4.size3,uni23B4.size4,uni23B4.size5,uni23B4.size6,uni23B4.size7,uni23B4.size8,uni23B4.size9,uni23B4.size10,uni23B4.size11,uni23B4.size12,uni23B4.size13,uni23B4.size14,uni23B4.size15,uni23B5.size1,uni23B5.size2,uni23B5.size3,uni23B5.size4,uni23B5.size5,uni23B5.size6,uni23B5.size7,uni23B5.size8,uni23B5.size9,uni23B5.size10,uni23B5.size11,uni23B5.size12,uni23B5.size13,uni23B5.size14,uni23B5.size15,uni23DE.size1,uni23DE.size2,uni23DE.size3,uni23DE.size4,uni23DE.size5,uni23DE.size6,uni23DE.size7,uni23DE.size8,uni23DE.size9,uni23DE.size10,uni23DE.size11,uni23DE.size12,uni23DE.size13,uni23DE.size14,uni23DE.size15,uni23DF.size1,uni23DF.size2,uni23DF.size3,uni23DF.size4,uni23DF.size5,uni23DF.size6,uni23DF.size7,uni23DF.size8,uni23DF.size9,uni23DF.size10,uni23DF.size11,uni23DF.size12,uni23DF.size13,uni23DF.size14,uni23DF.size15}, + {Extensible~Over/Under~Symbols} {uni23DC.left,uni23DC.ext,uni23DC.right,uni23DD.left,uni23DD.ext,uni23DD.right,uni23B4.left,uni23B4.ext,uni23B4.right,uni23B5.left,uni23B5.ext,uni23B5.right,uni23DE.left,uni23DE.ext,uni23DE.mid,uni23DE.right,uni23DF.left,uni23DF.ext,uni23DF.mid,uni23DF.right}, + {Proportional~Figures} {uni0030.pnum,uni0031.pnum,uni0032.pnum,uni0033.pnum,uni0034.pnum,uni0035.pnum,uni0036.pnum,uni0037.pnum,uni0038.pnum,uni0039.pnum,u1D7CE.pnum,u1D7CF.pnum,u1D7D0.pnum,u1D7D1.pnum,u1D7D2.pnum,u1D7D3.pnum,u1D7D4.pnum,u1D7D5.pnum,u1D7D6.pnum,u1D7D7.pnum}, + {Stylistic~Set~1:~Upright~Integrals} {uni222B.up,uni222C.up,uni222D.up,uni2A0C.up,uni222E.up,uni222F.up,uni2230.up,uni222B.display.up,uni222C.display.up,uni222D.display.up,uni2A0C.display.up,uni222E.display.up,uni222F.display.up,uni2230.display.up}, + {Stylistic~Set~2:~Planck~Constant~with~Bar} {uni210F.ss02}, + {Stylistic~Set~3:~Complement~Alternates} {uni2201.ss03}, + } diff --git a/Master/texmf-dist/doc/fonts/firamath/firamath-specimen.pdf b/Master/texmf-dist/doc/fonts/firamath/firamath-specimen.pdf Binary files differnew file mode 100644 index 00000000000..8fc17a113a3 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/firamath/firamath-specimen.pdf diff --git a/Master/texmf-dist/doc/fonts/firamath/firamath-specimen.tex b/Master/texmf-dist/doc/fonts/firamath/firamath-specimen.tex new file mode 100644 index 00000000000..d9986b32bcb --- /dev/null +++ b/Master/texmf-dist/doc/fonts/firamath/firamath-specimen.tex @@ -0,0 +1,502 @@ +\documentclass{article} + +\PassOptionsToPackage{log-declarations=false}{xparse} +\PassOptionsToPackage{no-math}{fontspec} +\PassOptionsToPackage{table}{xcolor} +\PassOptionsToPackage{titles}{tocloft} +%\PassOptionsToPackage{showframe}{geometry} +\usepackage{% + expl3,xparse, + ctexheading,geometry,fancyhdr,tocloft,fontspec,xcolor,hologo, + array,longtable,multirow,hhline, + hyperref,zref-totpages} + +\makeatletter\ExplSyntaxOn + +\seq_const_from_clist:Nn \c_@@_unicode_reserved_seq + { + % Greek and Coptic + 378, 379, 380, 381, 382, 383, 38B, 38D, 3A2, + % General Punctuation + 2065, + % Superscripts and Subscripts + 2072, 2073, 208F, 209D, 209E, 209F, + % Currency Symbols + 20C0, 20C1, 20C2, 20C3, 20C4, 20C5, 20C6, 20C7, 20C8, 20C9, + 20CA, 20CB, 20CC, 20CD, 20CE, 20CF, + % Combining Diacritical Marks for Symbols + 20F1, 20F2, 20F3, 20F4, 20F5, 20F6, 20F7, 20F8, 20F9, 20FA, + 20FB, 20FC, 20FD, 20FE, 20FF, + % Number Forms + 218C, 218D, 218E, 218F, + % Control Pictures + 2427, 2428, 2429, 242A, 242B, 242C, 242D, 242E, 242F, 2430, + 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439, 243A, + 243B, 243C, 243D, 243E, 243F, + % Optical Character Recognition + 244B, 244C, 244D, 244E, 244F, 2450, 2451, 2452, 2453, 2454, + 2455, 2456, 2457, 2458, 2459, 245A, 245B, 245C, 245D, 245E, + 245F, + % Miscellaneous Symbols and Arrows + 2B74, 2B75, 2B96, 2B97, 2BC9, 2BFF, + % Alphabetic Presentation Forms + FB07, FB08, FB09, FB0A, FB0B, FB0C, FB0D, FB0E, FB0F, FB10, + FB11, FB12, FB18, FB19, FB1A, FB1B, FB1C, FB37, FB3D, FB3F, + FB42, FB45, + % Arabic Presentation Forms-B + FE75, FEFD, FEFE, + % Mathematical Alphanumeric Symbols + 1D455, 1D49D, 1D4A0, 1D4A1, 1D4A3, 1D4A4, 1D4A7, 1D4A8, 1D4AD, 1D4BA, + 1D4BC, 1D4C4, 1D506, 1D50B, 1D50C, 1D515, 1D51D, 1D53A, 1D53F, 1D545, + 1D547, 1D548, 1D549, 1D551, 1D6A6, 1D6A7, 1D7CC, 1D7CD + } +\seq_const_from_clist:Nn \c_@@_unicode_control_seq + { + % C0 Controls and Basic Latin + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, + 7F, + % C1 Controls and Latin-1 Supplement + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 8A, 8B, 8C, 8D, 8E, 8F, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 9A, 9B, 9C, 9D, 9E, 9F + } + +% Require `\c_@@_glyph_non_unicode_with_type_seq` +\file_input:n { firamath-glyph-list.tex } + +% #1 = symbol index +\cs_new_protected:Npn \@@_symbol:n #1 + { \tex_char:D \int_eval:n {#1} \scan_stop: } +\prg_new_protected_conditional:Npnn \@@_if_char_exist:n #1 { T, F, TF } + { + \etex_iffontchar:D \tex_font:D \int_eval:n {#1} \scan_stop: + \prg_return_true: + \else: + \prg_return_false: + \fi: + } +% #1 = glyph name +% See https://tex.stackexchange.com/q/420167 +\cs_new_protected:Npn \@@_glyph_from_name:n #1 + { \tex_XeTeXglyph:D \tex_XeTeXglyphindex:D "#1" \scan_stop: } + +% Centering with fixed width +\newcolumntype {C} [1] { > { \centering \arraybackslash } m {#1} } +% Empty array rule +\newcolumntype {E} { ! { \skip_horizontal:N \arrayrulewidth } } + +\definecolor { encoding @ bg } { HTML } { BDBDBD } +\definecolor { reserved @ bg } { HTML } { EA4335 } +\definecolor { control @ bg } { HTML } { 4285F4 } +\definecolor { nochar @ text } { HTML } { E0E0E0 } + +\cs_set:Npn \NumberStyle { \ttfamily \footnotesize } +\cs_set:Npn \GlyphStyle { \SymbolFont \Large } +\cs_set:Npn \EncodingStyle + { \ttfamily \fontsize { 4 } { 5 } \selectfont \cellcolor { encoding@bg } } + +\cs_set:Npn \GlyphStrut { \@@_set_arstrut:nn { 20 pt } { 10 pt } } +\cs_set:Npn \NonUnicodeGlyphStrut { \@@_set_arstrut:nn { 32 pt } { 20 pt } } +\cs_set:Npn \NonUnicodeHighGlyphStrut { \@@_set_arstrut:nn { 64 pt } { 40 pt } } +\cs_set:Npn \EncodingStrut { \@@_set_arstrut:nn { 4.5 pt } { 1 pt } } + +\dim_const:Nn \c_@@_cell_wd_dim { 30 pt } +\dim_const:Nn \c_@@_column_sep_dim { 0 pt } +\dim_const:Nn \c_@@_row_number_ht_dim { 20 pt } +\dim_const:Nn \c_@@_row_number_sep_dim { 6 pt } +\dim_const:Nn \c_@@_non_unicode_wd_dim { 87 pt } + +% The total number of glyphs. +\newcounter { glyph } +\setcounter { glyph } { -1 } + +% The main function. +\NewDocumentCommand \fonttable { s m g } + { + \IfBooleanTF {#1} + { \@@_non_unicode:nn {#2} } + { \@@_unicode:nn {#2} {#3} } + \clearpage + } + +% #1 = section name +% #2 = begin/end encoding +\cs_new_protected:Npn \@@_unicode:nn #1#2 + { + \tl_set:Nn \l_@@_glyph_count_tl + { \ref* { count: glyph @ #1 } / \ref* { count: codepoint @ #1 } } + \section { #1 ~ (\tl_use:N \l_@@_glyph_count_tl) } + \cs_set_eq:NN \@@_left_foot: \@@_left_foot_unicode: + \@@_parse_encoding:n {#2} + \int_gzero:N \g_@@_glyph_int + \int_gzero:N \g_@@_code_point_int + \@@_make_table: + \newcounter { glyph @ #1 } + \newcounter { codepoint @ #1 } + \int_set:cn { c @ glyph @ #1 } { \g_@@_glyph_int - 1 } + \int_set:cn { c @ codepoint @ #1 } { \g_@@_code_point_int - 1 } + \refstepcounter { glyph @ #1 } \label { count: glyph @ #1 } + \refstepcounter { codepoint @ #1 } \label { count: codepoint @ #1 } + } +\tl_new:N \l_@@_glyph_count_tl +\int_new:N \g_@@_glyph_int +\int_new:N \g_@@_code_point_int + +\cs_new_protected:Npn \@@_left_foot_unicode: + { + \mode_leave_vertical: + \footnotesize + \@@_color_box:nn { reserved @ bg } Reserved~ Code~ Points, \quad + \@@_color_box:nn { control @ bg } Control~ Codes. + } +\cs_new_protected:Npn \@@_color_box:nn #1#2 + { + \group_begin: + \color {#1} \rule [ -2 pt ] { 10 pt } { 10 pt } + \group_end: + \ = \ #2 + } + +% #1 = `begin` - `end` +\cs_new_protected:Npn \@@_parse_encoding:n #1 + { + \seq_set_split:Nnn \l_tmpa_seq { - } {#1} + \int_set:Nn \l_@@_begin_int { \seq_item:Nn \l_tmpa_seq { 1 } } + \int_set:Nn \l_@@_end_int { \seq_item:Nn \l_tmpa_seq { 2 } } + } +\int_new:N \l_@@_begin_int +\int_new:N \l_@@_end_int + +\cs_new_protected:Npn \@@_make_table: + { + \longtable { r | * { 16 } { C { \c_@@_cell_wd_dim } | } } + \@@_long_table_head: + \@@_multi_row:nn + { \int_use:N \l_@@_begin_int } + { \int_use:N \l_@@_end_int } + \endlongtable + } +\dim_set_eq:NN \tabcolsep \c_@@_column_sep_dim + +% These functions must be expandable: +% \@@_long_table_head:, \@@_first_row:, +% \@@_multi_row:nn, \@@_row:n, \@@_div_sixteen:n, +% \@@_hline:, \@@_set_arstrut:nn, \@@_restore_arstrut:, etc., +% so that `noalign` can work properly. +% Hence we use `\cs_new:Npn` and `\int_step_function:nnnN` here. + +\cs_new:Npn \@@_long_table_head: + { + % It's very hackable here! + % The dimension is measured by hand. Not universal at all. + \@@_set_arstrut:nn { 0 pt } { 0 pt } + \multicolumn { 17 } { c } { \rule { 0 pt } { 1.29 cm } } \\ + \@@_first_row: + \endhead + \@@_first_row: + \endfirsthead + } + +\cs_new:Npn \@@_first_row: + { + \multicolumn { 17 } { r } + { + \tabular + { + % Skip row number + r | + * { 15 } { C { \c_@@_cell_wd_dim } E } + C { \c_@@_cell_wd_dim } | + } + % I don't know why there are so many `#`. + \int_step_inline:nnn { 0 } { 15 } + { & \@@_first_row_cell:n {####1} } + \endtabular + } + \\* + \@@_hline: + } +\cs_new_protected:Npn \@@_first_row_cell:n #1 + { \NumberStyle \int_to_Hex:n {#1} } + +\cs_new:Npn \@@_multi_row:nn #1#2 + { + \int_step_function:nnnN + { \@@_div_sixteen:n {#1} * 16 } + { 16 } + { (\@@_div_sixteen:n {#2} + 1) * 16 - 1 } + \@@_row:n + } +\cs_new:Npn \@@_div_sixteen:n #1 + { \int_div_truncate:nn {#1} { 16 } } + +\cs_new:Npn \@@_row:n #1 + { + % Glyph row + \GlyphStrut + % Row number + \multirow { 2 } * { \@@_row_nummber:n {#1} } + \int_step_inline:nnn {#1} { #1 + 15 } + { & \@@_glyph:n {##1} } + \\* + \@@_restore_arstrut: + % Encoding row + \@@_hline: + \EncodingStrut + \int_step_inline:nnn {#1} { #1 + 15 } + { & \@@_encoding:n {##1} } + \\ + \@@_hline: + } + +% To skip the first column (i.e. row index). +% LaTeX3 syntax makes `~` to equal space, so we need to change its catcode temporarily. +\group_begin: + \char_set_catcode_active:N \~ + \cs_new:Npn \@@_hline: + { \hhline { ~ | * { 16 } { - } } } +\group_end: + +\cs_new:Npn \@@_set_arstrut:nn #1#2 + { + \tex_noalign:D + { + \group_begin: + % Store the old strutbox + \box_gset_eq:NN \l_@@_old_arstrut_box \@arstrutbox + % Change the dimensions of \@arstrutbox + \hbox_set_to_wd:Nnn \l_tmpa_box { \c_zero_dim } { } + \box_set_ht:Nn \l_tmpa_box {#1} + \box_set_dp:Nn \l_tmpa_box {#2} + \hbox_gset:Nn \@arstrutbox { \box_use:N \l_tmpa_box } + \group_end: + } + } +\cs_new:Npn \@@_restore_arstrut: + { + \tex_noalign:D + { \box_gset_eq:NN \@arstrutbox \l_@@_old_arstrut_box } + } +\box_new:N \l_@@_old_arstrut_box + +\cs_new_protected:Npn \@@_row_nummber:n #1 + { + \raisebox { \dim_use:N \c_@@_row_number_ht_dim } + { + \NumberStyle + \int_set:Nn \l_tmpa_int { #1 / 16 } + \int_compare:nNnTF { \l_tmpa_int } < { "10 } + { 00 } + { + \int_compare:nNnT { \l_tmpa_int } < { "100 } + { 0 } + } + \int_to_Hex:n { \l_tmpa_int } + \skip_horizontal:N \c_@@_row_number_sep_dim + } + } + +\cs_new_protected:Npn \@@_glyph:n #1 + { + \tl_set:Nx \l_tmpa_tl { \int_to_Hex:n {#1} } + \seq_if_in:NVTF \c_@@_unicode_reserved_seq \l_tmpa_tl + { \cellcolor { reserved@bg } } + { + \seq_if_in:NVTF \c_@@_unicode_control_seq \l_tmpa_tl + { \cellcolor { control@bg } } + { + % It must be outside `\@@_if_char_exist` + \GlyphStyle + \@@_if_char_exist:nTF {#1} + { + \@@_symbol:n {#1} + \refstepcounter { glyph } + \int_gincr:N \g_@@_glyph_int + } + { + \normalfont + \int_compare:nNnTF {#1} < { "10000 } + { \BMPFallbackFont } { \SMPFallbackFont } + \textcolor { nochar@text } { \@@_symbol:n {#1} } + } + \int_gincr:N \g_@@_code_point_int + } + } + } + +\cs_new_protected:Npn \@@_encoding:n #1 + { + \group_begin: + \EncodingStyle + \int_compare:nNnTF {#1} < { "10 } + { 000 } + { + \int_compare:nNnTF {#1} < { "100 } + { 00 } + { + \int_compare:nNnT {#1} < { "1000 } + { 0 } + } + } + \int_to_Hex:n {#1} + \group_end: + } + +% #1 = section name +% #2 = non-unicode data file +\cs_new_protected:Npn \@@_non_unicode:nn #1#2 + { + \tl_set:Nn \l_@@_glyph_count_tl { \ref* { count: glyph @ non-unicode } } + \section { #1 ~ (\tl_use:N \l_@@_glyph_count_tl) } + \cs_set_eq:NN \@@_left_foot: \prg_do_nothing: + \int_gzero:N \g_@@_non_unicode_glyph_int + \@@_non_unicode_print: + \newcounter { glyph @ non-unicode } + \int_set:cn { c @ glyph @ non-unicode } { \g_@@_non_unicode_glyph_int - 1 } + \refstepcounter { glyph @ non-unicode } \label { count: glyph @ non-unicode } + \refstepcounter { glyph } \label { count: glyph } + } +\int_new:N \g_@@_non_unicode_glyph_int + +\cs_new_protected:Npn \@@_non_unicode_print: + { + \seq_map_inline:Nn \c_@@_glyph_non_unicode_with_type_seq + { \@@_non_unicode_print_class:nn ##1 } + } + +% #1 = class +% #2 = clist of glyph names +\cs_new_protected:Npn \@@_non_unicode_print_class:nn #1#2 + { + \subsection { #1 ~ (\clist_count:n {#2}) } + \clist_map_inline:nn {#2} + { + \@@_non_unicode_cell:n {##1} + \refstepcounter { glyph } + \int_gincr:N \g_@@_non_unicode_glyph_int + } + } + +\cs_new_protected:Npn \@@_non_unicode_cell:n #1 + { + \tabular { | C { \c_@@_non_unicode_wd_dim } | } + % Glyph + \hline + \NonUnicodeGlyphStrut \GlyphStyle + \@@_glyph_from_name:n {#1} + \\ + \@@_restore_arstrut: + % Encoding (glyph name) + \hline + \EncodingStrut \EncodingStyle + #1 + \\ + \@@_restore_arstrut: + \hline + \endtabular + % A space allowing line break + \ + } + +% Header and footer. +\fancyhf { } +\fancyhead [ R ] { \thepage } +\fancyfoot [ L ] + { + \footnotesize + \int_compare:nNnTF { \int_use:c { c@page } } = { \ztotpages } + { \@@_left_foot_last_page: } { \@@_left_foot: } + } +\fancyfoot [ R ] + { + \footnotesize \itshape + Copyright~ \copyright{}~ 2018,~ 2019~ by~ Xiangdong~ Zeng + } +% `\headrulewidth` is not a dim variable. +\cs_set:Npn \headrulewidth { 0 pt } +\cs_new_protected:Npn \@@_left_foot_last_page: + { + \itshape + Other~ fonts~ used~ in~ this~ document:~ + FiraGO,~ Fira~ Code,~ GNU~ Unifont. \\ + Colors~ are~ inspired~ by~ Google~ Material~ Design. + } + +\ExplSyntaxOff\makeatother + +\geometry{a4paper, hmargin=1cm, vmargin=2.5cm} +\ctexset{section/format=\Large\bfseries\centering} +\hypersetup{bookmarksnumbered=true, colorlinks=true, + linkcolor=[HTML]34A853, urlcolor=[HTML]E91E63} + +\setmainfont{FiraGO}[BoldFont=* SemiBold, Numbers=Monospaced] +\setmonofont{Fira Code}[UprightFont=* Light, BoldFont=* Regular] + +\newfontface\BMPFallbackFont{Unifont} +\newfontface\SMPFallbackFont{Unifont Upper} +\newfontface\SymbolFont{Fira Math Regular} + +\title{\bfseries\huge Fira Math\\ + \itshape\Large Sans-serif font with Unicode math support} +\author{Xiangdong Zeng} +\date{2019/06/03\quad v0.3.2} + +\begin{document} + +\newgeometry{hmargin=1.5in, vmargin=1.0in} + +\maketitle + +\begin{abstract} + \href{https://github.com/firamath/firamath}{Fira Math} is a sans-serif font + with Unicode math support. The design of this font is based on + \href{https://github.com/mozilla/Fira}{Fira Sans} and + \href{https://bboxtype.com/typefaces/FiraGO}{FiraGO}. Fira Math is distributed + in OpenType format, and can be used with + \href{https://www.ctan.org/pkg/unicode-math}{unicode-math} package under + \hologo{XeTeX} or \hologo{LuaTeX}. There are \ref*{count:glyph} glyphs in + Fira Math at present. + + Fira Math is licensed under the + \href{http://scripts.sil.org/OFL}{SIL Open Font License}, Version 1.1. +\end{abstract} + +\setlength\cftbeforesubsecskip{1ex} +\tableofcontents + +\clearpage + +\restoregeometry +\pagestyle{fancy} + +\fonttable{C0 Controls and Basic Latin}{"0-"7F} +\fonttable{C1 Controls and Latin-1 Supplement}{"80-"FF} +\fonttable{Latin Extended-A}{"100-"17F} +\fonttable{Latin Extended-B}{"180-"24F} +\fonttable{Combining Diacritical Marks}{"300-"36F} +\fonttable{Greek and Coptic}{"370-"3FF} +\fonttable{Cyrillic}{"400-"4FF} +\fonttable{General Punctuation}{"2000-"206F} +\fonttable{Currency Symbols}{"20A0-"20CF} +\fonttable{Combining Diacritical Marks for Symbols}{"20D0-"20FF} +\fonttable{Letterlike Symbols}{"2100-"214F} +\fonttable{Number Forms}{"2150-"218F} +\fonttable{Arrows}{"2190-"21FF} +\fonttable{Mathematical Operators}{"2200-"22FF} +\fonttable{Miscellaneous Technical}{"2300-"23FF} +\fonttable{Block Elements}{"2580-"259F} +\fonttable{Geometric Shapes}{"25A0-"25FF} +\fonttable{Miscellaneous Symbols}{"2600-"26FF} +\fonttable{Miscellaneous Mathematical Symbols-A}{"27C0-"27EF} +\fonttable{Supplemental Arrows-A}{"27F0-"27FF} +\fonttable{Supplemental Arrows-B}{"2900-"297F} +\fonttable{Miscellaneous Mathematical Symbols-B}{"2980-"29FF} +\fonttable{Supplemental Mathematical Operators}{"2A00-"2AFF} +\fonttable{Miscellaneous Symbols and Arrows}{"2B00-"2BFF} +\fonttable{Alphabetic Presentation Forms}{"FB00-"FB4F} +\fonttable{Arabic Presentation Forms-B}{"FE70-"FEFF} +\fonttable{Mathematical Alphanumeric Symbols}{"1D400-"1D7FF} +\fonttable{Geometric Shapes Extended}{"1F780-"1F7FF} +\fonttable*{Non-Unicode Glyphs} + +\end{document} diff --git a/Master/texmf-dist/fonts/opentype/public/firamath/FiraMath-Regular.otf b/Master/texmf-dist/fonts/opentype/public/firamath/FiraMath-Regular.otf Binary files differnew file mode 100644 index 00000000000..624bab48987 --- /dev/null +++ b/Master/texmf-dist/fonts/opentype/public/firamath/FiraMath-Regular.otf diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 37c62a7325a..5dd1d7263e6 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -281,7 +281,7 @@ my @TLP_working = qw( ffslides fge fgruler fibeamer fifinddo-info fifo-stack fig4latex figbas figbib figflow figsize filecontents filecontentsdef filedate filehook fileinfo filemod - findhyph fink finstrut fira firamath-otf + findhyph fink finstrut fira firamath firamath-otf first-latex-doc fitbox fithesis fix2col fixcmex fixfoot fixjfm fixlatvian fixltxhyph fixme fixmetodonotes fixpdfmag fiziko diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index ceccc0f2a4e..7e90739ef93 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -465,7 +465,6 @@ chomp ($Build = `cd $Master/../Build/source && pwd`); 'fetchbibpes', "die 'skipping, per author (dps) request'", 'feynmf', "&MAKEfeynmf", 'findhyph', "&MAKEflatten", - 'firamath', "die 'skipping, FiraMath-Regular.otf duplicated with fia'", 'firamath-otf',"&MAKEflatten", 'firefox-ctan-plugins', "die 'skipping, old support'", 'firefox_ctan_plugins', "die 'skipping, old support'", diff --git a/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc index a5f6b4ce462..dd080164904 100644 --- a/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc @@ -124,6 +124,7 @@ depend fetamont depend feyn depend fge depend fira +depend firamath depend firamath-otf depend foekfont depend fonetika diff --git a/Master/tlpkg/tlpsrc/firamath.tlpsrc b/Master/tlpkg/tlpsrc/firamath.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/firamath.tlpsrc |