From 2bc6e7e73836d707457578c8931793e16bf196a5 Mon Sep 17 00:00:00 2001 From: hflex Date: Mon, 26 Jan 2026 23:56:48 +0400 Subject: [PATCH 01/13] updated gitignore to ignore .vscode folder --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8544c14b2..dc4eb3d0d 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,7 @@ CSharpMath.Xaml.Tests.NuGet/Test.*.png /.benchmarkresults /.nupkgs /.testcoverage - +/.vscode ## END Specifically added for CSharpMath ## Ignore Visual Studio temporary files, build results, and From ce02fc8646056728e150c3f07847edf19d952308 Mon Sep 17 00:00:00 2001 From: hflex Date: Tue, 27 Jan 2026 00:25:38 +0400 Subject: [PATCH 02/13] Created abstraction atom called UnderAnnotation for under annotations like underbrace --- CSharpMath/Atom/Atoms/UnderAnnotation.cs | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 CSharpMath/Atom/Atoms/UnderAnnotation.cs diff --git a/CSharpMath/Atom/Atoms/UnderAnnotation.cs b/CSharpMath/Atom/Atoms/UnderAnnotation.cs new file mode 100644 index 000000000..4f4357c99 --- /dev/null +++ b/CSharpMath/Atom/Atoms/UnderAnnotation.cs @@ -0,0 +1,30 @@ +namespace CSharpMath.Atom.Atoms; +/// +/// Abstract name of under annotations implementation \underbrace, \underbracket etc.. +/// +public sealed class UnderAnnotation : MathAtom, IMathListContainer { + public UnderAnnotation(string value, MathList innerList, MathList? underList) : base(value) { + InnerList = innerList; + UnderList = underList; + } + + public MathList InnerList { get; } + public MathList? UnderList { get; } + + System.Collections.Generic.IEnumerable IMathListContainer.InnerLists => + new[] { InnerList }; + public new UnderAnnotation Clone(bool finalize) => (UnderAnnotation)base.Clone(finalize); + protected override MathAtom CloneInside(bool finalize) => + new UnderAnnotation(Nucleus, InnerList.Clone(finalize), UnderList?.Clone(finalize)); + public override bool ScriptsAllowed => true; + //depending on nucleus, DebugString will change to \underbrace , \underbracket etc.. + public override string DebugString => + new System.Text.StringBuilder(@"\underbrace") + .AppendInBracesOrLiteralNull(InnerList.DebugString) + .ToString(); + public bool EqualsUnderAnnotation(UnderAnnotation other) => + EqualsAtom(other) && InnerList.EqualsList(other.InnerList); + public override bool Equals(object obj) => + obj is UnderAnnotation u ? EqualsUnderAnnotation(u) : false; + public override int GetHashCode() => (base.GetHashCode(), InnerList).GetHashCode(); +} \ No newline at end of file From d2eabcb3b5ce0acfe2bc93e7464e7909da9888bb Mon Sep 17 00:00:00 2001 From: hflex Date: Tue, 27 Jan 2026 02:51:28 +0400 Subject: [PATCH 03/13] Added basic latex parser for under annotation --- CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs | 28 ++++++++++++++ CSharpMath/Atom/Atoms/UnderAnnotation.cs | 2 +- CSharpMath/Atom/LaTeXParser.cs | 38 ++++++++++--------- CSharpMath/Atom/LaTeXSettings.cs | 3 ++ 4 files changed, 52 insertions(+), 19 deletions(-) diff --git a/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs b/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs index bb66f9d3a..33bc17535 100644 --- a/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs +++ b/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs @@ -408,6 +408,34 @@ public void TestUnderline() { Assert.Equal(@"\underline{2}", LaTeXParser.MathListToLaTeX(list).ToString()); } + /// + /// Test underbrace without under + /// + [Fact] + public void TestUnderbrace() { + var list = ParseLaTeX(@"\underbrace{x}"); + + Assert.Collection(list, + CheckAtom("\u23df", underBrace => + Assert.Collection(underBrace.InnerList, CheckAtom("x")) + ) + ); + } + + /// + /// Test underbrace with under (not implemented yet) + /// + [Fact] + public void TestUnderbraceWithUnder() { + var list = ParseLaTeX(@"\underbrace{x}_{y}"); + + Assert.Collection(list, + CheckAtom("\u23df", underBrace => + Assert.Collection(underBrace.InnerList, CheckAtom("x")) + ) + ); + } + [Fact] public void TestAccent() { var list = ParseLaTeX(@"\bar x"); diff --git a/CSharpMath/Atom/Atoms/UnderAnnotation.cs b/CSharpMath/Atom/Atoms/UnderAnnotation.cs index 4f4357c99..d03deac3f 100644 --- a/CSharpMath/Atom/Atoms/UnderAnnotation.cs +++ b/CSharpMath/Atom/Atoms/UnderAnnotation.cs @@ -3,7 +3,7 @@ namespace CSharpMath.Atom.Atoms; /// Abstract name of under annotations implementation \underbrace, \underbracket etc.. /// public sealed class UnderAnnotation : MathAtom, IMathListContainer { - public UnderAnnotation(string value, MathList innerList, MathList? underList) : base(value) { + public UnderAnnotation(string value, MathList innerList, MathList? underList = null) : base(value) { InnerList = innerList; UnderList = underList; } diff --git a/CSharpMath/Atom/LaTeXParser.cs b/CSharpMath/Atom/LaTeXParser.cs index 74a4b288e..bd51a330a 100644 --- a/CSharpMath/Atom/LaTeXParser.cs +++ b/CSharpMath/Atom/LaTeXParser.cs @@ -77,7 +77,7 @@ private Result BuildInternal(bool oneCharOnly, char stopChar = '\0', M if (error != null) return error; switch (handlerResult) { - case ({ } /* dummy */, { } atoms): // Atoms producer (pre-styled) + case ( { } /* dummy */, { } atoms): // Atoms producer (pre-styled) r.Append(atoms); prevAtom = r.Atoms.LastOrDefault(); if (oneCharOnly) @@ -87,7 +87,7 @@ private Result BuildInternal(bool oneCharOnly, char stopChar = '\0', M return @return; case (null, null): // Atom modifier continue; - case ({ } resultAtom, null): // Atom producer + case ( { } resultAtom, null): // Atom producer atom = resultAtom; break; } @@ -98,8 +98,7 @@ private Result BuildInternal(bool oneCharOnly, char stopChar = '\0', M return r; // we consumed our character. } } - return stopChar switch - { + return stopChar switch { '\0' => r, '}' => "Missing closing brace", _ => "Expected character not found: " + stopChar.ToStringInvariant(), @@ -329,8 +328,7 @@ public Result ReadTable cell.Insert(0, style); } } - return delimiters switch - { + return delimiters switch { (var left, var right) => new Inner( new Boundary(left), new MathList(table), @@ -346,8 +344,7 @@ public Result ReadTable for (int i = 0, j = 0; i < arrayAlignments.Length && j < table.NColumns; i++, j++) { // TODO: vertical lines in array currently unsupported while (arrayAlignments[i] == '|') i++; - table.SetAlignment(arrayAlignments[i] switch - { + table.SetAlignment(arrayAlignments[i] switch { 'l' => ColumnAlignment.Left, 'c' => ColumnAlignment.Center, 'r' => ColumnAlignment.Right, @@ -520,12 +517,11 @@ static bool MathAtomToLaTeX(MathAtom atom, StringBuilder builder, builder.Append('{'); MathListToLaTeX(fraction.Numerator, builder, currentFontStyle); builder.Append(@" \").Append( - (fraction.LeftDelimiter, fraction.RightDelimiter) switch - { - ({ Nucleus: null }, { Nucleus: null }) => "atop", - ({ Nucleus: "(" }, { Nucleus: ")" }) => "choose", - ({ Nucleus: "{" }, { Nucleus: "}" }) => "brace", - ({ Nucleus: "[" }, { Nucleus: "]" }) => "brack", + (fraction.LeftDelimiter, fraction.RightDelimiter) switch { + ( { Nucleus: null }, { Nucleus: null }) => "atop", + ( { Nucleus: "(" }, { Nucleus: ")" }) => "choose", + ( { Nucleus: "{" }, { Nucleus: "}" }) => "brace", + ( { Nucleus: "[" }, { Nucleus: "]" }) => "brack", (var left, var right) => $"atopwithdelims{BoundaryToLaTeX(left)}{BoundaryToLaTeX(right)}", }).Append(' '); MathListToLaTeX(fraction.Denominator, builder, currentFontStyle); @@ -568,8 +564,7 @@ static bool MathAtomToLaTeX(MathAtom atom, StringBuilder builder, if (table.Environment == "array") { builder.Append('{'); foreach (var alignment in table.Alignments) - builder.Append(alignment switch - { + builder.Append(alignment switch { ColumnAlignment.Left => 'l', ColumnAlignment.Right => 'r', _ => 'c' @@ -586,8 +581,7 @@ static bool MathAtomToLaTeX(MathAtom atom, StringBuilder builder, // remove the first atom. cell = cell.Slice(1, cell.Count - 1); } - if (table.Environment switch - { + if (table.Environment switch { "eqalign" => true, "aligned" => true, "split" => true, @@ -624,6 +618,14 @@ static bool MathAtomToLaTeX(MathAtom atom, StringBuilder builder, builder.Append(@"\underline{"); MathListToLaTeX(under.InnerList, builder, currentFontStyle); builder.Append('}'); + break; + case UnderAnnotation underAnotation: + if (MathAtomToLaTeX(underAnotation, builder, out var underAnnotationCommand)) { + builder.Append(@$"\{underAnnotationCommand}{{"); + MathListToLaTeX(underAnotation.InnerList, builder, currentFontStyle); + builder.Append('}'); + } + break; case Accent accent: MathAtomToLaTeX(accent, builder, out _); diff --git a/CSharpMath/Atom/LaTeXSettings.cs b/CSharpMath/Atom/LaTeXSettings.cs index 42b44347e..d4dcd3468 100644 --- a/CSharpMath/Atom/LaTeXSettings.cs +++ b/CSharpMath/Atom/LaTeXSettings.cs @@ -160,6 +160,9 @@ public static class LaTeXSettings { parser.ReadArgument().Bind(mathList => Ok(new Overline(mathList))) }, { @"\underline", (parser, accumulate, stopChar) => parser.ReadArgument().Bind(mathList => Ok(new Underline(mathList))) }, + { @"\underbrace", (parser, accumulate, stopChar) => + parser.ReadArgument().Bind(mathList => Ok(new UnderAnnotation("\u23df", mathList)))}, + //Adding under element should happen when adding sub script later or here? { @"\begin", (parser, accumulate, stopChar) => parser.ReadEnvironment().Bind(env => parser.ReadTable(env, null, false, stopChar)).Bind(Ok) }, From 1a6629be3b5f31d82edad964ee1957580e2336a0 Mon Sep 17 00:00:00 2001 From: hflex Date: Tue, 27 Jan 2026 00:25:38 +0400 Subject: [PATCH 04/13] Created abstraction atom called UnderAnnotation for under annotations like underbrace --- CSharpMath/Atom/Atoms/UnderAnnotation.cs | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 CSharpMath/Atom/Atoms/UnderAnnotation.cs diff --git a/CSharpMath/Atom/Atoms/UnderAnnotation.cs b/CSharpMath/Atom/Atoms/UnderAnnotation.cs new file mode 100644 index 000000000..4f4357c99 --- /dev/null +++ b/CSharpMath/Atom/Atoms/UnderAnnotation.cs @@ -0,0 +1,30 @@ +namespace CSharpMath.Atom.Atoms; +/// +/// Abstract name of under annotations implementation \underbrace, \underbracket etc.. +/// +public sealed class UnderAnnotation : MathAtom, IMathListContainer { + public UnderAnnotation(string value, MathList innerList, MathList? underList) : base(value) { + InnerList = innerList; + UnderList = underList; + } + + public MathList InnerList { get; } + public MathList? UnderList { get; } + + System.Collections.Generic.IEnumerable IMathListContainer.InnerLists => + new[] { InnerList }; + public new UnderAnnotation Clone(bool finalize) => (UnderAnnotation)base.Clone(finalize); + protected override MathAtom CloneInside(bool finalize) => + new UnderAnnotation(Nucleus, InnerList.Clone(finalize), UnderList?.Clone(finalize)); + public override bool ScriptsAllowed => true; + //depending on nucleus, DebugString will change to \underbrace , \underbracket etc.. + public override string DebugString => + new System.Text.StringBuilder(@"\underbrace") + .AppendInBracesOrLiteralNull(InnerList.DebugString) + .ToString(); + public bool EqualsUnderAnnotation(UnderAnnotation other) => + EqualsAtom(other) && InnerList.EqualsList(other.InnerList); + public override bool Equals(object obj) => + obj is UnderAnnotation u ? EqualsUnderAnnotation(u) : false; + public override int GetHashCode() => (base.GetHashCode(), InnerList).GetHashCode(); +} \ No newline at end of file From ddad85d4085d9de066f28652d1942c137f39553b Mon Sep 17 00:00:00 2001 From: hflex Date: Tue, 27 Jan 2026 02:51:28 +0400 Subject: [PATCH 05/13] Added basic latex parser for under annotation --- CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs | 28 +++++++++++++++++++ CSharpMath/Atom/Atoms/UnderAnnotation.cs | 2 +- CSharpMath/Atom/LaTeXParser.cs | 8 ++++++ CSharpMath/Atom/LaTeXSettings.cs | 3 ++ 4 files changed, 40 insertions(+), 1 deletion(-) diff --git a/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs b/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs index db9f31eef..6a52dc0b4 100644 --- a/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs +++ b/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs @@ -408,6 +408,34 @@ public void TestUnderline() { Assert.Equal(@"\underline{2}", LaTeXParser.MathListToLaTeX(list).ToString()); } + /// + /// Test underbrace without under + /// + [Fact] + public void TestUnderbrace() { + var list = ParseLaTeX(@"\underbrace{x}"); + + Assert.Collection(list, + CheckAtom("\u23df", underBrace => + Assert.Collection(underBrace.InnerList, CheckAtom("x")) + ) + ); + } + + /// + /// Test underbrace with under (not implemented yet) + /// + [Fact] + public void TestUnderbraceWithUnder() { + var list = ParseLaTeX(@"\underbrace{x}_{y}"); + + Assert.Collection(list, + CheckAtom("\u23df", underBrace => + Assert.Collection(underBrace.InnerList, CheckAtom("x")) + ) + ); + } + [Fact] public void TestAccent() { var list = ParseLaTeX(@"\bar x"); diff --git a/CSharpMath/Atom/Atoms/UnderAnnotation.cs b/CSharpMath/Atom/Atoms/UnderAnnotation.cs index 4f4357c99..d03deac3f 100644 --- a/CSharpMath/Atom/Atoms/UnderAnnotation.cs +++ b/CSharpMath/Atom/Atoms/UnderAnnotation.cs @@ -3,7 +3,7 @@ namespace CSharpMath.Atom.Atoms; /// Abstract name of under annotations implementation \underbrace, \underbracket etc.. /// public sealed class UnderAnnotation : MathAtom, IMathListContainer { - public UnderAnnotation(string value, MathList innerList, MathList? underList) : base(value) { + public UnderAnnotation(string value, MathList innerList, MathList? underList = null) : base(value) { InnerList = innerList; UnderList = underList; } diff --git a/CSharpMath/Atom/LaTeXParser.cs b/CSharpMath/Atom/LaTeXParser.cs index 2c74b71cd..dbc19a3c3 100644 --- a/CSharpMath/Atom/LaTeXParser.cs +++ b/CSharpMath/Atom/LaTeXParser.cs @@ -618,6 +618,14 @@ static bool MathAtomToLaTeX(MathAtom atom, StringBuilder builder, builder.Append(@"\underline{"); MathListToLaTeX(under.InnerList, builder, currentFontStyle); builder.Append('}'); + break; + case UnderAnnotation underAnotation: + if (MathAtomToLaTeX(underAnotation, builder, out var underAnnotationCommand)) { + builder.Append(@$"\{underAnnotationCommand}{{"); + MathListToLaTeX(underAnotation.InnerList, builder, currentFontStyle); + builder.Append('}'); + } + break; case Accent accent: MathAtomToLaTeX(accent, builder, out _); diff --git a/CSharpMath/Atom/LaTeXSettings.cs b/CSharpMath/Atom/LaTeXSettings.cs index aabd17ba0..881372969 100644 --- a/CSharpMath/Atom/LaTeXSettings.cs +++ b/CSharpMath/Atom/LaTeXSettings.cs @@ -160,6 +160,9 @@ public static class LaTeXSettings { parser.ReadArgument().Bind(mathList => Ok(new Overline(mathList))) }, { @"\underline", (parser, accumulate, stopChar) => parser.ReadArgument().Bind(mathList => Ok(new Underline(mathList))) }, + { @"\underbrace", (parser, accumulate, stopChar) => + parser.ReadArgument().Bind(mathList => Ok(new UnderAnnotation("\u23df", mathList)))}, + //Adding under element should happen when adding sub script later or here? { @"\begin", (parser, accumulate, stopChar) => parser.ReadEnvironment().Bind(env => parser.ReadTable(env, null, false, stopChar)).Bind(Ok) }, From 92a5fb3b808a357fb0ced68fbfbd22b11e5407de Mon Sep 17 00:00:00 2001 From: hflex Date: Wed, 28 Jan 2026 23:41:04 +0400 Subject: [PATCH 06/13] commented failing test --- CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs b/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs index 6a52dc0b4..e693b170a 100644 --- a/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs +++ b/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs @@ -425,16 +425,16 @@ public void TestUnderbrace() { /// /// Test underbrace with under (not implemented yet) /// - [Fact] - public void TestUnderbraceWithUnder() { - var list = ParseLaTeX(@"\underbrace{x}_{y}"); - - Assert.Collection(list, - CheckAtom("\u23df", underBrace => - Assert.Collection(underBrace.InnerList, CheckAtom("x")) - ) - ); - } + // [Fact] + // public void TestUnderbraceWithUnder() { + // var list = ParseLaTeX(@"\underbrace{x}_{y}"); + + // Assert.Collection(list, + // CheckAtom("\u23df", underBrace => + // Assert.Collection(underBrace.InnerList, CheckAtom("x")) + // ) + // ); + // } [Fact] public void TestAccent() { From 9227ea63e037be346ef009dc8af15adc4d7638bb Mon Sep 17 00:00:00 2001 From: hflex Date: Sun, 1 Feb 2026 17:09:04 +0400 Subject: [PATCH 07/13] basic display of underbrace --- .../BackEnd/JsonMathTable.cs | 2 + CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs | 5 +- CSharpMath.Maui.Example/ExamplesPage.xaml.cs | 29 +++- CSharpMath.Rendering/BackEnd/MathTable.cs | 12 ++ CSharpMath/Atom/Atoms/UnderAnnotation.cs | 2 +- CSharpMath/Atom/LaTeXParser.cs | 10 +- CSharpMath/Atom/LaTeXSettings.cs | 6 +- .../HorizontalGlyphConstructionDisplay.cs | 55 ++++++++ .../Displays/UnderAnnotationDisplay.cs | 48 +++++++ CSharpMath/Display/FrontEnd/FontMathTable.cs | 1 + CSharpMath/Display/Typesetter.cs | 126 ++++++++++++++++++ 11 files changed, 285 insertions(+), 11 deletions(-) create mode 100644 CSharpMath/Display/Displays/HorizontalGlyphConstructionDisplay.cs create mode 100644 CSharpMath/Display/Displays/UnderAnnotationDisplay.cs diff --git a/CSharpMath.Core.Example/BackEnd/JsonMathTable.cs b/CSharpMath.Core.Example/BackEnd/JsonMathTable.cs index 38ce76c83..cd565008c 100644 --- a/CSharpMath.Core.Example/BackEnd/JsonMathTable.cs +++ b/CSharpMath.Core.Example/BackEnd/JsonMathTable.cs @@ -218,5 +218,7 @@ public override float GetTopAccentAdjustment(TFont font, TGlyph glyph) { return Total / 2; } } + + public override IEnumerable>? GetHorizontalGlyphAssembly(TGlyph rawGlyph, TFont font) => throw new System.NotImplementedException(); } } \ No newline at end of file diff --git a/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs b/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs index e693b170a..dfb53dbc4 100644 --- a/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs +++ b/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs @@ -413,13 +413,16 @@ public void TestUnderline() { /// [Fact] public void TestUnderbrace() { - var list = ParseLaTeX(@"\underbrace{x}"); + var latexString = @"\underbrace {x}"; + var list = ParseLaTeX(latexString); Assert.Collection(list, CheckAtom("\u23df", underBrace => Assert.Collection(underBrace.InnerList, CheckAtom("x")) ) ); + + Assert.Equal(latexString, LaTeXParser.MathListToLaTeX(list).ToString()); } /// diff --git a/CSharpMath.Maui.Example/ExamplesPage.xaml.cs b/CSharpMath.Maui.Example/ExamplesPage.xaml.cs index 94bf8fdd8..040f7a3cd 100644 --- a/CSharpMath.Maui.Example/ExamplesPage.xaml.cs +++ b/CSharpMath.Maui.Example/ExamplesPage.xaml.cs @@ -6,9 +6,12 @@ namespace CSharpMath.Maui.Example { public partial class ExamplesPage : ContentPage { static Dictionary demoLabels { get; } = new(); static Dictionary labels { get; } = new(); + static Dictionary testLabels { get; } = new(); public ExamplesPage() { InitializeComponent(); - var mathViews = demoLabels.Concat(labels).Select(p => p.Value); + //TODO: uncomment, before merging this branch with master + // var mathViews = demoLabels.Concat(labels).Select(p => p.Value); + var mathViews = testLabels.Select(p => p.Value); foreach (var view in mathViews) { view.ErrorFontSize = view.FontSize * 0.8f; Stack.Children.Add(view); @@ -47,6 +50,24 @@ static ExamplesPage() { // From https://github.com/kostub/iosMath/blob/master/iosMathExample/example/ViewController.m // Demo formulae + testLabels[0] = new MathView { + LaTeX = @"\underbrace{abcdefghklmnopqrst}", + HeightRequest = 112.5, + FontSize = 22.5f + }; + + testLabels[1] = new MathView { + LaTeX = @"\underbrace{abcd}", + HeightRequest = 112.5, + FontSize = 22.5f + }; + + // testLabels[2] = new MathView { + // LaTeX = @"\underbrace{\frac{abcd}{efgh} \int \limits _a^b f(x)dx}", + // HeightRequest = 112.5, + // FontSize = 22.5f + // }; + // Quadratic formula demoLabels[0] = new MathView { LaTeX = @"\text{ваш вопрос: }x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}", @@ -511,6 +532,12 @@ static ExamplesPage() { HeightRequest = 131.25, FontSize = 22.5f }; + + labels[48] = new MathView { + LaTeX = @"\underbrace{abc}", + HeightRequest = 131.25, + FontSize = 22.5f + }; } } } \ No newline at end of file diff --git a/CSharpMath.Rendering/BackEnd/MathTable.cs b/CSharpMath.Rendering/BackEnd/MathTable.cs index a22a88756..595c2913c 100644 --- a/CSharpMath.Rendering/BackEnd/MathTable.cs +++ b/CSharpMath.Rendering/BackEnd/MathTable.cs @@ -58,6 +58,18 @@ public override Glyph GetLargerGlyph(Fonts fonts, Glyph glyph) { record.EndConnectorLength * scale, record.IsExtender)); } + + public override IEnumerable>? GetHorizontalGlyphAssembly(Glyph rawGlyph, Fonts fonts) { + var scale = rawGlyph.Typeface.CalculateScaleToPixelFromPointSize(fonts.PointSize); + return + rawGlyph.Info.MathGlyphInfo?.HoriGlyphConstruction?.GlyphAsm_GlyphPartRecords.Select(record => + new GlyphPart( + new Glyph(rawGlyph.Typeface, rawGlyph.Typeface.GetGlyph(record.GlyphId)), + record.FullAdvance * scale, + record.StartConnectorLength * scale, + record.EndConnectorLength * scale, + record.IsExtender)); + } public override float LowerLimitBaselineDropMin(Fonts fonts) => ReadRecord(fonts.MathConsts.LowerLimitBaselineDropMin, fonts); public override float LowerLimitGapMin(Fonts fonts) => ReadRecord(fonts.MathConsts.LowerLimitGapMin, fonts); public override float MinConnectorOverlap(Fonts fonts) => diff --git a/CSharpMath/Atom/Atoms/UnderAnnotation.cs b/CSharpMath/Atom/Atoms/UnderAnnotation.cs index d03deac3f..d4a4af274 100644 --- a/CSharpMath/Atom/Atoms/UnderAnnotation.cs +++ b/CSharpMath/Atom/Atoms/UnderAnnotation.cs @@ -26,5 +26,5 @@ public bool EqualsUnderAnnotation(UnderAnnotation other) => EqualsAtom(other) && InnerList.EqualsList(other.InnerList); public override bool Equals(object obj) => obj is UnderAnnotation u ? EqualsUnderAnnotation(u) : false; - public override int GetHashCode() => (base.GetHashCode(), InnerList).GetHashCode(); + // public override int GetHashCode() => (base.GetHashCode(), InnerList).GetHashCode(); } \ No newline at end of file diff --git a/CSharpMath/Atom/LaTeXParser.cs b/CSharpMath/Atom/LaTeXParser.cs index dbc19a3c3..924eb6d6d 100644 --- a/CSharpMath/Atom/LaTeXParser.cs +++ b/CSharpMath/Atom/LaTeXParser.cs @@ -620,12 +620,10 @@ static bool MathAtomToLaTeX(MathAtom atom, StringBuilder builder, builder.Append('}'); break; case UnderAnnotation underAnotation: - if (MathAtomToLaTeX(underAnotation, builder, out var underAnnotationCommand)) { - builder.Append(@$"\{underAnnotationCommand}{{"); - MathListToLaTeX(underAnotation.InnerList, builder, currentFontStyle); - builder.Append('}'); - } - + MathAtomToLaTeX(underAnotation, builder, out _); + builder.Append('{'); + MathListToLaTeX(underAnotation.InnerList, builder, currentFontStyle); + builder.Append('}'); break; case Accent accent: MathAtomToLaTeX(accent, builder, out _); diff --git a/CSharpMath/Atom/LaTeXSettings.cs b/CSharpMath/Atom/LaTeXSettings.cs index 881372969..ca82d53a0 100644 --- a/CSharpMath/Atom/LaTeXSettings.cs +++ b/CSharpMath/Atom/LaTeXSettings.cs @@ -160,8 +160,8 @@ public static class LaTeXSettings { parser.ReadArgument().Bind(mathList => Ok(new Overline(mathList))) }, { @"\underline", (parser, accumulate, stopChar) => parser.ReadArgument().Bind(mathList => Ok(new Underline(mathList))) }, - { @"\underbrace", (parser, accumulate, stopChar) => - parser.ReadArgument().Bind(mathList => Ok(new UnderAnnotation("\u23df", mathList)))}, + // { @"\underbrace", (parser, accumulate, stopChar) => + // parser.ReadArgument().Bind(mathList => Ok(new UnderAnnotation("\u23df", mathList)))}, //Adding under element should happen when adding sub script later or here? { @"\begin", (parser, accumulate, stopChar) => parser.ReadEnvironment().Bind(env => @@ -433,6 +433,7 @@ public static StringBuilder ColorToString(Color color, StringBuilder sb) { Commands.Add(command, (parser, accumulate, stopChar) => atom is Accent accent ? parser.ReadArgument().Bind(accentee => Ok(new Accent(accent.Nucleus, accentee))) + : atom is UnderAnnotation underAnnotation ? parser.ReadArgument().Bind(inner => Ok(new UnderAnnotation(underAnnotation.Nucleus, inner))) : Ok(atom.Clone(false)))) { // Custom additions { @"\diameter", new Ordinary("\u2300") }, @@ -903,6 +904,7 @@ atom is Accent accent // Table 17: Some Other Constructions { @"\widehat", new Accent("\u0302") }, { @"\widetilde", new Accent("\u0303") }, + { @"\underbrace", new UnderAnnotation("\u23df", new MathList())}, // TODO: implement \overleftarrow, \overrightarrow, \overbrace, \underbrace // \overleftarrow{} // \overrightarrow{} diff --git a/CSharpMath/Display/Displays/HorizontalGlyphConstructionDisplay.cs b/CSharpMath/Display/Displays/HorizontalGlyphConstructionDisplay.cs new file mode 100644 index 000000000..99ebf2c46 --- /dev/null +++ b/CSharpMath/Display/Displays/HorizontalGlyphConstructionDisplay.cs @@ -0,0 +1,55 @@ +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using CSharpMath.Atom; + +namespace CSharpMath.Display.Displays { + using FrontEnd; + public class HorizontalGlyphConstructionDisplay : IGlyphDisplay where TFont : IFont { + private readonly IReadOnlyList _glyphs; + private readonly IEnumerable _glyphPositions; + + public float ShiftDown { get; set; } + + readonly float _ascent; + readonly float _descent; + public float Ascent => _ascent - ShiftDown; + public float Descent => _descent + ShiftDown; + + public float Width { get; } + + public Range Range { get; set; } + + public PointF Position { get; set; } + + public void SetPosition(PointF position) => Position = position; + + public bool HasScript { get; set; } + + public HorizontalGlyphConstructionDisplay( + IReadOnlyList glyphs, IEnumerable offsets, TFont font, + float ascent, float descent, float width) { + _glyphs = glyphs; + _glyphPositions = offsets.Select(x => new PointF(x, 0)); + Font = font; + _ascent = ascent; + _descent = descent; + Width = width; + } + + public void Draw(IGraphicsContext context) { + this.DrawBackground(context); + context.SaveState(); + context.Translate(new PointF(Position.X, Position.Y - ShiftDown)); + context.SetTextPosition(new PointF()); + context.DrawGlyphsAtPoints(_glyphs, Font, _glyphPositions, TextColor); + context.RestoreState(); + } + + public TFont Font { get; } + + public Color? TextColor { get; set; } + public void SetTextColorRecursive(Color? textColor) => TextColor ??= textColor; + public Color? BackColor { get; set; } + } +} \ No newline at end of file diff --git a/CSharpMath/Display/Displays/UnderAnnotationDisplay.cs b/CSharpMath/Display/Displays/UnderAnnotationDisplay.cs new file mode 100644 index 000000000..8b9d945ba --- /dev/null +++ b/CSharpMath/Display/Displays/UnderAnnotationDisplay.cs @@ -0,0 +1,48 @@ +using System.Drawing; +using CSharpMath.Atom; + +namespace CSharpMath.Display.Displays; + +using FrontEnd; +/// Creates underanotation display +public class UnderAnnotationDisplay : IDisplay + where TFont : IFont { + public UnderAnnotationDisplay(IDisplay inner, IDisplay? underList, IGlyphDisplay annotationGlyph, PointF position) { + Inner = inner; + UnderList = underList; + AnnotationGlyph = annotationGlyph; + _annotationGlyphHeight = AnnotationGlyph.Ascent + AnnotationGlyph.Descent; + Position = position; + } + + /// A display representing the inner list of annotation + /// Its position is relative to the parent. + public IDisplay Inner { get; } + public IDisplay? UnderList { get; } + public IGlyphDisplay AnnotationGlyph { get; } + + private readonly float _annotationGlyphHeight; + + public float Ascent => System.Math.Max(_annotationGlyphHeight, Inner.Ascent); + public float Descent => System.Math.Max(_annotationGlyphHeight, Inner.Descent) + _annotationGlyphHeight; + public float Width => Inner.Width; + public Range Range => Inner.Range; + public PointF Position { + get => Inner.Position; + set => Inner.Position = value; + } + public bool HasScript { get; set; } + public void Draw(IGraphicsContext context) { + this.DrawBackground(context); + Inner.Draw(context); + AnnotationGlyph.Draw(context); + } + public Color? TextColor { get; set; } + public void SetTextColorRecursive(Color? textColor) { + TextColor ??= textColor; + Inner.SetTextColorRecursive(textColor); + AnnotationGlyph?.SetTextColorRecursive(textColor); + } + public Color? BackColor { get; set; } + public override string ToString() => $@"\underannotation{{{Inner}}}"; +} \ No newline at end of file diff --git a/CSharpMath/Display/FrontEnd/FontMathTable.cs b/CSharpMath/Display/FrontEnd/FontMathTable.cs index 1b8e4b5bf..79a7e5106 100644 --- a/CSharpMath/Display/FrontEnd/FontMathTable.cs +++ b/CSharpMath/Display/FrontEnd/FontMathTable.cs @@ -68,6 +68,7 @@ public virtual float FractionDelimiterDisplayStyleSize(TFont font) => #endregion #region glyph assembly public abstract IEnumerable>? GetVerticalGlyphAssembly(TGlyph rawGlyph, TFont font); + public abstract IEnumerable>? GetHorizontalGlyphAssembly(TGlyph rawGlyph, TFont font); public abstract float MinConnectorOverlap(TFont font); public abstract (IEnumerable variants, int count) GetVerticalVariantsForGlyph(TGlyph rawGlyph); public abstract (IEnumerable variants, int count) GetHorizontalVariantsForGlyph(TGlyph rawGlyph); diff --git a/CSharpMath/Display/Typesetter.cs b/CSharpMath/Display/Typesetter.cs index 280e86bcb..537327f2b 100644 --- a/CSharpMath/Display/Typesetter.cs +++ b/CSharpMath/Display/Typesetter.cs @@ -276,6 +276,19 @@ private void CreateDisplayAtoms(List preprocessedAtoms) { MakeScripts(atom, overlineDisplay, atom.IndexRange.Location, 0); } break; + case UnderAnnotation underAnnotation: + AddDisplayLine(false); + AddInterElementSpace(prevAtom, underAnnotation); + innerListDisplay = Typesetter.CreateLine + (underAnnotation.InnerList, _font, _context, _style, true); + var underAnnotationDisplay = MakeUnderAnnotation(underAnnotation, atom.IndexRange); + _displayAtoms.Add(underAnnotationDisplay); + _currentPosition.X += underAnnotationDisplay.Width; + // add super scripts || subscripts + if (atom.Subscript.IsNonEmpty() || atom.Superscript.IsNonEmpty()) { + MakeScripts(atom, underAnnotationDisplay, atom.IndexRange.Location, 0); + } + break; case Accent accent: AddDisplayLine(false); AddInterElementSpace(prevAtom, accent); @@ -725,6 +738,97 @@ private IGlyphDisplay FindGlyphForBoundary( return glyphDisplay; } + private UnderAnnotationDisplay MakeUnderAnnotation(UnderAnnotation underAnnotation, Range range) { + + var innerListDisplay = CreateLine(underAnnotation.InnerList, _font, _context, _style, _cramped, true); + float axisHeight = _mathTable.AxisHeight(_styleFont); + + var annotationSingleGlyph = _context.GlyphFinder.FindGlyphForCharacterAtIndex(_font, 0, underAnnotation.Nucleus); + + var glyph = FindHorizontalGlyph(annotationSingleGlyph, innerListDisplay.Width, + out float glyphAscent, out float glyphDescent, out float glyphWidth); + + var glyphDisplay = + innerListDisplay.Width > glyphWidth ? ConstructHorizontalGlyph(annotationSingleGlyph, innerListDisplay.Width, glyphAscent, glyphDescent) as IGlyphDisplay + // ConstructHorizontalGlyph(annotationSingleGlyph, innerListDisplay.Width) is IGlyphDisplay constructed + // ? constructed + : + new GlyphDisplay + (glyph, Range.NotFound, _styleFont, glyphAscent, glyphDescent, glyphWidth); + // var annotationGlyphDisplay = FindGlyphForBoundary(left, glyphHeight); + // glyphDisplay!.Position = _currentPosition; + + var lineShiftUp = axisHeight; + glyphDisplay!.Position = new PointF(_currentPosition.X, glyphDisplay!.Position.Y - lineShiftUp); + + return new UnderAnnotationDisplay(innerListDisplay, null, glyphDisplay!, _currentPosition); + } + + private HorizontalGlyphConstructionDisplay? ConstructHorizontalGlyph(TGlyph glyph, float glyphWidth, float glyphAscent, float glyphDescent) { + var parts = _mathTable.GetHorizontalGlyphAssembly(glyph, _styleFont); + if (parts is null) return null; + var glyphs = new List(); + var offsets = new List(); + float width = ConstructHorizontalGlyphWithParts(parts, glyphWidth, glyphs, offsets); + using var singleGlyph = new RentedArray(glyphs[0]); + // descent:0 because it's up to the rendering to adjust the display glyph up or down by setting ShiftDown + return new HorizontalGlyphConstructionDisplay + (glyphs, offsets, _styleFont, glyphAscent, glyphDescent, width); + } + + private float ConstructHorizontalGlyphWithParts(IEnumerable> parts, + float glyphWidth, List glyphs, List offsets) { + for (int nExtenders = 0; ; nExtenders++) { + glyphs.Clear(); + offsets.Clear(); + GlyphPart? prevPart = null; + float minDistance = _mathTable.MinConnectorOverlap(_styleFont); + float minOffset = 0; + float maxDelta = float.MaxValue; + foreach (var part in parts) { + var repeats = 1; + if (part.IsExtender) { + repeats = nExtenders; + } + for (int i = 0; i < repeats; i++) { + glyphs.Add(part.Glyph); + if (prevPart != null) { + float maxOverlap = Math.Min(prevPart.EndConnectorLength, part.StartConnectorLength); + // the minimum amount we can add to the offset + float minOffsetDelta = prevPart.FullAdvance - maxOverlap; + // the maximum amount we can add to the offset + float maxOffsetDelta = prevPart.FullAdvance - minDistance; + maxDelta = Math.Min(maxDelta, maxOffsetDelta - minOffsetDelta); + minOffset += minOffsetDelta; + } + offsets.Add(minOffset); + prevPart = part; + } + } + if (prevPart == null) { + continue; // maybe only extenders + } + float minWidth = minOffset + prevPart.FullAdvance; + float maxWidth = minWidth + maxDelta * (glyphs.Count - 1); + if (minWidth >= maxWidth) { + // we are done + return minWidth; + } + if (glyphWidth <= maxWidth) { + // spread the delta equally among all the connecters + float delta = glyphWidth - minWidth; + float dDelta = delta / (glyphs.Count - 1); + float lastOffset = 0; + for (int i = 0; i < offsets.Count; i++) { + float offset = offsets[i] + i * dDelta; + offsets[i] = offset; + lastOffset = offset; + } + // we are done + return lastOffset + prevPart.FullAdvance; + } + } + } private GlyphConstructionDisplay? ConstructGlyph(TGlyph glyph, float glyphHeight) { var parts = _mathTable.GetVerticalGlyphAssembly(glyph, _styleFont); @@ -813,6 +917,28 @@ private TGlyph FindGlyph(TGlyph rawGlyph, float height, throw new InvalidCodePathException("glyphAscent, glyphDescent or glyphWidth is NaN."); return variants.Last(); } + + private TGlyph FindHorizontalGlyph(TGlyph rawGlyph, float width, + out float glyphAscent, out float glyphDescent, out float glyphWidth) { + // in iosMath. + glyphAscent = glyphDescent = glyphWidth = float.NaN; + var (variants, nVariants) = _mathTable.GetHorizontalVariantsForGlyph(rawGlyph); + var rects = + _context.GlyphBoundsProvider.GetBoundingRectsForGlyphs(_styleFont, variants, nVariants); + var advances = + _context.GlyphBoundsProvider.GetAdvancesForGlyphs(_styleFont, variants, nVariants).Advances; + foreach (var (rect, advance, variant) in rects.Zip(advances, variants, ValueTuple.Create)) { + rect.GetAscentDescentWidth(out glyphAscent, out glyphDescent, out glyphWidth); + if (glyphWidth >= width) { + glyphWidth = advance; + return variant; + } + } + if (glyphAscent is float.NaN || glyphDescent is float.NaN || glyphWidth is float.NaN) + throw new InvalidCodePathException("glyphAscent, glyphDescent or glyphWidth is NaN."); + return variants.Last(); + } + private List>> TypesetCells(Table table, float[] columnWidths) { var r = new List>>(); foreach (var row in table.Cells) { From 9c55b712ff603209c35a69ebc3f304783cbb0f87 Mon Sep 17 00:00:00 2001 From: hflex Date: Mon, 2 Feb 2026 08:49:48 +0400 Subject: [PATCH 08/13] add underbrace underlist to a latex parser --- CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs | 25 +++++++++++-------- CSharpMath.Maui.Example/ExamplesPage.xaml.cs | 10 ++++---- CSharpMath/Atom/Atoms/UnderAnnotation.cs | 20 ++++++++------- CSharpMath/Atom/LaTeXParser.cs | 6 +++++ CSharpMath/Atom/LaTeXSettings.cs | 4 +++ .../Displays/UnderAnnotationDisplay.cs | 4 +-- CSharpMath/Display/Typesetter.cs | 8 +++--- 7 files changed, 45 insertions(+), 32 deletions(-) diff --git a/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs b/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs index dfb53dbc4..810476deb 100644 --- a/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs +++ b/CSharpMath.Core.Tests/Atom/LaTeXParserTest.cs @@ -426,18 +426,21 @@ public void TestUnderbrace() { } /// - /// Test underbrace with under (not implemented yet) + /// Test underbrace with under /// - // [Fact] - // public void TestUnderbraceWithUnder() { - // var list = ParseLaTeX(@"\underbrace{x}_{y}"); - - // Assert.Collection(list, - // CheckAtom("\u23df", underBrace => - // Assert.Collection(underBrace.InnerList, CheckAtom("x")) - // ) - // ); - // } + [Fact] + public void TestUnderbraceWithUnder() { + var latexString = @"\underbrace {x}_{y}"; + var list = ParseLaTeX(latexString); + + Assert.Collection(list, + CheckAtom("\u23df", underBrace => + Assert.Collection(underBrace.InnerList, CheckAtom("x")) + ) + ); + + Assert.Equal(latexString, LaTeXParser.MathListToLaTeX(list).ToString()); + } [Fact] public void TestAccent() { diff --git a/CSharpMath.Maui.Example/ExamplesPage.xaml.cs b/CSharpMath.Maui.Example/ExamplesPage.xaml.cs index 040f7a3cd..d7bfc945f 100644 --- a/CSharpMath.Maui.Example/ExamplesPage.xaml.cs +++ b/CSharpMath.Maui.Example/ExamplesPage.xaml.cs @@ -62,11 +62,11 @@ static ExamplesPage() { FontSize = 22.5f }; - // testLabels[2] = new MathView { - // LaTeX = @"\underbrace{\frac{abcd}{efgh} \int \limits _a^b f(x)dx}", - // HeightRequest = 112.5, - // FontSize = 22.5f - // }; + testLabels[2] = new MathView { + LaTeX = @"\underbrace{\frac{abcd}{efgh} \int \limits _a^b f(x)dx}", + HeightRequest = 112.5, + FontSize = 22.5f + }; // Quadratic formula demoLabels[0] = new MathView { diff --git a/CSharpMath/Atom/Atoms/UnderAnnotation.cs b/CSharpMath/Atom/Atoms/UnderAnnotation.cs index d4a4af274..0c627ba5b 100644 --- a/CSharpMath/Atom/Atoms/UnderAnnotation.cs +++ b/CSharpMath/Atom/Atoms/UnderAnnotation.cs @@ -3,27 +3,29 @@ namespace CSharpMath.Atom.Atoms; /// Abstract name of under annotations implementation \underbrace, \underbracket etc.. /// public sealed class UnderAnnotation : MathAtom, IMathListContainer { - public UnderAnnotation(string value, MathList innerList, MathList? underList = null) : base(value) { - InnerList = innerList; - UnderList = underList; + public UnderAnnotation(string value, MathList? innerList = null, MathList? underList = null) : base(value) { + InnerList = innerList ?? new MathList(); + UnderList = underList ?? new MathList(); } - public MathList InnerList { get; } - public MathList? UnderList { get; } + public MathList InnerList { get; } = new MathList(); + public MathList? UnderList { get; set; } = new MathList(); System.Collections.Generic.IEnumerable IMathListContainer.InnerLists => - new[] { InnerList }; + [InnerList ?? new MathList()]; public new UnderAnnotation Clone(bool finalize) => (UnderAnnotation)base.Clone(finalize); protected override MathAtom CloneInside(bool finalize) => - new UnderAnnotation(Nucleus, InnerList.Clone(finalize), UnderList?.Clone(finalize)); + new UnderAnnotation(Nucleus, InnerList?.Clone(finalize), UnderList?.Clone(finalize)); public override bool ScriptsAllowed => true; //depending on nucleus, DebugString will change to \underbrace , \underbracket etc.. public override string DebugString => new System.Text.StringBuilder(@"\underbrace") - .AppendInBracesOrLiteralNull(InnerList.DebugString) + .AppendInBracesOrLiteralNull(InnerList?.DebugString) + .Append(UnderList is {Count: >0} ? $"_{{{UnderList?.DebugString}}}" : string.Empty) .ToString(); public bool EqualsUnderAnnotation(UnderAnnotation other) => - EqualsAtom(other) && InnerList.EqualsList(other.InnerList); + EqualsAtom(other) && InnerList.NullCheckingStructuralEquality(other.InnerList) + && UnderList.NullCheckingStructuralEquality(other.UnderList); public override bool Equals(object obj) => obj is UnderAnnotation u ? EqualsUnderAnnotation(u) : false; // public override int GetHashCode() => (base.GetHashCode(), InnerList).GetHashCode(); diff --git a/CSharpMath/Atom/LaTeXParser.cs b/CSharpMath/Atom/LaTeXParser.cs index 924eb6d6d..50f3bfa0c 100644 --- a/CSharpMath/Atom/LaTeXParser.cs +++ b/CSharpMath/Atom/LaTeXParser.cs @@ -624,6 +624,12 @@ static bool MathAtomToLaTeX(MathAtom atom, StringBuilder builder, builder.Append('{'); MathListToLaTeX(underAnotation.InnerList, builder, currentFontStyle); builder.Append('}'); + + if (underAnotation.UnderList is {Count: >0}) { + builder.Append("_{"); + MathListToLaTeX(underAnotation.UnderList, builder, currentFontStyle); + builder.Append('}'); + } break; case Accent accent: MathAtomToLaTeX(accent, builder, out _); diff --git a/CSharpMath/Atom/LaTeXSettings.cs b/CSharpMath/Atom/LaTeXSettings.cs index ca82d53a0..3b4f86f08 100644 --- a/CSharpMath/Atom/LaTeXSettings.cs +++ b/CSharpMath/Atom/LaTeXSettings.cs @@ -225,6 +225,10 @@ public static class LaTeXSettings { prevAtom = new Ordinary(string.Empty); accumulate.Add(prevAtom); } + + if(prevAtom is UnderAnnotation underAnnotation) { + return parser.ReadArgument(underAnnotation.UnderList).Bind(_ => Ok(null)); + } // this is a subscript for the previous atom. // note, if the next char is StopChar, it will be consumed and doesn't count as stop. return parser.ReadArgument(prevAtom.Subscript).Bind(_ => Ok(null)); diff --git a/CSharpMath/Display/Displays/UnderAnnotationDisplay.cs b/CSharpMath/Display/Displays/UnderAnnotationDisplay.cs index 8b9d945ba..90de542b9 100644 --- a/CSharpMath/Display/Displays/UnderAnnotationDisplay.cs +++ b/CSharpMath/Display/Displays/UnderAnnotationDisplay.cs @@ -23,8 +23,8 @@ public UnderAnnotationDisplay(IDisplay inner, IDisplay System.Math.Max(_annotationGlyphHeight, Inner.Ascent); - public float Descent => System.Math.Max(_annotationGlyphHeight, Inner.Descent) + _annotationGlyphHeight; + public float Ascent => System.Math.Max(AnnotationGlyph.Ascent, Inner.Ascent); + public float Descent => System.Math.Max(AnnotationGlyph.Descent, Inner.Descent); public float Width => Inner.Width; public Range Range => Inner.Range; public PointF Position { diff --git a/CSharpMath/Display/Typesetter.cs b/CSharpMath/Display/Typesetter.cs index 537327f2b..dbbebd80b 100644 --- a/CSharpMath/Display/Typesetter.cs +++ b/CSharpMath/Display/Typesetter.cs @@ -748,17 +748,15 @@ private UnderAnnotationDisplay MakeUnderAnnotation(UnderAnnotatio var glyph = FindHorizontalGlyph(annotationSingleGlyph, innerListDisplay.Width, out float glyphAscent, out float glyphDescent, out float glyphWidth); + var lineShiftUp = innerListDisplay.Descent; + glyphDescent += lineShiftUp; + var glyphDisplay = innerListDisplay.Width > glyphWidth ? ConstructHorizontalGlyph(annotationSingleGlyph, innerListDisplay.Width, glyphAscent, glyphDescent) as IGlyphDisplay - // ConstructHorizontalGlyph(annotationSingleGlyph, innerListDisplay.Width) is IGlyphDisplay constructed - // ? constructed : new GlyphDisplay (glyph, Range.NotFound, _styleFont, glyphAscent, glyphDescent, glyphWidth); - // var annotationGlyphDisplay = FindGlyphForBoundary(left, glyphHeight); - // glyphDisplay!.Position = _currentPosition; - var lineShiftUp = axisHeight; glyphDisplay!.Position = new PointF(_currentPosition.X, glyphDisplay!.Position.Y - lineShiftUp); return new UnderAnnotationDisplay(innerListDisplay, null, glyphDisplay!, _currentPosition); From e981a2bb097cfb2b9069cd6b3de174a23ba36495 Mon Sep 17 00:00:00 2001 From: hflex Date: Mon, 2 Feb 2026 18:02:54 +0400 Subject: [PATCH 09/13] Finished implementation --- CSharpMath.Maui.Example/ExamplesPage.xaml.cs | 49 ++++++++++--------- .../Displays/UnderAnnotationDisplay.cs | 14 ++++-- CSharpMath/Display/Typesetter.cs | 21 +++++++- 3 files changed, 57 insertions(+), 27 deletions(-) diff --git a/CSharpMath.Maui.Example/ExamplesPage.xaml.cs b/CSharpMath.Maui.Example/ExamplesPage.xaml.cs index d7bfc945f..c8afe7a7e 100644 --- a/CSharpMath.Maui.Example/ExamplesPage.xaml.cs +++ b/CSharpMath.Maui.Example/ExamplesPage.xaml.cs @@ -6,12 +6,10 @@ namespace CSharpMath.Maui.Example { public partial class ExamplesPage : ContentPage { static Dictionary demoLabels { get; } = new(); static Dictionary labels { get; } = new(); - static Dictionary testLabels { get; } = new(); public ExamplesPage() { InitializeComponent(); //TODO: uncomment, before merging this branch with master - // var mathViews = demoLabels.Concat(labels).Select(p => p.Value); - var mathViews = testLabels.Select(p => p.Value); + var mathViews = demoLabels.Concat(labels).Select(p => p.Value); foreach (var view in mathViews) { view.ErrorFontSize = view.FontSize * 0.8f; Stack.Children.Add(view); @@ -49,25 +47,6 @@ public ExamplesPage() { static ExamplesPage() { // From https://github.com/kostub/iosMath/blob/master/iosMathExample/example/ViewController.m // Demo formulae - - testLabels[0] = new MathView { - LaTeX = @"\underbrace{abcdefghklmnopqrst}", - HeightRequest = 112.5, - FontSize = 22.5f - }; - - testLabels[1] = new MathView { - LaTeX = @"\underbrace{abcd}", - HeightRequest = 112.5, - FontSize = 22.5f - }; - - testLabels[2] = new MathView { - LaTeX = @"\underbrace{\frac{abcd}{efgh} \int \limits _a^b f(x)dx}", - HeightRequest = 112.5, - FontSize = 22.5f - }; - // Quadratic formula demoLabels[0] = new MathView { LaTeX = @"\text{ваш вопрос: }x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}", @@ -538,6 +517,32 @@ static ExamplesPage() { HeightRequest = 131.25, FontSize = 22.5f }; + + //Annotations + + labels[49] = new MathView { + LaTeX = @"\underbrace{abcdefghklmnopqrst} _{eee}", + HeightRequest = 112.5, + FontSize = 22.5f + }; + + labels[50] = new MathView { + LaTeX = @"\underbrace{abcd}", + HeightRequest = 112.5, + FontSize = 22.5f + }; + + labels[51] = new MathView { + LaTeX = @"\underbrace{\frac{abcd}{efgh} \int \limits _a^b f(x)dx} _{\frac{abcd}{efgh} \int \limits _a^b f(x)dx}", + HeightRequest = 112.5, + FontSize = 22.5f + }; + + labels[52] = new MathView { + LaTeX = @"\underbrace{x} _ {y}", + HeightRequest = 112.5, + FontSize = 22.5f + }; } } } \ No newline at end of file diff --git a/CSharpMath/Display/Displays/UnderAnnotationDisplay.cs b/CSharpMath/Display/Displays/UnderAnnotationDisplay.cs index 90de542b9..ce3e949c3 100644 --- a/CSharpMath/Display/Displays/UnderAnnotationDisplay.cs +++ b/CSharpMath/Display/Displays/UnderAnnotationDisplay.cs @@ -7,11 +7,15 @@ namespace CSharpMath.Display.Displays; /// Creates underanotation display public class UnderAnnotationDisplay : IDisplay where TFont : IFont { - public UnderAnnotationDisplay(IDisplay inner, IDisplay? underList, IGlyphDisplay annotationGlyph, PointF position) { + public UnderAnnotationDisplay(IDisplay inner, IDisplay? underList, + IGlyphDisplay annotationGlyph, + float underListBasedDescent, + PointF position) { Inner = inner; UnderList = underList; AnnotationGlyph = annotationGlyph; _annotationGlyphHeight = AnnotationGlyph.Ascent + AnnotationGlyph.Descent; + _underListBasedDescent = underListBasedDescent + (UnderList?.Descent ?? 0); Position = position; } @@ -22,19 +26,21 @@ public UnderAnnotationDisplay(IDisplay inner, IDisplay AnnotationGlyph { get; } private readonly float _annotationGlyphHeight; + private readonly float _underListBasedDescent; public float Ascent => System.Math.Max(AnnotationGlyph.Ascent, Inner.Ascent); - public float Descent => System.Math.Max(AnnotationGlyph.Descent, Inner.Descent); + public float Descent => System.Math.Max(AnnotationGlyph.Descent, Inner.Descent) + _underListBasedDescent; public float Width => Inner.Width; public Range Range => Inner.Range; public PointF Position { - get => Inner.Position; - set => Inner.Position = value; + get => field; + set => field = value; } public bool HasScript { get; set; } public void Draw(IGraphicsContext context) { this.DrawBackground(context); Inner.Draw(context); + UnderList?.Draw(context); AnnotationGlyph.Draw(context); } public Color? TextColor { get; set; } diff --git a/CSharpMath/Display/Typesetter.cs b/CSharpMath/Display/Typesetter.cs index dbbebd80b..b1319ed27 100644 --- a/CSharpMath/Display/Typesetter.cs +++ b/CSharpMath/Display/Typesetter.cs @@ -741,6 +741,12 @@ private IGlyphDisplay FindGlyphForBoundary( private UnderAnnotationDisplay MakeUnderAnnotation(UnderAnnotation underAnnotation, Range range) { var innerListDisplay = CreateLine(underAnnotation.InnerList, _font, _context, _style, _cramped, true); + + ListDisplay? underListDisplay = null; + if (underAnnotation.UnderList is { Count: > 0 }) { + underListDisplay = CreateLine(underAnnotation.UnderList, _font, _context, _scriptStyle, _subscriptCramped, true); + } + float axisHeight = _mathTable.AxisHeight(_styleFont); var annotationSingleGlyph = _context.GlyphFinder.FindGlyphForCharacterAtIndex(_font, 0, underAnnotation.Nucleus); @@ -759,7 +765,20 @@ private UnderAnnotationDisplay MakeUnderAnnotation(UnderAnnotatio glyphDisplay!.Position = new PointF(_currentPosition.X, glyphDisplay!.Position.Y - lineShiftUp); - return new UnderAnnotationDisplay(innerListDisplay, null, glyphDisplay!, _currentPosition); + var delta = (glyphDisplay.Width - innerListDisplay.Width)/2; + innerListDisplay.Position = new PointF(_currentPosition.X + delta, _currentPosition.Y); + + var glArray = new RentedArray(annotationSingleGlyph); + var boundingBox = _context.GlyphBoundsProvider.GetBoundingRectsForGlyphs(_styleFont, glArray.Result, 1).Single(); + + float underListBasedDescent = 0; + if (underListDisplay is not null) { + var delta1 = (glyphDisplay.Width - underListDisplay.Width) / 2; + underListBasedDescent = axisHeight + underListDisplay.Ascent + boundingBox.Height; + underListDisplay.Position = new PointF(_currentPosition.X + delta1, glyphDisplay!.Position.Y - underListBasedDescent); + } + + return new UnderAnnotationDisplay(innerListDisplay, underListDisplay, glyphDisplay!, underListBasedDescent, _currentPosition); } private HorizontalGlyphConstructionDisplay? ConstructHorizontalGlyph(TGlyph glyph, float glyphWidth, float glyphAscent, float glyphDescent) { From 06c19f8ecb136c32b192a558a5f0e58d0fb9ef7b Mon Sep 17 00:00:00 2001 From: hflex Date: Tue, 3 Feb 2026 09:52:47 +0400 Subject: [PATCH 10/13] Implemented GetHorizontalGlyphAssembly --- CSharpMath.Core.Example/BackEnd/JsonMathTable.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CSharpMath.Core.Example/BackEnd/JsonMathTable.cs b/CSharpMath.Core.Example/BackEnd/JsonMathTable.cs index cd565008c..32220eefc 100644 --- a/CSharpMath.Core.Example/BackEnd/JsonMathTable.cs +++ b/CSharpMath.Core.Example/BackEnd/JsonMathTable.cs @@ -219,6 +219,15 @@ public override float GetTopAccentAdjustment(TFont font, TGlyph glyph) { } } - public override IEnumerable>? GetHorizontalGlyphAssembly(TGlyph rawGlyph, TFont font) => throw new System.NotImplementedException(); + public override IEnumerable>? GetHorizontalGlyphAssembly(TGlyph rawGlyph, TFont font) => _assemblyTable[GlyphNameProvider.GetGlyphName(rawGlyph)]?[_assemblyPartsKey] is JArray parts + ? parts.Select(partInfo => + new GlyphPart( + GlyphNameProvider.GetGlyph(partInfo[_glyphKey]!.Value()!), + FontUnitsToPt(font, partInfo[_advanceKey]!.Value()), + FontUnitsToPt(font, partInfo[_startConnectorKey]!.Value()), + FontUnitsToPt(font, partInfo[_endConnectorKey]!.Value()), + partInfo[_extenderKey]!.Value())) + // Should have been defined, but let's return null + : null; } } \ No newline at end of file From a0f06eff9d7fc4a6a117ac83935fdbbe08daf4f7 Mon Sep 17 00:00:00 2001 From: hflex Date: Tue, 3 Feb 2026 10:35:54 +0400 Subject: [PATCH 11/13] ran dotnet format with fixups --- CSharpMath.Evaluation.Tests/EvaluationTests.cs | 4 ++-- CSharpMath.Maui.Example/ExamplesPage.xaml.cs | 2 +- CSharpMath.Rendering.Tests/TestRenderingSharedData.cs | 3 ++- CSharpMath/Atom/Atoms/UnderAnnotation.cs | 6 ++++-- CSharpMath/Atom/LaTeXParser.cs | 2 +- CSharpMath/Atom/MathList.cs | 4 ++-- CSharpMath/Display/Displays/UnderAnnotationDisplay.cs | 2 +- CSharpMath/Display/Typesetter.cs | 2 +- 8 files changed, 14 insertions(+), 11 deletions(-) diff --git a/CSharpMath.Evaluation.Tests/EvaluationTests.cs b/CSharpMath.Evaluation.Tests/EvaluationTests.cs index a54906e7b..b990b006e 100644 --- a/CSharpMath.Evaluation.Tests/EvaluationTests.cs +++ b/CSharpMath.Evaluation.Tests/EvaluationTests.cs @@ -76,8 +76,8 @@ public void Numbers(string input, string converted, string output) => [InlineData(@"3\mathrm{aa}a", @"3\mathrm{aa}a", @"3a\mathrm{aa}")] [InlineData(@"3\mathrm{a}a", @"3aa", @"3a^2")] [InlineData(@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", - @"abcd\mathrm{e}fgh\cdot \mathrm{i}jklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", - // i is considered as a number instead of a variable, unlike other alphabets, so it is sorted to the front + @"abcd\mathrm{e}fgh\cdot \mathrm{i}jklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", + // i is considered as a number instead of a variable, unlike other alphabets, so it is sorted to the front @"\mathrm{i}aAbBcCdD\mathrm{e}EfFgGhHIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ")] [InlineData(@"\alpha\beta\gamma\delta\epsilon\varepsilon\zeta\eta\theta\iota\kappa\varkappa" + @"\lambda\mu\nu\xi\omicron\pi\varpi\rho\varrho\sigma\varsigma\tau\upsilon\phi\varphi\chi" + diff --git a/CSharpMath.Maui.Example/ExamplesPage.xaml.cs b/CSharpMath.Maui.Example/ExamplesPage.xaml.cs index c8afe7a7e..33e3f34f9 100644 --- a/CSharpMath.Maui.Example/ExamplesPage.xaml.cs +++ b/CSharpMath.Maui.Example/ExamplesPage.xaml.cs @@ -520,7 +520,7 @@ static ExamplesPage() { //Annotations - labels[49] = new MathView { + labels[49] = new MathView { LaTeX = @"\underbrace{abcdefghklmnopqrst} _{eee}", HeightRequest = 112.5, FontSize = 22.5f diff --git a/CSharpMath.Rendering.Tests/TestRenderingSharedData.cs b/CSharpMath.Rendering.Tests/TestRenderingSharedData.cs index e9fcff56c..0ba0f08ea 100644 --- a/CSharpMath.Rendering.Tests/TestRenderingSharedData.cs +++ b/CSharpMath.Rendering.Tests/TestRenderingSharedData.cs @@ -1,10 +1,11 @@ using System.Collections; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Reflection; namespace CSharpMath.Rendering.Tests { - public abstract class TestRenderingSharedData : IEnumerable where TThis : TestRenderingSharedData { + public abstract class TestRenderingSharedData<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields)] TThis> : IEnumerable where TThis : TestRenderingSharedData { public static IReadOnlyDictionary AllConstants { get; } = typeof(TThis) .GetFields(BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy) diff --git a/CSharpMath/Atom/Atoms/UnderAnnotation.cs b/CSharpMath/Atom/Atoms/UnderAnnotation.cs index 0c627ba5b..cce3d9efa 100644 --- a/CSharpMath/Atom/Atoms/UnderAnnotation.cs +++ b/CSharpMath/Atom/Atoms/UnderAnnotation.cs @@ -1,4 +1,4 @@ -namespace CSharpMath.Atom.Atoms; +namespace CSharpMath.Atom.Atoms; /// /// Abstract name of under annotations implementation \underbrace, \underbracket etc.. /// @@ -21,12 +21,14 @@ protected override MathAtom CloneInside(bool finalize) => public override string DebugString => new System.Text.StringBuilder(@"\underbrace") .AppendInBracesOrLiteralNull(InnerList?.DebugString) - .Append(UnderList is {Count: >0} ? $"_{{{UnderList?.DebugString}}}" : string.Empty) + .Append(UnderList is { Count: > 0 } ? $"_{{{UnderList?.DebugString}}}" : string.Empty) .ToString(); public bool EqualsUnderAnnotation(UnderAnnotation other) => EqualsAtom(other) && InnerList.NullCheckingStructuralEquality(other.InnerList) && UnderList.NullCheckingStructuralEquality(other.UnderList); public override bool Equals(object obj) => obj is UnderAnnotation u ? EqualsUnderAnnotation(u) : false; + + public override int GetHashCode() => (base.GetHashCode(), InnerList, UnderList).GetHashCode(); // public override int GetHashCode() => (base.GetHashCode(), InnerList).GetHashCode(); } \ No newline at end of file diff --git a/CSharpMath/Atom/LaTeXParser.cs b/CSharpMath/Atom/LaTeXParser.cs index 50f3bfa0c..824185e84 100644 --- a/CSharpMath/Atom/LaTeXParser.cs +++ b/CSharpMath/Atom/LaTeXParser.cs @@ -625,7 +625,7 @@ static bool MathAtomToLaTeX(MathAtom atom, StringBuilder builder, MathListToLaTeX(underAnotation.InnerList, builder, currentFontStyle); builder.Append('}'); - if (underAnotation.UnderList is {Count: >0}) { + if (underAnotation.UnderList is { Count: > 0 }) { builder.Append("_{"); MathListToLaTeX(underAnotation.UnderList, builder, currentFontStyle); builder.Append('}'); diff --git a/CSharpMath/Atom/MathList.cs b/CSharpMath/Atom/MathList.cs index 2282e6fb3..bb5f23bc7 100644 --- a/CSharpMath/Atom/MathList.cs +++ b/CSharpMath/Atom/MathList.cs @@ -16,8 +16,8 @@ public class MathList : IMathObject, IList, IReadOnlyList, I public List Atoms { get; private set; } public MathList() => Atoms = new List(); public MathList(IEnumerable atoms) => Atoms = new List(atoms); - public MathList(params MathAtom[] atoms) => Atoms = new List(atoms); - + public MathList(params MathAtom[] atoms) => Atoms = new List(atoms); + /// The last that is not a , /// or when is empty. #if !NETSTANDARD2_0 && !NET45 diff --git a/CSharpMath/Display/Displays/UnderAnnotationDisplay.cs b/CSharpMath/Display/Displays/UnderAnnotationDisplay.cs index ce3e949c3..92a20fc77 100644 --- a/CSharpMath/Display/Displays/UnderAnnotationDisplay.cs +++ b/CSharpMath/Display/Displays/UnderAnnotationDisplay.cs @@ -8,7 +8,7 @@ namespace CSharpMath.Display.Displays; public class UnderAnnotationDisplay : IDisplay where TFont : IFont { public UnderAnnotationDisplay(IDisplay inner, IDisplay? underList, - IGlyphDisplay annotationGlyph, + IGlyphDisplay annotationGlyph, float underListBasedDescent, PointF position) { Inner = inner; diff --git a/CSharpMath/Display/Typesetter.cs b/CSharpMath/Display/Typesetter.cs index b1319ed27..ea0b4dae3 100644 --- a/CSharpMath/Display/Typesetter.cs +++ b/CSharpMath/Display/Typesetter.cs @@ -765,7 +765,7 @@ private UnderAnnotationDisplay MakeUnderAnnotation(UnderAnnotatio glyphDisplay!.Position = new PointF(_currentPosition.X, glyphDisplay!.Position.Y - lineShiftUp); - var delta = (glyphDisplay.Width - innerListDisplay.Width)/2; + var delta = (glyphDisplay.Width - innerListDisplay.Width) / 2; innerListDisplay.Position = new PointF(_currentPosition.X + delta, _currentPosition.Y); var glArray = new RentedArray(annotationSingleGlyph); From 374a442d5363302c005522949bd46c25ad3fca50 Mon Sep 17 00:00:00 2001 From: hflex Date: Tue, 3 Feb 2026 10:55:54 +0400 Subject: [PATCH 12/13] fixed unittests --- CSharpMath/Atom/Atoms/UnderAnnotation.cs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/CSharpMath/Atom/Atoms/UnderAnnotation.cs b/CSharpMath/Atom/Atoms/UnderAnnotation.cs index cce3d9efa..4783cb83b 100644 --- a/CSharpMath/Atom/Atoms/UnderAnnotation.cs +++ b/CSharpMath/Atom/Atoms/UnderAnnotation.cs @@ -26,9 +26,4 @@ protected override MathAtom CloneInside(bool finalize) => public bool EqualsUnderAnnotation(UnderAnnotation other) => EqualsAtom(other) && InnerList.NullCheckingStructuralEquality(other.InnerList) && UnderList.NullCheckingStructuralEquality(other.UnderList); - public override bool Equals(object obj) => - obj is UnderAnnotation u ? EqualsUnderAnnotation(u) : false; - - public override int GetHashCode() => (base.GetHashCode(), InnerList, UnderList).GetHashCode(); - // public override int GetHashCode() => (base.GetHashCode(), InnerList).GetHashCode(); } \ No newline at end of file From bf2e3cb0e8127661b6f9cbb2cad6be026376dd6e Mon Sep 17 00:00:00 2001 From: Happypig375 Date: Tue, 3 Feb 2026 15:50:26 +0800 Subject: [PATCH 13/13] Add Typesetter tests for UnderAnnotation --- .github/workflows/Nightly.yml | 1 + .../BackEnd/JsonMathTable.cs | 29 +- .../CSharpMath.Core.Example.csproj | 7 +- .../Resources/MathTableExport.py | 216 + .../Resources/latinmodern-math.json | 12798 +++++++++------- .../CSharpMath.Core.Tests.csproj | 2 +- .../Display/TypesetterTests.cs | 56 + CSharpMath/Display/Typesetter.cs | 2 +- 8 files changed, 7669 insertions(+), 5442 deletions(-) create mode 100644 CSharpMath.Core.Example/Resources/MathTableExport.py diff --git a/.github/workflows/Nightly.yml b/.github/workflows/Nightly.yml index 2e57d471e..d5f2268b8 100644 --- a/.github/workflows/Nightly.yml +++ b/.github/workflows/Nightly.yml @@ -7,6 +7,7 @@ jobs: runs-on: windows-latest permissions: contents: write + packages: write steps: - name: Update draft on GitHub Releases id: release_drafter diff --git a/CSharpMath.Core.Example/BackEnd/JsonMathTable.cs b/CSharpMath.Core.Example/BackEnd/JsonMathTable.cs index 32220eefc..542cacff4 100644 --- a/CSharpMath.Core.Example/BackEnd/JsonMathTable.cs +++ b/CSharpMath.Core.Example/BackEnd/JsonMathTable.cs @@ -14,7 +14,7 @@ public class JsonMathTable : FontMathTable { /// typically loaded from a .json file. private readonly JToken _mathTable; private readonly JObject _constantsDictionary; - private readonly JObject _assemblyTable; + private readonly JObject _vAssemblyTable, _hAssemblyTable; private readonly JObject _italicTable; public TestFontMeasurer FontMeasurer { get; } public TestGlyphNameProvider GlyphNameProvider { get; } @@ -41,7 +41,8 @@ JObject GetTable(string name) => GlyphBoundsProvider = glyphBoundsProvider; _mathTable = mathTable; _constantsDictionary = GetTable("constants"); - _assemblyTable = GetTable("v_assembly"); + _vAssemblyTable = GetTable("v_assembly"); + _hAssemblyTable = GetTable("h_assembly"); _italicTable = GetTable("italic"); } // different from _ConstantFromTable in that the _ConstantFromTable requires @@ -137,7 +138,18 @@ public override float RadicalExtraAscender(TFont font) => private const string _extenderKey = "extender"; private const string _glyphKey = "glyph"; public override IEnumerable>? GetVerticalGlyphAssembly(TGlyph rawGlyph, TFont font) => - _assemblyTable[GlyphNameProvider.GetGlyphName(rawGlyph)]?[_assemblyPartsKey] is JArray parts + _vAssemblyTable[GlyphNameProvider.GetGlyphName(rawGlyph)]?[_assemblyPartsKey] is JArray parts + ? parts.Select(partInfo => + new GlyphPart( + GlyphNameProvider.GetGlyph(partInfo[_glyphKey]!.Value()!), + FontUnitsToPt(font, partInfo[_advanceKey]!.Value()), + FontUnitsToPt(font, partInfo[_startConnectorKey]!.Value()), + FontUnitsToPt(font, partInfo[_endConnectorKey]!.Value()), + partInfo[_extenderKey]!.Value())) + // Should have been defined, but let's return null + : null; + public override IEnumerable>? GetHorizontalGlyphAssembly(TGlyph rawGlyph, TFont font) => + _hAssemblyTable[GlyphNameProvider.GetGlyphName(rawGlyph)]?[_assemblyPartsKey] is JArray parts ? parts.Select(partInfo => new GlyphPart( GlyphNameProvider.GetGlyph(partInfo[_glyphKey]!.Value()!), @@ -218,16 +230,5 @@ public override float GetTopAccentAdjustment(TFont font, TGlyph glyph) { return Total / 2; } } - - public override IEnumerable>? GetHorizontalGlyphAssembly(TGlyph rawGlyph, TFont font) => _assemblyTable[GlyphNameProvider.GetGlyphName(rawGlyph)]?[_assemblyPartsKey] is JArray parts - ? parts.Select(partInfo => - new GlyphPart( - GlyphNameProvider.GetGlyph(partInfo[_glyphKey]!.Value()!), - FontUnitsToPt(font, partInfo[_advanceKey]!.Value()), - FontUnitsToPt(font, partInfo[_startConnectorKey]!.Value()), - FontUnitsToPt(font, partInfo[_endConnectorKey]!.Value()), - partInfo[_extenderKey]!.Value())) - // Should have been defined, but let's return null - : null; } } \ No newline at end of file diff --git a/CSharpMath.Core.Example/CSharpMath.Core.Example.csproj b/CSharpMath.Core.Example/CSharpMath.Core.Example.csproj index 111ba1572..bd7ff6f02 100644 --- a/CSharpMath.Core.Example/CSharpMath.Core.Example.csproj +++ b/CSharpMath.Core.Example/CSharpMath.Core.Example.csproj @@ -5,8 +5,9 @@ CSharpMath.Core.Checker - - - + + + + diff --git a/CSharpMath.Core.Example/Resources/MathTableExport.py b/CSharpMath.Core.Example/Resources/MathTableExport.py new file mode 100644 index 000000000..28e5b3b56 --- /dev/null +++ b/CSharpMath.Core.Example/Resources/MathTableExport.py @@ -0,0 +1,216 @@ +# Based on https://github.com/kostub/iosMath/blob/master/fonts/math_table_to_plist.py +# Added: get_h_assembly (version 1.3 -> 1.4) + +import sys +import json +from fontTools.ttLib import TTFont + +def process_font(font_file, out_file): + font = TTFont(font_file) + math_table = font['MATH'].table + constants = get_constants(math_table) + italic_c = get_italic_correction(math_table) + v_variants = get_v_variants(math_table) + h_variants = get_h_variants(math_table) + v_assembly = get_v_assembly(math_table) + h_assembly = get_h_assembly(math_table) + accents = get_accent_attachments(math_table) + pl = { + "version" : "1.4", + "constants": constants, + "v_variants" : v_variants, + "h_variants" : h_variants, + "italic" : italic_c, + "accents" : accents, + "v_assembly" : v_assembly, + "h_assembly" : h_assembly } + ofile = open(out_file, 'w') + json.dump(pl, ofile) + ofile.close() + +def get_constants(math_table): + constants = math_table.MathConstants + if constants is None: + raise 'Cannot find MathConstants in MATH table' + + int_consts = [ 'ScriptPercentScaleDown', + 'ScriptScriptPercentScaleDown', + 'DelimitedSubFormulaMinHeight', + 'DisplayOperatorMinHeight', + 'RadicalDegreeBottomRaisePercent'] + consts = { c : getattr(constants, c) for c in int_consts } + + record_consts = [ 'MathLeading', + 'AxisHeight', + 'AccentBaseHeight', + 'FlattenedAccentBaseHeight', + 'SubscriptShiftDown', + 'SubscriptTopMax', + 'SubscriptBaselineDropMin', + 'SuperscriptShiftUp', + 'SuperscriptShiftUpCramped', + 'SuperscriptBottomMin', + 'SuperscriptBaselineDropMax', + 'SubSuperscriptGapMin', + 'SuperscriptBottomMaxWithSubscript', + 'SpaceAfterScript', + 'UpperLimitGapMin', + 'UpperLimitBaselineRiseMin', + 'LowerLimitGapMin', + 'LowerLimitBaselineDropMin', + 'StackTopShiftUp', + 'StackTopDisplayStyleShiftUp', + 'StackBottomShiftDown', + 'StackBottomDisplayStyleShiftDown', + 'StackGapMin', + 'StackDisplayStyleGapMin', + 'StretchStackTopShiftUp', + 'StretchStackBottomShiftDown', + 'StretchStackGapAboveMin', + 'StretchStackGapBelowMin', + 'FractionNumeratorShiftUp', + 'FractionNumeratorDisplayStyleShiftUp', + 'FractionDenominatorShiftDown', + 'FractionDenominatorDisplayStyleShiftDown', + 'FractionNumeratorGapMin', + 'FractionNumDisplayStyleGapMin', + 'FractionRuleThickness', + 'FractionDenominatorGapMin', + 'FractionDenomDisplayStyleGapMin', + 'SkewedFractionHorizontalGap', + 'SkewedFractionVerticalGap', + 'OverbarVerticalGap', + 'OverbarRuleThickness', + 'OverbarExtraAscender', + 'UnderbarVerticalGap', + 'UnderbarRuleThickness', + 'UnderbarExtraDescender', + 'RadicalVerticalGap', + 'RadicalDisplayStyleVerticalGap', + 'RadicalRuleThickness', + 'RadicalExtraAscender', + 'RadicalKernBeforeDegree', + 'RadicalKernAfterDegree', + ] + consts_2 = { c : getattr(constants, c).Value for c in record_consts } + consts.update(consts_2) + + variants = math_table.MathVariants + consts['MinConnectorOverlap'] = variants.MinConnectorOverlap + return consts + +def get_italic_correction(math_table): + glyph_info = math_table.MathGlyphInfo + if glyph_info is None: + raise "Cannot find MathGlyphInfo in MATH table." + italic = glyph_info.MathItalicsCorrectionInfo + if italic is None: + raise "Cannot find Italic Correction in GlyphInfo" + + glyphs = italic.Coverage.glyphs + count = italic.ItalicsCorrectionCount + records = italic.ItalicsCorrection + italic_dict = {} + for i in range(count): + name = glyphs[i] + record = records[i] + if record.DeviceTable is not None: + raise "Don't know how to process device table for italic correction." + italic_dict[name] = record.Value + return italic_dict + +def get_accent_attachments(math_table): + glyph_info = math_table.MathGlyphInfo + if glyph_info is None: + raise "Cannot find MathGlyphInfo in MATH table." + attach = glyph_info.MathTopAccentAttachment + if attach is None: + raise "Cannot find Top Accent Attachment in GlyphInfo" + + glyphs = attach.TopAccentCoverage.glyphs + count = attach.TopAccentAttachmentCount + records = attach.TopAccentAttachment + attach_dict = {} + for i in range(count): + name = glyphs[i] + record = records[i] + if record.DeviceTable is not None: + raise "Don't know how to process device table for accent attachment." + attach_dict[name] = record.Value + return attach_dict + +def get_v_variants(math_table): + variants = math_table.MathVariants + vglyphs = variants.VertGlyphCoverage.glyphs + vconstruction = variants.VertGlyphConstruction + count = variants.VertGlyphCount + variant_dict = {} + for i in range(count): + name = vglyphs[i] + record = vconstruction[i] + glyph_variants = [x.VariantGlyph for x in + record.MathGlyphVariantRecord] + variant_dict[name] = glyph_variants + return variant_dict + +def get_h_variants(math_table): + variants = math_table.MathVariants + hglyphs = variants.HorizGlyphCoverage.glyphs + hconstruction = variants.HorizGlyphConstruction + count = variants.HorizGlyphCount + variant_dict = {} + for i in range(count): + name = hglyphs[i] + record = hconstruction[i] + glyph_variants = [x.VariantGlyph for x in + record.MathGlyphVariantRecord] + variant_dict[name] = glyph_variants + return variant_dict + +def get_v_assembly(math_table): + variants = math_table.MathVariants + vglyphs = variants.VertGlyphCoverage.glyphs + vconstruction = variants.VertGlyphConstruction + count = variants.VertGlyphCount + assembly_dict = {} + for i in range(count): + name = vglyphs[i] + record = vconstruction[i] + assembly = record.GlyphAssembly + if assembly is not None: + # There is an assembly for this glyph + italic = assembly.ItalicsCorrection.Value + parts = [part_dict(part) for part in assembly.PartRecords] + assembly_dict[name] = { + "italic" : assembly.ItalicsCorrection.Value, + "parts" : parts } + return assembly_dict + +def get_h_assembly(math_table): + variants = math_table.MathVariants + hglyphs = variants.HorizGlyphCoverage.glyphs + hconstruction = variants.HorizGlyphConstruction + count = variants.HorizGlyphCount + assembly_dict = {} + for i in range(count): + name = hglyphs[i] + record = hconstruction[i] + assembly = record.GlyphAssembly + if assembly is not None: + # There is an assembly for this glyph + italic = assembly.ItalicsCorrection.Value + parts = [part_dict(part) for part in assembly.PartRecords] + assembly_dict[name] = { + "italic" : assembly.ItalicsCorrection.Value, + "parts" : parts } + return assembly_dict + +def part_dict(part): + return { + "glyph": part.glyph, + "startConnector" : part.StartConnectorLength, + "endConnector" : part.EndConnectorLength, + "advance" : part.FullAdvance, + "extender" : (part.PartFlags == 1) } + +process_font('../../CSharpMath.Rendering/Reference Fonts/latinmodern-math.otf', 'latinmodern-math.json') \ No newline at end of file diff --git a/CSharpMath.Core.Example/Resources/latinmodern-math.json b/CSharpMath.Core.Example/Resources/latinmodern-math.json index f1db31b53..8b7bda7fe 100644 --- a/CSharpMath.Core.Example/Resources/latinmodern-math.json +++ b/CSharpMath.Core.Example/Resources/latinmodern-math.json @@ -1,1036 +1,66 @@ { - "italic" : { - "uni23DE.h3" : 28, - "u1D72C.sts" : 151, - "udieresis" : 7, - "u1D71B" : 17, - "uhungarumlaut" : 7, - "uni2231" : 361, - "u1D44C.st" : 209, - "u1D62B" : 84, - "acircumflextilde.st" : 3, - "uni2A11.v1" : 591, - "u1D44B" : 51, - "u1D738" : 55, - "uhorntilde.st" : 37, - "shade" : 28, - "u1D44D.st" : 47, - "u1D720" : 43, - "u1D648" : 76, - "u1D744.st" : 3, - "uni23E1.h1" : 28, - "acircumflexdotbelow.st" : 3, - "u1D630" : 50, - "Uhorn" : 4, - "u1D5B7" : 13, - "u1D69F" : 3, - "alpha.st" : 8, - "u1D6FE" : 53, - "bracketleft" : 6, - "u1D56E.st" : 3, - "u1D7C5" : 52, - "Uhornhookabove" : 4, - "u1D450" : 25, - "uhornacute.sts" : 10, - "u1D586" : 13, - "u1D441.sts" : 41, - "u1D580.st" : 17, - "Racute.st" : 16, - "u1D50E" : 50, - "u1D794" : 105, - "ncaron" : 7, - "u1D449.sts" : 200, - "Uhorntilde" : 4, - "aring" : 11, - "registered.sts" : 28, - "uni23DF.h6" : 28, - "u1D44A.sts" : 98, - "u1D62C" : 82, - "u1D746.st" : 4, - "uni23B4.h5" : 28, - "aogonek" : 11, - "u1D44C" : 209, - "u1D513" : 9, - "u1D475.sts" : 60, - "u1D46A.sts" : 18, - "u1D65A" : 59, - "u1D739" : 19, - "u1D747.st" : 50, - "u1D721" : 60, - "u1D481.sts" : 14, - "u1D649" : 76, - "u1D73B.st" : 18, - "u1D631" : 46, - "dcaron" : 46, - "u1D47A" : 49, - "u1D5B8" : 24, - "u1D47E.sts" : 136, - "u1D6FF" : 36, - "uhornhookabove.sts" : 10, - "u1D469" : 16, - "u1D7C6" : 59, - "u1D451" : 24, - "u1D677" : 5, - "uni23DF.h1" : 28, - "u1D73C.st" : 10, - "u1D50F" : 7, - "u1D795" : 106, - "Chi" : 4, - "uni2232" : 350, - "u1D41F" : 114, - "iota" : 24, - "emdash.alt" : 27, - "u1D71D" : 16, - "u1D749.st" : 100, - "uni23DC.h4" : 28, - "u1D62D" : 93, - "u1D509.st" : 12, - "u1D604" : 3, - "u1D44D" : 68, - "uni22C4" : 8, - "copyleft.sts" : 28, - "u1D65B" : 217, - "u1D424" : 8, - "mu.st" : 8, - "u1D722" : 73, - "u1D632" : 42, - "u1D47B" : 163, - "Yacute" : 16, - "f_f" : 73, - "u1D7C7" : 27, - "u1D6CA.sts" : 6, - "Ygrave.st" : 3, - "u1D660" : 72, - "uni222C" : 332, - "uhorngrave.sts" : 10, - "u1D466.st" : 9, - "u1D796" : 76, - "u1D6F5.sts" : 123, - "u1D6EA.sts" : 11, - "itilde.st" : 51, - "u1D480" : 228, - "u1D70F.sts" : 39, - "u1D71E" : 148, - "uni23B5.h3" : 28, - "copyright" : 28, - "u1D62E" : 17, - "uni23DD.h7" : 28, - "acircumflex.st" : 3, - "u1D6FE.sts" : 4, - "Uhornacute" : 4, - "u1D467.st" : 3, - "u1D72F.sts" : 163, - "f_k" : 3, - "u1D7AB" : 42, - "yen.st" : 3, - "u1D65C" : 99, - "integralbt" : 591, - "u1D723" : 5, - "u1D56C" : 8, - "uni212D" : 29, - "icircumflex.st" : 19, - "amacron.st" : 3, - "u1D633" : 110, - "u1D5CB" : 13, - "u1D47C" : 105, - "lcaron.st" : 47, - "u1D74F.sts" : 38, - "uni27E6.v5" : 5, - "u1D68A" : 22, - "bracketleft.v4" : 4, - "u1D7C8" : 29, - "uni23E0.h5" : 28, - "u1D453" : 90, - "recipe" : 24, - "u1D59A" : 44, - "u1D6D8" : 29, - "u1D7B0" : 41, - "uni23DD.h2" : 28, - "u1D661" : 106, - "u1D7D5.st" : 5, - "u1D571" : 41, - "u1D797" : 53, - "u1D5D0" : 13, - "u1D754.st" : 4, - "asciitilde.st" : 27, - "uni2233" : 350, - "u1D481" : 60, - "iota.st" : 7, - "adieresis" : 11, - "u1D62F" : 16, - "bracketleft.v6" : 9, - "dotlessi.ssbo" : 56, - "q.st" : 9, - "ohorntilde.st" : 7, - "u1D45E.st" : 15, - "u1D44F" : 14, - "u1D74D" : 3, - "u1D7AC" : 67, - "gbreve.st" : 4, - "u1D65D" : 42, - "utilde" : 7, - "uni00B5" : 6, - "u1D426" : 5, - "u1D724" : 83, - "u1D470.st" : 61, - "u1D57F.st" : 6, - "u1D5CC" : 5, - "u1D634" : 79, - "chi.st" : 8, - "u1D47D" : 235, - "u1D45F.st" : 10, - "dkshade" : 28, - "u1D470.sts" : 22, - "uni2231.v1" : 591, - "u1D7C9" : 57, - "u1D6EA" : 85, - "u1D454" : 25, - "u1D46D.sts" : 146, - "u1D7B1" : 66, - "endash" : 27, - "u1D662" : 42, - "u1D471.st" : 77, - "uni222D" : 332, - "u1D798" : 76, - "chi" : 24, - "u1D5D1" : 27, - "Itilde.st" : 6, - "uni23DE.h5" : 28, - "u1D690" : 12, - "u1D517.st" : 8, - "underscore" : 28, - "f_f.sts" : 59, - "u1D472.st" : 46, - "asciicircum.sts" : 33, - "u1D7AD" : 53, - "u1D517" : 35, - "u1D65E" : 109, - "u1D518.st" : 23, - "u1D427" : 4, - "u1D725" : 60, - "u1D56E" : 34, - "uni23E1.h3" : 28, - "atilde" : 11, - "SF010000" : 48, - "u1D635" : 77, - "u1D47E" : 142, - "itilde.sts" : 34, - "ordmasculine" : 5, - "lcaron.sts" : 24, - "uhorngrave" : 43, - "u1D6EB" : 68, - "u1D7B2" : 5, - "Yacute.st" : 3, - "u1D474.st" : 84, - "u1D663" : 42, - "u1D6C2" : 30, - "abrevedotbelow" : 11, - "u1D799" : 104, - "f_f.st" : 65, - "u1D5D2" : 13, - "uni222F.v1" : 591, - "u1D483" : 13, - "SF080000" : 48, - "u1D6D8.sts" : 5, - "u1D6CD.sts" : 6, - "u1D691" : 15, - "u1D475.st" : 91, - "u1D6F0" : 5, - "abrevegrave.st" : 3, - "u1D6E4.sts" : 106, - "u1D50E.st" : 24, - "lambda.st" : 38, - "u1D715.sts" : 21, - "uni23B4.h7" : 28, - "u1D74F.st" : 54, - "u1D74F" : 57, - "uni22C6" : 25, - "u1D721.sts" : 14, - "u1D6ED.sts" : 35, - "u1D518" : 49, - "u1D7AE" : 31, - "u1D65F" : 102, - "u1D71E.sts" : 146, - "u1D46A.st" : 51, - "u1D6C2.st" : 26, - "u1D636" : 40, - "u1D47F" : 34, - "gcommaaccent.st" : 4, - "u1D68D" : 15, - "married.sts" : 99, - "u1D749.sts" : 67, - "nacute" : 7, - "u1D477.st" : 160, - "u1D59D" : 19, - "u1D754" : 13, - "u1D7B3" : 4, - "u1D664" : 53, - "uni23DF.h3" : 28, - "uni23B4.h2" : 28, - "yen" : 16, - "u1D484" : 26, - "iacute" : 13, - "uni23DC.h6" : 28, - "uni2A11" : 361, - "u1D70A" : 12, - "u1D6F1" : 77, - "u1D46C.st" : 27, - "u1D61A" : 79, - "threequartersemdash" : 27, - "u1D609" : 57, - "u1D52A" : 19, - "u1D599.st" : 11, - "u1D7AF" : 24, - "u1D519" : 23, - "u1D479.st" : 37, - "u1D46D.st" : 154, - "u1D727" : 102, - "uni03F5" : 35, - "abrevetilde" : 11, - "u1D5CF" : 13, - "u1D411" : 23, - "u1D637" : 107, - "uni2A0C.v1" : 591, - "u1D447.sts" : 123, - "u1D43C.sts" : 11, - "leaf" : 39, - "u1D453.sts" : 36, - "u1D6ED" : 102, - "uni23DC.h1" : 28, - "u1D457" : 13, - "u1D755" : 8, - "u1D665" : 50, - "u1D485" : 22, - "u1D480.st" : 239, - "udotbelow" : 7, - "uni23B5.h5" : 28, - "u1D46F.st" : 55, - "acircumflexhookabove.st" : 3, - "u1D6F2" : 140, - "u1D70B" : 25, - "u1D487.sts" : 51, - "u1D47C.sts" : 60, - "u1D61B" : 137, - "u1D52B" : 23, - "u1D481.st" : 47, - "u1D51A.st" : 11, - "abrevedotbelow.st" : 3, - "u1D43B" : 78, - "umacron" : 7, - "u1D728" : 105, - "asciitilde.sts" : 27, - "u1D710" : 12, - "u1D638" : 107, - "uni23E0" : 28, - "uni27E6.v7" : 6, - "u1D620" : 172, - "u1D6EE" : 106, - "uni23E0.h7" : 28, - "u1D458" : 15, - "endash.st" : 19, - "u1D7B5" : 4, - "uni222F" : 332, - "u1D440" : 102, - "u1D666" : 58, - "uni23DD.h4" : 28, - "Rcommaaccent" : 24, - "u1D576" : 52, - "u1D483.st" : 4, - "u1D694" : 11, - "u1D70C" : 13, - "u1D6F3" : 5, - "dotlessi.sso" : 39, - "u1D61C" : 81, - "uni27E6.v2" : 6, - "u1D484.st" : 20, - "copyleft.st" : 28, - "u1D43C" : 85, - "SF020000" : 48, - "uni23E0.h2" : 28, - "u1D729" : 54, - "u1D64A" : 54, - "uni2581" : 28, - "u1D639" : 104, - "contourintegral.v1" : 591, - "u1D70D.sts" : 4, - "u1D485.st" : 18, - "u1D621" : 119, - "u1D46A" : 66, - "u1D724.sts" : 22, - "u1D6EF" : 63, - "u1D531" : 44, - "dcaron.sts" : 16, - "u1D7B6" : 59, - "u1D730.sts" : 158, - "published.st" : 28, - "u1D441" : 106, - "u1D667" : 108, - "abrevehookabove" : 11, - "abrevetilde.st" : 3, - "u1D5FF" : 12, - "Ygrave" : 16, - "abrevegrave" : 11, - "u1D577" : 6, - "asciitilde" : 27, - "u1D59A.st" : 13, - "u1D738.sts" : 28, - "uni23DE.h7" : 28, - "u1D47A.st" : 34, - "u1D487" : 86, - "uni2A0C" : 332, - "uogonek" : 27, - "u1D70D" : 74, - "ydieresis" : 8, - "u1D6F4" : 54, - "u1D531.st" : 18, - "u1D61D" : 161, - "emdash" : 27, - "u1D487.st" : 78, - "u1D411.st" : 19, - "u1D47B.st" : 169, - "u1D43D" : 106, - "u1D73B" : 42, - "u1D504" : 20, - "u1D64B" : 75, - "uhorn.st" : 37, - "uni23E1" : 28, - "uni23E1.h5" : 28, - "u1D488.st" : 4, - "ahookabove.st" : 3, - "u1D622" : 21, - "u1D46B" : 5, - "u1D41F.sts" : 115, - "u1D47C.st" : 90, - "uni23DE.h2" : 28, - "u1D532" : 25, - "yhookabove" : 8, - "u1D436.sts" : 7, - "lambda" : 54, - "u1D442" : 5, - "u1D668" : 75, - "u1D650" : 76, - "u1D578" : 21, - "u1D47D.st" : 249, - "atilde.st" : 3, - "u1D488" : 17, - "u1D470" : 83, - "lacute.st" : 17, - "u1D696" : 19, - "u1D6F5" : 148, - "R.st" : 16, - "registered.st" : 28, - "u1D70E" : 24, - "u1D61E" : 161, - "u1D45F.sts" : 9, - "u1D47E.st" : 145, - "u1D6CA.st" : 25, - "u1D43E" : 68, - "u1D73C" : 22, - "yacute" : 8, - "u1D64C" : 54, - "u1D490.st" : 3, - "u1D713" : 12, - "uni2232.v1" : 591, - "dcaron.st" : 39, - "u1D47F.st" : 11, - "u1D623" : 46, - "integral" : 332, - "u1D46C" : 43, - "u1D6CB.st" : 25, - "u1D7B8" : 29, - "uni23DF.h5" : 28, - "u1D443" : 140, - "u1D669" : 70, - "u1D491.st" : 4, - "u1D7A0" : 75, - "u1D651" : 143, - "u1D579" : 14, - "u1D49A" : 20, - "uni222C.v1" : 591, - "u1D6D8.st" : 25, - "u1D701.st" : 34, - "uni23B4.h4" : 28, - "u1D6CC.st" : 65, - "u1D5C0" : 13, - "Ydieresis" : 16, - "u1D471" : 91, - "u1D697" : 15, - "u1D70F" : 102, - "divorced.st" : 230, - "u1D6F6" : 146, - "adotbelow" : 11, - "u1D492.st" : 16, - "u1D61F" : 119, - "Itilde" : 15, - "u1D52F" : 34, - "u1D702.st" : 6, - "u1D6CD.st" : 25, - "u1D73D" : 13, - "uni2111" : 7, - "u1D6C2.sts" : 6, - "u1D64D" : 77, - "u1D416" : 3, - "u1D714" : 10, - "u1D624" : 83, - "u1D6CB.sts" : 6, - "u1D46D" : 148, - "abrevehookabove.st" : 3, - "uni23DC.h3" : 28, - "u1D7B9" : 57, - "u1D742" : 54, - "registered" : 28, - "u1D58B" : 28, - "ohorndotbelow.st" : 7, - "u1D5EA" : 3, - "u1D7A1" : 53, - "u1D652" : 145, - "u1D6F6.sts" : 116, - "u1D49B" : 11, - "asciicircum.st" : 33, - "kappa" : 23, - "u1D727.sts" : 47, - "idieresis.st" : 13, - "u1D472" : 60, - "uhorntilde" : 43, - "uni2145" : 15, - "u1D6F7" : 4, - "Rcaron" : 24, - "u1D733.sts" : 73, - "uni23B5.h7" : 28, - "f.sts" : 58, - "uni03D1" : 21, - "SF100000" : 48, - "u1D747.sts" : 14, - "uni23DC" : 28, - "u1D420.st" : 5, - "u1D64E" : 68, - "emdash.st" : 11, - "asciitilde.low" : 27, - "u1D52F.st" : 7, - "u1D715" : 63, - "u1D625" : 93, - "longs.st" : 72, - "aogonek.st" : 7, - "u1D411.sts" : 7, - "u1D535" : 10, - "u1D67C" : 10, - "uni23B5.h2" : 28, - "uni20EB" : 31, - "u1D445" : 24, - "u1D743" : 11, - "u1D7A2" : 106, - "uni23DD.h6" : 28, - "u1D653" : 88, - "u1D41A.sts" : 6, - "Imacron.st" : 21, - "u1D439.sts" : 107, - "u1D6F8" : 51, - "seven" : 13, - "u1D6E4.st" : 128, - "u1D681" : 25, - "u1D708.st" : 42, - "u1D591" : 7, - "uni27E6.v4" : 5, - "leaf.st" : 34, - "integral.v1" : 591, - "uni23E0.h4" : 28, - "uhorndotbelow.sts" : 10, - "u1D508" : 7, - "ohorngrave" : 16, - "u1D64F" : 126, - "u1D418" : 8, - "u1D709.st" : 4, - "uni23DD.h1" : 28, - "u1D471.sts" : 50, - "abreveacute" : 11, - "u1D626" : 55, - "u1D46F" : 73, - "uhornacute.st" : 37, - "u1D479.sts" : 15, - "u1D6DC" : 27, - "u1D446" : 60, - "u1D6E6.st" : 30, - "u1D744" : 12, - "u1D7A3" : 126, - "u1D5EC" : 3, - "u1D654" : 147, - "u1D79B" : 76, - "uhorngrave.st" : 37, - "uni03F5.st" : 18, - "uni2146" : 75, - "acircumflexacute.st" : 3, - "u1D474" : 102, - "u1D6F9" : 109, - "u1D6E7.st" : 47, - "u1D592" : 7, - "u1D60A" : 107, - "uhornacute" : 43, - "uni23DD" : 28, - "u1D51A" : 37, - "u1D509" : 38, - "u1D41A.st" : 18, - "u1D42A" : 22, - "u1D6E8.st" : 52, - "u1D6DC.st" : 17, - "R" : 24, - "Y.st" : 3, - "uni23E1.h7" : 28, - "u1D5BF" : 69, - "u1D627" : 217, - "uni23DE.h4" : 28, - "V" : 8, - "u1D6DD" : 22, - "W" : 9, - "u1D447" : 148, - "X" : 4, - "u1D6DD.st" : 13, - "u1D58E" : 24, - "Y" : 16, - "u1D745" : 14, - "u1D655" : 106, - "u1D7A4" : 88, - "u1D79C" : 76, - "u1D5C4" : 10, - "u1D475" : 105, - "u1D6F1.sts" : 6, - "uni23E1.h2" : 28, - "a" : 11, - "u1D60B" : 52, - "u1D6F9.sts" : 54, - "u1D6EE.sts" : 41, - "u1D722.sts" : 19, - "u1D51B" : 18, - "uni2113" : 9, - "uhorndotbelow.st" : 37, - "f" : 79, - "u1D72B.sts" : 17, - "g" : 13, - "Ytilde" : 16, - "abreve.st" : 3, - "h" : 7, - "u1D742.sts" : 17, - "u1D628" : 99, - "k" : 11, - "u1D610" : 81, - "u1D6F1.st" : 51, - "l" : 5, - "u1D715.st" : 52, - "m" : 8, - "u1D448" : 105, - "u1D746" : 13, - "n" : 7, - "u1D7A5" : 46, - "uni23DF.h7" : 28, - "uogonek.st" : 7, - "u1D656" : 49, - "u1D79D" : 114, - "uacute" : 7, - "q" : 27, - "ohorn.st" : 7, - "lcaron" : 52, - "u1D49A.st" : 7, - "u1D6F2.st" : 135, - "uni2147" : 17, - "u1D41F.st" : 120, - "u1D476" : 6, - "uni23B4.h6" : 28, - "u" : 7, - "u1D684" : 23, - "bracketleft.v5" : 7, - "ohorngrave.st" : 7, - "u1D6E3" : 25, - "Ytilde.st" : 3, - "adieresis.st" : 3, - "u1D60C" : 118, - "v" : 8, - "u1D5F3" : 73, - "uni23DE" : 28, - "w" : 9, - "x" : 16, - "y" : 8, - "u1D440.sts" : 35, - "u1D70B.st" : 4, - "u1D72A" : 6, - "uni23DF.h2" : 28, - "u1D719" : 5, - "u1D63A" : 107, - "u1D448.sts" : 41, - "star.alt" : 23, - "u1D43D.sts" : 46, - "u1D701" : 64, - "u1D629" : 16, - "married" : 105, - "uni23B4.h1" : 28, - "u1D6F4.st" : 31, - "bracketleft.v7" : 8, - "u1D611" : 92, - "uni23DC.h5" : 28, - "published.sts" : 28, - "u1D449" : 214, - "u1D747" : 66, - "u1D7A6" : 71, - "adotbelow.st" : 3, - "u1D431" : 6, - "u1D657" : 50, - "u1D474.sts" : 47, - "u1D79E" : 54, - "u1D6F5.st" : 143, - "u1D480.sts" : 236, - "iacute.st" : 4, - "dotlessi.fra" : 17, - "aacute" : 11, - "u1D477" : 154, - "dotlessj.ssbo" : 56, - "u1D70D.st" : 52, - "acircumflextilde" : 11, - "u1D47D.sts" : 253, - "u1D685" : 9, - "ydotbelow" : 8, - "u1D6E4" : 134, - "acircumflex" : 11, - "u1D60D" : 132, - "u1D5F4" : 12, - "u1D6F6.st" : 140, - "uni2233.v1" : 591, - "u1D6EA.st" : 58, - "u1D70E.st" : 4, - "u1D72B" : 72, - "seven.st" : 4, - "ohornacute.st" : 7, - "u1D63B" : 87, - "block" : 28, - "emdash.alt.st" : 11, - "u1D702" : 27, - "u1D720.st" : 27, - "u1D612" : 119, - "u1D6EB.st" : 47, - "ygrave" : 8, - "u1D70F.st" : 83, - "uni222D.v1" : 591, - "uni23B5.h4" : 28, - "u1D748" : 13, - "u1D7A7" : 91, - "kappa.st" : 7, - "copyright.st" : 28, - "u1D658" : 80, - "u1D436.st" : 52, - "Racute" : 24, - "u1D42A.st" : 8, - "u1D6F8.st" : 24, - "u1D640" : 105, - "u1D721.st" : 47, - "asciitilde.low.st" : 27, - "imacron" : 70, - "u1D730" : 159, - "u1D79F" : 75, - "uni2148" : 80, - "leaf.sts" : 16, - "u1D7D5" : 11, - "integraltp" : 591, - "u1D686" : 16, - "icircumflex" : 41, - "u1D60E" : 90, - "uni23DF" : 28, - "u1D6F9.st" : 93, - "u1D722.st" : 55, - "uni27E6.v6" : 6, - "u1D6ED.st" : 79, - "u1D51E" : 25, - "contourintegral" : 332, - "u1D6E8.sts" : 7, - "u1D42E" : 4, - "u1D72C" : 154, - "uni23E0.h6" : 28, - "u1D438.st" : 30, - "uni23DD.h3" : 28, - "u1D703" : 14, - "u1D725.sts" : 12, - "u1D6EE.st" : 83, - "aring.st" : 3, - "u1D45C" : 12, - "u1D523" : 23, - "u1D749" : 111, - "u1D66A" : 57, - "u1D7A8" : 70, - "u1D439.st" : 128, - "abreve" : 11, - "Rcaron.st" : 16, - "u1D659" : 106, - "ncommaaccent" : 7, - "u1D724.st" : 61, - "u1D641" : 120, - "u1D6EF.st" : 40, - "u1D6A0" : 11, - "uni27E6.v1" : 6, - "uhornhookabove.st" : 37, - "u1D479" : 37, - "Uhorngrave" : 4, - "uni23E0.h1" : 28, - "Ydotbelow" : 16, - "u1D6E6" : 54, - "u1D597" : 22, - "u1D60F" : 81, - "u1D725.st" : 46, - "abreveacute.st" : 3, - "Imacron.sts" : 6, - "u1D72D" : 5, - "u1D440.st" : 79, - "u1D63D" : 49, - "a.st" : 3, - "ntilde" : 7, - "iogonek" : 3, - "u1D614" : 75, - "u1D45D" : 15, - "u1D7BA" : 28, - "ucircumflex" : 7, - "u1D443.sts" : 110, - "u1D441.st" : 83, - "u1D66B" : 93, - "Imacron" : 29, - "u1D6CA" : 30, - "u1D7A9" : 38, - "u1D732" : 34, - "uni03D1.st" : 3, - "u1D727.st" : 84, - "uni23DE.h6" : 28, - "SF050000" : 48, - "itilde" : 56, - "u1D642" : 81, - "u1D44C.sts" : 193, - "alpha" : 24, - "longs" : 79, - "u1D48B" : 7, - "uni2149" : 80, - "u1D688" : 8, - "u1D6E7" : 68, - "u1D728.st" : 91, - "uni23E1.h4" : 28, - "u1D477.sts" : 151, - "agrave.st" : 3, - "uhorntilde.sts" : 10, - "dotlessj.sso" : 39, - "u1D580" : 49, - "Uhorndotbelow" : 4, - "threequartersemdash.st" : 16, - "uni23DE.h1" : 29, - "Ydieresis.st" : 3, - "acircumflexdotbelow" : 11, - "u1D490" : 12, - "u1D443.st" : 135, - "u1D72E" : 44, - "u1D63E" : 98, - "u1D729.st" : 38, - "uni211C" : 26, - "kcommaaccent" : 11, - "u1D615" : 79, - "u1D45E" : 34, - "u1D7BB" : 5, - "published" : 28, - "u1D66C" : 94, - "u1D6CB" : 30, - "longs.sts" : 58, - "u1D435" : 25, - "ohorntilde" : 16, - "u1D6FA.st" : 20, - "u1D71E.st" : 154, - "u1D733" : 106, - "uhorndotbelow" : 43, - "u1D643" : 76, - "Rcommaaccent.st" : 16, - "u1D6A2" : 3, - "Ydotbelow.st" : 3, - "uhorn.sts" : 10, - "u1D69A" : 40, - "u1D445.st" : 16, - "u1D463" : 11, - "u1D730.st" : 164, - "u1D6E8" : 78, - "lcommaaccent" : 5, - "u1D599" : 42, - "u1D581" : 13, - "u1D446.st" : 36, - "u1D491" : 13, - "u1D72F" : 163, - "uni23DF.h4" : 28, - "u1D63F" : 52, - "u1D6CC.sts" : 37, - "uni23B4.h3" : 28, - "u1D616" : 54, - "acircumflexacute" : 11, - "u1D45F" : 13, - "u1D447.st" : 143, - "lacute" : 26, - "u1D7BC" : 58, - "u1D43B.st" : 52, - "u1D526" : 17, - "u1D66D" : 77, - "u1D732.st" : 11, - "u1D6CC" : 73, - "ahookabove" : 11, - "u1D436" : 73, - "asciicircum" : 33, - "u1D57D" : 28, - "Yhookabove.st" : 3, - "u1D6FD.st" : 12, - "ohornhookabove.st" : 7, - "u1D644" : 76, - "u1D728.sts" : 60, - "u1D734" : 35, - "uni23DC.h7" : 28, - "u1D448.st" : 83, - "u1D43C.st" : 58, - "ltshade" : 28, - "u1D6FA" : 42, - "u1D464" : 3, - "u1D6FE.st" : 39, - "u1D733.st" : 98, - "u1D6E9" : 5, - "u1D7C1" : 36, - "underscore.st" : 28, - "uring" : 7, - "u1D582" : 33, - "u1D449.st" : 214, - "u1D492" : 29, - "u1D43D.st" : 85, - "u1D734.st" : 20, - "married.st" : 107, - "u1D6FF.st" : 10, - "uni23DC.h2" : 28, - "u1D41A" : 22, - "copyright.sts" : 28, - "u1D617" : 79, - "f.st" : 72, - "u1D43E.st" : 47, - "u1D7BD" : 57, - "uni23B4" : 28, - "u1D66E" : 93, - "uni23B5.h6" : 28, - "u1D6CD" : 30, - "u1D437" : 4, - "u1D645" : 76, - "u1D450.st" : 12, - "ohornacute" : 16, - "ohorn" : 16, - "u1D43B.sts" : 7, - "u1D7C2" : 36, - "u1D571.st" : 10, - "ugrave" : 7, - "underscore.sts" : 28, - "acircumflexgrave" : 11, - "aacute.st" : 3, - "u1D451.st" : 8, - "idieresis" : 27, - "u1D583" : 14, - "uni2230.v1" : 591, - "g.st" : 4, - "u1D493" : 4, - "divorced" : 216, - "u1D72B.st" : 53, - "u1D791" : 49, - "uni23B5.h1" : 28, - "u1D472.sts" : 12, - "uni2230" : 332, - "u1D708" : 58, - "gcommaaccent" : 13, - "asciitilde.low.sts" : 27, - "u1D46F.sts" : 19, - "uni23DD.h5" : 28, - "recipe.st" : 16, - "u1D618" : 54, - "u1D47B.sts" : 163, - "u1D738.st" : 49, - "u1D7BE" : 36, - "u1D72C.st" : 160, - "u1D66F" : 79, - "SF060000" : 48, - "gbreve" : 13, - "u1D438" : 54, - "u1D510" : 28, - "u1D57F" : 37, - "u1D420" : 11, - "u1D646" : 104, - "u1D453.st" : 75, - "u1D6A5" : 5, - "uni27E6.v3" : 5, - "divorced.sts" : 238, - "u1D5B5" : 13, - "uni23E0.h3" : 28, - "u1D466" : 28, - "Yhookabove" : 16, - "u1D7C3" : 48, - "u1D674" : 5, - "uhornhookabove" : 43, - "u1D454.st" : 7, - "copyleft" : 28, - "agrave" : 11, - "ytilde" : 8, - "ohornhookabove" : 16, - "acircumflexhookabove" : 11, - "u1D72E.st" : 28, - "u1D792" : 120, - "uhorn" : 43, - "u1D71A" : 13, - "mu" : 23, - "u1D709" : 36, - "u1D62A" : 92, - "u1D619" : 82, - "uni27E6" : 6, - "ohorndotbelow" : 16, - "u1D72F.st" : 169, - "dotlessi.frab" : 24, - "u1D529" : 26, - "u1D44A" : 132, - "u1D7BF" : 30, - "u1D576.st" : 21, - "uni23B5" : 28, - "u1D511" : 26, - "u1D439" : 134, - "u1D737" : 6, - "u1D421" : 4, - "u1D44A.st" : 125, - "imacron.st" : 66, - "uhookabove" : 7, - "u1D557" : 27, - "u1D5B6" : 13, - "u1D69E" : 15, - "amacron" : 11, - "u1D6F2.sts" : 110, - "u1D467" : 30, - "u1D6FD" : 36, - "acircumflexgrave.st" : 3, - "imacron.sts" : 51, - "uni23E1.h6" : 28, - "u1D44B.st" : 24, - "u1D742.st" : 44 + "version": "1.4", + "constants": { + "ScriptPercentScaleDown": 70, + "ScriptScriptPercentScaleDown": 50, + "DelimitedSubFormulaMinHeight": 1300, + "DisplayOperatorMinHeight": 1300, + "RadicalDegreeBottomRaisePercent": 60, + "MathLeading": 154, + "AxisHeight": 250, + "AccentBaseHeight": 450, + "FlattenedAccentBaseHeight": 664, + "SubscriptShiftDown": 247, + "SubscriptTopMax": 344, + "SubscriptBaselineDropMin": 200, + "SuperscriptShiftUp": 363, + "SuperscriptShiftUpCramped": 289, + "SuperscriptBottomMin": 108, + "SuperscriptBaselineDropMax": 250, + "SubSuperscriptGapMin": 160, + "SuperscriptBottomMaxWithSubscript": 344, + "SpaceAfterScript": 56, + "UpperLimitGapMin": 200, + "UpperLimitBaselineRiseMin": 111, + "LowerLimitGapMin": 167, + "LowerLimitBaselineDropMin": 600, + "StackTopShiftUp": 444, + "StackTopDisplayStyleShiftUp": 677, + "StackBottomShiftDown": 345, + "StackBottomDisplayStyleShiftDown": 686, + "StackGapMin": 120, + "StackDisplayStyleGapMin": 280, + "StretchStackTopShiftUp": 111, + "StretchStackBottomShiftDown": 600, + "StretchStackGapAboveMin": 200, + "StretchStackGapBelowMin": 167, + "FractionNumeratorShiftUp": 394, + "FractionNumeratorDisplayStyleShiftUp": 677, + "FractionDenominatorShiftDown": 345, + "FractionDenominatorDisplayStyleShiftDown": 686, + "FractionNumeratorGapMin": 40, + "FractionNumDisplayStyleGapMin": 120, + "FractionRuleThickness": 40, + "FractionDenominatorGapMin": 40, + "FractionDenomDisplayStyleGapMin": 120, + "SkewedFractionHorizontalGap": 350, + "SkewedFractionVerticalGap": 96, + "OverbarVerticalGap": 120, + "OverbarRuleThickness": 40, + "OverbarExtraAscender": 40, + "UnderbarVerticalGap": 120, + "UnderbarRuleThickness": 40, + "UnderbarExtraDescender": 40, + "RadicalVerticalGap": 50, + "RadicalDisplayStyleVerticalGap": 148, + "RadicalRuleThickness": 40, + "RadicalExtraAscender": 40, + "RadicalKernBeforeDegree": 278, + "RadicalKernAfterDegree": -556, + "MinConnectorOverlap": 20 }, - "v_variants" : { - "uni21A1" : [ - "uni21A1", - "uni21A1.v1" - ], - "uni230A" : [ - "uni230A", - "uni230A.v1", - "uni230A.v2", - "uni230A.v3", - "uni230A.v4", - "uni230A.v5", - "uni230A.v6", - "uni230A.v7" - ], - "uni22A4" : [ - "uni22A4", - "uni27D9" - ], - "uni2A02" : [ - "uni2A02", - "uni2A02.v1" - ], - "uni21A7" : [ - "uni21A7", - "uni21A7.v1" - ], - "parenleft" : [ + "v_variants": { + "parenleft": [ "parenleft", "parenleft.v1", "parenleft.v2", @@ -1040,114 +70,17 @@ "parenleft.v6", "parenleft.v7" ], - "uni2A05" : [ - "uni2A05", - "uni2A05.v1" - ], - "arrowdown" : [ - "arrowdown", - "arrowdown.v1" - ], - "uni21BE" : [ - "uni21BE", - "uni21BE.v1" - ], - "uni27E8" : [ - "uni27E8", - "uni27E8.v1", - "uni27E8.v2", - "uni27E8.v3", - "uni27E8.v4", - "uni27E8.v5", - "uni27E8.v6", - "uni27E8.v7" - ], - "uni21D6" : [ - "uni21D6", - "uni21D6.v1" - ], - "uni2210" : [ - "uni2210", - "uni2210.v1" - ], - "uni2198" : [ - "uni2198", - "uni2198.v1" - ], - "angleleft" : [ - "angleleft", - "uni27E8.v1", - "uni27E8.v2", - "uni27E8.v3", - "uni27E8.v4", - "uni27E8.v5", - "uni27E8.v6", - "uni27E8.v7" - ], - "uni21D9" : [ - "uni21D9", - "uni21D9.v1" - ], - "uni22C1" : [ - "uni22C1", - "uni22C1.v1" - ], - "radical" : [ - "radical", - "radical.v1", - "radical.v2", - "radical.v3", - "radical.v4" - ], - "uni27EA" : [ - "uni27EA", - "uni27EA.v1", - "uni27EA.v2", - "uni27EA.v3", - "uni27EA.v4", - "uni27EA.v5", - "uni27EA.v6", - "uni27EA.v7" - ], - "uni222D" : [ - "uni222D", - "uni222D.v1" - ], - "uni2B0D" : [ - "uni2B0D", - "uni2B0D.v1" - ], - "uni21F3" : [ - "uni21F3", - "uni21F3.v1" - ], - "arrowdblup" : [ - "arrowdblup", - "arrowdblup.v1" - ], - "uni21B2" : [ - "uni21B2", - "uni21B2.v1" - ], - "uni2230" : [ - "uni2230", - "uni2230.v1" - ], - "bracketright" : [ - "bracketright", - "bracketright.v1", - "bracketright.v2", - "bracketright.v3", - "bracketright.v4", - "bracketright.v5", - "bracketright.v6", - "bracketright.v7" - ], - "integral" : [ - "integral", - "integral.v1" + "parenright": [ + "parenright", + "parenright.v1", + "parenright.v2", + "parenright.v3", + "parenright.v4", + "parenright.v5", + "parenright.v6", + "parenright.v7" ], - "slash" : [ + "slash": [ "slash", "slash.v1", "slash.v2", @@ -1157,23 +90,17 @@ "slash.v6", "slash.v7" ], - "uni2233" : [ - "uni2233", - "uni2233.v1" - ], - "uni21E7" : [ - "uni21E7", - "uni21E7.v1" - ], - "uni22A3" : [ - "uni22A3", - "uni27DE" - ], - "uni2A01" : [ - "uni2A01", - "uni2A01.v1" + "bracketleft": [ + "bracketleft", + "bracketleft.v1", + "bracketleft.v2", + "bracketleft.v3", + "bracketleft.v4", + "bracketleft.v5", + "bracketleft.v6", + "bracketleft.v7" ], - "backslash" : [ + "backslash": [ "backslash", "backslash.v1", "backslash.v2", @@ -1183,121 +110,231 @@ "backslash.v6", "backslash.v7" ], - "uni2A04" : [ - "uni2A04", - "uni2A04.v1" + "bracketright": [ + "bracketright", + "bracketright.v1", + "bracketright.v2", + "bracketright.v3", + "bracketright.v4", + "bracketright.v5", + "bracketright.v6", + "bracketright.v7" ], - "uni27E7" : [ - "uni27E7", - "uni27E7.v1", - "uni27E7.v2", - "uni27E7.v3", - "uni27E7.v4", - "uni27E7.v5", - "uni27E7.v6", - "uni27E7.v7" + "braceleft": [ + "braceleft", + "braceleft.v1", + "braceleft.v2", + "braceleft.v3", + "braceleft.v4", + "braceleft.v5", + "braceleft.v6", + "braceleft.v7" ], - "uni21D5" : [ - "uni21D5", - "uni21D5.v1" + "bar": [ + "bar", + "divides.v1", + "divides.v2", + "divides.v3", + "divides.v4", + "divides.v5", + "divides.v6", + "divides.v7" ], - "uni2B07" : [ - "uni2B07", - "uni2B07.v1" + "braceright": [ + "braceright", + "braceright.v1", + "braceright.v2", + "braceright.v3", + "braceright.v4", + "braceright.v5", + "braceright.v6", + "braceright.v7" ], - "uni2197" : [ - "uni2197", - "uni2197.v1" + "fraction": [ + "fraction", + "fraction.v1", + "fraction.v2", + "fraction.v3", + "fraction.v4", + "fraction.v5", + "fraction.v6", + "fraction.v7" ], - "angleright" : [ - "angleright", - "uni27E9.v1", - "uni27E9.v2", - "uni27E9.v3", - "uni27E9.v4", - "uni27E9.v5", - "uni27E9.v6", - "uni27E9.v7" + "arrowup": [ + "arrowup", + "arrowup.v1" ], - "uni21D8" : [ - "uni21D8", - "uni21D8.v1" + "arrowdown": [ + "arrowdown", + "arrowdown.v1" ], - "uni22C0" : [ - "uni22C0", - "uni22C0.v1" + "arrowupdn": [ + "arrowupdn", + "arrowupdn.v1" ], - "contourintegral" : [ - "contourintegral", - "contourintegral.v1" + "uni2196": [ + "uni2196", + "uni2196.v1" ], - "parallel" : [ - "parallel", - "parallel.v1", - "parallel.v2", - "parallel.v3", - "parallel.v4", - "parallel.v5", - "parallel.v6", - "parallel.v7" + "uni2199": [ + "uni2199", + "uni2199.v1" ], - "uni21C3" : [ - "uni21C3", - "uni21C3.v1" + "uni2197": [ + "uni2197", + "uni2197.v1" ], - "uni22C3" : [ - "uni22C3", - "uni22C3.v1" + "uni2198": [ + "uni2198", + "uni2198.v1" ], - "uni222C" : [ - "uni222C", - "uni222C.v1" + "uni219F": [ + "uni219F", + "uni219F.v1" ], - "bracketleft" : [ - "bracketleft", - "bracketleft.v1", - "bracketleft.v2", - "bracketleft.v3", - "bracketleft.v4", - "bracketleft.v5", - "bracketleft.v6", - "bracketleft.v7" + "uni21A1": [ + "uni21A1", + "uni21A1.v1" ], - "uni2A0C" : [ - "uni2A0C", - "uni2A0C.v1" + "uni21A5": [ + "uni21A5", + "uni21A5.v1" ], - "uni27EF" : [ - "uni27EF", - "uni27EF.v1", - "uni27EF.v2", - "uni27EF.v3", - "uni27EF.v4", - "uni27EF.v5", - "uni27EF.v6", - "uni27EF.v7" + "uni21A7": [ + "uni21A7", + "uni21A7.v1" ], - "uni222F" : [ - "uni222F", - "uni222F.v1" + "uni21B0": [ + "uni21B0", + "uni21B0.v1" ], - "uni219F" : [ - "uni219F", - "uni219F.v1" + "uni21B2": [ + "uni21B2", + "uni21B2.v1" ], - "uni21B1" : [ + "uni21B1": [ "uni21B1", "uni21B1.v1" ], - "uni21F5" : [ + "uni21B3": [ + "uni21B3", + "uni21B3.v1" + ], + "uni21BE": [ + "uni21BE", + "uni21BE.v1" + ], + "uni21C2": [ + "uni21C2", + "uni21C2.v1" + ], + "uni21BF": [ + "uni21BF", + "uni21BF.v1" + ], + "uni21C3": [ + "uni21C3", + "uni21C3.v1" + ], + "uni21C5": [ + "uni21C5", + "uni21C5.v1" + ], + "uni21F5": [ "uni21F5", "uni21F5.v1" ], - "uni2232" : [ - "uni2232", - "uni2232.v1" + "uni21C8": [ + "uni21C8", + "uni21C8.v1" + ], + "uni21CA": [ + "uni21CA", + "uni21CA.v1" + ], + "arrowdblup": [ + "arrowdblup", + "arrowdblup.v1" + ], + "arrowdbldown": [ + "arrowdbldown", + "arrowdbldown.v1" + ], + "uni21D5": [ + "uni21D5", + "uni21D5.v1" + ], + "uni21D6": [ + "uni21D6", + "uni21D6.v1" + ], + "uni21D9": [ + "uni21D9", + "uni21D9.v1" + ], + "uni21D7": [ + "uni21D7", + "uni21D7.v1" + ], + "uni21D8": [ + "uni21D8", + "uni21D8.v1" + ], + "uni21E7": [ + "uni21E7", + "uni21E7.v1" + ], + "uni21E9": [ + "uni21E9", + "uni21E9.v1" + ], + "uni21F3": [ + "uni21F3", + "uni21F3.v1" + ], + "uni2B06": [ + "uni2B06", + "uni2B06.v1" + ], + "uni2B07": [ + "uni2B07", + "uni2B07.v1" + ], + "uni2B0D": [ + "uni2B0D", + "uni2B0D.v1" + ], + "uni27EE": [ + "uni27EE", + "uni27EE.v1", + "uni27EE.v2", + "uni27EE.v3", + "uni27EE.v4", + "uni27EE.v5", + "uni27EE.v6", + "uni27EE.v7" + ], + "uni27EF": [ + "uni27EF", + "uni27EF.v1", + "uni27EF.v2", + "uni27EF.v3", + "uni27EF.v4", + "uni27EF.v5", + "uni27EF.v6", + "uni27EF.v7" + ], + "uni2308": [ + "uni2308", + "uni2308.v1", + "uni2308.v2", + "uni2308.v3", + "uni2308.v4", + "uni2308.v5", + "uni2308.v6", + "uni2308.v7" ], - "uni2309" : [ + "uni2309": [ "uni2309", "uni2309.v1", "uni2309.v2", @@ -1307,37 +344,17 @@ "uni2309.v6", "uni2309.v7" ], - "parenright" : [ - "parenright", - "parenright.v1", - "parenright.v2", - "parenright.v3", - "parenright.v4", - "parenright.v5", - "parenright.v6", - "parenright.v7" - ], - "arrowdbldown" : [ - "arrowdbldown", - "arrowdbldown.v1" - ], - "arrowupdn" : [ - "arrowupdn", - "arrowupdn.v1" - ], - "uni22A2" : [ - "uni22A2", - "uni27DD" - ], - "uni2A00" : [ - "uni2A00", - "uni2A00.v1" - ], - "uni21A5" : [ - "uni21A5", - "uni21A5.v1" + "uni230A": [ + "uni230A", + "uni230A.v1", + "uni230A.v2", + "uni230A.v3", + "uni230A.v4", + "uni230A.v5", + "uni230A.v6", + "uni230A.v7" ], - "uni230B" : [ + "uni230B": [ "uni230B", "uni230B.v1", "uni230B.v2", @@ -1347,19 +364,7 @@ "uni230B.v6", "uni230B.v7" ], - "uni22A5" : [ - "uni22A5", - "uni27D8" - ], - "uni21E9" : [ - "uni21E9", - "uni21E9.v1" - ], - "uni2A03" : [ - "uni2A03", - "uni2A03.v1" - ], - "uni27E6" : [ + "uni27E6": [ "uni27E6", "uni27E6.v1", "uni27E6.v2", @@ -1369,23 +374,27 @@ "uni27E6.v6", "uni27E6.v7" ], - "uni2A06" : [ - "uni2A06", - "uni2A06.v1" - ], - "uni21BF" : [ - "uni21BF", - "uni21BF.v1" - ], - "uni2B06" : [ - "uni2B06", - "uni2B06.v1" + "uni27E7": [ + "uni27E7", + "uni27E7.v1", + "uni27E7.v2", + "uni27E7.v3", + "uni27E7.v4", + "uni27E7.v5", + "uni27E7.v6", + "uni27E7.v7" ], - "uni2196" : [ - "uni2196", - "uni2196.v1" + "uni27E8": [ + "uni27E8", + "uni27E8.v1", + "uni27E8.v2", + "uni27E8.v3", + "uni27E8.v4", + "uni27E8.v5", + "uni27E8.v6", + "uni27E8.v7" ], - "uni27E9" : [ + "uni27E9": [ "uni27E9", "uni27E9.v1", "uni27E9.v2", @@ -1395,55 +404,17 @@ "uni27E9.v6", "uni27E9.v7" ], - "summation" : [ - "summation", - "summation.v1" - ], - "braceleft" : [ - "braceleft", - "braceleft.v1", - "braceleft.v2", - "braceleft.v3", - "braceleft.v4", - "braceleft.v5", - "braceleft.v6", - "braceleft.v7" - ], - "uni21D7" : [ - "uni21D7", - "uni21D7.v1" - ], - "uni2199" : [ - "uni2199", - "uni2199.v1" - ], - "fraction" : [ - "fraction", - "fraction.v1", - "fraction.v2", - "fraction.v3", - "fraction.v4", - "fraction.v5", - "fraction.v6", - "fraction.v7" - ], - "uni2A09" : [ - "uni2A09", - "uni2A09.v1" - ], - "product" : [ - "product", - "product.v1" - ], - "uni21C2" : [ - "uni21C2", - "uni21C2.v1" - ], - "uni22C2" : [ - "uni22C2", - "uni22C2.v1" + "uni27EA": [ + "uni27EA", + "uni27EA.v1", + "uni27EA.v2", + "uni27EA.v3", + "uni27EA.v4", + "uni27EA.v5", + "uni27EA.v6", + "uni27EA.v7" ], - "uni27EB" : [ + "uni27EB": [ "uni27EB", "uni27EB.v1", "uni27EB.v2", @@ -1453,47 +424,51 @@ "uni27EB.v6", "uni27EB.v7" ], - "uni21C5" : [ - "uni21C5", - "uni21C5.v1" - ], - "uni27EE" : [ - "uni27EE", - "uni27EE.v1", - "uni27EE.v2", - "uni27EE.v3", - "uni27EE.v4", - "uni27EE.v5", - "uni27EE.v6", - "uni27EE.v7" + "angleleft": [ + "angleleft", + "uni27E8.v1", + "uni27E8.v2", + "uni27E8.v3", + "uni27E8.v4", + "uni27E8.v5", + "uni27E8.v6", + "uni27E8.v7" ], - "uni21C8" : [ - "uni21C8", - "uni21C8.v1" + "angleright": [ + "angleright", + "uni27E9.v1", + "uni27E9.v2", + "uni27E9.v3", + "uni27E9.v4", + "uni27E9.v5", + "uni27E9.v6", + "uni27E9.v7" ], - "uni21B0" : [ - "uni21B0", - "uni21B0.v1" + "uni2A09": [ + "uni2A09", + "uni2A09.v1" ], - "arrowup" : [ - "arrowup", - "arrowup.v1" + "divides": [ + "divides", + "divides.v1", + "divides.v2", + "divides.v3", + "divides.v4", + "divides.v5", + "divides.v6", + "divides.v7" ], - "braceright" : [ - "braceright", - "braceright.v1", - "braceright.v2", - "braceright.v3", - "braceright.v4", - "braceright.v5", - "braceright.v6", - "braceright.v7" - ], - "uni21B3" : [ - "uni21B3", - "uni21B3.v1" + "parallel": [ + "parallel", + "parallel.v1", + "parallel.v2", + "parallel.v3", + "parallel.v4", + "parallel.v5", + "parallel.v6", + "parallel.v7" ], - "dblverticalbar" : [ + "dblverticalbar": [ "dblverticalbar", "parallel.v1", "parallel.v2", @@ -1503,4070 +478,475 @@ "parallel.v6", "parallel.v7" ], - "uni2231" : [ + "uni22A5": [ + "uni22A5", + "uni27D8" + ], + "uni22A4": [ + "uni22A4", + "uni27D9" + ], + "uni22A2": [ + "uni22A2", + "uni27DD" + ], + "uni22A3": [ + "uni22A3", + "uni27DE" + ], + "uni22C2": [ + "uni22C2", + "uni22C2.v1" + ], + "uni22C3": [ + "uni22C3", + "uni22C3.v1" + ], + "uni22C0": [ + "uni22C0", + "uni22C0.v1" + ], + "uni22C1": [ + "uni22C1", + "uni22C1.v1" + ], + "uni2A05": [ + "uni2A05", + "uni2A05.v1" + ], + "uni2A06": [ + "uni2A06", + "uni2A06.v1" + ], + "uni2A03": [ + "uni2A03", + "uni2A03.v1" + ], + "uni2A04": [ + "uni2A04", + "uni2A04.v1" + ], + "uni2A00": [ + "uni2A00", + "uni2A00.v1" + ], + "uni2A01": [ + "uni2A01", + "uni2A01.v1" + ], + "uni2A02": [ + "uni2A02", + "uni2A02.v1" + ], + "integral": [ + "integral", + "integral.v1" + ], + "uni222C": [ + "uni222C", + "uni222C.v1" + ], + "uni222D": [ + "uni222D", + "uni222D.v1" + ], + "uni2A0C": [ + "uni2A0C", + "uni2A0C.v1" + ], + "contourintegral": [ + "contourintegral", + "contourintegral.v1" + ], + "uni222F": [ + "uni222F", + "uni222F.v1" + ], + "uni2230": [ + "uni2230", + "uni2230.v1" + ], + "uni2231": [ "uni2231", "uni2231.v1" ], - "uni2A11" : [ + "uni2A11": [ "uni2A11", "uni2A11.v1" ], - "uni2308" : [ - "uni2308", - "uni2308.v1", - "uni2308.v2", - "uni2308.v3", - "uni2308.v4", - "uni2308.v5", - "uni2308.v6", - "uni2308.v7" + "uni2232": [ + "uni2232", + "uni2232.v1" ], - "uni21CA" : [ - "uni21CA", - "uni21CA.v1" + "uni2233": [ + "uni2233", + "uni2233.v1" ], - "bar" : [ - "bar", - "divides.v1", - "divides.v2", - "divides.v3", - "divides.v4", - "divides.v5", - "divides.v6", - "divides.v7" + "summation": [ + "summation", + "summation.v1" ], - "divides" : [ - "divides", - "divides.v1", - "divides.v2", - "divides.v3", - "divides.v4", - "divides.v5", - "divides.v6", - "divides.v7" + "product": [ + "product", + "product.v1" + ], + "uni2210": [ + "uni2210", + "uni2210.v1" + ], + "radical": [ + "radical", + "radical.v1", + "radical.v2", + "radical.v3", + "radical.v4" ] }, - "accents" : { - "u1D688" : 262, - "u1D753.sts" : 599, - "u1D726" : 570, - "u1D430.st" : 465, - "u1D403" : 283, - "u1D570" : 598, - "u1D537.sts" : 319, - "J.st" : 363, - "u1D7CE" : 287, - "u1D429.sts" : 339, - "u1D4AB" : 480, - "u1D76F" : 458, - "u1D44C" : 399, - "u1D4E6.st" : 671, - "Mu.sts" : 594, - "u1D5A5" : 310, - "u1D40C.st" : 607, - "u1D6AA.st" : 371, - "u1D526.st" : 187, - "u1D435.sts" : 543, - "u1D546" : 333, - "u1D70E.sts" : 408, - "u1D749.st" : 362, - "u1D751" : 465, - "u1D7B0" : 459, - "Rho" : 283, - "u1D49F.st" : 532, - "u1D5EE" : 264, - "u1D6CE.sts" : 360, - "u1D58F" : 159, - "uni20ED" : -264, - "u1D71A.sts" : 469, - "u1D441.sts" : 684, - "u1D62D" : 267, - "u1D79A" : 474, - "u1D451.st" : 496, - "u1D6E8" : 542, - "u1D689" : 268, - "zeta.st" : 270, - "u1D6DA.sts" : 508, - "u1D727" : 711, - "u1D5D0" : 341, - "u1D59D.sts" : 385, - "u1D404" : 350, - "u1D571" : 292, - "u1D48F.sts" : 428, - "u1D7CF" : 295, - "u1D50A.sts" : 719, - "u1D4AC" : 482, - "u1D6CB.st" : 318, - "u1D42D.st" : 214, - "u1D44D" : 485, - "u1D739.sts" : 460, - "uni03F1" : 249, - "u1D49B.sts" : 472, - "u1D70B.st" : 384, - "u1D5A6" : 407, - "u1D7B1" : 423, - "u1D6F9.sts" : 536, - "u1D752" : 415, - "u1D57B.st" : 544, - "acute.st" : 319, - "u1D745.sts" : 527, - "u1D472.st" : 663, - "M.sts" : 594, - "u1D5EF" : 128, - "r.st" : 213, - "u1D7FA" : 323, - "u1D6B8.st" : 375, - "u1D529.sts" : 330, - "u1D62E" : 454, - "u1D750.st" : 352, - "u1D79B" : 627, - "u1D6E9" : 498, - "u1D751.sts" : 612, - "u1D4E9.sts" : 575, - "u1D5D1" : 225, - "u1D728" : 615, - "omicron.st" : 285, - "u1D535.sts" : 342, - "u1D405" : 342, - "u1D44E.st" : 325, - "Z.sts" : 424, - "u1D572" : 633, - "u1D610" : 287, - "u1D427.sts" : 354, - "u1D6EC.st" : 568, - "u1D72C.st" : 545, - "uni2131.st" : 785, - "u1D7CE.sts" : 379, - "u1D44E" : 287, - "u1D400.st" : 484, - "Mu" : 458, - "uni2128.st" : 211, - "Zeta" : 316, - "u1D59C.st" : 197, - "u1D433.sts" : 343, - "u1D5A7" : 354, - "u1D70C.sts" : 467, - "u1D493.st" : 337, - "u1D7B2" : 231, - "g.sts" : 441, - "u1D753" : 482, - "u1D6D9.st" : 458, - "u1D6CC.sts" : 187, - "u1D430" : 415, - "u1D58F.sts" : 280, - "eight" : 261, - "u1D719.st" : 471, - "u1D7FB" : 262, - "uni20EE" : -264, - "u1D62F" : 315, - "u1D79C" : 535, - "u1D46F.st" : 671, - "u1D59B.sts" : 282, - "u1D589.st" : 225, - "Theta.sts" : 513, - "uni2017" : 252, - "t.sts" : 225, - "u1D5D2" : 230, - "u1D48D.sts" : 241, - "u1D729" : 544, - "u1D74D.st" : 592, - "u1D406" : 579, - "u1D52A.st" : 389, - "u1D573" : 496, - "u1D611" : 493, - "u1D421.st" : 158, - "caron.st" : 285, - "u1D4AE" : 451, - "u1D737.sts" : 575, - "u1D44F" : 165, - "Phi.st" : 404, - "u1D65A" : 365, - "u1D4D7.st" : 814, - "u1D5A8" : 139, - "u1D6F7.sts" : 553, - "hungarumlaut.sts" : 370, - "u1D743.sts" : 409, - "u1D7B3" : 369, - "u1D754" : 400, - "u1D517.st" : 756, - "u1D431" : 296, - "u1D527.sts" : 253, - "u1D7FC" : 317, - "u1D419.sts" : 475, - "u1D79D" : 503, - "u1D47A" : 561, - "Q.st" : 438, - "u1D4E7.sts" : 663, - "dotlessj.fra" : 135, - "u1D442.st" : 552, - "u1D6E0.st" : 335, - "u1D533.sts" : 258, - "u1D5D3" : 221, - "u1D407" : 450, - "u1D574" : 400, - "u1D425.sts" : 200, - "u1D720.st" : 562, - "u1D612" : 515, - "uni03C2" : 237, - "uni2111.st" : 399, - "rho.sts" : 371, - "u1D4AF" : 500, - "u1D6BE.sts" : 537, - "u1D590.st" : 251, - "u1D6BA" : 401, - "u1D70A.sts" : 352, - "u1D431.sts" : 392, - "u1D6BC.st" : 501, - "u1D41E.st" : 309, - "u1D65B" : 437, - "u1D7D6.st" : 331, - "uni2124" : 333, - "u1D5A9" : 345, - "u1D7B4" : 307, - "u1D6CA.sts" : 181, - "u1D755" : 530, - "u1D58D.sts" : 336, - "u1D432" : 303, - "e.st" : 272, - "u1D47F.sts" : 718, - "u1D56C.st" : 547, - "uni20EF" : -264, - "u1D4AE.sts" : 502, - "space_uni0326.sts" : 332, - "u1D463.st" : 337, - "u1D7FD" : 78, - "u1D79E" : 536, - "u1D4DA" : 745, - "uni03D6.st" : 471, - "u1D47B" : 434, - "u1D6A9.st" : 378, - "u1D729.sts" : 672, - "u1D741.st" : 430, - "u1D48B.sts" : 486, - "u1D5D4" : 366, - "u1D408" : 218, - "u1D575" : 267, - "space_uni0323" : 138, - "u1D6E9.sts" : 634, - "u1D613" : 287, - "u1D780" : 283, - "u1D735.sts" : 640, - "u1D6DD.st" : 391, - "u1D43F.st" : 395, - "grave.st" : 250, - "u1D6BB" : 400, - "u1D71D.st" : 552, - "u1D519.sts" : 619, - "u1D65C" : 437, - "dotlessj.frab" : 150, - "u1D6F5.sts" : 539, - "u1D741.sts" : 485, - "y.st" : 300, - "u1D7B5" : 362, - "u1D58D.st" : 247, - "u1D4D9.sts" : 698, - "u1D484.st" : 404, - "u1D756" : 366, - "u1D525.sts" : 299, - "u1D433" : 259, - "u1D417.sts" : 537, - "u1D7FE" : 262, - "u1D79F" : 535, - "u1D4DB" : 689, - "u1D4E5.sts" : 472, - "u1D47C" : 473, - "u1D531.sts" : 372, - "u1D51A" : 540, - "u1D423.sts" : 268, - "u1D5D5" : 297, - "u1D4DB.st" : 722, - "circumflexbelowcmb" : -264, - "u1D6FE.st" : 300, - "u1D409" : 348, - "u1D576" : 538, - "u1D7E0" : 277, - "u1D614" : 585, - "u1D73E.st" : 216, - "eight.sts" : 354, - "u1D51B.st" : 468, - "u1D6BC.sts" : 581, - "u1D781" : 278, - "u1D6B0.st" : 240, - "u1D412.st" : 417, - "u1D57F.sts" : 715, - "nabla.sts" : 577, - "u1D6BC" : 447, - "u1D65D" : 273, - "dbloverlinecmb" : -264, - "u1D58B.sts" : 398, - "u1D7B6" : 376, - "Omicron" : 389, - "u1D757" : 327, - "u1D47D.sts" : 628, - "dotlessi.sso" : 211, - "u1D4AC.sts" : 536, - "u1D434" : 550, - "alpha" : 356, - "u1D508.st" : 594, - "u1D7FF" : 262, - "u1D4DC" : 757, - "u1D727.sts" : 876, - "D.st" : 282, - "u1D47D" : 476, - "I.sts" : 247, - "u1D51B" : 408, - "u1D5D6" : 433, - "u1D6E7.sts" : 616, - "u1D6D1.st" : 379, - "u1D433.st" : 291, - "u1D577" : 519, - "u1D733.sts" : 585, - "u1D7E1" : 276, - "u1D615" : 502, - "u1D782" : 375, - "u1D711.st" : 405, - "Delta.st" : 469, - "uni211A" : 333, - "u1D517.sts" : 903, - "u1D6BD" : 410, - "V.sts" : 490, - "u1D6F3.sts" : 634, - "uni03F4" : 389, - "u1D4E9.st" : 556, - "u1D581.st" : 542, - "u1D409.sts" : 477, - "u1D65E" : 269, - "u1D6AD.st" : 409, - "u1D40F.st" : 334, - "u1D4D7.sts" : 848, - "u1D529.st" : 251, - "u1D7B7" : 406, - "u1D523.sts" : 363, - "u1D758" : 313, - "u1D415.sts" : 557, - "X.st" : 406, - "u1D435" : 420, - "uni20D0" : -264, - "u1D640" : 481, - "brevebelowcmb" : -264, - "u1D4E3.sts" : 651, - "c.sts" : 358, - "partialdiff" : 291, - "u1D4DD" : 686, - "u1D6AE.sts" : 577, - "u1D6F2.st" : 504, - "dotlessi.mrmb" : 160, - "u1D47E" : 637, - "Sigma" : 350, - "u1D421.sts" : 196, - "dotlessi.mitb.sts" : 277, - "u1D51C" : 406, - "u1D454.st" : 361, - "zeta.sts" : 346, - "u1D5D7" : 301, - "u1D732.st" : 634, - "u1D578" : 658, - "mu.sts" : 358, - "u1D7E2" : 256, - "u1D6BA.sts" : 525, - "u1D616" : 519, - "u1D57D.sts" : 655, - "u1D783" : 387, - "u1D460" : 296, - "p.sts" : 289, - "u1D46F.sts" : 758, - "Psi.sts" : 510, - "u1D6CE.st" : 296, - "u1D6BE" : 418, - "pi.st" : 333, - "u1D4AB.st" : 516, - "u1D65F" : 292, - "uni2126" : 360, - "Alpha.st" : 421, - "l.st" : 131, - "u1D70E.st" : 331, - "u1D719.sts" : 550, - "u1D7B8" : 391, - "u1D47B.sts" : 569, - "uni03F1.st" : 292, - "u1D759" : 458, - "u1D4AA.sts" : 586, - "u1D57E.st" : 532, - "u1D436" : 596, - "tilde.st" : 285, - "dotlessj.frab.sts" : 270, - "u1D475.st" : 670, - "u1D641" : 473, - "Iota.sts" : 247, - "mu" : 237, - "u1D6A0" : 262, - "u1D6D9.sts" : 545, - "u1D725.sts" : 749, - "u1D4DE" : 594, - "u1D753.st" : 526, - "u1D530.st" : 282, - "u1D47F" : 584, - "u1D509.sts" : 402, - "u1D68A" : 215, - "u1D6E5.sts" : 746, - "u1D5D8" : 336, - "u1D731.sts" : 594, - "six.st" : 360, - "u1D579" : 515, - "u1D6EF.st" : 545, - "u1D7E3" : 260, - "u1D617" : 406, - "u1D784" : 376, - "u1D461" : 225, - "u1D6F1.sts" : 682, - "uni211B" : 532, - "u1D72F.st" : 481, - "u1D407.sts" : 577, - "u1D6BF" : 442, - "uni03F5" : 242, - "Nu.sts" : 490, - "u1D403.st" : 324, - "u1D4D5.sts" : 713, - "u1D59F.st" : 266, - "u1D521.sts" : 295, - "u1D496.st" : 391, - "u1D7B9" : 506, - "u1D413.sts" : 521, - "u1D437" : 427, - "u1D6A1" : 258, - "uni20D1" : -264, - "u1D4E1.sts" : 644, - "u1D642" : 575, - "uni210C.sts" : 604, - "u1D6AC.sts" : 471, - "u1D56F.sts" : 618, - "u1D4DF" : 566, - "dotlessj.mitb" : 282, - "u1D6EA" : 347, - "u1D51E" : 329, - "u1D68B" : 90, - "u1D5D9" : 328, - "Phi" : 358, - "u1D57B.sts" : 657, - "u1D7E4" : 242, - "u1D52D.st" : 175, - "Xi" : 333, - "u1D618" : 519, - "u1D6C2.st" : 343, - "u1D46D.sts" : 630, - "u1D424.st" : 149, - "Kappa" : 378, - "u1D462" : 305, - "u1D785" : 337, - "uni2130.sts" : 503, - "Tau.sts" : 479, - "u1D702.st" : 318, - "uni2127" : 362, - "dotlessi.st" : 162, - "u1D717.sts" : 558, - "uni03D1.st" : 338, - "u1D572.st" : 677, - "u1D6D7.sts" : 470, - "K.st" : 430, - "u1D438" : 483, - "u1D6A2" : 263, - "u1D723.sts" : 677, - "u1D643" : 543, - "u1D507.sts" : 585, - "u1D6E3.sts" : 588, - "u1D6EB" : 545, - "u1D51F" : 189, - "u1D68C" : 306, - "u1D6E3.st" : 508, - "u1D445.st" : 444, - "u1D498.sts" : 598, - "u1D72A" : 529, - "phi.st" : 356, - "u1D7E5" : 243, - "u1D513.sts" : 620, - "u1D619" : 404, - "u1D723.st" : 598, - "u1D786" : 395, - "u1D463" : 294, - "u1D405.sts" : 457, - "uni211C" : 430, - "three.sts" : 322, - "u1D593.st" : 292, - "u1D4D3.sts" : 592, - "u1D6BF.st" : 494, - "hungarumlaut" : 274, - "u1D411.sts" : 378, - "u1D54A" : 291, - "breve.sts" : 340, - "circumflex" : 250, - "u1D439" : 475, - "u1D6A3" : 260, - "uni20D2" : -264, - "u1D6AA.sts" : 441, - "u1D644" : 312, - "u1D56D.sts" : 680, - "u1D56F.st" : 499, - "u1D466.st" : 340, - "u1D45F.sts" : 382, - "u1D4E1.st" : 622, - "u1D6EC" : 517, - "u1D68D" : 351, - "u1D744.st" : 329, - "u1D521.st" : 216, - "macron" : 251, - "u1D72B" : 614, - "two" : 240, - "u1D709.sts" : 384, - "uni211C.st" : 486, - "u1D7E6" : 323, - "acute.sts" : 379, - "u1D49A.st" : 391, - "u1D46B.sts" : 588, - "E.sts" : 426, - "u1D787" : 500, - "u1D7D7.sts" : 349, - "s.st" : 264, - "u1D464" : 405, - "u1D6C9.sts" : 396, - "u1D715.sts" : 482, - "uni2128" : 164, - "u1D5AA" : 367, - "u1D54B" : 305, - "u1D6D5.sts" : 372, - "R.sts" : 323, - "u1D598.sts" : 397, - "u1D721.sts" : 656, - "u1D487.st" : 553, - "u1D6A4" : 168, - "u1D645" : 501, - "uni03D1.sts" : 433, - "u1D505.sts" : 627, - "u1D6E1.sts" : 634, - "u1D6ED" : 625, - "u1D496.sts" : 465, - "u1D68E" : 271, - "u1D72C" : 495, - "u1D511.sts" : 640, - "u1D4DE.st" : 625, - "u1D7E7" : 249, - "u1D403.sts" : 389, - "u1D788" : 366, - "u1D465" : 329, - "u1D51E.st" : 390, - "uni211D" : 247, - "u1D4D1.sts" : 604, - "u1D670" : 262, - "u1D6B3.st" : 607, - "breve.st" : 285, - "u1D415.st" : 484, - "nabla" : 416, - "dotlessj.tt" : 263, - "l.sts" : 167, - "u1D5AB" : 139, - "u1D54C" : 361, - "u1D6A5" : 275, - "uni20D3" : -264, - "u1D646" : 543, - "u1D45D.sts" : 362, - "u1D490" : 367, - "u1D6EE" : 542, - "y.sts" : 357, - "u1D68F" : 340, - "u1D707.sts" : 454, - "u1D72D" : 542, - "dotlessi.fra.st" : 174, - "u1D40A" : 438, - "u1D436.st" : 661, - "u1D4B1.st" : 438, - "u1D6D4.st" : 397, - "u1D789" : 290, - "u1D7D5.sts" : 185, - "u1D6C7.sts" : 387, - "u1D7E8" : 334, - "Upsilon" : 389, - "u1D466" : 304, - "u1D6D0" : 288, - "u1D713.sts" : 623, - "u1D504" : 443, - "u1D671" : 189, - "u1D714.st" : 394, - "R.st" : 271, - "u1D46A.st" : 723, - "u1D584.st" : 531, - "u1D5AC" : 437, - "u1D6D3.sts" : 386, - "u1D596.sts" : 555, - "u1D54D" : 305, - "u1D488.sts" : 444, - "u1D647" : 311, - "u1D491" : 296, - "A" : 375, - "u1D494.sts" : 422, - "B" : 256, - "u1D6EF" : 494, - "C" : 507, - "u1D457.st" : 398, - "u1D4D2.st" : 548, - "D" : 243, - "u1D6F5.st" : 447, - "E" : 315, - "u1D72E" : 565, - "F" : 308, - "u1D735.st" : 543, - "u1D401.sts" : 408, - "kappa.sts" : 370, - "G" : 507, - "u1D512.st" : 393, - "H" : 375, - "u1D40B" : 232, - "f.st" : 293, - "I" : 181, - "dotlessi.fra.sts" : 241, - "eta" : 218, - "u1D467" : 336, - "J" : 317, - "u1D48B.st" : 433, - "K" : 378, - "u1D505" : 442, - "u1D672" : 362, - "L" : 193, - "u1D6D1" : 329, - "u1D710" : 306, - "M" : 458, - "u1D4AE.st" : 484, - "u1D44F.sts" : 230, - "N" : 375, - "u1D7E9" : 250, - "uni030A" : -264, - "O" : 388, - "u1D5AD" : 354, - "P" : 250, - "u1D54E" : 416, - "Q" : 388, - "R" : 234, - "S" : 330, - "uni20D4" : -264, - "u1D45B.sts" : 398, - "T" : 361, - "Alpha.sts" : 490, - "u1D648" : 635, - "U" : 375, - "u1D478.st" : 582, - "V" : 375, - "u1D492" : 410, - "u1D6B9.sts" : 580, - "W" : 514, - "u1D530" : 223, - "X" : 361, - "gamma.sts" : 428, - "u1D533.st" : 180, - "Y" : 375, - "u1D705.sts" : 445, - "u1D7D1.st" : 319, - "Z" : 317, - "z.st" : 258, - "u1D72F" : 430, - "u1D7D3.sts" : 376, - "u1D40C" : 546, - "u1D6C5.sts" : 362, - "u1D588.sts" : 448, - "u1D711.sts" : 484, - "u1D468" : 608, - "u1D6D2" : 284, - "u1D673" : 165, - "a" : 214, - "u1D4A9.sts" : 708, - "u1D50F.st" : 502, - "b" : 100, - "u1D711" : 355, - "u1D6A4.st" : 188, - "c" : 249, - "Omega.sts" : 478, - "u1D594.sts" : 473, - "d" : 377, - "u1D406.st" : 644, - "e" : 236, - "u1D5AE" : 367, - "u1D486.sts" : 471, - "u1D54F" : 333, - "f" : 262, - "u1D499.st" : 393, - "u1D4B5.sts" : 434, - "grave.sts" : 302, - "g" : 332, - "h" : 104, - "Mu.st" : 514, - "beta" : 280, - "u1D6A8" : 433, - "i" : 138, - "u1D43A.st" : 661, - "j" : 156, - "u1D649" : 543, - "u1D6D1.sts" : 453, - "k" : 100, - "u1D75A" : 336, - "u1D492.sts" : 519, - "u1D493" : 282, - "l" : 105, - "xi" : 196, - "m" : 350, - "u1D531" : 229, - "n" : 211, - "o" : 249, - "chi" : 267, - "p" : 202, - "theta.st" : 291, - "q" : 318, - "nu.sts" : 328, - "r" : 181, - "u1D57A" : 401, - "u1D40D" : 450, - "s" : 232, - "u1D7CE.st" : 323, - "t" : 161, - "u1D6C5.st" : 301, - "u1D427.st" : 291, - "u1D469" : 477, - "u" : 245, - "u1D4A2.st" : 544, - "delta" : 232, - "u1D507" : 407, - "u1D674" : 254, - "A.sts" : 489, - "three.st" : 282, - "E.st" : 362, - "u1D44D.sts" : 620, - "u1D6D3" : 276, - "u1D705.st" : 371, - "u1D712" : 331, - "uni030B" : -240, - "uni2127.st" : 409, - "u1D5AF" : 259, - "dotlessi.ssbo" : 223, - "uni2130.st" : 484, - "u1D45B.st" : 313, - "u1D7BA" : 373, - "u1D575.st" : 305, - "uni03D6.sts" : 572, - "v" : 264, - "u1D75B" : 343, - "w" : 361, - "x" : 258, - "uni20D5" : -264, - "uni210E.st" : 238, - "u1D6A9" : 334, - "y" : 264, - "z" : 226, - "Iota.st" : 207, - "u1D6B7.sts" : 577, - "N.sts" : 490, - "u1D494" : 324, - "u1D703.sts" : 422, - "u1D532" : 268, - "Epsilon.st" : 365, - "u1D7D1.sts" : 375, - "uni03F5.st" : 291, - "u1D6E6.st" : 536, - "u1D6C3.sts" : 432, - "u1D5DA" : 428, - "u1D448.st" : 469, - "u1D586.sts" : 531, - "u1D57B" : 502, - "u1D40E" : 431, - "Y.st" : 421, - "u1D478.sts" : 670, - "u1D726.st" : 618, - "u1D6D4" : 348, - "u1D508" : 524, - "u1D675" : 260, - "u1D47C.st" : 521, - "u1D592.sts" : 550, - "nine" : 242, - "u1D596.st" : 449, - "u1D713" : 469, - "u1D484.sts" : 467, - "u1D4B3.sts" : 627, - "Eta.st" : 421, - "u1D7BB" : 370, - "u1D75C" : 397, - "uni212D.sts" : 693, - "h.sts" : 166, - "u1D490.sts" : 475, - "asteriskmath" : 250, - "u1D495" : 254, - "u1D469.st" : 526, - "u1D4E4.st" : 523, - "u1D533" : 134, - "m.st" : 403, - "u1D43F.sts" : 455, - "u1D40A.st" : 492, - "u1D747.st" : 247, - "u1D524.st" : 404, - "u1D5DB" : 397, - "two.sts" : 328, - "u1D57C" : 401, - "u.sts" : 341, - "u1D40F" : 293, - "beta.sts" : 407, - "u1D61A" : 442, - "uni2110.st" : 505, - "u1D6D5" : 272, - "u1D44B.sts" : 667, - "u1D509" : 254, - "u1D676" : 335, - "u1D714" : 345, - "u1D6A9.sts" : 450, - "uni2130" : 450, - "u1D7BC" : 462, - "u1D75D" : 429, - "uni20D6" : -264, - "three" : 258, - "u1D43A" : 596, - "u1D6B5.sts" : 500, - "dotaccent.sts" : 201, - "u1D578.sts" : 829, - "u1D701.sts" : 419, - "u1D496" : 345, - "u1D42B.st" : 242, - "u1D534" : 127, - "dieresis" : 253, - "uni03D5.st" : 374, - "u1D6C1.sts" : 637, - "u1D584.sts" : 644, - "u1D5DC" : 166, - "u1D74F.sts" : 524, - "u1D476.sts" : 670, - "u1D57D" : 500, - "u1D4A5.sts" : 636, - "u1D61B" : 484, - "u1D470.st" : 407, - "u1D6D6" : 288, - "u1D590.sts" : 341, - "u1D677" : 262, - "u1D6B6.st" : 483, - "u1D418.st" : 484, - "u1D482.sts" : 433, - "u1D715" : 361, - "u1D4B1.sts" : 461, - "Tau" : 361, - "u1D7BD" : 475, - "u1D75E" : 166, - "u1D6EA.st" : 381, - "u1D44C.st" : 456, - "uni211C.sts" : 613, - "u1D43B" : 542, - "u1D72A.st" : 584, - "u1D497" : 332, - "ring.sts" : 489, - "u1D535" : 204, - "u1D43D.sts" : 627, - "u1D740" : 263, - "u1D59A.st" : 355, - "u1D491.st" : 354, - "u1D5DD" : 356, - "u1D57E" : 490, - "L.st" : 220, - "u1D6D7.st" : 402, - "u1D439.st" : 528, - "u1D4B4.st" : 418, - "u1D61C" : 490, - "u1D6D7" : 356, - "u1D717.st" : 461, - "u1D678" : 263, - "sigma.st" : 351, - "u1D716" : 269, - "u1D46D.st" : 555, - "u1D560" : 235, - "u1D587.st" : 336, - "dieresis.st" : 285, - "gamma" : 293, - "uni2131" : 718, - "u1D7BE" : 468, - "u1D74B.st" : 447, - "u1D75F" : 394, - "u1D6B3.sts" : 697, - "uni20D7" : -264, - "u1D576.sts" : 697, - "u1D43C" : 347, - "u1D468.sts" : 748, - "dotlessi.ds" : 139, - "u1D498" : 460, - "u1D536" : 128, - "dotlessj.ss" : 147, - "u1D7A0" : 457, - "u1D582.sts" : 812, - "u1D741" : 396, - "u1D6F8.st" : 580, - "u1D4D5.st" : 686, - "u1D74D.sts" : 688, - "u1D474.sts" : 878, - "u1D5DE" : 398, - "u1D57F" : 554, - "u1D738.st" : 334, - "Nu" : 375, - "u1D61D" : 481, - "u1D78A" : 269, - "u1D6D8" : 311, - "u1D48E.st" : 543, - "dotlessi.ssb" : 128, - "u1D679" : 347, - "u1D480.sts" : 606, - "u1D717" : 411, - "u1D5C0" : 324, - "u1D561" : 391, - "u1D440.st" : 688, - "u1D7BF" : 428, - "u1D42F.sts" : 400, - "u1D43D" : 487, - "t.st" : 184, - "uni210B.sts" : 795, - "Theta" : 389, - "u1D499" : 359, - "u1D43B.sts" : 684, - "u1D537" : 185, - "u1D7A1" : 573, - "u1D6BA.st" : 450, - "u1D41C.st" : 357, - "u1D742" : 336, - "u1D536.st" : 174, - "u1D7D4.st" : 374, - "J.sts" : 432, - "u1D5DF" : 165, - "u1D7EA" : 249, - "u1D61E" : 620, - "u1D78B" : 475, - "u1D6D9" : 403, - "u1D6A5.sts" : 346, - "u1D461.st" : 260, - "u1D718" : 365, - "u1D5C1" : 119, - "W.sts" : 664, - "u1D409.st" : 399, - "overlinecmb" : -264, - "u1D562" : 236, - "u1D600" : 226, - "u1D6B1.sts" : 574, - "Kappa.st" : 430, - "u1D574.sts" : 545, - "uni03F0.st" : 350, - "uni20D8" : -264, - "u1D73F.sts" : 460, - "u1D466.sts" : 420, - "u1D43E" : 545, - "u1D6DB.st" : 389, - "u1D43D.st" : 539, - "breveinvertedcmb" : -264, - "gamma.st" : 344, - "u1D580.sts" : 704, - "u1D538" : 305, - "d.sts" : 506, - "u1D6FF.sts" : 437, - "u1D71B.st" : 522, - "u1D472.sts" : 751, - "u1D743" : 315, - "u1D74B.sts" : 512, - "u1D7A2" : 535, - "u1D420" : 358, - "u1D58B.st" : 303, - "lambda.sts" : 177, - "u1D52F.sts" : 337, - "u1D482.st" : 373, - "u1D7EB" : 244, - "uni2102" : 335, - "u1D61F" : 467, - "u1D6C8.st" : 303, - "u1D4A5.st" : 613, - "q.sts" : 424, - "u1D719" : 423, - "u1D5C2" : 120, - "u1D708.st" : 338, - "u1D563" : 346, - "u1D42D.sts" : 244, - "u1D601" : 155, - "u1D6FC.st" : 446, - "u1D45E.st" : 396, - "u1D578.st" : 703, - "u1D43F" : 360, - "u1D73C.st" : 374, - "u1D64A" : 546, - "six.sts" : 428, - "u1D410.st" : 483, - "u1D539" : 247, - "S.st" : 372, - "u1D7A3" : 501, - "space_uni0331.st" : 285, - "u1D744" : 293, - "u1D421" : 134, - "u1D6E9.st" : 539, - "uni03D1" : 291, - "u1D7EC" : 275, - "u1D78D" : 365, - "uni030F" : -288, - "u1D729.st" : 593, - "u1D46A" : 658, - "u1D458.sts" : 283, - "Omega.st" : 407, - "u1D47F.st" : 636, - "u1D5C3" : 140, - "u1D599.st" : 330, - "uni2133" : 702, - "u1D564" : 187, - "u1D572.sts" : 799, - "u1D602" : 281, - "chi.sts" : 397, - "four" : 353, - "u1D464.sts" : 542, - "u1D431.st" : 334, - "u1D73D.sts" : 449, - "g.st" : 374, - "u1D6AA" : 327, - "u1D64B" : 434, - "u1D6FD.sts" : 549, - "dotlessi.mitb.st" : 221, - "u1D470.sts" : 456, - "u1D7A4" : 570, - "u1D4E7.st" : 638, - "u1D745" : 387, - "u1D422" : 160, - "u1D6AB.st" : 536, - "u1D52D.sts" : 250, - "u1D527.st" : 189, - "u1D40D.st" : 501, - "u1D7ED" : 282, - "u1D41F.sts" : 404, - "u1D78E" : 283, - "eta.st" : 263, - "u1D46B" : 465, - "dieresis.sts" : 340, - "dotlessi.frab" : 141, - "Chi.st" : 406, - "Omicron.st" : 438, - "u1D5C4" : 120, - "u1D42B.sts" : 290, - "u1D452.st" : 340, - "u1D6F0.st" : 539, - "u1D565" : 139, - "tilde" : 251, - "u1D603" : 250, - "u1D770" : 388, - "u1D730.st" : 497, - "dotaccent.st" : 162, - "dotlessi.mrmb.st" : 182, - "u1D6AB" : 479, - "u1D64C" : 546, - "u1D6CC.st" : 144, - "u1D42E.st" : 338, - "u1D7A5" : 532, - "u1D746" : 406, - "u1D70C.st" : 397, - "uni211B.st" : 575, - "four.st" : 394, - "u1D423" : 189, - "u1D590" : 215, - "u1D7EE" : 259, - "u1D57C.st" : 441, - "u1D78F" : 566, - "u1D72F.sts" : 564, - "u1D456.sts" : 351, - "u1D46C" : 515, - "u1D473.st" : 421, - "u1D50A" : 518, - "Psi.st" : 435, - "u1D6B9.st" : 500, - "u1D751.st" : 523, - "u1D5C5" : 119, - "u1D570.sts" : 762, - "u1D6EF.sts" : 632, - "u1D566" : 263, - "u1D7D0" : 277, - "u1D73B.sts" : 450, - "u1D462.sts" : 421, - "u1D604" : 372, - "u1D771" : 306, - "u1D6ED.st" : 688, - "u1D44F.st" : 189, - "u1D51F.sts" : 324, - "u1D6AC" : 351, - "u1D6FB.sts" : 579, - "u1D64D" : 441, - "u1D72D.st" : 598, - "u1D50A.st" : 586, - "F.st" : 354, - "u1D7A6" : 514, - "u1D4DF.sts" : 613, - "u1D401.st" : 340, - "u1D747" : 212, - "u1D5F0" : 285, - "u1D52B.sts" : 368, - "u1D59D.st" : 292, - "u1D424" : 126, - "u1D591" : 293, - "u1D494.st" : 386, - "u1D41D.sts" : 585, - "u1D7EF" : 279, - "F.sts" : 417, - "u1D46D" : 507, - "u1D5C6" : 359, - "hungarumlaut.st" : 310, - "u1D567" : 235, - "u1D7D1" : 282, - "nu" : 209, - "u1D605" : 244, - "u1D772" : 395, - "psi" : 348, - "u1D74E.st" : 447, - "Z.st" : 359, - "u1D52B.st" : 279, - "S.sts" : 439, - "u1D6AD" : 364, - "u1D6C0.st" : 465, - "u1D422.st" : 182, - "u1D64E" : 460, - "u1D700.st" : 325, - "u1D448.sts" : 552, - "u1D7A7" : 571, - "u1D748" : 343, - "u1D5F1" : 433, - "u1D425" : 136, - "u1D570.st" : 642, - "u1D592" : 405, - "u1D4D8.st" : 581, - "u1D630" : 345, - "dotlessj.fra.sts" : 259, - "beta.st" : 331, - "u1D454.sts" : 419, - "u1D518.st" : 453, - "one" : 257, - "u1D72D.sts" : 677, - "tilde.sts" : 340, - "u1D46E" : 658, - "Beta" : 286, - "u1D6ED.sts" : 787, - "u1D5C7" : 220, - "n.st" : 249, - "u1D460.sts" : 404, - "u1D568" : 333, - "u1D7D2" : 414, - "u1D606" : 251, - "u1D443.st" : 462, - "u1D6E1.st" : 540, - "m.sts" : 476, - "u1D773" : 269, - "u1D450" : 317, - "grave" : 219, - "u1D721.st" : 579, - "u1D6AE" : 450, - "space_uni030F" : 226, - "u1D40F.sts" : 398, - "sigma.sts" : 437, - "u1D64F" : 511, - "u1D4DD.sts" : 748, - "u1D591.st" : 330, - "u1D7A8" : 535, - "u1D6BD.st" : 459, - "u1D5F2" : 266, - "u1D41B.sts" : 183, - "u1D41F.st" : 347, - "u1D749" : 318, - "u1D426" : 418, - "u1D593" : 255, - "u1D7D7.st" : 310, - "z.sts" : 309, - "u1D631" : 322, - "space_uni0331.sts" : 340, - "circumflexcmb" : -264, - "u1D46F" : 616, - "uni212A" : 378, - "u1D56D.st" : 566, - "eta.sts" : 339, - "u1D50D" : 222, - "u1D67A" : 255, - "u1D464.st" : 461, - "u1D5C8" : 249, - "Phi.sts" : 475, - "u1D569" : 236, - "u1D7D3" : 290, - "u1D742.st" : 373, - "u1D607" : 242, - "u1D4B0" : 432, - "u1D774" : 272, - "uni03D5.sts" : 462, - "u1D451" : 442, - "u1D6AF" : 445, - "dotlessi.mitb" : 185, - "u1D6DE.st" : 395, - "u1D71F.sts" : 800, - "u1D446.sts" : 635, - "u1D49A" : 345, - "uni212D.st" : 567, - "u1D7A9" : 529, - "u1D71E.st" : 536, - "u1D5F3" : 289, - "u1D6DF.sts" : 505, - "u1D427" : 257, - "u1D594" : 334, - "u1D72B.sts" : 754, - "u1D632" : 395, - "u1D452.sts" : 415, - "u1D58E.st" : 202, - "u1D485.st" : 565, - "uni03C2.st" : 282, - "u1D50F.sts" : 622, - "u1D6DA" : 373, - "u1D6EB.sts" : 695, - "u1D50E" : 465, - "u1D67B" : 153, - "u1D5C9" : 228, - "u1D7D4" : 335, - "u1D608" : 481, - "u1D51B.sts" : 587, - "u1D4B1" : 397, - "u1D775" : 297, - "u1D6FF.st" : 373, - "u1D452" : 300, - "M.st" : 514, - "u1D4DC.st" : 795, - "u1D40D.sts" : 577, - "dotlessj.fra.st" : 195, - "uni212C.sts" : 532, - "u1D73F.st" : 395, - "u1D4DB.sts" : 751, - "u1D51C.st" : 464, - "u1D6B1.st" : 492, - "u1D49B" : 379, - "u1D413.st" : 448, - "u1D5F4" : 340, - "u1D428" : 287, - "Tau.st" : 407, - "u1D595" : 177, - "u1D633" : 301, - "uni2112.sts" : 720, - "u1D6DB" : 339, - "u1D509.st" : 305, - "u1D50F" : 437, - "u1D67C" : 262, - "five.sts" : 347, - "a.st" : 244, - "one.sts" : 352, - "u1D71A" : 361, - "u1D438.sts" : 621, - "u1D7D5" : 124, - "uni2126.st" : 407, - "u1D609" : 403, - "u1D4B2" : 549, - "u1D776" : 369, - "u1D453" : 464, - "u1D6D2.st" : 329, - "eight.st" : 296, - "u1D434.st" : 604, - "uni20E1" : -264, - "u1D71D.sts" : 629, - "Nu.st" : 421, - "u1D444.sts" : 648, - "tildebelowcmb" : -264, - "u1D712.st" : 367, - "u1D49C" : 702, - "u1D6DD.sts" : 469, - "u1D5F5" : 127, - "u1D582.st" : 687, - "u1D450.sts" : 437, - "Epsilon" : 318, - "u1D429" : 241, - "u1D6AE.st" : 501, - "u1D596" : 409, - "u1D634" : 310, - "uni03D5" : 320, - "uni03F4.st" : 438, - "u.st" : 285, - "u1D50D.sts" : 363, - "u1D6DC" : 295, - "macron.st" : 285, - "u1D67D" : 262, - "u1D49E.sts" : 523, - "Kappa.sts" : 500, - "four.sts" : 462, - "u1D71B" : 453, - "uni0323" : -265, - "B.sts" : 351, - "u1D6F3.st" : 539, - "u1D4D0.st" : 807, - "u1D7D6" : 299, - "u1D777" : 283, - "u1D4B3" : 556, - "u1D40B.sts" : 289, - "u1D748.sts" : 454, - "u1D454" : 316, - "u1D733.st" : 498, - "u1D510.st" : 624, - "uni211B.sts" : 598, - "u1D754.sts" : 486, - "u1D6CF.st" : 278, - "O.sts" : 514, - "u1D53B" : 247, - "u1D4AC.st" : 516, - "u1D5F6" : 128, - "u1D597" : 242, - "u1D70F.st" : 314, - "chi.st" : 314, - "u1D635" : 260, - "omicron.sts" : 341, - "Gamma.sts" : 402, - "u1D57F.st" : 597, - "delta.sts" : 348, - "uni212C" : 479, - "u1D6DD" : 340, - "u1D476.st" : 582, - "u1D67E" : 262, - "u1D70F.sts" : 391, - "u1D436.sts" : 768, - "u1D71C" : 609, - "u1D754.st" : 452, - "u1D531.st" : 289, - "u1D7D7" : 281, - "u1D778" : 141, - "u1D4B4" : 397, - "u1D6CF.sts" : 347, - "uni03F1.sts" : 372, - "u1D71B.sts" : 625, - "u1D660" : 274, - "u1D442.sts" : 648, - "i.sts" : 201, - "u1D49E" : 462, - "u1D6DB.sts" : 469, - "u1D50D.st" : 275, - "u1D53C" : 334, - "u1D59E.sts" : 289, - "uni2128.sts" : 294, - "u1D404.st" : 396, - "u1D5F7" : 151, - "uni03D6" : 404, - "psi.st" : 405, - "u1D598" : 266, - "u1D497.st" : 364, - "u1D636" : 351, - "u1D480" : 460, - "v.sts" : 357, - "u1D49C.sts" : 806, - "u1D6DE" : 344, - "u1D67F" : 193, - "T.st" : 407, - "space_uni0326" : 246, - "u1D71D" : 502, - "u1D7D8" : 277, - "u1D746.sts" : 485, - "u1D779" : 278, - "u1D4B5" : 396, - "u1D456" : 247, - "lambda.st" : 121, - "u1D6C0" : 415, - "u1D661" : 274, - "u1D52E.st" : 397, - "u1D6C3.st" : 360, - "u1D425.st" : 161, - "dotlessi.sts" : 202, - "u1D752.sts" : 546, - "sigma" : 300, - "u1D49F" : 496, - "u1D53D" : 334, - "u1D703.st" : 349, - "u1D536.sts" : 251, - "u1D5F8" : 128, - "u1D599" : 292, - "u1D428.sts" : 378, - "u1D573.st" : 539, - "u1D637" : 324, - "u1D4E0" : 557, - "u1D7CF.sts" : 392, - "h.st" : 129, - "u1D481" : 533, - "uni212D" : 497, - "u1D6DF" : 371, - "u1D70D.sts" : 289, - "u1D434.sts" : 693, - "u1D71E" : 490, - "dotlessj.mrmb.sts" : 238, - "u1D7D9" : 277, - "u1D6CD.sts" : 382, - "u1D6E4.st" : 512, - "u1D446.st" : 547, - "u1D440.sts" : 788, - "u1D457" : 359, - "u1D6C1" : 479, - "space_uni0326.st" : 278, - "u1D662" : 503, - "u1D724.st" : 406, - "u1D700" : 284, - "seven.sts" : 158, - "u1D59C.sts" : 283, - "seven.st" : 123, - "u1D47A.st" : 610, - "u1D594.st" : 373, - "u1D53E" : 335, - "u1D48E.sts" : 630, - "u1D5F9" : 128, - "u1D638" : 435, - "u1D4E1" : 594, - "five.st" : 291, - "u1D738.sts" : 399, - "u1D482" : 336, - "u1D49A.sts" : 464, - "u1D520" : 269, - "u1D6F8.sts" : 666, - "u1D467.st" : 376, - "u1D4E2.st" : 523, - "u1D71F" : 647, - "u1D744.sts" : 390, - "upsilon.sts" : 367, - "u1D745.st" : 444, - "u1D522.st" : 301, - "u1D528.sts" : 317, - "u1D458" : 213, - "u1D6C2" : 392, - "u1D663" : 350, - "u1D49B.st" : 415, - "u1D750.sts" : 408, - "u1D701" : 313, - "u1D4E8.sts" : 476, - "u1D534.sts" : 250, - "u1D426.sts" : 556, - "u1D74A" : 353, - "u1D639" : 319, - "kappa" : 247, - "u1D4E2" : 502, - "u1D6BF.sts" : 573, - "u1D483" : 225, - "u1D488.st" : 379, - "u1D70B.sts" : 462, - "u1D521" : 165, - "u1D432.sts" : 402, - "Omega" : 360, - "G.st" : 568, - "u1D6CB.sts" : 388, - "u1D56A" : 235, - "u1D58E.sts" : 288, - "Zeta.st" : 358, - "u1D459" : 184, - "u1D6C3" : 329, - "u1D4AF.sts" : 566, - "u1D4DF.st" : 591, - "u1D664" : 373, - "omicron" : 250, - "space_uni0323.st" : 162, - "u1D702" : 272, - "u1D59A.sts" : 453, - "u1D51F.st" : 239, - "u1D48C.sts" : 282, - "u1D6B4.st" : 501, - "u1D416.st" : 661, - "u1D7AA" : 478, - "u1D74B" : 406, - "u1D736.sts" : 451, - "u1D4E3" : 599, - "K.sts" : 500, - "u1D44A.st" : 625, - "u1D484" : 365, - "u1D522" : 243, - "u1D6F6.sts" : 535, - "u1D742.sts" : 432, - "uni0326" : -268, - "u1D5CA" : 299, - "u1D56B" : 236, - "u1D526.sts" : 255, - "X.sts" : 473, - "circumflex.st" : 285, - "u1D418.sts" : 557, - "u1D6C4" : 340, - "u1D665" : 335, - "Xi.st" : 377, - "u1D4B2.st" : 609, - "u1D437.st" : 477, - "u1D4E6.sts" : 704, - "dotlessj.sso" : 239, - "dotlessj.mitb.st" : 304, - "dotlessi.frab.sts" : 260, - "u1D532.sts" : 419, - "tau.st" : 275, - "delta.st" : 275, - "u1D6D5.st" : 311, - "u1D703" : 310, - "u1D715.st" : 405, - "u1D424.sts" : 183, - "u1D7AB" : 446, - "o.st" : 284, - "u1D74C" : 370, - "u1D46B.st" : 509, - "u1D585.st" : 230, - "e.sts" : 329, - "dotlessi.tt" : 263, - "u1D6BD.sts" : 533, - "u1D4E4" : 497, - "Eta" : 375, - "u1D430.sts" : 541, - "u1D485" : 512, - "u1D690" : 332, - "u1D523" : 222, - "psi.sts" : 498, - "u1D58C.sts" : 554, - "u1D5CB" : 205, - "epsilon.sts" : 373, - "r.sts" : 260, - "u1D56C" : 505, - "u1D47E.sts" : 829, - "u1D458.st" : 238, - "u1D4D3.st" : 573, - "u1D60A" : 559, - "dotlessj.mrmb.st" : 200, - "dotlessi.fra" : 120, - "u1D6F6.st" : 443, - "u1D6C5" : 264, - "uni20E5" : -263, - "u1D736.st" : 385, - "u1D666" : 440, - "u1D513.st" : 494, - "u1D728.sts" : 756, - "u1D704" : 184, - "u1D48A.sts" : 383, - "u1D48C.st" : 248, - "u1D7AC" : 489, - "u1D6E8.sts" : 683, - "u1D4AF.st" : 541, - "u1D74D" : 530, - "alpha.st" : 416, - "u1D734.sts" : 710, - "u1D42A" : 369, - "uni2133.sts" : 802, - "u1D4E5" : 427, - "u1D518.sts" : 566, - "u1D486" : 340, - "u1D6F0" : 498, - "u1D6F4.sts" : 656, - "u1D691" : 90, - "u1D524" : 339, - "u1D740.sts" : 321, - "iota.sts" : 184, - "u1D479.st" : 499, - "u1D4D8.sts" : 602, - "u1D5CC" : 214, - "u1D524.sts" : 504, - "u1D41A.st" : 264, - "u1D56D" : 523, - "u1D534.st" : 161, - "u1D7D2.st" : 451, - "u1D416.sts" : 759, - "space_uni0309.st" : 290, - "u1D60B" : 400, - "u1D6C6" : 273, - "u1D4E4.sts" : 548, - "u1D667" : 313, - "partialdiff.st" : 343, - "u1D6AF.sts" : 580, - "u1D530.sts" : 364, - "u1D705" : 331, - "u1D422.sts" : 218, - "Rho.sts" : 384, - "dotlessi" : 139, - "uni2133.st" : 766, - "u1D7AD" : 415, - "u1D6A5.st" : 289, - "u1D407.st" : 501, - "u1D74E" : 398, - "Chi" : 361, - "u1D6BB.sts" : 521, - "u1D57E.sts" : 644, - "u1D42B" : 216, - "N.st" : 421, - "u1D4E6" : 632, - "six" : 318, - "u1D487" : 516, - "u1D6F1" : 541, - "Lambda" : 347, - "u1D692" : 263, - "u1D525" : 168, - "u1D43B.st" : 596, - "u1D730" : 443, - "u1D58A.sts" : 416, - "tau.sts" : 350, - "u1D5CD" : 141, - "u1D47C.sts" : 599, - "uni2140" : 333, - "u1D56E" : 584, - "u1D4AB.sts" : 535, - "u1D60C" : 464, - "u1D6C7" : 267, - "u1D726.sts" : 699, - "uni20E6" : -264, - "u1D480.st" : 518, - "u1D668" : 325, - "caronbelowcmb" : -264, - "u1D7CF.st" : 332, - "u1D706" : 238, - "u1D6C6.st" : 314, - "u1D428.st" : 323, - "u1D550" : 305, - "u1D6E6.sts" : 620, - "b.st" : 124, - "u1D732.sts" : 716, - "u1D7AE" : 365, - "u1D706.st" : 266, - "u1D74F" : 415, - "u1D42C" : 265, - "u1D6FA.st" : 588, - "u1D45C.st" : 356, - "u1D516.sts" : 583, - "u1D4E7" : 610, - "u1D576.st" : 581, - "u1D6F2.sts" : 583, - "uni2110" : 469, - "u1D488" : 339, - "u1D408.sts" : 275, - "u1D6F2" : 454, - "u1D73A.st" : 356, - "u1D693" : 319, - "u1D526" : 132, - "u1D4D6.sts" : 617, - "u1D731" : 463, - "u1D522.sts" : 388, - "u1D5CE" : 258, - "u1D414.sts" : 567, - "u1D56F" : 458, - "uni20DB" : -264, - "u1D60D" : 457, - "breveinvertedbelowcmb" : -264, - "u1D77A" : 169, - "u1D4E2.sts" : 542, - "u1D6E7.st" : 531, - "u1D449.st" : 471, - "u1D6C8" : 256, - "u1D6AD.sts" : 476, - "u1D669" : 278, - "v.st" : 300, - "u1D420.sts" : 481, - "u1D5B0" : 367, - "u1D707" : 349, - "u1D504.st" : 507, - "u1D727.st" : 776, - "u1D47D.st" : 536, - "u1D7AF" : 447, - "u1D597.st" : 279, - "u1D57C.sts" : 546, - "u1D42D" : 194, - "u1D46E.sts" : 825, - "u1D59A" : 317, - "u1D4E8" : 448, - "dotlessi.frab.st" : 176, - "u1D489" : 228, - "u1D6F3" : 498, - "u1D527" : 130, - "u1D694" : 94, - "u1D718.sts" : 491, - "u1D732" : 584, - "G.sts" : 658, - "u1D47A.sts" : 692, - "u1D5CF" : 230, - "u1D4E5.st" : 451, - "u1D7DA" : 287, - "u1D6D8.sts" : 429, - "mu.st" : 281, - "u1D60E" : 554, - "u1D724.sts" : 454, - "u1D40B.st" : 253, - "u1D748.st" : 386, - "u1D525.st" : 216, - "u1D6C9" : 275, - "u1D77B" : 271, - "u1D49E.st" : 503, - "u1D508.sts" : 726, - "u1D5B1" : 257, - "u1D6E4.sts" : 594, - "T.sts" : 479, - "u1D708" : 297, - "u1D552" : 236, - "u1D730.sts" : 580, - "u1D499.sts" : 449, - "u1D450.st" : 364, - "u1D5FA" : 406, - "u1D514.sts" : 502, - "u1D42E" : 296, - "u1D59B" : 160, - "A.st" : 421, - "Zeta.sts" : 424, - "u1D406.sts" : 738, - "u1D4E9" : 533, - "u1D6F0.sts" : 634, - "uni2111" : 337, - "seven" : 103, - "u1D6F4" : 514, - "uni2111.sts" : 501, - "u1D4D4.sts" : 546, - "u1D528" : 183, - "u1D695" : 178, - "a.sts" : 284, - "u1D520.sts" : 419, - "rho" : 243, - "space_uni0309.sts" : 339, - "u1D733" : 444, - "u1D6CA.st" : 140, - "u1D410" : 431, - "u1D412.sts" : 484, - "u1D42C.st" : 287, - "uni20DC" : -264, - "u1D7DB" : 289, - "u1D4E0.sts" : 601, - "u1D70A.st" : 282, - "u1D60F" : 502, - "u1D77C" : 285, - "u1D6AB.sts" : 621, - "u1D56E.sts" : 747, - "macron.sts" : 340, - "n.sts" : 296, - "u1D57A.st" : 441, - "u1D709" : 285, - "u1D5B2" : 293, - "dotlessj" : 153, - "u1D471.st" : 570, - "u1D553" : 139, - "uni212C.st" : 514, - "U.st" : 421, - "u1D57A.sts" : 546, - "u1D419.st" : 408, - "u1D6B7.st" : 501, - "u1D5FB" : 253, - "u1D46C.sts" : 640, - "u1D59C" : 162, - "u1D42F" : 303, - "u1D63A" : 324, - "u1D6EB.st" : 605, - "u1D44D.st" : 534, - "u1D6F5" : 394, - "u1D716.sts" : 380, - "u1D529" : 195, - "u1D696" : 210, - "u1D734" : 580, - "upsilon" : 251, - "u1D72B.st" : 667, - "u1D411" : 281, - "u1D6D6.sts" : 384, - "u1D599.sts" : 427, - "u1D722.sts" : 756, - "u1D7DC" : 396, - "u1D59B.st" : 196, - "dotlessj.mitb.sts" : 347, - "u1D77D" : 256, - "u1D492.st" : 452, - "asterisk" : 398, - "u1D45A" : 404, - "uni20E8" : -264, - "i.st" : 162, - "u1D6E2.sts" : 696, - "u1D6D8.st" : 358, - "u1D4B5.st" : 421, - "u1D5B3" : 340, - "u1D554" : 238, - "u1D497.sts" : 436, - "u1D718.st" : 418, - "u1D512.sts" : 505, - "u1D5FC" : 274, - "u1D46E.st" : 723, - "u1D404.sts" : 467, - "u1D59D" : 255, - "u1D588.st" : 350, - "u1D63B" : 314, - "uni2112" : 634, - "u1D4D2.sts" : 571, - "u1D74C.st" : 409, - "u1D6F6" : 385, - "u1D697" : 191, - "u1D420.st" : 419, - "u1D410.sts" : 561, - "u1D735" : 483, - "u1D412" : 374, - "u1D7DD" : 278, - "u1D6F9.st" : 446, - "u1D56C.sts" : 661, - "u1D4D6.st" : 596, - "u1D77E" : 299, - "uni03F0.sts" : 422, - "u1D45B" : 265, - "u1D45E.sts" : 474, - "u1D739.st" : 407, - "u1D516.st" : 461, - "u1D5B4" : 344, - "uni210C.st" : 487, - "u1D555" : 424, - "u1D48F.st" : 365, - "u1D708.sts" : 405, - "u1D760" : 336, - "uni2127.sts" : 480, - "u1D46A.sts" : 825, - "u1D7D6.sts" : 393, - "u1D5FD" : 237, - "Sigma.sts" : 464, - "u1D59E" : 168, - "u1D441.st" : 596, - "u1D6C8.sts" : 369, - "u1D63C" : 511, - "u1D714.sts" : 484, - "u1D6F7" : 415, - "u1D698" : 262, - "u1D736" : 439, - "u1D6D4.sts" : 476, - "u1D597.sts" : 371, - "u1D413" : 400, - "Lambda.sts" : 455, - "u1D580" : 545, - "u1D720.sts" : 640, - "Alpha" : 374, - "u1D489.sts" : 282, - "u1D6BB.st" : 448, - "u1D41D.st" : 502, - "dotlessi.ss" : 119, - "u1D537.st" : 244, - "u1D77F" : 418, - "u1D7D5.st" : 146, - "u1D7DE" : 266, - "u1D504.sts" : 629, - "uni20E9" : -264, - "u1D45C" : 315, - "u1D6E0.sts" : 380, - "u1D495.sts" : 336, - "u1D5B5" : 333, - "u1D556" : 236, - "H.st" : 421, - "u1D7C0" : 487, - "u1D510.sts" : 776, - "u1D462.st" : 340, - "u1D761" : 489, - "u1D402.sts" : 738, - "u1D5FE" : 342, - "u1D6A8.st" : 484, - "u1D740.st" : 284, - "u1D59F" : 229, - "u1D4D0.sts" : 842, - "u1D63D" : 443, - "u1D6F8" : 528, - "u1D699" : 188, - "u1D6DC.st" : 339, - "u1D43E.st" : 606, - "u1D5E0" : 489, - "u1D737" : 483, - "u1D414" : 442, - "u1D581" : 500, - "caron" : 250, - "u1D71C.st" : 664, - "u1D7DF" : 277, - "u1D45C.sts" : 433, - "C.sts" : 659, - "tildecomb" : -264, - "u1D45D" : 246, - "u1D58C.st" : 449, - "u1D483.st" : 242, - "u1D5B6" : 472, - "u1D706.sts" : 317, - "u1D6C9.st" : 328, - "iota.st" : 128, - "u1D4A6.st" : 730, - "u1D557" : 225, - "u1D762" : 397, - "u1D7C1" : 643, - "u1D7D4.sts" : 465, - "lambda" : 86, - "u1D709.st" : 321, - "u1D5FF" : 216, - "P.sts" : 344, - "u1D589.sts" : 313, - "u1D6C6.sts" : 386, - "u1D712.sts" : 438, - "Pi.st" : 421, - "u1D45F.st" : 290, - "u1D63E" : 580, - "u1D579.st" : 557, - "u1D4DA.st" : 783, - "u1D6F9" : 392, - "u1D6FD.st" : 480, - "u1D6D2.sts" : 380, - "u1D73D.st" : 391, - "u1D51A.st" : 597, - "u1D595.sts" : 299, - "u1D5E1" : 397, - "u1D738" : 295, - "u1D411.st" : 317, - "u1D487.sts" : 608, - "u1D415" : 434, - "p.st" : 238, - "u1D582" : 643, - "u1D620" : 481, - "u1D45E" : 349, - "theta" : 247, - "u1D493.sts" : 395, - "u1D5B7" : 319, - "u1D507.st" : 465, - "u1D558" : 236, - "u1D7C2" : 472, - "u1D400.sts" : 557, - "j.sts" : 233, - "u1D763" : 366, - "u1D440" : 625, - "u1D63F" : 447, - "uni0300" : -295, - "u1D6D0.st" : 324, - "u1D432.st" : 341, - "u1D44E.sts" : 397, - "u1D710.st" : 353, - "u1D5E2" : 395, - "u1D739" : 376, - "w.sts" : 479, - "u1D416" : 594, - "u1D583" : 488, - "u1D621" : 458, - "u1D4E8.st" : 464, - "u1D580.st" : 588, - "u1D45A.sts" : 572, - "u1D6AC.st" : 397, - "u1D40E.st" : 483, - "u1D45F" : 247, - "u1D528.st" : 238, - "u1D6B8.sts" : 444, - "zero.sts" : 340, - "u1D66A" : 376, - "u1D704.sts" : 260, - "u1D5B8" : 333, - "Pi.sts" : 490, - "u1D559" : 139, - "u1D7C3" : 411, - "u1D7D2.sts" : 494, - "u1D764" : 394, - "u1D6C4.sts" : 466, - "u1D587.sts" : 432, - "u1D441" : 542, - "two.st" : 273, - "u1D453.st" : 506, - "u1D6F1.st" : 595, - "u1D710.sts" : 425, - "u1D479.sts" : 570, - "u1D731.st" : 513, - "nine.sts" : 335, - "u1D48A" : 282, - "u1D6D0.sts" : 379, - "u1D593.sts" : 386, - "u1D485.sts" : 642, - "u1D5E3" : 288, - "u1D4B4.sts" : 430, - "u1D417" : 418, - "u1D584" : 490, - "u1D42F.st" : 341, - "u1D4AA.st" : 562, - "u1D622" : 324, - "u1D6CD.st" : 315, - "uni0331" : -263, - "uni03F5.sts" : 371, - "Delta.sts" : 548, - "u1D70D.st" : 220, - "u1D491.sts" : 400, - "O.st" : 438, - "u1D6CA" : 115, - "u1D66B" : 343, - "u1D57D.st" : 542, - "u1D5B9" : 312, - "u1D474.st" : 777, - "caroncmb" : -264, - "u1D7C4" : 358, - "u1D765" : 397, - "u1D752.st" : 467, - "u1D442" : 495, - "uni2115" : 361, - "u1D44C.sts" : 548, - "uni0301" : -233, - "u1D48B" : 398, - "u1D6EE.st" : 596, - "u1D5E4" : 395, - "c.st" : 295, - "u1D418" : 434, - "u1D585" : 194, - "u1D72E.st" : 616, - "dotlessj.st" : 177, - "u1D402.st" : 644, - "u1D623" : 268, - "u1D790" : 513, - "uni210E.sts" : 283, - "u1D6B6.sts" : 561, - "u1D59E.st" : 203, - "u1D579.sts" : 672, - "u1D6CB" : 277, - "Psi" : 386, - "u1D495.st" : 282, - "u1D702.sts" : 397, - "u1D66C" : 466, - "Xi.sts" : 444, - "uni20F0" : -264, - "u1D70A" : 243, - "u1D7D0.sts" : 354, - "space_uni0323.sts" : 201, - "u1D7C5" : 615, - "u1D6C2.sts" : 420, - "u1D585.sts" : 319, - "Lambda.st" : 391, - "u1D4A2" : 506, - "u1D766" : 318, - "u1D443" : 416, - "u1D477.sts" : 570, - "u1D4A6.sts" : 763, - "Theta.st" : 438, - "u1D591.sts" : 427, - "w.st" : 407, - "u1D48C" : 228, - "u1D74F.st" : 456, - "u1D52C.st" : 316, - "u1D483.sts" : 273, - "u1D52A" : 337, - "u1D6C1.st" : 540, - "u1D423.st" : 222, - "u1D4B2.sts" : 643, - "u1D5E5" : 296, - "theta.sts" : 373, - "u1D419" : 364, - "u1D586" : 388, - "u1D701.st" : 352, - "u1D7F0" : 343, - "u1D624" : 359, - "u1D791" : 465, - "circumflex.sts" : 340, - "u1D4D9.st" : 674, - "u1D571.st" : 330, - "u1D6CC" : 118, - "phi" : 302, - "u1D66D" : 339, - "u1D519.st" : 492, - "u1D70B" : 328, - "u1D43E.sts" : 695, - "five" : 256, - "u1D767" : 429, - "u1D444" : 495, - "iota" : 98, - "u1D44A.sts" : 739, - "u1D6E2.st" : 606, - "u1D444.st" : 552, - "u1D48D" : 196, - "u1D6A8.sts" : 555, - "L.sts" : 261, - "u1D722.st" : 669, - "u1D52B" : 226, - "u1D5E6" : 310, - "dotlessj.ssb" : 158, - "u1D587" : 298, - "u1D7F1" : 269, - "u1D592.st" : 445, - "u1D625" : 544, - "u1D792" : 451, - "u1D6B4.sts" : 577, - "u1D6BE.st" : 465, - "u1D577.sts" : 676, - "u1D700.sts" : 397, - "B.st" : 296, - "u1D469.sts" : 599, - "u1D6CD" : 274, - "Y.sts" : 490, - "u1D66E" : 345, - "u1D70C" : 354, - "u1D6C0.sts" : 540, - "u1D583.sts" : 641, - "space_uni030F.st" : 260, - "u1D7C7" : 508, - "u1D56E.st" : 627, - "u1D74E.sts" : 525, - "u1D475.sts" : 757, - "nine.st" : 286, - "u1D465.st" : 359, - "u1D4E0.st" : 581, - "u1D768" : 397, - "u1D445" : 398, - "uni210B" : 695, - "u1D650" : 528, - "u1D743.st" : 350, - "u1D520.st" : 329, - "kappa.st" : 292, - "f.sts" : 358, - "u1D481.sts" : 662, - "u1D48E" : 478, - "u1D4B0.sts" : 501, - "u1D52C" : 258, - "Beta.sts" : 388, - "u1D5E7" : 367, - "V.st" : 421, - "u1D6DF.st" : 423, - "u1D588" : 312, - "u1D7F2" : 331, - "u1D626" : 333, - "u1D793" : 597, - "dbllowlinecmb" : -264, - "u1D71F.st" : 707, - "u1D470" : 383, - "s.sts" : 316, - "dotlessj.mrmb" : 176, - "u1D6CE" : 252, - "u1D58F.st" : 194, - "u1D66F" : 336, - "u1D43C.sts" : 441, - "u1D486.st" : 377, - "u1D70D" : 182, - "u1D7C8" : 373, - "u1D4A9.st" : 678, - "u1D4A5" : 568, - "u1D769" : 366, - "u1D446" : 498, - "u1D6B0" : 218, - "Rho.st" : 325, - "u1D651" : 511, - "j.st" : 186, - "u1D4DD.st" : 720, - "u1D48F" : 318, - "uni213C" : 258, - "u1D52D" : 128, - "u1D69A" : 316, - "u1D5E8" : 382, - "u1D6B2.st" : 449, - "u1D414.st" : 492, - "u1D6B2.sts" : 517, - "u1D589" : 189, - "u1D575.sts" : 399, - "u1D627" : 428, - "u1D4D0" : 768, - "u1D794" : 474, - "u1D7F3" : 275, - "u1D471" : 516, - "u1D467.sts" : 449, - "u1D6CF" : 235, - "u1D581.sts" : 655, - "u1D70E" : 286, - "u1D74C.sts" : 469, - "u1D473.sts" : 470, - "u1D7C9" : 672, - "u1D4A2.sts" : 564, - "omega.st" : 375, - "u1D4A6" : 668, - "uni210C" : 422, - "u1D447" : 398, - "u1D6B1" : 438, - "u1D652" : 663, - "dotlessj.frab.st" : 185, - "uni2110.sts" : 524, - "u1D6D3.st" : 317, - "u1D435.st" : 468, - "u1D4B0.st" : 476, - "u1D6FA" : 533, - "u1D52E" : 333, - "u1D69B" : 245, - "u1D5E9" : 366, - "u1D42E.sts" : 401, - "u1D713.st" : 527, - "u1D7F4" : 277, - "u1D628" : 419, - "u1D4D1" : 559, - "Sigma.st" : 395, - "u1D795" : 482, - "uni03C2.sts" : 359, - "u1D472" : 604, - "u1D583.st" : 529, - "u1D510" : 566, - "u1D43A.sts" : 767, - "u1D6AF.st" : 500, - "ring.st" : 421, - "u1D70F" : 269, - "uni2112.st" : 690, - "one.st" : 295, - "u1D448" : 421, - "u1D6B2" : 403, - "u1D6F4.st" : 566, - "u1D653" : 497, - "u1D4D1.st" : 584, - "u1D6A4.sts" : 249, - "u1D456.st" : 284, - "Delta" : 416, - "uni0304" : -263, - "u1D734.st" : 636, - "u1D459.sts" : 248, - "u1D511.st" : 511, - "u1D6FB" : 420, - "uni213D" : 236, - "u1D52F" : 200, - "u1D69C" : 302, - "I.st" : 207, - "u1D6B0.sts" : 275, - "u1D48A.st" : 323, - "u1D573.sts" : 651, - "u1D73A" : 322, - "u1D7F5" : 259, - "zeta" : 224, - "u1D73E.sts" : 253, - "u1D465.sts" : 431, - "pi.sts" : 410, - "u1D4D2" : 523, - "u1D629" : 267, - "u1D796" : 535, - "u1D473" : 396, - "breve" : 251, - "u1D511" : 453, - "u1D6FE.sts" : 374, - "u1D74A.sts" : 465, - "u1D471.sts" : 658, - "u1D55A" : 139, - "u1D477.st" : 499, - "u1D52E.sts" : 496, - "uni210D" : 361, - "u1D449" : 413, - "u1D6B3" : 546, - "u1D755.st" : 604, - "u1D532.st" : 324, - "u1D654" : 511, - "u1D7D0.st" : 295, - "u1D6FC" : 392, - "u1D69D" : 188, - "u1D42C.sts" : 338, - "u1D73B" : 347, - "u1D7F6" : 262, - "H.sts" : 490, - "u1D50E.st" : 531, - "u1D4D3" : 549, - "u1D797" : 573, - "u1D405.st" : 387, - "u1D474" : 712, - "u1D512" : 340, - "nu.st" : 255, - "u1D498.st" : 506, - "u1D5BA" : 228, - "Pi" : 375, - "u1D55B" : 249, - "ring" : 375, - "uni2126.sts" : 478, - "q.st" : 360, - "U.sts" : 490, - "u1D4A9" : 625, - "zero.st" : 286, - "Gamma.st" : 342, - "u1D6B4" : 450, - "u1D655" : 489, - "uni2119" : 247, - "u1D457.sts" : 464, - "space_uni0309" : 251, - "uni213E" : 333, - "u1D6FD" : 437, - "u1D52F.st" : 255, - "u1D69E" : 220, - "u1D571.sts" : 419, - "u1D6C4.st" : 388, - "u1D426.st" : 468, - "b.sts" : 160, - "u1D73C" : 319, - "u1D73C.sts" : 451, - "u1D463.sts" : 404, - "u1D7F7" : 277, - "xi.sts" : 311, - "u1D704.st" : 208, - "u1D4D4" : 504, - "u1D798" : 304, - "u1D475" : 616, - "u1D6FC.sts" : 531, - "u1D680" : 262, - "u1D45A.st" : 465, - "u1D513" : 436, - "u1D574.st" : 440, - "u1D5BB" : 120, - "o.sts" : 340, - "u1D55C" : 139, - "u1D52C.sts" : 407, - "uni210E" : 213, - "u1D41E.sts" : 358, - "u1D6B5" : 383, - "u1D656" : 363, - "u1D6E5.st" : 646, - "u1D447.st" : 452, - "u1D42A.sts" : 472, - "u1D6FE" : 259, - "Omicron.sts" : 513, - "upsilon.st" : 296, - "u1D69F" : 262, - "u1D725.st" : 661, - "u1D73D" : 343, - "u1D41A" : 231, - "u1D7F8" : 251, - "u1D47B.st" : 486, - "u1D595.st" : 213, - "u1D4D5" : 654, - "u1D799" : 534, - "phi.sts" : 441, - "u1D476" : 528, - "u1D6E0" : 278, - "u1D681" : 166, - "u1D514" : 338, - "u1D449.sts" : 565, - "u1D5BC" : 264, - "uni210B.st" : 761, - "u1D55D" : 139, - "brevecmb" : -264, - "u1D468.st" : 660, - "u1D4E3.st" : 627, - "u1D6B6" : 430, - "u1D72E.sts" : 700, - "u1D657" : 274, - "P.st" : 290, - "u1D746.st" : 444, - "u1D523.st" : 282, - "Chi.sts" : 473, - "uni213F" : 333, - "u1D6FF" : 335, - "Gamma" : 297, - "u1D6EE.sts" : 683, - "u1D49C.st" : 769, - "dotaccent" : 138, - "epsilon.st" : 292, - "u1D461.sts" : 324, - "u1D73A.sts" : 418, - "u1D73E" : 197, - "u1D41B" : 126, - "u1D7F9" : 248, - "u1D51E.sts" : 492, - "u1D4D6" : 572, - "u1D6FA.sts" : 684, - "u1D477" : 468, - "u1D6E1" : 473, - "u1D682" : 309, - "u1D720" : 514, - "u1D4DE.sts" : 650, - "u1D52A.sts" : 502, - "u1D489.st" : 248, - "u1D5BD" : 397, - "u1D55E" : 420, - "u1D41C.sts" : 417, - "d.st" : 431, - "u1D42A.st" : 411, - "u1D6B7" : 450, - "u1D658" : 384, - "u1D540" : 167, - "u1D73F" : 359, - "Upsilon.st" : 438, - "u1D41C" : 298, - "partialdiff.sts" : 430, - "u1D6B5.st" : 430, - "u1D417.st" : 465, - "uni20EA" : -264, - "u1D4D7" : 774, - "u1D478" : 528, - "u1D6E2" : 552, - "u1D516" : 405, - "u1D683" : 262, - "x.st" : 293, - "u1D721" : 528, - "u1D447.sts" : 544, - "rho.st" : 292, - "u1D44B.st" : 580, - "u1D5BE" : 238, - "dotlessj.ds" : 249, - "u1D55F" : 346, - "u1D76A" : 428, - "u1D72C.sts" : 623, - "u1D453.sts" : 576, - "u1D6B8" : 330, - "u1D659" : 578, - "uni0307" : -265, - "space_uni030F.sts" : 312, - "tau" : 232, - "u1D5A0" : 333, - "epsilon" : 244, - "u1D490.st" : 407, - "u1D6EC.sts" : 654, - "u1D541" : 471, - "u1D6D6.st" : 319, - "u1D438.st" : 536, - "u1D4B3.st" : 602, - "uni03F4.sts" : 513, - "u1D716.st" : 310, - "u1D58A" : 283, - "u1D51C.sts" : 585, - "u1D41D" : 444, - "u1D4D8" : 556, - "u1D40E.sts" : 561, - "u1D479" : 457, - "Upsilon.sts" : 514, - "u1D586.st" : 427, - "u1D46C.st" : 564, - "u1D517" : 672, - "u1D684" : 262, - "u1D4DC.sts" : 828, - "u1D6E3" : 457, - "D.sts" : 336, - "u1D722" : 615, - "u1D74A.st" : 389, - "u1D41A.sts" : 312, - "u1D5BF" : 280, - "u1D76B" : 394, - "u1D6B9" : 445, - "acute" : 281, - "C.st" : 567, - "u1D459.st" : 207, - "u1D4D4.st" : 528, - "u1D6F7.st" : 466, - "u1D5A1" : 256, - "Q.sts" : 514, - "u1D542" : 333, - "omega" : 322, - "dotlessj.ssbo" : 253, - "u1D737.st" : 507, - "u1D514.st" : 389, - "uni0338" : -263, - "u1D439.sts" : 612, - "u1D5EA" : 519, - "u1D48D.st" : 212, - "u1D58B" : 266, - "u1D41E" : 281, - "uni20EB" : -264, - "u1D4D9" : 645, - "u1D6E4" : 461, - "u1D71E.sts" : 609, - "u1D518" : 391, - "u1D685" : 262, - "u1D445.sts" : 515, - "u1D723" : 542, - "Beta.st" : 330, - "u1D400" : 434, - "u1D6DE.sts" : 474, - "W.st" : 575, - "u1D72A.sts" : 674, - "u1D451.sts" : 577, - "u1D76C" : 352, - "uni2131.sts" : 822, - "k.sts" : 160, - "u1D41B.st" : 149, - "u1D7D3.st" : 323, - "u1D50E.sts" : 654, - "alpha.sts" : 509, - "u1D535.st" : 262, - "u1D6EA.sts" : 441, - "u1D5A2" : 411, - "uni0308" : -261, - "pi" : 279, - "u1D543" : 167, - "u1D49F.sts" : 552, - "u1D51A.sts" : 745, - "u1D5EB" : 351, - "u1D460.st" : 334, - "u1D58C" : 408, - "u1D40C.sts" : 697, - "u1D41F" : 309, - "u1D62A" : 258, - "u1D749.sts" : 433, - "x.sts" : 350, - "dotlessi.mrmb.sts" : 218, - "u1D408.st" : 240, - "u1D4DA.sts" : 816, - "u1D6E5" : 586, - "xi.st" : 238, - "u1D519" : 435, - "u1D686" : 262, - "Iota" : 181, - "nabla.st" : 477, - "k.st" : 124, - "u1D724" : 382, - "u1D755.sts" : 708, - "u1D401" : 300, - "zero" : 254, - "omega.sts" : 469, - "u1D6DA.st" : 427, - "u1D43C.st" : 382, - "Eta.sts" : 490, - "u1D76D" : 425, - "u1D44A" : 552, - "u1D71A.st" : 398, - "u1D5A3" : 252, - "u1D58A.st" : 321, - "u1D544" : 361, - "u1D481.st" : 582, - "u1D437.sts" : 551, - "u1D6C7.st" : 313, - "u1D5EC" : 366, - "u1D429.st" : 280, - "u1D58D" : 211, - "uni20EC" : -264, - "space_uni0331" : 251, - "Epsilon.sts" : 428, - "u1D62B" : 278, - "u1D707.st" : 386, - "u1D71C.sts" : 752, - "u1D443.sts" : 535, - "u1D6E6" : 482, - "u1D687" : 253, - "u1D6FB.st" : 480, - "caron.sts" : 340, - "u1D45D.st" : 296, - "u1D577.st" : 562, - "u1D725" : 603, - "u1D6DC.sts" : 405, - "u1D402" : 580, - "u1D59F.sts" : 357, - "u1D73B.st" : 385, - "dotlessj.sts" : 219, - "lowlinecmb" : -264, - "u1D76E" : 392, - "u1D4AA" : 515, - "u1D44B" : 528, - "uni0309" : -263, - "uni03F0" : 297, - "u1D5A4" : 317, - "u1D6E8.st" : 596, - "u1D750" : 316, - "u1D728.st" : 669, - "u1D505.st" : 498, - "u1D5ED" : 344, - "u1D40A.sts" : 574, - "u1D747.sts" : 308, - "u1D58E" : 166, - "u1D47E.st" : 713, - "u1D62C" : 268, - "u1D598.st" : 303, - "u1D6E7" : 481 - }, - "v_assembly" : { - "divides" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "divides.bt", - "endConnector" : 601, - "startConnector" : 0, - "advance" : 1202, - "extender" : false - }, - { - "glyph" : "divides.ex", - "endConnector" : 1202, - "startConnector" : 1202, - "advance" : 1202, - "extender" : true - }, - { - "glyph" : "divides.tp", - "endConnector" : 0, - "startConnector" : 601, - "advance" : 1202, - "extender" : false - } - ] - }, - "uni230B" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni23A6", - "endConnector" : 500, - "startConnector" : 0, - "advance" : 1500, - "extender" : false - }, - { - "glyph" : "uni23A5", - "endConnector" : 1000, - "startConnector" : 1000, - "advance" : 1000, - "extender" : true - } - ] - }, - "uni21A7" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni21A7.bt", - "endConnector" : 166, - "startConnector" : 0, - "advance" : 498, - "extender" : false - }, - { - "glyph" : "uni21A7.ex", - "endConnector" : 332, - "startConnector" : 332, - "advance" : 332, - "extender" : true - }, - { - "glyph" : "uni21A7.tp", - "endConnector" : 0, - "startConnector" : 166, - "advance" : 498, - "extender" : false - } - ] - }, - "bracketright" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni23A6", - "endConnector" : 500, - "startConnector" : 0, - "advance" : 1500, - "extender" : false - }, - { - "glyph" : "uni23A5", - "endConnector" : 1000, - "startConnector" : 1000, - "advance" : 1000, - "extender" : true - }, - { - "glyph" : "uni23A4", - "endConnector" : 0, - "startConnector" : 500, - "advance" : 1500, - "extender" : false - } - ] - }, - "uni2B06" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni2B06.bt", - "endConnector" : 164, - "startConnector" : 0, - "advance" : 492, - "extender" : false - }, - { - "glyph" : "uni2B06.ex", - "endConnector" : 327, - "startConnector" : 327, - "advance" : 327, - "extender" : true - }, - { - "glyph" : "uni2B06.tp", - "endConnector" : 0, - "startConnector" : 164, - "advance" : 492, - "extender" : false - } - ] - }, - "arrowup" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "arrowup.bt", - "endConnector" : 169, - "startConnector" : 0, - "advance" : 506, - "extender" : false - }, - { - "glyph" : "arrowup.ex", - "endConnector" : 337, - "startConnector" : 337, - "advance" : 337, - "extender" : true - }, - { - "glyph" : "arrowup.tp", - "endConnector" : 0, - "startConnector" : 169, - "advance" : 505, - "extender" : false - } - ] - }, - "uni21CA" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni21CA.bt", - "endConnector" : 169, - "startConnector" : 0, - "advance" : 505, - "extender" : false - }, - { - "glyph" : "uni21CA.ex", - "endConnector" : 337, - "startConnector" : 337, - "advance" : 337, - "extender" : true - }, - { - "glyph" : "uni21CA.tp", - "endConnector" : 0, - "startConnector" : 169, - "advance" : 506, - "extender" : false - } - ] - }, - "uni21F5" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni21F5.bt", - "endConnector" : 172, - "startConnector" : 0, - "advance" : 514, - "extender" : false - }, - { - "glyph" : "uni21F5.ex", - "endConnector" : 343, - "startConnector" : 343, - "advance" : 343, - "extender" : true - }, - { - "glyph" : "uni21F5.tp", - "endConnector" : 0, - "startConnector" : 172, - "advance" : 515, - "extender" : false - } - ] - }, - "dblverticalbar" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "parallel.bt", - "endConnector" : 601, - "startConnector" : 0, - "advance" : 1202, - "extender" : false - }, - { - "glyph" : "parallel.ex", - "endConnector" : 1202, - "startConnector" : 1202, - "advance" : 1202, - "extender" : true - }, - { - "glyph" : "parallel.tp", - "endConnector" : 0, - "startConnector" : 601, - "advance" : 1202, - "extender" : false - } - ] - }, - "uni21A1" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni21A1.bt", - "endConnector" : 169, - "startConnector" : 0, - "advance" : 505, - "extender" : false - }, - { - "glyph" : "uni21A1.ex", - "endConnector" : 337, - "startConnector" : 337, - "advance" : 337, - "extender" : true - }, - { - "glyph" : "uni21A1.tp", - "endConnector" : 0, - "startConnector" : 169, - "advance" : 506, - "extender" : false - } - ] - }, - "uni27E6" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni27E6.bt", - "endConnector" : 500, - "startConnector" : 0, - "advance" : 1000, - "extender" : false - }, - { - "glyph" : "uni27E6.ex", - "endConnector" : 1000, - "startConnector" : 1000, - "advance" : 1000, - "extender" : true - }, - { - "glyph" : "uni27E6.tp", - "endConnector" : 0, - "startConnector" : 500, - "advance" : 1000, - "extender" : false - } - ] - }, - "uni27EF" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni27EF.bt", - "endConnector" : 499, - "startConnector" : 0, - "advance" : 1526, - "extender" : false - }, - { - "glyph" : "uni27EF.ex", - "endConnector" : 998, - "startConnector" : 998, - "advance" : 998, - "extender" : true - }, - { - "glyph" : "uni27EF.tp", - "endConnector" : 0, - "startConnector" : 499, - "advance" : 1526, - "extender" : false - } - ] - }, - "braceleft" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni23A9", - "endConnector" : 374, - "startConnector" : 0, - "advance" : 750, - "extender" : false - }, - { - "glyph" : "braceleft.ex", - "endConnector" : 748, - "startConnector" : 748, - "advance" : 748, - "extender" : true - }, - { - "glyph" : "uni23A8", - "endConnector" : 374, - "startConnector" : 374, - "advance" : 1500, - "extender" : false - }, - { - "glyph" : "braceleft.ex", - "endConnector" : 748, - "startConnector" : 748, - "advance" : 748, - "extender" : true - }, - { - "glyph" : "uni23A7", - "endConnector" : 0, - "startConnector" : 374, - "advance" : 750, - "extender" : false - } - ] - }, - "radical" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni23B7", - "endConnector" : 320, - "startConnector" : 0, - "advance" : 1820, - "extender" : false - }, - { - "glyph" : "radical.ex", - "endConnector" : 640, - "startConnector" : 640, - "advance" : 640, - "extender" : true - }, - { - "glyph" : "radical.tp", - "endConnector" : 0, - "startConnector" : 320, - "advance" : 620, - "extender" : false - } - ] - }, - "uni21D5" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni21D5.bt", - "endConnector" : 178, - "startConnector" : 0, - "advance" : 533, - "extender" : false - }, - { - "glyph" : "uni21D5.ex", - "endConnector" : 356, - "startConnector" : 356, - "advance" : 356, - "extender" : true - }, - { - "glyph" : "uni21D5.tp", - "endConnector" : 0, - "startConnector" : 178, - "advance" : 533, - "extender" : false - } - ] - }, - "uni21BF" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni21BF.bt", - "endConnector" : 171, - "startConnector" : 0, - "advance" : 512, - "extender" : false - }, - { - "glyph" : "uni21BF.ex", - "endConnector" : 341, - "startConnector" : 341, - "advance" : 341, - "extender" : true - }, - { - "glyph" : "uni21BF.tp", - "endConnector" : 0, - "startConnector" : 171, - "advance" : 513, - "extender" : false - } - ] - }, - "uni230A" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni23A3", - "endConnector" : 500, - "startConnector" : 0, - "advance" : 1500, - "extender" : false - }, - { - "glyph" : "uni23A2", - "endConnector" : 1000, - "startConnector" : 1000, - "advance" : 1000, - "extender" : true - } - ] - }, - "arrowdown" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "arrowdown.bt", - "endConnector" : 169, - "startConnector" : 0, - "advance" : 505, - "extender" : false - }, - { - "glyph" : "arrowdown.ex", - "endConnector" : 337, - "startConnector" : 337, - "advance" : 337, - "extender" : true - }, - { - "glyph" : "arrowdown.tp", - "endConnector" : 0, - "startConnector" : 169, - "advance" : 506, - "extender" : false - } - ] - }, - "uni21C5" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni21C5.bt", - "endConnector" : 172, - "startConnector" : 0, - "advance" : 515, - "extender" : false - }, - { - "glyph" : "uni21C5.ex", - "endConnector" : 343, - "startConnector" : 343, - "advance" : 343, - "extender" : true - }, - { - "glyph" : "uni21C5.tp", - "endConnector" : 0, - "startConnector" : 172, - "advance" : 514, - "extender" : false - } - ] - }, - "uni27EE" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni27EE.bt", - "endConnector" : 499, - "startConnector" : 0, - "advance" : 1526, - "extender" : false - }, - { - "glyph" : "uni27EE.ex", - "endConnector" : 998, - "startConnector" : 998, - "advance" : 998, - "extender" : true - }, - { - "glyph" : "uni27EE.tp", - "endConnector" : 0, - "startConnector" : 499, - "advance" : 1526, - "extender" : false - } - ] - }, - "bar" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "divides.bt", - "endConnector" : 601, - "startConnector" : 0, - "advance" : 1202, - "extender" : false - }, - { - "glyph" : "divides.ex", - "endConnector" : 1202, - "startConnector" : 1202, - "advance" : 1202, - "extender" : true - }, - { - "glyph" : "divides.tp", - "endConnector" : 0, - "startConnector" : 601, - "advance" : 1202, - "extender" : false - } - ] - }, - "uni21A5" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni21A5.bt", - "endConnector" : 166, - "startConnector" : 0, - "advance" : 498, - "extender" : false - }, - { - "glyph" : "uni21A5.ex", - "endConnector" : 332, - "startConnector" : 332, - "advance" : 332, - "extender" : true - }, - { - "glyph" : "uni21A5.tp", - "endConnector" : 0, - "startConnector" : 166, - "advance" : 498, - "extender" : false - } - ] - }, - "uni21BE" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni21BE.bt", - "endConnector" : 171, - "startConnector" : 0, - "advance" : 512, - "extender" : false - }, - { - "glyph" : "uni21BE.ex", - "endConnector" : 341, - "startConnector" : 341, - "advance" : 341, - "extender" : true - }, - { - "glyph" : "uni21BE.tp", - "endConnector" : 0, - "startConnector" : 171, - "advance" : 513, - "extender" : false - } - ] - }, - "parallel" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "parallel.bt", - "endConnector" : 601, - "startConnector" : 0, - "advance" : 1202, - "extender" : false - }, - { - "glyph" : "parallel.ex", - "endConnector" : 1202, - "startConnector" : 1202, - "advance" : 1202, - "extender" : true - }, - { - "glyph" : "parallel.tp", - "endConnector" : 0, - "startConnector" : 601, - "advance" : 1202, - "extender" : false - } - ] - }, - "uni21E9" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni21E9.bt", - "endConnector" : 173, - "startConnector" : 0, - "advance" : 519, - "extender" : false - }, - { - "glyph" : "uni21E9.ex", - "endConnector" : 346, - "startConnector" : 346, - "advance" : 346, - "extender" : true - }, - { - "glyph" : "uni21E9.tp", - "endConnector" : 0, - "startConnector" : 173, - "advance" : 519, - "extender" : false - } - ] - }, - "braceright" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni23AD", - "endConnector" : 374, - "startConnector" : 0, - "advance" : 750, - "extender" : false - }, - { - "glyph" : "braceright.ex", - "endConnector" : 748, - "startConnector" : 748, - "advance" : 748, - "extender" : true - }, - { - "glyph" : "uni23AC", - "endConnector" : 374, - "startConnector" : 374, - "advance" : 1500, - "extender" : false - }, - { - "glyph" : "braceright.ex", - "endConnector" : 748, - "startConnector" : 748, - "advance" : 748, - "extender" : true - }, - { - "glyph" : "uni23AB", - "endConnector" : 0, - "startConnector" : 374, - "advance" : 750, - "extender" : false - } - ] - }, - "uni2B0D" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni2B0D.bt", - "endConnector" : 161, - "startConnector" : 0, - "advance" : 484, - "extender" : false - }, - { - "glyph" : "uni2B0D.ex", - "endConnector" : 322, - "startConnector" : 322, - "advance" : 322, - "extender" : true - }, - { - "glyph" : "uni2B0D.tp", - "endConnector" : 0, - "startConnector" : 161, - "advance" : 484, - "extender" : false - } - ] - }, - "uni21F3" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni21F3.bt", - "endConnector" : 175, - "startConnector" : 0, - "advance" : 524, - "extender" : false - }, - { - "glyph" : "uni21F3.ex", - "endConnector" : 349, - "startConnector" : 349, - "advance" : 349, - "extender" : true - }, - { - "glyph" : "uni21F3.tp", - "endConnector" : 0, - "startConnector" : 175, - "advance" : 523, - "extender" : false - } - ] - }, - "uni21C3" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni21C3.bt", - "endConnector" : 171, - "startConnector" : 0, - "advance" : 513, - "extender" : false - }, - { - "glyph" : "uni21C3.ex", - "endConnector" : 341, - "startConnector" : 341, - "advance" : 341, - "extender" : true - }, - { - "glyph" : "uni21C3.tp", - "endConnector" : 0, - "startConnector" : 171, - "advance" : 512, - "extender" : false - } - ] - }, - "arrowdblup" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "arrowdblup.bt", - "endConnector" : 168, - "startConnector" : 0, - "advance" : 505, - "extender" : false - }, - { - "glyph" : "arrowdblup.ex", - "endConnector" : 336, - "startConnector" : 336, - "advance" : 336, - "extender" : true - }, - { - "glyph" : "arrowdblup.tp", - "endConnector" : 0, - "startConnector" : 168, - "advance" : 504, - "extender" : false - } - ] - }, - "uni2309" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni23A5", - "endConnector" : 1000, - "startConnector" : 1000, - "advance" : 1000, - "extender" : true - }, - { - "glyph" : "uni23A4", - "endConnector" : 0, - "startConnector" : 500, - "advance" : 1500, - "extender" : false - } - ] - }, - "uni219F" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni219F.bt", - "endConnector" : 169, - "startConnector" : 0, - "advance" : 506, - "extender" : false - }, - { - "glyph" : "uni219F.ex", - "endConnector" : 337, - "startConnector" : 337, - "advance" : 337, - "extender" : true - }, - { - "glyph" : "uni219F.tp", - "endConnector" : 0, - "startConnector" : 169, - "advance" : 505, - "extender" : false - } - ] - }, - "uni21C8" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni21C8.bt", - "endConnector" : 169, - "startConnector" : 0, - "advance" : 506, - "extender" : false - }, - { - "glyph" : "uni21C8.ex", - "endConnector" : 337, - "startConnector" : 337, - "advance" : 337, - "extender" : true - }, - { - "glyph" : "uni21C8.tp", - "endConnector" : 0, - "startConnector" : 169, - "advance" : 505, - "extender" : false - } - ] - }, - "parenright" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni23A0", - "endConnector" : 249, - "startConnector" : 0, - "advance" : 1495, - "extender" : false - }, - { - "glyph" : "uni239F", - "endConnector" : 498, - "startConnector" : 498, - "advance" : 498, - "extender" : true - }, - { - "glyph" : "uni239E", - "endConnector" : 0, - "startConnector" : 249, - "advance" : 1495, - "extender" : false - } - ] - }, - "parenleft" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni239D", - "endConnector" : 249, - "startConnector" : 0, - "advance" : 1495, - "extender" : false - }, - { - "glyph" : "uni239C", - "endConnector" : 498, - "startConnector" : 498, - "advance" : 498, - "extender" : true - }, - { - "glyph" : "uni239B", - "endConnector" : 0, - "startConnector" : 249, - "advance" : 1495, - "extender" : false - } - ] - }, - "uni21E7" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni21E7.bt", - "endConnector" : 173, - "startConnector" : 0, - "advance" : 519, - "extender" : false - }, - { - "glyph" : "uni21E7.ex", - "endConnector" : 346, - "startConnector" : 346, - "advance" : 346, - "extender" : true - }, - { - "glyph" : "uni21E7.tp", - "endConnector" : 0, - "startConnector" : 173, - "advance" : 519, - "extender" : false - } - ] - }, - "uni21C2" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni21C2.bt", - "endConnector" : 171, - "startConnector" : 0, - "advance" : 513, - "extender" : false - }, - { - "glyph" : "uni21C2.ex", - "endConnector" : 341, - "startConnector" : 341, - "advance" : 341, - "extender" : true - }, - { - "glyph" : "uni21C2.tp", - "endConnector" : 0, - "startConnector" : 171, - "advance" : 512, - "extender" : false - } - ] - }, - "uni2308" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni23A2", - "endConnector" : 1000, - "startConnector" : 1000, - "advance" : 1000, - "extender" : true - }, - { - "glyph" : "uni23A1", - "endConnector" : 0, - "startConnector" : 500, - "advance" : 1500, - "extender" : false - } - ] - }, - "arrowupdn" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "arrowupdn.bt", - "endConnector" : 127, - "startConnector" : 0, - "advance" : 380, - "extender" : false - }, - { - "glyph" : "arrowupdn.ex", - "endConnector" : 254, - "startConnector" : 254, - "advance" : 254, - "extender" : true - }, - { - "glyph" : "arrowupdn.tp", - "endConnector" : 0, - "startConnector" : 127, - "advance" : 380, - "extender" : false - } - ] - }, - "uni2B07" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni2B07.bt", - "endConnector" : 164, - "startConnector" : 0, - "advance" : 492, - "extender" : false - }, - { - "glyph" : "uni2B07.ex", - "endConnector" : 327, - "startConnector" : 327, - "advance" : 327, - "extender" : true - }, - { - "glyph" : "uni2B07.tp", - "endConnector" : 0, - "startConnector" : 164, - "advance" : 492, - "extender" : false - } - ] - }, - "bracketleft" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni23A3", - "endConnector" : 500, - "startConnector" : 0, - "advance" : 1500, - "extender" : false - }, - { - "glyph" : "uni23A2", - "endConnector" : 1000, - "startConnector" : 1000, - "advance" : 1000, - "extender" : true - }, - { - "glyph" : "uni23A1", - "endConnector" : 0, - "startConnector" : 500, - "advance" : 1500, - "extender" : false - } - ] - }, - "arrowdbldown" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "arrowdbldown.bt", - "endConnector" : 168, - "startConnector" : 0, - "advance" : 504, - "extender" : false - }, - { - "glyph" : "arrowdbldown.ex", - "endConnector" : 336, - "startConnector" : 336, - "advance" : 336, - "extender" : true - }, - { - "glyph" : "arrowdbldown.tp", - "endConnector" : 0, - "startConnector" : 168, - "advance" : 505, - "extender" : false - } - ] - }, - "uni27E7" : { - "italic" : 0, - "parts" : [ - { - "glyph" : "uni27E7.bt", - "endConnector" : 500, - "startConnector" : 0, - "advance" : 1000, - "extender" : false - }, - { - "glyph" : "uni27E7.ex", - "endConnector" : 1000, - "startConnector" : 1000, - "advance" : 1000, - "extender" : true - }, - { - "glyph" : "uni27E7.tp", - "endConnector" : 0, - "startConnector" : 500, - "advance" : 1000, - "extender" : false - } - ] - } - }, - "h_variants" : { - "uni21CD" : [ - "uni21CD", - "uni21CD.h1" - ], - "uni2263" : [ - - ], - "caronbelowcmb" : [ - "caronbelowcmb", - "caronbelowcmb.h1", - "caronbelowcmb.h2", - "caronbelowcmb.h3", - "caronbelowcmb.h4", - "caronbelowcmb.h5", - "caronbelowcmb.h6", - "caronbelowcmb.h7" - ], - "uni21A4" : [ - "uni21A4", - "uni27FB" - ], - "uni20D0" : [ + "h_variants": { + "equal": [], + "uni20D0": [ "uni20D0", "uni20D0.h1" ], - "caroncmb" : [ - "caroncmb", - "caroncmb.h1", - "caroncmb.h2", - "caroncmb.h3", - "caroncmb.h4", - "caroncmb.h5", - "caroncmb.h6", - "caroncmb.h7" - ], - "uni21E8" : [ - "uni21E8", - "uni21E8.h1" - ], - "uni27A1" : [ - "uni27A1", - "uni27A1.h1" - ], - "uni2B05" : [ - "uni2B05", - "uni2B05.h1" + "uni20D1": [ + "uni20D1", + "uni20D1.h1" ], - "uni20D6" : [ + "uni20D6": [ "uni20D6", "uni20D6.h1" ], - "uni2B31" : [ - "uni2B31", - "uni2B31.h1" + "uni20D7": [ + "uni20D7", + "uni20D7.h1" ], - "overlinecmb" : [ - "overlinecmb", - "overlinecmb.h1" + "uni20E1": [ + "uni20E1", + "uni20E1.h1" ], - "uni20ED" : [ + "uni20EC": [ + "uni20EC", + "uni20EC.h1" + ], + "uni20ED": [ "uni20ED", "uni20ED.h1" ], - "uni21C1" : [ - "uni21C1", - "uni21C1.h1" + "uni20EE": [ + "uni20EE", + "uni20EE.h1" ], - "uni21AC" : [ - "uni21AC", - "uni21AC.h1" + "uni20EF": [ + "uni20EF", + "uni20EF.h1" ], - "circumflexbelowcmb" : [ - "circumflexbelowcmb", - "circumflexbelowcmb.h1", - "circumflexbelowcmb.h2", - "circumflexbelowcmb.h3", - "circumflexbelowcmb.h4", - "circumflexbelowcmb.h5", - "circumflexbelowcmb.h6", - "circumflexbelowcmb.h7" + "uni034D": [ + "uni034D", + "uni034D.h1" ], - "uni21C4" : [ - "uni21C4", - "uni21C4.h1" + "arrowleft": [ + "arrowleft", + "uni27F5" + ], + "arrowright": [ + "arrowright", + "uni27F6" ], - "uni219A" : [ + "uni219A": [ "uni219A", "uni219A.h1" ], - "lowlinecmb" : [ - "lowlinecmb", - "lowlinecmb.h1" - ], - "uni21DB" : [ - "uni21DB", - "uni21DB.h1" - ], - "uni21C7" : [ - "uni21C7", - "uni21C7.h1" - ], - "brevebelowcmb" : [ - "brevebelowcmb", - "brevebelowcmb.h1", - "brevebelowcmb.h2", - "brevebelowcmb.h3", - "brevebelowcmb.h4", - "brevebelowcmb.h5", - "brevebelowcmb.h6", - "brevebelowcmb.h7" - ], - "dbloverlinecmb" : [ - "dbloverlinecmb", - "dbloverlinecmb.h1" - ], - "uni23DE" : [ - "uni23DE", - "uni23DE.h1", - "uni23DE.h2", - "uni23DE.h3", - "uni23DE.h4", - "uni23DE.h5", - "uni23DE.h6", - "uni23DE.h7" - ], - "uni21F6" : [ - "uni21F6", - "uni21F6.h1" - ], - "circumflexcmb" : [ - "circumflexcmb", - "circumflexcmb.h1", - "circumflexcmb.h2", - "circumflexcmb.h3", - "circumflexcmb.h4", - "circumflexcmb.h5", - "circumflexcmb.h6", - "circumflexcmb.h7" - ], - "uni20E1" : [ - "uni20E1", - "uni20E1.h1" + "uni219B": [ + "uni219B", + "uni219B.h1" ], - "uni23B5" : [ - "uni23B5", - "uni23B5.h1", - "uni23B5.h2", - "uni23B5.h3", - "uni23B5.h4", - "uni23B5.h5", - "uni23B5.h6", - "uni23B5.h7" + "arrowboth": [ + "arrowboth", + "uni27F7" ], - "uni21CC" : [ - "uni21CC", - "uni21CC.h1" + "uni21AE": [ + "uni21AE", + "uni21AE.h1" ], - "uni23E1" : [ - "uni23E1", - "uni23E1.h1", - "uni23E1.h2", - "uni23E1.h3", - "uni23E1.h4", - "uni23E1.h5", - "uni23E1.h6", - "uni23E1.h7" + "uni219E": [ + "uni219E", + "uni219E.h1" ], - "uni21A0" : [ + "uni21A0": [ "uni21A0", "uni21A0.h1" ], - "uni21CF" : [ - "uni21CF", - "uni21CF.h1" - ], - "uni2907" : [ - "uni2907", - "uni27FE" + "uni21A2": [ + "uni21A2", + "uni21A2.h1" ], - "uni21A3" : [ + "uni21A3": [ "uni21A3", "uni21A3.h1" ], - "brevecmb" : [ - "brevecmb", - "brevecmb.h1", - "brevecmb.h2", - "brevecmb.h3", - "brevecmb.h4", - "brevecmb.h5", - "brevecmb.h6", - "brevecmb.h7" + "uni21A4": [ + "uni21A4", + "uni27FB" ], - "uni21A6" : [ + "uni21A6": [ "uni21A6", "uni27FC" ], - "arrowleft" : [ - "arrowleft", - "uni27F5" + "uni21AA": [ + "uni21AA", + "uni21AA.h1" ], - "uni21A9" : [ + "uni21A9": [ "uni21A9", "uni21A9.h1" ], - "uni21BD" : [ - "uni21BD", - "uni21BD.h1" - ], - "uni2B04" : [ - "uni2B04", - "uni2B04.h1" - ], - "arrowright" : [ - "arrowright", - "uni27F6" + "uni21AC": [ + "uni21AC", + "uni21AC.h1" ], - "breveinvertedcmb" : [ - "breveinvertedcmb", - "breveinvertedcmb.h1", - "breveinvertedcmb.h2", - "breveinvertedcmb.h3", - "breveinvertedcmb.h4", - "breveinvertedcmb.h5", - "breveinvertedcmb.h6", - "breveinvertedcmb.h7" + "uni21AB": [ + "uni21AB", + "uni21AB.h1" ], - "uni20EC" : [ - "uni20EC", - "uni20EC.h1" + "uni21B6": [ + "uni21B6", + "uni21B6.h1" ], - "minus" : [ - + "uni21B7": [ + "uni21B7", + "uni21B7.h1" ], - "arrowdblleft" : [ - "arrowdblleft", - "uni27F8" + "uni21BC": [ + "uni21BC", + "uni21BC.h1" ], - "uni21C0" : [ + "uni21C0": [ "uni21C0", "uni21C0.h1" ], - "uni21AB" : [ - "uni21AB", - "uni21AB.h1" + "uni21BD": [ + "uni21BD", + "uni21BD.h1" ], - "uni20EF" : [ - "uni20EF", - "uni20EF.h1" + "uni21C1": [ + "uni21C1", + "uni21C1.h1" ], - "uni21AE" : [ - "uni21AE", - "uni21AE.h1" + "uni21C4": [ + "uni21C4", + "uni21C4.h1" ], - "uni21C6" : [ + "uni21C6": [ "uni21C6", "uni21C6.h1" ], - "uni21DA" : [ - "uni21DA", - "uni21DA.h1" - ], - "uni2B0C" : [ - "uni2B0C", - "uni2B0C.h1" - ], - "breveinvertedbelowcmb" : [ - "breveinvertedbelowcmb", - "breveinvertedbelowcmb.h1", - "breveinvertedbelowcmb.h2", - "breveinvertedbelowcmb.h3", - "breveinvertedbelowcmb.h4", - "breveinvertedbelowcmb.h5", - "breveinvertedbelowcmb.h6", - "breveinvertedbelowcmb.h7" + "uni21C7": [ + "uni21C7", + "uni21C7.h1" ], - "uni21C9" : [ + "uni21C9": [ "uni21C9", "uni21C9.h1" ], - "uni21DD" : [ - "uni21DD", - "uni27FF" + "uni21F6": [ + "uni21F6", + "uni21F6.h1" ], - "uni23DD" : [ - "uni23DD", - "uni23DD.h1", - "uni23DD.h2", - "uni23DD.h3", - "uni23DD.h4", - "uni23DD.h5", - "uni23DD.h6", - "uni23DD.h7" + "uni2B31": [ + "uni2B31", + "uni2B31.h1" ], - "tildecomb" : [ - "tildecomb", - "tildecomb.h1", - "tildecomb.h2", - "tildecomb.h3", - "tildecomb.h4", - "tildecomb.h5", - "tildecomb.h6", - "tildecomb.h7" + "uni21CB": [ + "uni21CB", + "uni21CB.h1" ], - "uni23B4" : [ - "uni23B4", - "uni23B4.h1", - "uni23B4.h2", - "uni23B4.h3", - "uni23B4.h4", - "uni23B4.h5", - "uni23B4.h6", - "uni23B4.h7" + "uni21CC": [ + "uni21CC", + "uni21CC.h1" ], - "uni21B7" : [ - "uni21B7", - "uni21B7.h1" + "arrowdblleft": [ + "arrowdblleft", + "uni27F8" ], - "uni21CB" : [ - "uni21CB", - "uni21CB.h1" + "arrowdblright": [ + "arrowdblright", + "uni27F9" ], - "uni23E0" : [ - "uni23E0", - "uni23E0.h1", - "uni23E0.h2", - "uni23E0.h3", - "uni23E0.h4", - "uni23E0.h5", - "uni23E0.h6", - "uni23E0.h7" + "arrowdblboth": [ + "arrowdblboth", + "uni27FA" + ], + "uni21CD": [ + "uni21CD", + "uni21CD.h1" ], - "uni21CE" : [ + "uni21CF": [ + "uni21CF", + "uni21CF.h1" + ], + "uni21CE": [ "uni21CE", "uni21CE.h1" ], - "uni2906" : [ + "uni2906": [ "uni2906", "uni27FD" ], - "uni21A2" : [ - "uni21A2", - "uni21A2.h1" - ], - "dbllowlinecmb" : [ - "dbllowlinecmb", - "dbllowlinecmb.h1" + "uni2907": [ + "uni2907", + "uni27FE" ], - "uni21E6" : [ - "uni21E6", - "uni21E6.h1" + "uni21DA": [ + "uni21DA", + "uni21DA.h1" ], - "uni20E9" : [ - "uni20E9", - "uni23B4.h1", - "uni23B4.h2", - "uni23B4.h3", - "uni23B4.h4", - "uni23B4.h5", - "uni23B4.h6", - "uni23B4.h7" + "uni21DB": [ + "uni21DB", + "uni21DB.h1" ], - "uni20D1" : [ - "uni20D1", - "uni20D1.h1" + "uni21DD": [ + "uni21DD", + "uni27FF" ], - "arrowdblright" : [ - "arrowdblright", - "uni27F9" + "uni21DC": [ + "uni21DC", + "uni2B33" ], - "uni21BC" : [ - "uni21BC", - "uni21BC.h1" + "uni21AD": [ + "uni21AD", + "uni21AD.h1" ], - "uni20D7" : [ - "uni20D7", - "uni20D7.h1" + "uni21E6": [ + "uni21E6", + "uni21E6.h1" ], - "uni20EE" : [ - "uni20EE", - "uni20EE.h1" + "uni21E8": [ + "uni21E8", + "uni21E8.h1" ], - "uni21AA" : [ - "uni21AA", - "uni21AA.h1" + "uni2B04": [ + "uni2B04", + "uni2B04.h1" ], - "uni21AD" : [ - "uni21AD", - "uni21AD.h1" + "uni2B05": [ + "uni2B05", + "uni2B05.h1" ], - "uni219B" : [ - "uni219B", - "uni219B.h1" + "uni27A1": [ + "uni27A1", + "uni27A1.h1" ], - "equal" : [ - + "uni2B0C": [ + "uni2B0C", + "uni2B0C.h1" ], - "uni21DC" : [ - "uni21DC", - "uni2B33" + "lowlinecmb": [ + "lowlinecmb", + "lowlinecmb.h1" ], - "equivalence" : [ - + "dbllowlinecmb": [ + "dbllowlinecmb", + "dbllowlinecmb.h1" ], - "uni219E" : [ - "uni219E", - "uni219E.h1" + "overlinecmb": [ + "overlinecmb", + "overlinecmb.h1" ], - "arrowdblboth" : [ - "arrowdblboth", - "uni27FA" + "dbloverlinecmb": [ + "dbloverlinecmb", + "dbloverlinecmb.h1" ], - "uni23DC" : [ - "uni23DC", - "uni23DC.h1", - "uni23DC.h2", - "uni23DC.h3", - "uni23DC.h4", - "uni23DC.h5", - "uni23DC.h6", - "uni23DC.h7" + "brevecmb": [ + "brevecmb", + "brevecmb.h1", + "brevecmb.h2", + "brevecmb.h3", + "brevecmb.h4", + "brevecmb.h5", + "brevecmb.h6", + "brevecmb.h7" + ], + "brevebelowcmb": [ + "brevebelowcmb", + "brevebelowcmb.h1", + "brevebelowcmb.h2", + "brevebelowcmb.h3", + "brevebelowcmb.h4", + "brevebelowcmb.h5", + "brevebelowcmb.h6", + "brevebelowcmb.h7" + ], + "breveinvertedcmb": [ + "breveinvertedcmb", + "breveinvertedcmb.h1", + "breveinvertedcmb.h2", + "breveinvertedcmb.h3", + "breveinvertedcmb.h4", + "breveinvertedcmb.h5", + "breveinvertedcmb.h6", + "breveinvertedcmb.h7" + ], + "breveinvertedbelowcmb": [ + "breveinvertedbelowcmb", + "breveinvertedbelowcmb.h1", + "breveinvertedbelowcmb.h2", + "breveinvertedbelowcmb.h3", + "breveinvertedbelowcmb.h4", + "breveinvertedbelowcmb.h5", + "breveinvertedbelowcmb.h6", + "breveinvertedbelowcmb.h7" + ], + "caroncmb": [ + "caroncmb", + "caroncmb.h1", + "caroncmb.h2", + "caroncmb.h3", + "caroncmb.h4", + "caroncmb.h5", + "caroncmb.h6", + "caroncmb.h7" + ], + "caronbelowcmb": [ + "caronbelowcmb", + "caronbelowcmb.h1", + "caronbelowcmb.h2", + "caronbelowcmb.h3", + "caronbelowcmb.h4", + "caronbelowcmb.h5", + "caronbelowcmb.h6", + "caronbelowcmb.h7" + ], + "circumflexcmb": [ + "circumflexcmb", + "circumflexcmb.h1", + "circumflexcmb.h2", + "circumflexcmb.h3", + "circumflexcmb.h4", + "circumflexcmb.h5", + "circumflexcmb.h6", + "circumflexcmb.h7" + ], + "circumflexbelowcmb": [ + "circumflexbelowcmb", + "circumflexbelowcmb.h1", + "circumflexbelowcmb.h2", + "circumflexbelowcmb.h3", + "circumflexbelowcmb.h4", + "circumflexbelowcmb.h5", + "circumflexbelowcmb.h6", + "circumflexbelowcmb.h7" + ], + "tildecomb": [ + "tildecomb", + "tildecomb.h1", + "tildecomb.h2", + "tildecomb.h3", + "tildecomb.h4", + "tildecomb.h5", + "tildecomb.h6", + "tildecomb.h7" ], - "tildebelowcmb" : [ + "tildebelowcmb": [ "tildebelowcmb", "tildebelowcmb.h1", "tildebelowcmb.h2", @@ -5576,7 +956,17 @@ "tildebelowcmb.h6", "tildebelowcmb.h7" ], - "uni23DF" : [ + "uni23DE": [ + "uni23DE", + "uni23DE.h1", + "uni23DE.h2", + "uni23DE.h3", + "uni23DE.h4", + "uni23DE.h5", + "uni23DE.h6", + "uni23DE.h7" + ], + "uni23DF": [ "uni23DF", "uni23DF.h1", "uni23DF.h2", @@ -5586,77 +976,6639 @@ "uni23DF.h6", "uni23DF.h7" ], - "arrowboth" : [ - "arrowboth", - "uni27F7" + "uni23DC": [ + "uni23DC", + "uni23DC.h1", + "uni23DC.h2", + "uni23DC.h3", + "uni23DC.h4", + "uni23DC.h5", + "uni23DC.h6", + "uni23DC.h7" ], - "uni21B6" : [ - "uni21B6", - "uni21B6.h1" + "uni23DD": [ + "uni23DD", + "uni23DD.h1", + "uni23DD.h2", + "uni23DD.h3", + "uni23DD.h4", + "uni23DD.h5", + "uni23DD.h6", + "uni23DD.h7" ], - "uni034D" : [ - "uni034D", - "uni034D.h1" - ] + "uni23B4": [ + "uni23B4", + "uni23B4.h1", + "uni23B4.h2", + "uni23B4.h3", + "uni23B4.h4", + "uni23B4.h5", + "uni23B4.h6", + "uni23B4.h7" + ], + "uni23B5": [ + "uni23B5", + "uni23B5.h1", + "uni23B5.h2", + "uni23B5.h3", + "uni23B5.h4", + "uni23B5.h5", + "uni23B5.h6", + "uni23B5.h7" + ], + "uni23E0": [ + "uni23E0", + "uni23E0.h1", + "uni23E0.h2", + "uni23E0.h3", + "uni23E0.h4", + "uni23E0.h5", + "uni23E0.h6", + "uni23E0.h7" + ], + "uni23E1": [ + "uni23E1", + "uni23E1.h1", + "uni23E1.h2", + "uni23E1.h3", + "uni23E1.h4", + "uni23E1.h5", + "uni23E1.h6", + "uni23E1.h7" + ], + "uni20E9": [ + "uni20E9", + "uni23B4.h1", + "uni23B4.h2", + "uni23B4.h3", + "uni23B4.h4", + "uni23B4.h5", + "uni23B4.h6", + "uni23B4.h7" + ], + "minus": [], + "equivalence": [], + "uni2263": [] + }, + "italic": { + "seven": 13, + "R": 24, + "V": 8, + "W": 9, + "X": 4, + "Y": 16, + "bracketleft": 6, + "asciicircum": 33, + "underscore": 28, + "a": 11, + "f": 79, + "g": 13, + "h": 7, + "k": 11, + "l": 5, + "m": 8, + "n": 7, + "q": 27, + "u": 7, + "v": 8, + "w": 9, + "x": 16, + "y": 8, + "asciitilde": 27, + "yen": 16, + "endash": 27, + "emdash": 27, + "ordmasculine": 5, + "aogonek": 11, + "star.alt": 23, + "copyleft": 28, + "copyright": 28, + "divorced": 216, + "f_k": 3, + "f_f": 73, + "iogonek": 3, + "leaf": 39, + "longs": 79, + "married": 105, + "uni00B5": 6, + "ohorn": 16, + "published": 28, + "recipe": 24, + "registered": 28, + "threequartersemdash": 27, + "asciitilde.low": 27, + "emdash.alt": 27, + "Uhorn": 4, + "uhorn": 43, + "uogonek": 27, + "aacute": 11, + "abreve": 11, + "abreveacute": 11, + "abrevedotbelow": 11, + "abrevegrave": 11, + "abrevehookabove": 11, + "abrevetilde": 11, + "acircumflex": 11, + "acircumflexacute": 11, + "acircumflexdotbelow": 11, + "acircumflexgrave": 11, + "acircumflexhookabove": 11, + "acircumflextilde": 11, + "adieresis": 11, + "adotbelow": 11, + "agrave": 11, + "ahookabove": 11, + "amacron": 11, + "aring": 11, + "atilde": 11, + "dcaron": 46, + "gbreve": 13, + "gcommaaccent": 13, + "iacute": 13, + "icircumflex": 41, + "idieresis": 27, + "Imacron": 29, + "imacron": 70, + "Itilde": 15, + "itilde": 56, + "kcommaaccent": 11, + "lacute": 26, + "lcaron": 52, + "lcommaaccent": 5, + "nacute": 7, + "ncaron": 7, + "ncommaaccent": 7, + "ntilde": 7, + "ohornacute": 16, + "ohorndotbelow": 16, + "ohorngrave": 16, + "ohornhookabove": 16, + "ohorntilde": 16, + "Racute": 24, + "Rcaron": 24, + "Rcommaaccent": 24, + "uacute": 7, + "ucircumflex": 7, + "udieresis": 7, + "udotbelow": 7, + "ugrave": 7, + "uhookabove": 7, + "Uhornacute": 4, + "uhornacute": 43, + "Uhorndotbelow": 4, + "uhorndotbelow": 43, + "Uhorngrave": 4, + "uhorngrave": 43, + "Uhornhookabove": 4, + "uhornhookabove": 43, + "Uhorntilde": 4, + "uhorntilde": 43, + "uhungarumlaut": 7, + "umacron": 7, + "uring": 7, + "utilde": 7, + "Yacute": 16, + "yacute": 8, + "Ydieresis": 16, + "ydieresis": 8, + "Ydotbelow": 16, + "ydotbelow": 8, + "Ygrave": 16, + "ygrave": 8, + "Yhookabove": 16, + "yhookabove": 8, + "Ytilde": 16, + "ytilde": 8, + "asciicircum.sts": 33, + "asciitilde.sts": 27, + "copyleft.sts": 28, + "copyright.sts": 28, + "divorced.sts": 238, + "f.sts": 58, + "f_f.sts": 59, + "leaf.sts": 16, + "longs.sts": 58, + "married.sts": 99, + "published.sts": 28, + "registered.sts": 28, + "asciitilde.low.sts": 27, + "uhorn.sts": 10, + "underscore.sts": 28, + "dcaron.sts": 16, + "Imacron.sts": 6, + "imacron.sts": 51, + "itilde.sts": 34, + "lcaron.sts": 24, + "uhornacute.sts": 10, + "uhorndotbelow.sts": 10, + "uhorngrave.sts": 10, + "uhornhookabove.sts": 10, + "uhorntilde.sts": 10, + "a.st": 3, + "aogonek.st": 7, + "asciicircum.st": 33, + "asciitilde.st": 27, + "copyleft.st": 28, + "copyright.st": 28, + "divorced.st": 230, + "emdash.st": 11, + "endash.st": 19, + "f.st": 72, + "f_f.st": 65, + "g.st": 4, + "leaf.st": 34, + "longs.st": 72, + "married.st": 107, + "ohorn.st": 7, + "published.st": 28, + "q.st": 9, + "R.st": 16, + "recipe.st": 16, + "registered.st": 28, + "seven.st": 4, + "threequartersemdash.st": 16, + "asciitilde.low.st": 27, + "emdash.alt.st": 11, + "uhorn.st": 37, + "underscore.st": 28, + "uogonek.st": 7, + "Y.st": 3, + "yen.st": 3, + "aacute.st": 3, + "abreve.st": 3, + "abreveacute.st": 3, + "abrevedotbelow.st": 3, + "abrevegrave.st": 3, + "abrevehookabove.st": 3, + "abrevetilde.st": 3, + "acircumflex.st": 3, + "acircumflexacute.st": 3, + "acircumflexdotbelow.st": 3, + "acircumflexgrave.st": 3, + "acircumflexhookabove.st": 3, + "acircumflextilde.st": 3, + "adieresis.st": 3, + "adotbelow.st": 3, + "agrave.st": 3, + "ahookabove.st": 3, + "amacron.st": 3, + "aring.st": 3, + "atilde.st": 3, + "dcaron.st": 39, + "gbreve.st": 4, + "gcommaaccent.st": 4, + "iacute.st": 4, + "icircumflex.st": 19, + "idieresis.st": 13, + "Imacron.st": 21, + "imacron.st": 66, + "Itilde.st": 6, + "itilde.st": 51, + "lacute.st": 17, + "lcaron.st": 47, + "ohornacute.st": 7, + "ohorndotbelow.st": 7, + "ohorngrave.st": 7, + "ohornhookabove.st": 7, + "ohorntilde.st": 7, + "Racute.st": 16, + "Rcaron.st": 16, + "Rcommaaccent.st": 16, + "uhornacute.st": 37, + "uhorndotbelow.st": 37, + "uhorngrave.st": 37, + "uhornhookabove.st": 37, + "uhorntilde.st": 37, + "Yacute.st": 3, + "Ydieresis.st": 3, + "Ydotbelow.st": 3, + "Ygrave.st": 3, + "Yhookabove.st": 3, + "Ytilde.st": 3, + "uni2113": 9, + "u1D435": 25, + "u1D436": 73, + "u1D437": 4, + "u1D438": 54, + "u1D439": 134, + "u1D43B": 78, + "u1D43C": 85, + "u1D43D": 106, + "u1D43E": 68, + "u1D440": 102, + "u1D441": 106, + "u1D442": 5, + "u1D443": 140, + "u1D445": 24, + "u1D446": 60, + "u1D447": 148, + "u1D448": 105, + "u1D449": 214, + "u1D44A": 132, + "u1D44B": 51, + "u1D44C": 209, + "u1D44D": 68, + "u1D44F": 14, + "u1D450": 25, + "u1D451": 24, + "u1D453": 90, + "u1D454": 25, + "u1D457": 13, + "u1D458": 15, + "u1D45C": 12, + "u1D45D": 15, + "u1D45E": 34, + "u1D45F": 13, + "u1D463": 11, + "u1D464": 3, + "u1D466": 28, + "u1D467": 30, + "u1D6A5": 5, + "u1D436.sts": 7, + "u1D439.sts": 107, + "u1D43B.sts": 7, + "u1D43C.sts": 11, + "u1D43D.sts": 46, + "u1D440.sts": 35, + "u1D441.sts": 41, + "u1D443.sts": 110, + "u1D447.sts": 123, + "u1D448.sts": 41, + "u1D449.sts": 200, + "u1D44A.sts": 98, + "u1D44C.sts": 193, + "u1D453.sts": 36, + "u1D45F.sts": 9, + "u1D436.st": 52, + "u1D438.st": 30, + "u1D439.st": 128, + "u1D43B.st": 52, + "u1D43C.st": 58, + "u1D43D.st": 85, + "u1D43E.st": 47, + "u1D440.st": 79, + "u1D441.st": 83, + "u1D443.st": 135, + "u1D445.st": 16, + "u1D446.st": 36, + "u1D447.st": 143, + "u1D448.st": 83, + "u1D449.st": 214, + "u1D44A.st": 125, + "u1D44B.st": 24, + "u1D44C.st": 209, + "u1D44D.st": 47, + "u1D450.st": 12, + "u1D451.st": 8, + "u1D453.st": 75, + "u1D454.st": 7, + "u1D45E.st": 15, + "u1D45F.st": 10, + "u1D466.st": 9, + "u1D467.st": 3, + "u1D41A": 22, + "u1D41F": 114, + "u1D420": 11, + "u1D421": 4, + "u1D424": 8, + "u1D426": 5, + "u1D427": 4, + "u1D42A": 22, + "u1D411": 23, + "u1D7D5": 11, + "u1D42E": 4, + "u1D416": 3, + "u1D431": 6, + "u1D418": 8, + "u1D41A.sts": 6, + "u1D41F.sts": 115, + "u1D411.sts": 7, + "u1D41A.st": 18, + "u1D41F.st": 120, + "u1D420.st": 5, + "u1D42A.st": 8, + "u1D411.st": 19, + "u1D7D5.st": 5, + "u1D469": 16, + "u1D46A": 66, + "u1D46B": 5, + "u1D46C": 43, + "u1D46D": 148, + "u1D46F": 73, + "u1D470": 83, + "u1D471": 91, + "u1D472": 60, + "u1D474": 102, + "u1D475": 105, + "u1D476": 6, + "u1D477": 154, + "u1D479": 37, + "u1D47A": 49, + "u1D47B": 163, + "u1D47C": 105, + "u1D47D": 235, + "u1D47E": 142, + "u1D47F": 34, + "u1D480": 228, + "u1D481": 60, + "u1D483": 13, + "u1D484": 26, + "u1D485": 22, + "u1D487": 86, + "u1D488": 17, + "u1D48B": 7, + "u1D490": 12, + "u1D491": 13, + "u1D492": 29, + "u1D493": 4, + "u1D49A": 20, + "u1D49B": 11, + "u1D46A.sts": 18, + "u1D46D.sts": 146, + "u1D46F.sts": 19, + "u1D470.sts": 22, + "u1D471.sts": 50, + "u1D472.sts": 12, + "u1D474.sts": 47, + "u1D475.sts": 60, + "u1D477.sts": 151, + "u1D479.sts": 15, + "u1D47B.sts": 163, + "u1D47C.sts": 60, + "u1D47D.sts": 253, + "u1D47E.sts": 136, + "u1D480.sts": 236, + "u1D481.sts": 14, + "u1D487.sts": 51, + "u1D46A.st": 51, + "u1D46C.st": 27, + "u1D46D.st": 154, + "u1D46F.st": 55, + "u1D470.st": 61, + "u1D471.st": 77, + "u1D472.st": 46, + "u1D474.st": 84, + "u1D475.st": 91, + "u1D477.st": 160, + "u1D479.st": 37, + "u1D47A.st": 34, + "u1D47B.st": 169, + "u1D47C.st": 90, + "u1D47D.st": 249, + "u1D47E.st": 145, + "u1D47F.st": 11, + "u1D480.st": 239, + "u1D481.st": 47, + "u1D483.st": 4, + "u1D484.st": 20, + "u1D485.st": 18, + "u1D487.st": 78, + "u1D488.st": 4, + "u1D490.st": 3, + "u1D491.st": 4, + "u1D492.st": 16, + "u1D49A.st": 7, + "uni27E6": 6, + "uni23DE": 28, + "uni23DF": 28, + "uni23DC": 28, + "uni23DD": 28, + "uni23B4": 28, + "uni23B5": 28, + "uni23E0": 28, + "uni23E1": 28, + "uni27E6.v1": 6, + "uni23DE.h1": 29, + "uni23DF.h1": 28, + "uni23DC.h1": 28, + "uni23DD.h1": 28, + "uni23B4.h1": 28, + "uni23B5.h1": 28, + "uni23E0.h1": 28, + "uni23E1.h1": 28, + "uni27E6.v2": 6, + "uni23DE.h2": 28, + "uni23DF.h2": 28, + "uni23DC.h2": 28, + "uni23DD.h2": 28, + "uni23B4.h2": 28, + "uni23B5.h2": 28, + "uni23E0.h2": 28, + "uni23E1.h2": 28, + "uni27E6.v3": 5, + "uni23DE.h3": 28, + "uni23DF.h3": 28, + "uni23DC.h3": 28, + "uni23DD.h3": 28, + "uni23B4.h3": 28, + "uni23B5.h3": 28, + "uni23E0.h3": 28, + "uni23E1.h3": 28, + "bracketleft.v4": 4, + "uni27E6.v4": 5, + "uni23DE.h4": 28, + "uni23DF.h4": 28, + "uni23DC.h4": 28, + "uni23DD.h4": 28, + "uni23B4.h4": 28, + "uni23B5.h4": 28, + "uni23E0.h4": 28, + "uni23E1.h4": 28, + "bracketleft.v5": 7, + "uni27E6.v5": 5, + "uni23DE.h5": 28, + "uni23DF.h5": 28, + "uni23DC.h5": 28, + "uni23DD.h5": 28, + "uni23B4.h5": 28, + "uni23B5.h5": 28, + "uni23E0.h5": 28, + "uni23E1.h5": 28, + "bracketleft.v6": 9, + "uni27E6.v6": 6, + "uni23DE.h6": 28, + "uni23DF.h6": 28, + "uni23DC.h6": 28, + "uni23DD.h6": 28, + "uni23B4.h6": 28, + "uni23B5.h6": 28, + "uni23E0.h6": 28, + "uni23E1.h6": 28, + "bracketleft.v7": 8, + "uni27E6.v7": 6, + "uni23DE.h7": 28, + "uni23DF.h7": 28, + "uni23DC.h7": 28, + "uni23DD.h7": 28, + "uni23B4.h7": 28, + "uni23B5.h7": 28, + "uni23E0.h7": 28, + "uni23E1.h7": 28, + "uni22C4": 8, + "uni22C6": 25, + "uni20EB": 31, + "shade": 28, + "ltshade": 28, + "dkshade": 28, + "uni2581": 28, + "block": 28, + "SF100000": 48, + "SF010000": 48, + "SF020000": 48, + "SF080000": 48, + "SF060000": 48, + "SF050000": 48, + "integral": 332, + "uni222C": 332, + "uni222D": 332, + "uni2A0C": 332, + "contourintegral": 332, + "uni222F": 332, + "uni2230": 332, + "uni2231": 361, + "uni2A11": 361, + "uni2232": 350, + "uni2233": 350, + "integral.v1": 591, + "uni222C.v1": 591, + "uni222D.v1": 591, + "uni2A0C.v1": 591, + "contourintegral.v1": 591, + "uni222F.v1": 591, + "uni2230.v1": 591, + "uni2231.v1": 591, + "uni2A11.v1": 591, + "uni2232.v1": 591, + "uni2233.v1": 591, + "integraltp": 591, + "integralbt": 591, + "u1D5BF": 69, + "u1D5C0": 13, + "u1D5C4": 10, + "u1D5CB": 13, + "u1D5CC": 5, + "u1D5B5": 13, + "u1D5CF": 13, + "u1D5B6": 13, + "u1D5D0": 13, + "u1D5B7": 13, + "u1D5D1": 27, + "u1D5B8": 24, + "u1D5D2": 13, + "u1D622": 21, + "u1D609": 57, + "u1D623": 46, + "u1D60A": 107, + "u1D624": 83, + "u1D60B": 52, + "u1D625": 93, + "u1D60C": 118, + "u1D626": 55, + "u1D60D": 132, + "u1D627": 217, + "u1D60E": 90, + "u1D628": 99, + "u1D60F": 81, + "u1D629": 16, + "u1D610": 81, + "u1D611": 92, + "u1D612": 119, + "u1D62C": 82, + "u1D62D": 93, + "u1D614": 75, + "u1D62E": 17, + "u1D615": 79, + "u1D62F": 16, + "u1D616": 54, + "u1D630": 50, + "u1D617": 79, + "u1D631": 46, + "u1D618": 54, + "u1D632": 42, + "u1D619": 82, + "u1D633": 110, + "u1D61A": 79, + "u1D634": 79, + "u1D61B": 137, + "u1D635": 77, + "u1D61C": 81, + "u1D636": 40, + "u1D61D": 161, + "u1D637": 107, + "u1D61E": 161, + "u1D638": 107, + "u1D61F": 119, + "u1D639": 104, + "u1D620": 172, + "u1D63A": 107, + "u1D621": 119, + "u1D63B": 87, + "u1D62A": 92, + "u1D62B": 84, + "u1D5EA": 3, + "u1D5EC": 3, + "u1D5F3": 73, + "u1D5F4": 12, + "u1D5FF": 12, + "u1D604": 3, + "u1D63D": 49, + "u1D63E": 98, + "u1D63F": 52, + "u1D640": 105, + "u1D641": 120, + "u1D642": 81, + "u1D643": 76, + "u1D644": 76, + "u1D645": 76, + "u1D646": 104, + "u1D648": 76, + "u1D649": 76, + "u1D64A": 54, + "u1D64B": 75, + "u1D64C": 54, + "u1D64D": 77, + "u1D64E": 68, + "u1D64F": 126, + "u1D650": 76, + "u1D651": 143, + "u1D652": 145, + "u1D653": 88, + "u1D654": 147, + "u1D655": 106, + "u1D656": 49, + "u1D657": 50, + "u1D658": 80, + "u1D659": 106, + "u1D65A": 59, + "u1D65B": 217, + "u1D65C": 99, + "u1D65D": 42, + "u1D65E": 109, + "u1D65F": 102, + "u1D660": 72, + "u1D661": 106, + "u1D662": 42, + "u1D663": 42, + "u1D664": 53, + "u1D665": 50, + "u1D666": 58, + "u1D667": 108, + "u1D668": 75, + "u1D669": 70, + "u1D66A": 57, + "u1D66B": 93, + "u1D66C": 94, + "u1D66D": 77, + "u1D66E": 93, + "u1D66F": 79, + "u1D7C6": 59, + "u1D7C3": 48, + "u1D792": 120, + "u1D797": 53, + "u1D7A4": 88, + "u1D79D": 114, + "u1D7B5": 4, + "u1D7B0": 41, + "u1D7AC": 67, + "u1D7B3": 4, + "u1D7AB": 42, + "u1D7AD": 53, + "u1D7B9": 57, + "u1D79F": 75, + "u1D7A2": 106, + "u1D7A8": 70, + "u1D7C2": 36, + "u1D7C9": 57, + "u1D7C7": 27, + "u1D7BC": 58, + "u1D7BB": 5, + "u1D7AF": 24, + "u1D7B1": 66, + "u1D7BA": 28, + "u1D7C8": 29, + "u1D7BE": 36, + "u1D7B6": 59, + "u1D7C1": 36, + "u1D7C5": 52, + "u1D7BF": 30, + "u1D7AE": 31, + "u1D7B2": 5, + "u1D7BD": 57, + "u1D7A5": 46, + "u1D7A7": 91, + "u1D7B8": 29, + "u1D791": 49, + "u1D794": 105, + "u1D795": 106, + "u1D796": 76, + "u1D798": 76, + "u1D799": 104, + "u1D79B": 76, + "u1D79C": 76, + "u1D79E": 54, + "u1D7A0": 75, + "u1D7A3": 126, + "u1D7A6": 71, + "u1D7A9": 38, + "dotlessi.sso": 39, + "dotlessj.sso": 39, + "dotlessi.ssbo": 56, + "dotlessj.ssbo": 56, + "u1D7A1": 53, + "u1D557": 27, + "uni2145": 15, + "uni2146": 75, + "uni2147": 17, + "uni2148": 80, + "uni2149": 80, + "u1D504": 20, + "uni212D": 29, + "u1D508": 7, + "u1D509": 38, + "uni2111": 7, + "u1D50E": 50, + "u1D50F": 7, + "u1D510": 28, + "u1D511": 26, + "u1D513": 9, + "uni211C": 26, + "u1D517": 35, + "u1D518": 49, + "u1D519": 23, + "u1D51A": 37, + "u1D51B": 18, + "u1D51E": 25, + "u1D523": 23, + "u1D526": 17, + "u1D529": 26, + "u1D52A": 19, + "u1D52B": 23, + "u1D52F": 34, + "u1D531": 44, + "u1D532": 25, + "u1D535": 10, + "u1D509.st": 12, + "u1D50E.st": 24, + "u1D517.st": 8, + "u1D518.st": 23, + "u1D51A.st": 11, + "u1D52F.st": 7, + "u1D531.st": 18, + "dotlessi.fra": 17, + "u1D56C": 8, + "u1D56E": 34, + "u1D571": 41, + "u1D576": 52, + "u1D577": 6, + "u1D578": 21, + "u1D579": 14, + "u1D57D": 28, + "u1D57F": 37, + "u1D580": 49, + "u1D581": 13, + "u1D582": 33, + "u1D583": 14, + "u1D586": 13, + "u1D58B": 28, + "u1D58E": 24, + "u1D591": 7, + "u1D592": 7, + "u1D597": 22, + "u1D599": 42, + "u1D59A": 44, + "u1D59D": 19, + "u1D56E.st": 3, + "u1D571.st": 10, + "u1D576.st": 21, + "u1D57F.st": 6, + "u1D580.st": 17, + "u1D599.st": 11, + "u1D59A.st": 13, + "dotlessi.frab": 24, + "u1D68A": 22, + "u1D68D": 15, + "u1D674": 5, + "u1D690": 12, + "u1D677": 5, + "u1D691": 15, + "u1D694": 11, + "u1D67C": 10, + "u1D696": 19, + "u1D697": 15, + "u1D69A": 40, + "u1D681": 25, + "u1D684": 23, + "u1D69E": 15, + "u1D685": 9, + "u1D69F": 3, + "u1D686": 16, + "u1D6A0": 11, + "u1D688": 8, + "u1D6A2": 3, + "Chi": 4, + "alpha": 24, + "uni03F5": 35, + "iota": 24, + "kappa": 23, + "lambda": 54, + "mu": 23, + "chi": 24, + "uni03D1": 21, + "alpha.st": 8, + "uni03F5.st": 18, + "iota.st": 7, + "kappa.st": 7, + "lambda.st": 38, + "mu.st": 8, + "chi.st": 8, + "uni03D1.st": 3, + "u1D6C2": 30, + "u1D6DC": 27, + "u1D6CA": 30, + "u1D6CB": 30, + "u1D6CC": 73, + "u1D6CD": 30, + "u1D6D8": 29, + "u1D6DD": 22, + "u1D6C2.sts": 6, + "u1D6CA.sts": 6, + "u1D6CB.sts": 6, + "u1D6CC.sts": 37, + "u1D6CD.sts": 6, + "u1D6D8.sts": 5, + "u1D6C2.st": 26, + "u1D6DC.st": 17, + "u1D6CA.st": 25, + "u1D6CB.st": 25, + "u1D6CC.st": 65, + "u1D6CD.st": 25, + "u1D6D8.st": 25, + "u1D6DD.st": 13, + "u1D6E4": 134, + "u1D6E9": 5, + "u1D6EF": 63, + "u1D6F1": 77, + "u1D6F4": 54, + "u1D6F6": 146, + "u1D6F7": 4, + "u1D6F9": 109, + "u1D6FA": 42, + "u1D6FD": 36, + "u1D6FE": 53, + "u1D6FF": 36, + "u1D701": 64, + "u1D702": 27, + "u1D703": 14, + "u1D708": 58, + "u1D709": 36, + "u1D70B": 25, + "u1D70C": 13, + "u1D70E": 24, + "u1D70F": 102, + "u1D710": 12, + "u1D719": 5, + "u1D713": 12, + "u1D714": 10, + "u1D71B": 17, + "u1D71A": 13, + "u1D70D": 74, + "u1D715": 63, + "u1D6E4.sts": 106, + "u1D6F1.sts": 6, + "u1D6F6.sts": 116, + "u1D6F9.sts": 54, + "u1D6FE.sts": 4, + "u1D70F.sts": 39, + "u1D70D.sts": 4, + "u1D715.sts": 21, + "u1D6E4.st": 128, + "u1D6EF.st": 40, + "u1D6F1.st": 51, + "u1D6F4.st": 31, + "u1D6F6.st": 140, + "u1D6F9.st": 93, + "u1D6FA.st": 20, + "u1D6FD.st": 12, + "u1D6FE.st": 39, + "u1D6FF.st": 10, + "u1D701.st": 34, + "u1D702.st": 6, + "u1D708.st": 42, + "u1D709.st": 4, + "u1D70B.st": 4, + "u1D70E.st": 4, + "u1D70F.st": 83, + "u1D70D.st": 52, + "u1D715.st": 52, + "u1D6E3": 25, + "u1D6E6": 54, + "u1D6E7": 68, + "u1D6E8": 78, + "u1D6EA": 85, + "u1D6EB": 68, + "u1D6ED": 102, + "u1D6EE": 106, + "u1D70A": 12, + "u1D6F0": 5, + "u1D6F2": 140, + "u1D6F5": 148, + "u1D6F8": 51, + "u1D6E6.st": 30, + "u1D6E7.st": 47, + "u1D6E8.st": 52, + "u1D6EA.st": 58, + "u1D6EB.st": 47, + "u1D6ED.st": 79, + "u1D6EE.st": 83, + "u1D6F2.st": 135, + "u1D6F5.st": 143, + "u1D6F8.st": 24, + "u1D6E8.sts": 7, + "u1D6EA.sts": 11, + "u1D6ED.sts": 35, + "u1D6EE.sts": 41, + "u1D6F2.sts": 110, + "u1D6F5.sts": 123, + "u1D71E": 148, + "u1D723": 5, + "u1D729": 54, + "u1D72B": 72, + "u1D72E": 44, + "u1D730": 159, + "u1D733": 106, + "u1D734": 35, + "u1D737": 6, + "u1D738": 55, + "u1D739": 19, + "u1D73B": 42, + "u1D73C": 22, + "u1D73D": 13, + "u1D742": 54, + "u1D743": 11, + "u1D745": 14, + "u1D746": 13, + "u1D748": 13, + "u1D749": 111, + "u1D74D": 3, + "u1D755": 8, + "u1D754": 13, + "u1D747": 66, + "u1D74F": 57, + "u1D71E.sts": 146, + "u1D72B.sts": 17, + "u1D730.sts": 158, + "u1D733.sts": 73, + "u1D738.sts": 28, + "u1D742.sts": 17, + "u1D749.sts": 67, + "u1D747.sts": 14, + "u1D74F.sts": 38, + "u1D71E.st": 154, + "u1D729.st": 38, + "u1D72B.st": 53, + "u1D72E.st": 28, + "u1D730.st": 164, + "u1D733.st": 98, + "u1D734.st": 20, + "u1D738.st": 49, + "u1D73B.st": 18, + "u1D73C.st": 10, + "u1D742.st": 44, + "u1D746.st": 4, + "u1D749.st": 100, + "u1D754.st": 4, + "u1D747.st": 50, + "u1D74F.st": 54, + "u1D71D": 16, + "u1D720": 43, + "u1D721": 60, + "u1D722": 73, + "u1D724": 83, + "u1D725": 60, + "u1D727": 102, + "u1D728": 105, + "u1D744": 12, + "u1D72A": 6, + "u1D72C": 154, + "u1D72F": 163, + "u1D732": 34, + "u1D720.st": 27, + "u1D721.st": 47, + "u1D722.st": 55, + "u1D724.st": 61, + "u1D725.st": 46, + "u1D727.st": 84, + "u1D728.st": 91, + "u1D744.st": 3, + "u1D72C.st": 160, + "u1D72F.st": 169, + "u1D732.st": 11, + "u1D721.sts": 14, + "u1D722.sts": 19, + "u1D724.sts": 22, + "u1D725.sts": 12, + "u1D727.sts": 47, + "u1D728.sts": 60, + "u1D72C.sts": 151, + "u1D72F.sts": 163, + "u1D6F3": 5, + "u1D72D": 5 }, - "version" : "1.3", - "constants" : { - "FlattenedAccentBaseHeight" : 664, - "UpperLimitBaselineRiseMin" : 111, - "SubSuperscriptGapMin" : 160, - "OverbarExtraAscender" : 40, - "RadicalExtraAscender" : 40, - "FractionRuleThickness" : 40, - "DisplayOperatorMinHeight" : 1300, - "StackGapMin" : 120, - "LowerLimitBaselineDropMin" : 600, - "StretchStackGapBelowMin" : 167, - "FractionNumeratorDisplayStyleShiftUp" : 677, - "StretchStackGapAboveMin" : 200, - "FractionNumeratorShiftUp" : 394, - "AccentBaseHeight" : 450, - "SkewedFractionVerticalGap" : 96, - "FractionDenominatorDisplayStyleShiftDown" : 686, - "LowerLimitGapMin" : 167, - "MinConnectorOverlap" : 20, - "AxisHeight" : 250, - "SuperscriptBottomMin" : 108, - "RadicalKernBeforeDegree" : 278, - "StretchStackTopShiftUp" : 111, - "RadicalDisplayStyleVerticalGap" : 148, - "StackBottomDisplayStyleShiftDown" : 686, - "RadicalVerticalGap" : 50, - "RadicalKernAfterDegree" : -556, - "ScriptScriptPercentScaleDown" : 50, - "MathLeading" : 154, - "StretchStackBottomShiftDown" : 600, - "RadicalDegreeBottomRaisePercent" : 60, - "UnderbarExtraDescender" : 40, - "StackTopShiftUp" : 444, - "DelimitedSubFormulaMinHeight" : 1300, - "StackDisplayStyleGapMin" : 280, - "SubscriptTopMax" : 344, - "SuperscriptShiftUp" : 363, - "SuperscriptBottomMaxWithSubscript" : 344, - "ScriptPercentScaleDown" : 70, - "UnderbarVerticalGap" : 120, - "SpaceAfterScript" : 56, - "StackTopDisplayStyleShiftUp" : 677, - "FractionDenomDisplayStyleGapMin" : 120, - "UpperLimitGapMin" : 200, - "SuperscriptShiftUpCramped" : 289, - "SubscriptShiftDown" : 247, - "SuperscriptBaselineDropMax" : 250, - "OverbarVerticalGap" : 120, - "FractionNumeratorGapMin" : 40, - "SkewedFractionHorizontalGap" : 350, - "FractionDenominatorGapMin" : 40, - "UnderbarRuleThickness" : 40, - "SubscriptBaselineDropMin" : 200, - "OverbarRuleThickness" : 40, - "FractionNumDisplayStyleGapMin" : 120, - "FractionDenominatorShiftDown" : 345, - "RadicalRuleThickness" : 40, - "StackBottomShiftDown" : 345 + "accents": { + "asterisk": 398, + "zero": 254, + "one": 257, + "two": 240, + "three": 258, + "four": 353, + "five": 256, + "six": 318, + "seven": 103, + "eight": 261, + "nine": 242, + "A": 375, + "B": 256, + "C": 507, + "D": 243, + "E": 315, + "F": 308, + "G": 507, + "H": 375, + "I": 181, + "J": 317, + "K": 378, + "L": 193, + "M": 458, + "N": 375, + "O": 388, + "P": 250, + "Q": 388, + "R": 234, + "S": 330, + "T": 361, + "U": 375, + "V": 375, + "W": 514, + "X": 361, + "Y": 375, + "Z": 317, + "a": 214, + "b": 100, + "c": 249, + "d": 377, + "e": 236, + "f": 262, + "g": 332, + "h": 104, + "i": 138, + "j": 156, + "k": 100, + "l": 105, + "m": 350, + "n": 211, + "o": 249, + "p": 202, + "q": 318, + "r": 181, + "s": 232, + "t": 161, + "u": 245, + "v": 264, + "w": 361, + "x": 258, + "y": 264, + "z": 226, + "grave": 219, + "acute": 281, + "circumflex": 250, + "tilde": 251, + "macron": 251, + "breve": 251, + "dotaccent": 138, + "dieresis": 253, + "ring": 375, + "hungarumlaut": 274, + "caron": 250, + "dotlessi": 139, + "space_uni0326": 246, + "space_uni030F": 226, + "space_uni0323": 138, + "dotlessj": 153, + "space_uni0309": 251, + "space_uni0331": 251, + "A.sts": 489, + "a.sts": 284, + "acute.sts": 379, + "B.sts": 351, + "b.sts": 160, + "breve.sts": 340, + "C.sts": 659, + "c.sts": 358, + "caron.sts": 340, + "circumflex.sts": 340, + "space_uni0326.sts": 332, + "D.sts": 336, + "d.sts": 506, + "space_uni030F.sts": 312, + "dieresis.sts": 340, + "dotaccent.sts": 201, + "space_uni0323.sts": 201, + "dotlessi.sts": 202, + "dotlessj.sts": 219, + "E.sts": 426, + "e.sts": 329, + "eight.sts": 354, + "F.sts": 417, + "f.sts": 358, + "five.sts": 347, + "four.sts": 462, + "G.sts": 658, + "g.sts": 441, + "grave.sts": 302, + "H.sts": 490, + "h.sts": 166, + "space_uni0309.sts": 339, + "hungarumlaut.sts": 370, + "I.sts": 247, + "J.sts": 432, + "K.sts": 500, + "k.sts": 160, + "L.sts": 261, + "l.sts": 167, + "M.sts": 594, + "m.sts": 476, + "macron.sts": 340, + "N.sts": 490, + "n.sts": 296, + "nine.sts": 335, + "O.sts": 514, + "o.sts": 340, + "one.sts": 352, + "P.sts": 344, + "p.sts": 289, + "Q.sts": 514, + "q.sts": 424, + "R.sts": 323, + "r.sts": 260, + "ring.sts": 489, + "S.sts": 439, + "s.sts": 316, + "seven.sts": 158, + "six.sts": 428, + "T.sts": 479, + "t.sts": 225, + "three.sts": 322, + "tilde.sts": 340, + "two.sts": 328, + "U.sts": 490, + "u.sts": 341, + "V.sts": 490, + "v.sts": 357, + "W.sts": 664, + "w.sts": 479, + "X.sts": 473, + "x.sts": 350, + "Y.sts": 490, + "y.sts": 357, + "Z.sts": 424, + "z.sts": 309, + "zero.sts": 340, + "i.sts": 201, + "j.sts": 233, + "space_uni0331.sts": 340, + "A.st": 421, + "a.st": 244, + "acute.st": 319, + "B.st": 296, + "b.st": 124, + "breve.st": 285, + "C.st": 567, + "c.st": 295, + "caron.st": 285, + "circumflex.st": 285, + "space_uni0326.st": 278, + "D.st": 282, + "d.st": 431, + "space_uni030F.st": 260, + "dieresis.st": 285, + "dotaccent.st": 162, + "space_uni0323.st": 162, + "dotlessi.st": 162, + "dotlessj.st": 177, + "E.st": 362, + "e.st": 272, + "eight.st": 296, + "F.st": 354, + "f.st": 293, + "five.st": 291, + "four.st": 394, + "G.st": 568, + "g.st": 374, + "grave.st": 250, + "H.st": 421, + "h.st": 129, + "space_uni0309.st": 290, + "hungarumlaut.st": 310, + "I.st": 207, + "J.st": 363, + "K.st": 430, + "k.st": 124, + "L.st": 220, + "l.st": 131, + "M.st": 514, + "m.st": 403, + "macron.st": 285, + "N.st": 421, + "n.st": 249, + "nine.st": 286, + "O.st": 438, + "o.st": 284, + "one.st": 295, + "P.st": 290, + "p.st": 238, + "Q.st": 438, + "q.st": 360, + "R.st": 271, + "r.st": 213, + "ring.st": 421, + "S.st": 372, + "s.st": 264, + "seven.st": 123, + "six.st": 360, + "T.st": 407, + "t.st": 184, + "three.st": 282, + "tilde.st": 285, + "two.st": 273, + "U.st": 421, + "u.st": 285, + "V.st": 421, + "v.st": 300, + "W.st": 575, + "w.st": 407, + "X.st": 406, + "x.st": 293, + "Y.st": 421, + "y.st": 300, + "Z.st": 359, + "z.st": 258, + "zero.st": 286, + "i.st": 162, + "j.st": 186, + "space_uni0331.st": 285, + "u1D434": 550, + "u1D435": 420, + "u1D436": 596, + "u1D437": 427, + "u1D438": 483, + "u1D439": 475, + "u1D43A": 596, + "u1D43B": 542, + "u1D43C": 347, + "u1D43D": 487, + "u1D43E": 545, + "u1D43F": 360, + "u1D440": 625, + "u1D441": 542, + "u1D442": 495, + "u1D443": 416, + "u1D444": 495, + "u1D445": 398, + "u1D446": 498, + "u1D447": 398, + "u1D448": 421, + "u1D449": 413, + "u1D44A": 552, + "u1D44B": 528, + "u1D44C": 399, + "u1D44D": 485, + "u1D44E": 287, + "u1D44F": 165, + "u1D450": 317, + "u1D451": 442, + "u1D452": 300, + "u1D453": 464, + "u1D454": 316, + "uni210E": 213, + "u1D456": 247, + "u1D457": 359, + "u1D458": 213, + "u1D459": 184, + "u1D45A": 404, + "u1D45B": 265, + "u1D45C": 315, + "u1D45D": 246, + "u1D45E": 349, + "u1D45F": 247, + "u1D460": 296, + "u1D461": 225, + "u1D462": 305, + "u1D463": 294, + "u1D464": 405, + "u1D465": 329, + "u1D466": 304, + "u1D467": 336, + "u1D6A4": 168, + "u1D6A5": 275, + "u1D434.sts": 693, + "u1D435.sts": 543, + "u1D436.sts": 768, + "u1D437.sts": 551, + "u1D438.sts": 621, + "u1D439.sts": 612, + "u1D43A.sts": 767, + "u1D43B.sts": 684, + "u1D43C.sts": 441, + "u1D43D.sts": 627, + "u1D43E.sts": 695, + "u1D43F.sts": 455, + "u1D440.sts": 788, + "u1D441.sts": 684, + "u1D442.sts": 648, + "u1D443.sts": 535, + "u1D444.sts": 648, + "u1D445.sts": 515, + "u1D446.sts": 635, + "u1D447.sts": 544, + "u1D448.sts": 552, + "u1D449.sts": 565, + "u1D44A.sts": 739, + "u1D44B.sts": 667, + "u1D44C.sts": 548, + "u1D44D.sts": 620, + "u1D44E.sts": 397, + "u1D44F.sts": 230, + "u1D450.sts": 437, + "u1D451.sts": 577, + "u1D452.sts": 415, + "u1D453.sts": 576, + "u1D454.sts": 419, + "uni210E.sts": 283, + "u1D456.sts": 351, + "u1D457.sts": 464, + "u1D458.sts": 283, + "u1D459.sts": 248, + "u1D45A.sts": 572, + "u1D45B.sts": 398, + "u1D45C.sts": 433, + "u1D45D.sts": 362, + "u1D45E.sts": 474, + "u1D45F.sts": 382, + "u1D460.sts": 404, + "u1D461.sts": 324, + "u1D462.sts": 421, + "u1D463.sts": 404, + "u1D464.sts": 542, + "u1D465.sts": 431, + "u1D466.sts": 420, + "u1D467.sts": 449, + "u1D6A4.sts": 249, + "u1D6A5.sts": 346, + "u1D434.st": 604, + "u1D435.st": 468, + "u1D436.st": 661, + "u1D437.st": 477, + "u1D438.st": 536, + "u1D439.st": 528, + "u1D43A.st": 661, + "u1D43B.st": 596, + "u1D43C.st": 382, + "u1D43D.st": 539, + "u1D43E.st": 606, + "u1D43F.st": 395, + "u1D440.st": 688, + "u1D441.st": 596, + "u1D442.st": 552, + "u1D443.st": 462, + "u1D444.st": 552, + "u1D445.st": 444, + "u1D446.st": 547, + "u1D447.st": 452, + "u1D448.st": 469, + "u1D449.st": 471, + "u1D44A.st": 625, + "u1D44B.st": 580, + "u1D44C.st": 456, + "u1D44D.st": 534, + "u1D44E.st": 325, + "u1D44F.st": 189, + "u1D450.st": 364, + "u1D451.st": 496, + "u1D452.st": 340, + "u1D453.st": 506, + "u1D454.st": 361, + "uni210E.st": 238, + "u1D456.st": 284, + "u1D457.st": 398, + "u1D458.st": 238, + "u1D459.st": 207, + "u1D45A.st": 465, + "u1D45B.st": 313, + "u1D45C.st": 356, + "u1D45D.st": 296, + "u1D45E.st": 396, + "u1D45F.st": 290, + "u1D460.st": 334, + "u1D461.st": 260, + "u1D462.st": 340, + "u1D463.st": 337, + "u1D464.st": 461, + "u1D465.st": 359, + "u1D466.st": 340, + "u1D467.st": 376, + "u1D6A4.st": 188, + "u1D6A5.st": 289, + "u1D400": 434, + "u1D41A": 231, + "u1D401": 300, + "u1D41B": 126, + "u1D402": 580, + "u1D41C": 298, + "u1D403": 283, + "u1D41D": 444, + "dotlessi.mrmb": 160, + "dotlessj.mrmb": 176, + "u1D404": 350, + "u1D41E": 281, + "u1D7D6": 299, + "u1D405": 342, + "u1D41F": 309, + "u1D7D3": 290, + "u1D7D2": 414, + "u1D406": 579, + "u1D420": 358, + "u1D407": 450, + "u1D421": 134, + "u1D408": 218, + "u1D409": 348, + "u1D40A": 438, + "u1D424": 126, + "u1D40B": 232, + "u1D425": 136, + "u1D40C": 546, + "u1D426": 418, + "u1D40D": 450, + "u1D427": 257, + "u1D7D7": 281, + "u1D40E": 431, + "u1D428": 287, + "u1D7CF": 295, + "u1D40F": 293, + "u1D429": 241, + "u1D410": 431, + "u1D42A": 369, + "u1D411": 281, + "u1D42B": 216, + "u1D412": 374, + "u1D42C": 265, + "u1D7D5": 124, + "u1D7D4": 335, + "u1D413": 400, + "u1D42D": 194, + "u1D7D1": 282, + "u1D7D0": 277, + "u1D414": 442, + "u1D42E": 296, + "u1D415": 434, + "u1D42F": 303, + "u1D416": 594, + "u1D430": 415, + "u1D417": 418, + "u1D431": 296, + "u1D418": 434, + "u1D432": 303, + "u1D419": 364, + "u1D433": 259, + "u1D7CE": 287, + "u1D422": 160, + "u1D423": 189, + "u1D400.sts": 557, + "u1D41A.sts": 312, + "u1D401.sts": 408, + "u1D41B.sts": 183, + "u1D402.sts": 738, + "u1D41C.sts": 417, + "u1D403.sts": 389, + "u1D41D.sts": 585, + "dotlessi.mrmb.sts": 218, + "dotlessj.mrmb.sts": 238, + "u1D404.sts": 467, + "u1D41E.sts": 358, + "u1D7D6.sts": 393, + "u1D405.sts": 457, + "u1D41F.sts": 404, + "u1D7D3.sts": 376, + "u1D7D2.sts": 494, + "u1D406.sts": 738, + "u1D420.sts": 481, + "u1D407.sts": 577, + "u1D421.sts": 196, + "u1D408.sts": 275, + "u1D409.sts": 477, + "u1D40A.sts": 574, + "u1D424.sts": 183, + "u1D40B.sts": 289, + "u1D425.sts": 200, + "u1D40C.sts": 697, + "u1D426.sts": 556, + "u1D40D.sts": 577, + "u1D427.sts": 354, + "u1D7D7.sts": 349, + "u1D40E.sts": 561, + "u1D428.sts": 378, + "u1D7CF.sts": 392, + "u1D40F.sts": 398, + "u1D429.sts": 339, + "u1D410.sts": 561, + "u1D42A.sts": 472, + "u1D411.sts": 378, + "u1D42B.sts": 290, + "u1D412.sts": 484, + "u1D42C.sts": 338, + "u1D7D5.sts": 185, + "u1D7D4.sts": 465, + "u1D413.sts": 521, + "u1D42D.sts": 244, + "u1D7D1.sts": 375, + "u1D7D0.sts": 354, + "u1D414.sts": 567, + "u1D42E.sts": 401, + "u1D415.sts": 557, + "u1D42F.sts": 400, + "u1D416.sts": 759, + "u1D430.sts": 541, + "u1D417.sts": 537, + "u1D431.sts": 392, + "u1D418.sts": 557, + "u1D432.sts": 402, + "u1D419.sts": 475, + "u1D433.sts": 343, + "u1D7CE.sts": 379, + "u1D422.sts": 218, + "u1D423.sts": 268, + "u1D400.st": 484, + "u1D41A.st": 264, + "u1D401.st": 340, + "u1D41B.st": 149, + "u1D402.st": 644, + "u1D41C.st": 357, + "u1D403.st": 324, + "u1D41D.st": 502, + "dotlessi.mrmb.st": 182, + "dotlessj.mrmb.st": 200, + "u1D404.st": 396, + "u1D41E.st": 309, + "u1D7D6.st": 331, + "u1D405.st": 387, + "u1D41F.st": 347, + "u1D7D3.st": 323, + "u1D7D2.st": 451, + "u1D406.st": 644, + "u1D420.st": 419, + "u1D407.st": 501, + "u1D421.st": 158, + "u1D408.st": 240, + "u1D409.st": 399, + "u1D40A.st": 492, + "u1D424.st": 149, + "u1D40B.st": 253, + "u1D425.st": 161, + "u1D40C.st": 607, + "u1D426.st": 468, + "u1D40D.st": 501, + "u1D427.st": 291, + "u1D7D7.st": 310, + "u1D40E.st": 483, + "u1D428.st": 323, + "u1D7CF.st": 332, + "u1D40F.st": 334, + "u1D429.st": 280, + "u1D410.st": 483, + "u1D42A.st": 411, + "u1D411.st": 317, + "u1D42B.st": 242, + "u1D412.st": 417, + "u1D42C.st": 287, + "u1D7D5.st": 146, + "u1D7D4.st": 374, + "u1D413.st": 448, + "u1D42D.st": 214, + "u1D7D1.st": 319, + "u1D7D0.st": 295, + "u1D414.st": 492, + "u1D42E.st": 338, + "u1D415.st": 484, + "u1D42F.st": 341, + "u1D416.st": 661, + "u1D430.st": 465, + "u1D417.st": 465, + "u1D431.st": 334, + "u1D418.st": 484, + "u1D432.st": 341, + "u1D419.st": 408, + "u1D433.st": 291, + "u1D7CE.st": 323, + "u1D422.st": 182, + "u1D423.st": 222, + "u1D468": 608, + "u1D469": 477, + "u1D46A": 658, + "u1D46B": 465, + "u1D46C": 515, + "u1D46D": 507, + "u1D46E": 658, + "u1D46F": 616, + "u1D470": 383, + "u1D471": 516, + "u1D472": 604, + "u1D473": 396, + "u1D474": 712, + "u1D475": 616, + "u1D476": 528, + "u1D477": 468, + "u1D478": 528, + "u1D479": 457, + "u1D47A": 561, + "u1D47B": 434, + "u1D47C": 473, + "u1D47D": 476, + "u1D47E": 637, + "u1D47F": 584, + "u1D480": 460, + "u1D481": 533, + "u1D482": 336, + "u1D483": 225, + "u1D484": 365, + "u1D485": 512, + "u1D486": 340, + "u1D487": 516, + "u1D488": 339, + "u1D489": 228, + "u1D48A": 282, + "u1D48B": 398, + "u1D48C": 228, + "u1D48D": 196, + "u1D48E": 478, + "u1D48F": 318, + "u1D490": 367, + "u1D491": 296, + "u1D492": 410, + "u1D493": 282, + "u1D494": 324, + "u1D495": 254, + "u1D496": 345, + "u1D497": 332, + "u1D498": 460, + "u1D499": 359, + "u1D49A": 345, + "u1D49B": 379, + "dotlessi.mitb": 185, + "dotlessj.mitb": 282, + "u1D468.sts": 748, + "u1D469.sts": 599, + "u1D46A.sts": 825, + "u1D46B.sts": 588, + "u1D46C.sts": 640, + "u1D46D.sts": 630, + "u1D46E.sts": 825, + "u1D46F.sts": 758, + "u1D470.sts": 456, + "u1D471.sts": 658, + "u1D472.sts": 751, + "u1D473.sts": 470, + "u1D474.sts": 878, + "u1D475.sts": 757, + "u1D476.sts": 670, + "u1D477.sts": 570, + "u1D478.sts": 670, + "u1D479.sts": 570, + "u1D47A.sts": 692, + "u1D47B.sts": 569, + "u1D47C.sts": 599, + "u1D47D.sts": 628, + "u1D47E.sts": 829, + "u1D47F.sts": 718, + "u1D480.sts": 606, + "u1D481.sts": 662, + "u1D482.sts": 433, + "u1D483.sts": 273, + "u1D484.sts": 467, + "u1D485.sts": 642, + "u1D486.sts": 471, + "u1D487.sts": 608, + "u1D488.sts": 444, + "u1D489.sts": 282, + "u1D48A.sts": 383, + "u1D48B.sts": 486, + "u1D48C.sts": 282, + "u1D48D.sts": 241, + "u1D48E.sts": 630, + "u1D48F.sts": 428, + "u1D490.sts": 475, + "u1D491.sts": 400, + "u1D492.sts": 519, + "u1D493.sts": 395, + "u1D494.sts": 422, + "u1D495.sts": 336, + "u1D496.sts": 465, + "u1D497.sts": 436, + "u1D498.sts": 598, + "u1D499.sts": 449, + "u1D49A.sts": 464, + "u1D49B.sts": 472, + "dotlessi.mitb.sts": 277, + "dotlessj.mitb.sts": 347, + "u1D468.st": 660, + "u1D469.st": 526, + "u1D46A.st": 723, + "u1D46B.st": 509, + "u1D46C.st": 564, + "u1D46D.st": 555, + "u1D46E.st": 723, + "u1D46F.st": 671, + "u1D470.st": 407, + "u1D471.st": 570, + "u1D472.st": 663, + "u1D473.st": 421, + "u1D474.st": 777, + "u1D475.st": 670, + "u1D476.st": 582, + "u1D477.st": 499, + "u1D478.st": 582, + "u1D479.st": 499, + "u1D47A.st": 610, + "u1D47B.st": 486, + "u1D47C.st": 521, + "u1D47D.st": 536, + "u1D47E.st": 713, + "u1D47F.st": 636, + "u1D480.st": 518, + "u1D481.st": 582, + "u1D482.st": 373, + "u1D483.st": 242, + "u1D484.st": 404, + "u1D485.st": 565, + "u1D486.st": 377, + "u1D487.st": 553, + "u1D488.st": 379, + "u1D489.st": 248, + "u1D48A.st": 323, + "u1D48B.st": 433, + "u1D48C.st": 248, + "u1D48D.st": 212, + "u1D48E.st": 543, + "u1D48F.st": 365, + "u1D490.st": 407, + "u1D491.st": 354, + "u1D492.st": 452, + "u1D493.st": 337, + "u1D494.st": 386, + "u1D495.st": 282, + "u1D496.st": 391, + "u1D497.st": 364, + "u1D498.st": 506, + "u1D499.st": 393, + "u1D49A.st": 391, + "u1D49B.st": 415, + "dotlessi.mitb.st": 221, + "dotlessj.mitb.st": 304, + "uni212A": 378, + "uni0304": -263, + "uni0307": -265, + "uni0308": -261, + "uni0309": -263, + "uni030A": -264, + "uni0323": -265, + "uni0326": -268, + "uni0331": -263, + "uni0300": -295, + "uni0301": -233, + "uni030B": -240, + "uni030F": -288, + "uni20D0": -264, + "uni20D1": -264, + "uni20D4": -264, + "uni20D5": -264, + "uni20D6": -264, + "uni20D7": -264, + "uni20E1": -264, + "uni20EA": -264, + "uni20EC": -264, + "uni20ED": -264, + "uni20EE": -264, + "uni20EF": -264, + "uni20DB": -264, + "uni20DC": -264, + "uni20E8": -264, + "lowlinecmb": -264, + "dbllowlinecmb": -264, + "overlinecmb": -264, + "dbloverlinecmb": -264, + "brevecmb": -264, + "brevebelowcmb": -264, + "breveinvertedcmb": -264, + "breveinvertedbelowcmb": -264, + "caroncmb": -264, + "caronbelowcmb": -264, + "circumflexcmb": -264, + "circumflexbelowcmb": -264, + "tildecomb": -264, + "tildebelowcmb": -264, + "uni2017": 252, + "uni20E9": -264, + "uni20D8": -264, + "asteriskmath": 250, + "uni0338": -263, + "uni20EB": -264, + "uni20E5": -263, + "uni20D2": -264, + "uni20E6": -264, + "uni20D3": -264, + "uni20F0": -264, + "u1D5A0": 333, + "u1D5BA": 228, + "u1D5A1": 256, + "u1D5BB": 120, + "u1D5A2": 411, + "u1D5BC": 264, + "u1D5A3": 252, + "u1D5BD": 397, + "u1D5A4": 317, + "u1D5BE": 238, + "u1D7EA": 249, + "u1D5A5": 310, + "u1D5BF": 280, + "u1D7E7": 249, + "u1D7E6": 323, + "u1D5A6": 407, + "u1D5C0": 324, + "u1D5A7": 354, + "u1D5C1": 119, + "u1D5A8": 139, + "u1D5A9": 345, + "u1D5AA": 367, + "u1D5C4": 120, + "u1D5AB": 139, + "u1D5C5": 119, + "u1D5AC": 437, + "u1D5C6": 359, + "u1D5AD": 354, + "u1D5C7": 220, + "u1D7EB": 244, + "u1D5AE": 367, + "u1D5C8": 249, + "u1D7E3": 260, + "u1D5AF": 259, + "u1D5C9": 228, + "u1D5B0": 367, + "u1D5CA": 299, + "u1D5B1": 257, + "u1D5CB": 205, + "u1D5B2": 293, + "u1D5CC": 214, + "u1D7E9": 250, + "u1D7E8": 334, + "u1D5B3": 340, + "u1D5CD": 141, + "u1D7E5": 243, + "u1D7E4": 242, + "u1D5B4": 344, + "u1D5CE": 258, + "u1D5B5": 333, + "u1D5CF": 230, + "u1D5B6": 472, + "u1D5D0": 341, + "u1D5B7": 319, + "u1D5D1": 225, + "u1D5B8": 333, + "u1D5D2": 230, + "u1D5B9": 312, + "u1D5D3": 221, + "u1D7E2": 256, + "u1D5C2": 120, + "u1D5C3": 140, + "u1D608": 481, + "u1D622": 324, + "u1D609": 403, + "u1D623": 268, + "u1D60A": 559, + "u1D624": 359, + "u1D60B": 400, + "u1D625": 544, + "u1D60C": 464, + "u1D626": 333, + "u1D60D": 457, + "u1D627": 428, + "u1D60E": 554, + "u1D628": 419, + "u1D60F": 502, + "u1D629": 267, + "u1D610": 287, + "u1D611": 493, + "u1D612": 515, + "u1D62C": 268, + "u1D613": 287, + "u1D62D": 267, + "u1D614": 585, + "u1D62E": 454, + "u1D615": 502, + "u1D62F": 315, + "u1D616": 519, + "u1D630": 345, + "u1D617": 406, + "u1D631": 322, + "u1D618": 519, + "u1D632": 395, + "u1D619": 404, + "u1D633": 301, + "u1D61A": 442, + "u1D634": 310, + "u1D61B": 484, + "u1D635": 260, + "u1D61C": 490, + "u1D636": 351, + "u1D61D": 481, + "u1D637": 324, + "u1D61E": 620, + "u1D638": 435, + "u1D61F": 467, + "u1D639": 319, + "u1D620": 481, + "u1D63A": 324, + "u1D621": 458, + "u1D63B": 314, + "u1D62A": 258, + "u1D62B": 278, + "u1D7EC": 275, + "u1D7ED": 282, + "u1D7EE": 259, + "u1D7EF": 279, + "u1D7F0": 343, + "u1D7F1": 269, + "u1D7F2": 331, + "u1D7F3": 275, + "u1D7F4": 277, + "u1D7F5": 259, + "u1D5D4": 366, + "u1D5D5": 297, + "u1D5D6": 433, + "u1D5D7": 301, + "u1D5D8": 336, + "u1D5D9": 328, + "u1D5DA": 428, + "u1D5DB": 397, + "u1D5DC": 166, + "u1D5DD": 356, + "u1D5DE": 398, + "u1D5DF": 165, + "u1D5E0": 489, + "u1D5E1": 397, + "u1D5E2": 395, + "u1D5E3": 288, + "u1D5E4": 395, + "u1D5E5": 296, + "u1D5E6": 310, + "u1D5E7": 367, + "u1D5E8": 382, + "u1D5E9": 366, + "u1D5EA": 519, + "u1D5EB": 351, + "u1D5EC": 366, + "u1D5ED": 344, + "u1D5EE": 264, + "u1D5EF": 128, + "u1D5F0": 285, + "u1D5F1": 433, + "u1D5F2": 266, + "u1D5F3": 289, + "u1D5F4": 340, + "u1D5F5": 127, + "u1D5F6": 128, + "u1D5F7": 151, + "u1D5F8": 128, + "u1D5F9": 128, + "u1D5FA": 406, + "u1D5FB": 253, + "u1D5FC": 274, + "u1D5FD": 237, + "u1D5FE": 342, + "u1D5FF": 216, + "u1D600": 226, + "u1D601": 155, + "u1D602": 281, + "u1D603": 250, + "u1D604": 372, + "u1D605": 244, + "u1D606": 251, + "u1D607": 242, + "u1D789": 290, + "u1D758": 313, + "u1D760": 336, + "u1D75D": 429, + "u1D76A": 428, + "u1D763": 366, + "u1D77B": 271, + "u1D776": 369, + "u1D770": 388, + "u1D772": 395, + "u1D78A": 269, + "u1D779": 278, + "u1D771": 306, + "u1D773": 269, + "u1D77F": 418, + "u1D759": 458, + "u1D765": 397, + "u1D768": 397, + "u1D76E": 392, + "u1D788": 366, + "u1D78F": 566, + "u1D78D": 365, + "u1D782": 375, + "u1D781": 278, + "u1D77D": 256, + "u1D775": 297, + "u1D777": 283, + "u1D780": 283, + "u1D78E": 283, + "u1D784": 376, + "u1D77C": 285, + "u1D787": 500, + "u1D78B": 475, + "u1D785": 337, + "u1D786": 395, + "u1D77A": 169, + "u1D774": 272, + "u1D778": 141, + "u1D783": 387, + "u1D76B": 394, + "u1D76D": 425, + "u1D77E": 299, + "u1D756": 366, + "u1D757": 327, + "u1D75A": 336, + "u1D75B": 343, + "u1D75C": 397, + "u1D75E": 166, + "u1D75F": 394, + "u1D761": 489, + "u1D762": 397, + "u1D764": 394, + "u1D766": 318, + "u1D769": 366, + "u1D76C": 352, + "u1D63C": 511, + "u1D63D": 443, + "u1D63E": 580, + "u1D63F": 447, + "u1D640": 481, + "u1D641": 473, + "u1D642": 575, + "u1D643": 543, + "u1D644": 312, + "u1D645": 501, + "u1D646": 543, + "u1D647": 311, + "u1D648": 635, + "u1D649": 543, + "u1D64A": 546, + "u1D64B": 434, + "u1D64C": 546, + "u1D64D": 441, + "u1D64E": 460, + "u1D64F": 511, + "u1D650": 528, + "u1D651": 511, + "u1D652": 663, + "u1D653": 497, + "u1D654": 511, + "u1D655": 489, + "u1D656": 363, + "u1D657": 274, + "u1D658": 384, + "u1D659": 578, + "u1D65A": 365, + "u1D65B": 437, + "u1D65C": 437, + "u1D65D": 273, + "u1D65E": 269, + "u1D65F": 292, + "u1D660": 274, + "u1D661": 274, + "u1D662": 503, + "u1D663": 350, + "u1D664": 373, + "u1D665": 335, + "u1D666": 440, + "u1D667": 313, + "u1D668": 325, + "u1D669": 278, + "u1D66A": 376, + "u1D66B": 343, + "u1D66C": 466, + "u1D66D": 339, + "u1D66E": 345, + "u1D66F": 336, + "u1D7C3": 411, + "u1D792": 451, + "u1D79A": 474, + "u1D797": 573, + "u1D7A4": 570, + "u1D79D": 503, + "u1D7B5": 362, + "u1D7B0": 459, + "u1D7AA": 478, + "u1D7AC": 489, + "u1D7C4": 358, + "u1D7B3": 369, + "u1D7AB": 446, + "u1D7AD": 415, + "u1D7B9": 506, + "u1D793": 597, + "u1D79F": 535, + "u1D7A2": 535, + "u1D7A8": 535, + "u1D7C2": 472, + "u1D7C9": 672, + "u1D7C7": 508, + "u1D7BC": 462, + "u1D7BB": 370, + "u1D7B7": 406, + "u1D7AF": 447, + "u1D7B1": 423, + "u1D7BA": 373, + "u1D7C8": 373, + "u1D7BE": 468, + "u1D7B6": 376, + "u1D7C1": 643, + "u1D7C5": 615, + "u1D7BF": 428, + "u1D7C0": 487, + "u1D7B4": 307, + "u1D7AE": 365, + "u1D7B2": 231, + "u1D7BD": 475, + "u1D7A5": 532, + "u1D7A7": 571, + "u1D7B8": 391, + "u1D790": 513, + "u1D791": 465, + "u1D794": 474, + "u1D795": 482, + "u1D796": 535, + "u1D798": 304, + "u1D799": 534, + "u1D79B": 627, + "u1D79C": 535, + "u1D79E": 536, + "u1D7A0": 457, + "u1D7A3": 501, + "u1D7A6": 514, + "u1D76F": 458, + "u1D7A9": 529, + "dotlessi.ss": 119, + "dotlessj.ss": 147, + "dotlessi.sso": 211, + "dotlessj.sso": 239, + "dotlessi.ssb": 128, + "dotlessj.ssb": 158, + "dotlessi.ssbo": 223, + "dotlessj.ssbo": 253, + "u1D767": 429, + "u1D7A1": 573, + "uni213E": 333, + "uni213F": 333, + "uni2140": 333, + "uni213D": 236, + "uni213C": 258, + "u1D7D8": 277, + "u1D7D9": 277, + "u1D7DA": 287, + "u1D7DB": 289, + "u1D7DC": 396, + "u1D7DD": 278, + "u1D7DE": 266, + "u1D7DF": 277, + "u1D7E0": 277, + "u1D7E1": 276, + "u1D538": 305, + "u1D539": 247, + "uni2102": 335, + "u1D53B": 247, + "u1D53C": 334, + "u1D53D": 334, + "u1D53E": 335, + "uni210D": 361, + "u1D540": 167, + "u1D541": 471, + "u1D542": 333, + "u1D543": 167, + "u1D544": 361, + "uni2115": 361, + "u1D546": 333, + "uni2119": 247, + "uni211A": 333, + "uni211D": 247, + "u1D54A": 291, + "u1D54B": 305, + "u1D54C": 361, + "u1D54D": 305, + "u1D54E": 416, + "u1D54F": 333, + "u1D550": 305, + "uni2124": 333, + "u1D552": 236, + "u1D553": 139, + "u1D554": 238, + "u1D555": 424, + "u1D556": 236, + "u1D557": 225, + "u1D558": 236, + "u1D559": 139, + "u1D55A": 139, + "u1D55B": 249, + "u1D55C": 139, + "u1D55D": 139, + "u1D55E": 420, + "u1D55F": 346, + "u1D560": 235, + "u1D561": 391, + "u1D562": 236, + "u1D563": 346, + "u1D564": 187, + "u1D565": 139, + "u1D566": 263, + "u1D567": 235, + "u1D568": 333, + "u1D569": 236, + "u1D56A": 235, + "u1D56B": 236, + "dotlessi.ds": 139, + "dotlessj.ds": 249, + "u1D49C": 702, + "uni212C": 479, + "u1D49E": 462, + "u1D49F": 496, + "uni2130": 450, + "uni2131": 718, + "u1D4A2": 506, + "uni210B": 695, + "uni2110": 469, + "u1D4A5": 568, + "u1D4A6": 668, + "uni2112": 634, + "uni2133": 702, + "u1D4A9": 625, + "u1D4AA": 515, + "u1D4AB": 480, + "u1D4AC": 482, + "uni211B": 532, + "u1D4AE": 451, + "u1D4AF": 500, + "u1D4B0": 432, + "u1D4B1": 397, + "u1D4B2": 549, + "u1D4B3": 556, + "u1D4B4": 397, + "u1D4B5": 396, + "u1D49C.sts": 806, + "uni212C.sts": 532, + "u1D49E.sts": 523, + "u1D49F.sts": 552, + "uni2130.sts": 503, + "uni2131.sts": 822, + "u1D4A2.sts": 564, + "uni210B.sts": 795, + "uni2110.sts": 524, + "u1D4A5.sts": 636, + "u1D4A6.sts": 763, + "uni2112.sts": 720, + "uni2133.sts": 802, + "u1D4A9.sts": 708, + "u1D4AA.sts": 586, + "u1D4AB.sts": 535, + "u1D4AC.sts": 536, + "uni211B.sts": 598, + "u1D4AE.sts": 502, + "u1D4AF.sts": 566, + "u1D4B0.sts": 501, + "u1D4B1.sts": 461, + "u1D4B2.sts": 643, + "u1D4B3.sts": 627, + "u1D4B4.sts": 430, + "u1D4B5.sts": 434, + "u1D49C.st": 769, + "uni212C.st": 514, + "u1D49E.st": 503, + "u1D49F.st": 532, + "uni2130.st": 484, + "uni2131.st": 785, + "u1D4A2.st": 544, + "uni210B.st": 761, + "uni2110.st": 505, + "u1D4A5.st": 613, + "u1D4A6.st": 730, + "uni2112.st": 690, + "uni2133.st": 766, + "u1D4A9.st": 678, + "u1D4AA.st": 562, + "u1D4AB.st": 516, + "u1D4AC.st": 516, + "uni211B.st": 575, + "u1D4AE.st": 484, + "u1D4AF.st": 541, + "u1D4B0.st": 476, + "u1D4B1.st": 438, + "u1D4B2.st": 609, + "u1D4B3.st": 602, + "u1D4B4.st": 418, + "u1D4B5.st": 421, + "u1D4D0": 768, + "u1D4D1": 559, + "u1D4D2": 523, + "u1D4D3": 549, + "u1D4D4": 504, + "u1D4D5": 654, + "u1D4D6": 572, + "u1D4D7": 774, + "u1D4D8": 556, + "u1D4D9": 645, + "u1D4DA": 745, + "u1D4DB": 689, + "u1D4DC": 757, + "u1D4DD": 686, + "u1D4DE": 594, + "u1D4DF": 566, + "u1D4E0": 557, + "u1D4E1": 594, + "u1D4E2": 502, + "u1D4E3": 599, + "u1D4E4": 497, + "u1D4E5": 427, + "u1D4E6": 632, + "u1D4E7": 610, + "u1D4E8": 448, + "u1D4E9": 533, + "u1D4D0.sts": 842, + "u1D4D1.sts": 604, + "u1D4D2.sts": 571, + "u1D4D3.sts": 592, + "u1D4D4.sts": 546, + "u1D4D5.sts": 713, + "u1D4D6.sts": 617, + "u1D4D7.sts": 848, + "u1D4D8.sts": 602, + "u1D4D9.sts": 698, + "u1D4DA.sts": 816, + "u1D4DB.sts": 751, + "u1D4DC.sts": 828, + "u1D4DD.sts": 748, + "u1D4DE.sts": 650, + "u1D4DF.sts": 613, + "u1D4E0.sts": 601, + "u1D4E1.sts": 644, + "u1D4E2.sts": 542, + "u1D4E3.sts": 651, + "u1D4E4.sts": 548, + "u1D4E5.sts": 472, + "u1D4E6.sts": 704, + "u1D4E7.sts": 663, + "u1D4E8.sts": 476, + "u1D4E9.sts": 575, + "u1D4D0.st": 807, + "u1D4D1.st": 584, + "u1D4D2.st": 548, + "u1D4D3.st": 573, + "u1D4D4.st": 528, + "u1D4D5.st": 686, + "u1D4D6.st": 596, + "u1D4D7.st": 814, + "u1D4D8.st": 581, + "u1D4D9.st": 674, + "u1D4DA.st": 783, + "u1D4DB.st": 722, + "u1D4DC.st": 795, + "u1D4DD.st": 720, + "u1D4DE.st": 625, + "u1D4DF.st": 591, + "u1D4E0.st": 581, + "u1D4E1.st": 622, + "u1D4E2.st": 523, + "u1D4E3.st": 627, + "u1D4E4.st": 523, + "u1D4E5.st": 451, + "u1D4E6.st": 671, + "u1D4E7.st": 638, + "u1D4E8.st": 464, + "u1D4E9.st": 556, + "u1D504": 443, + "u1D505": 442, + "uni212D": 497, + "u1D507": 407, + "u1D508": 524, + "u1D509": 254, + "u1D50A": 518, + "uni210C": 422, + "uni2111": 337, + "u1D50D": 222, + "u1D50E": 465, + "u1D50F": 437, + "u1D510": 566, + "u1D511": 453, + "u1D512": 340, + "u1D513": 436, + "u1D514": 338, + "uni211C": 430, + "u1D516": 405, + "u1D517": 672, + "u1D518": 391, + "u1D519": 435, + "u1D51A": 540, + "u1D51B": 408, + "u1D51C": 406, + "uni2128": 164, + "u1D51E": 329, + "u1D51F": 189, + "u1D520": 269, + "u1D521": 165, + "u1D522": 243, + "u1D523": 222, + "u1D524": 339, + "u1D525": 168, + "u1D526": 132, + "u1D527": 130, + "u1D528": 183, + "u1D529": 195, + "u1D52A": 337, + "u1D52B": 226, + "u1D52C": 258, + "u1D52D": 128, + "u1D52E": 333, + "u1D52F": 200, + "u1D530": 223, + "u1D531": 229, + "u1D532": 268, + "u1D533": 134, + "u1D534": 127, + "u1D535": 204, + "u1D536": 128, + "u1D537": 185, + "u1D504.sts": 629, + "u1D505.sts": 627, + "uni212D.sts": 693, + "u1D507.sts": 585, + "u1D508.sts": 726, + "u1D509.sts": 402, + "u1D50A.sts": 719, + "uni210C.sts": 604, + "uni2111.sts": 501, + "u1D50D.sts": 363, + "u1D50E.sts": 654, + "u1D50F.sts": 622, + "u1D510.sts": 776, + "u1D511.sts": 640, + "u1D512.sts": 505, + "u1D513.sts": 620, + "u1D514.sts": 502, + "uni211C.sts": 613, + "u1D516.sts": 583, + "u1D517.sts": 903, + "u1D518.sts": 566, + "u1D519.sts": 619, + "u1D51A.sts": 745, + "u1D51B.sts": 587, + "u1D51C.sts": 585, + "uni2128.sts": 294, + "u1D51E.sts": 492, + "u1D51F.sts": 324, + "u1D520.sts": 419, + "u1D521.sts": 295, + "u1D522.sts": 388, + "u1D523.sts": 363, + "u1D524.sts": 504, + "u1D525.sts": 299, + "u1D526.sts": 255, + "u1D527.sts": 253, + "u1D528.sts": 317, + "u1D529.sts": 330, + "u1D52A.sts": 502, + "u1D52B.sts": 368, + "u1D52C.sts": 407, + "u1D52D.sts": 250, + "u1D52E.sts": 496, + "u1D52F.sts": 337, + "u1D530.sts": 364, + "u1D531.sts": 372, + "u1D532.sts": 419, + "u1D533.sts": 258, + "u1D534.sts": 250, + "u1D535.sts": 342, + "u1D536.sts": 251, + "u1D537.sts": 319, + "u1D504.st": 507, + "u1D505.st": 498, + "uni212D.st": 567, + "u1D507.st": 465, + "u1D508.st": 594, + "u1D509.st": 305, + "u1D50A.st": 586, + "uni210C.st": 487, + "uni2111.st": 399, + "u1D50D.st": 275, + "u1D50E.st": 531, + "u1D50F.st": 502, + "u1D510.st": 624, + "u1D511.st": 511, + "u1D512.st": 393, + "u1D513.st": 494, + "u1D514.st": 389, + "uni211C.st": 486, + "u1D516.st": 461, + "u1D517.st": 756, + "u1D518.st": 453, + "u1D519.st": 492, + "u1D51A.st": 597, + "u1D51B.st": 468, + "u1D51C.st": 464, + "uni2128.st": 211, + "u1D51E.st": 390, + "u1D51F.st": 239, + "u1D520.st": 329, + "u1D521.st": 216, + "u1D522.st": 301, + "u1D523.st": 282, + "u1D524.st": 404, + "u1D525.st": 216, + "u1D526.st": 187, + "u1D527.st": 189, + "u1D528.st": 238, + "u1D529.st": 251, + "u1D52A.st": 389, + "u1D52B.st": 279, + "u1D52C.st": 316, + "u1D52D.st": 175, + "u1D52E.st": 397, + "u1D52F.st": 255, + "u1D530.st": 282, + "u1D531.st": 289, + "u1D532.st": 324, + "u1D533.st": 180, + "u1D534.st": 161, + "u1D535.st": 262, + "u1D536.st": 174, + "u1D537.st": 244, + "dotlessi.fra.sts": 241, + "dotlessj.fra.sts": 259, + "dotlessi.fra.st": 174, + "dotlessj.fra.st": 195, + "dotlessi.fra": 120, + "dotlessj.fra": 135, + "u1D56C": 505, + "u1D56D": 523, + "u1D56E": 584, + "u1D56F": 458, + "u1D570": 598, + "u1D571": 292, + "u1D572": 633, + "u1D573": 496, + "u1D574": 400, + "u1D575": 267, + "u1D576": 538, + "u1D577": 519, + "u1D578": 658, + "u1D579": 515, + "u1D57A": 401, + "u1D57B": 502, + "u1D57C": 401, + "u1D57D": 500, + "u1D57E": 490, + "u1D57F": 554, + "u1D580": 545, + "u1D581": 500, + "u1D582": 643, + "u1D583": 488, + "u1D584": 490, + "u1D585": 194, + "u1D586": 388, + "u1D587": 298, + "u1D588": 312, + "u1D589": 189, + "u1D58A": 283, + "u1D58B": 266, + "u1D58C": 408, + "u1D58D": 211, + "u1D58E": 166, + "u1D58F": 159, + "u1D590": 215, + "u1D591": 293, + "u1D592": 405, + "u1D593": 255, + "u1D594": 334, + "u1D595": 177, + "u1D596": 409, + "u1D597": 242, + "u1D598": 266, + "u1D599": 292, + "u1D59A": 317, + "u1D59B": 160, + "u1D59C": 162, + "u1D59D": 255, + "u1D59E": 168, + "u1D59F": 229, + "u1D56C.sts": 661, + "u1D56D.sts": 680, + "u1D56E.sts": 747, + "u1D56F.sts": 618, + "u1D570.sts": 762, + "u1D571.sts": 419, + "u1D572.sts": 799, + "u1D573.sts": 651, + "u1D574.sts": 545, + "u1D575.sts": 399, + "u1D576.sts": 697, + "u1D577.sts": 676, + "u1D578.sts": 829, + "u1D579.sts": 672, + "u1D57A.sts": 546, + "u1D57B.sts": 657, + "u1D57C.sts": 546, + "u1D57D.sts": 655, + "u1D57E.sts": 644, + "u1D57F.sts": 715, + "u1D580.sts": 704, + "u1D581.sts": 655, + "u1D582.sts": 812, + "u1D583.sts": 641, + "u1D584.sts": 644, + "u1D585.sts": 319, + "u1D586.sts": 531, + "u1D587.sts": 432, + "u1D588.sts": 448, + "u1D589.sts": 313, + "u1D58A.sts": 416, + "u1D58B.sts": 398, + "u1D58C.sts": 554, + "u1D58D.sts": 336, + "u1D58E.sts": 288, + "u1D58F.sts": 280, + "u1D590.sts": 341, + "u1D591.sts": 427, + "u1D592.sts": 550, + "u1D593.sts": 386, + "u1D594.sts": 473, + "u1D595.sts": 299, + "u1D596.sts": 555, + "u1D597.sts": 371, + "u1D598.sts": 397, + "u1D599.sts": 427, + "u1D59A.sts": 453, + "u1D59B.sts": 282, + "u1D59C.sts": 283, + "u1D59D.sts": 385, + "u1D59E.sts": 289, + "u1D59F.sts": 357, + "u1D56C.st": 547, + "u1D56D.st": 566, + "u1D56E.st": 627, + "u1D56F.st": 499, + "u1D570.st": 642, + "u1D571.st": 330, + "u1D572.st": 677, + "u1D573.st": 539, + "u1D574.st": 440, + "u1D575.st": 305, + "u1D576.st": 581, + "u1D577.st": 562, + "u1D578.st": 703, + "u1D579.st": 557, + "u1D57A.st": 441, + "u1D57B.st": 544, + "u1D57C.st": 441, + "u1D57D.st": 542, + "u1D57E.st": 532, + "u1D57F.st": 597, + "u1D580.st": 588, + "u1D581.st": 542, + "u1D582.st": 687, + "u1D583.st": 529, + "u1D584.st": 531, + "u1D585.st": 230, + "u1D586.st": 427, + "u1D587.st": 336, + "u1D588.st": 350, + "u1D589.st": 225, + "u1D58A.st": 321, + "u1D58B.st": 303, + "u1D58C.st": 449, + "u1D58D.st": 247, + "u1D58E.st": 202, + "u1D58F.st": 194, + "u1D590.st": 251, + "u1D591.st": 330, + "u1D592.st": 445, + "u1D593.st": 292, + "u1D594.st": 373, + "u1D595.st": 213, + "u1D596.st": 449, + "u1D597.st": 279, + "u1D598.st": 303, + "u1D599.st": 330, + "u1D59A.st": 355, + "u1D59B.st": 196, + "u1D59C.st": 197, + "u1D59D.st": 292, + "u1D59E.st": 203, + "u1D59F.st": 266, + "dotlessi.frab.sts": 260, + "dotlessj.frab.sts": 270, + "dotlessi.frab.st": 176, + "dotlessj.frab.st": 185, + "dotlessi.frab": 141, + "dotlessj.frab": 150, + "u1D670": 262, + "u1D68A": 215, + "u1D671": 189, + "u1D68B": 90, + "u1D672": 362, + "u1D68C": 306, + "u1D673": 165, + "u1D68D": 351, + "dotlessi.tt": 263, + "dotlessj.tt": 263, + "u1D674": 254, + "u1D68E": 271, + "u1D7FE": 262, + "u1D675": 260, + "u1D68F": 340, + "u1D7FB": 262, + "u1D7FA": 323, + "u1D676": 335, + "u1D690": 332, + "u1D677": 262, + "u1D691": 90, + "u1D678": 263, + "u1D679": 347, + "u1D67A": 255, + "u1D694": 94, + "u1D67B": 153, + "u1D695": 178, + "u1D67C": 262, + "u1D696": 210, + "u1D67D": 262, + "u1D697": 191, + "u1D7FF": 262, + "u1D67E": 262, + "u1D698": 262, + "u1D7F7": 277, + "u1D67F": 193, + "u1D699": 188, + "u1D680": 262, + "u1D69A": 316, + "u1D681": 166, + "u1D69B": 245, + "u1D682": 309, + "u1D69C": 302, + "u1D7FD": 78, + "u1D7FC": 317, + "u1D683": 262, + "u1D69D": 188, + "u1D7F9": 248, + "u1D7F8": 251, + "u1D684": 262, + "u1D69E": 220, + "u1D685": 262, + "u1D69F": 262, + "u1D686": 262, + "u1D6A0": 262, + "u1D687": 253, + "u1D6A1": 258, + "u1D688": 262, + "u1D6A2": 263, + "u1D689": 268, + "u1D6A3": 260, + "u1D7F6": 262, + "u1D692": 263, + "u1D693": 319, + "nabla": 416, + "nabla.sts": 577, + "nabla.st": 477, + "Delta": 416, + "Gamma": 297, + "Lambda": 347, + "Omega": 360, + "Phi": 358, + "Pi": 375, + "Psi": 386, + "Sigma": 350, + "Theta": 389, + "Upsilon": 389, + "Xi": 333, + "uni2127": 362, + "uni2126": 360, + "Alpha": 374, + "Beta": 286, + "Epsilon": 318, + "Zeta": 316, + "Eta": 375, + "Iota": 181, + "Kappa": 378, + "Mu": 458, + "Nu": 375, + "Omicron": 389, + "Rho": 283, + "Tau": 361, + "Chi": 361, + "Delta.sts": 548, + "Gamma.sts": 402, + "Lambda.sts": 455, + "Omega.sts": 478, + "Phi.sts": 475, + "Pi.sts": 490, + "Psi.sts": 510, + "Sigma.sts": 464, + "Theta.sts": 513, + "Upsilon.sts": 514, + "Xi.sts": 444, + "uni2127.sts": 480, + "uni2126.sts": 478, + "Alpha.sts": 490, + "Beta.sts": 388, + "Epsilon.sts": 428, + "Zeta.sts": 424, + "Eta.sts": 490, + "Iota.sts": 247, + "Kappa.sts": 500, + "Mu.sts": 594, + "Nu.sts": 490, + "Omicron.sts": 513, + "Rho.sts": 384, + "Tau.sts": 479, + "Chi.sts": 473, + "Delta.st": 469, + "Gamma.st": 342, + "Lambda.st": 391, + "Omega.st": 407, + "Phi.st": 404, + "Pi.st": 421, + "Psi.st": 435, + "Sigma.st": 395, + "Theta.st": 438, + "Upsilon.st": 438, + "Xi.st": 377, + "uni2127.st": 409, + "uni2126.st": 407, + "Alpha.st": 421, + "Beta.st": 330, + "Epsilon.st": 365, + "Zeta.st": 358, + "Eta.st": 421, + "Iota.st": 207, + "Kappa.st": 430, + "Mu.st": 514, + "Nu.st": 421, + "Omicron.st": 438, + "Rho.st": 325, + "Tau.st": 407, + "Chi.st": 406, + "alpha": 356, + "beta": 280, + "gamma": 293, + "delta": 232, + "uni03F5": 242, + "zeta": 224, + "eta": 218, + "theta": 247, + "iota": 98, + "kappa": 247, + "uni03F0": 297, + "lambda": 86, + "mu": 237, + "nu": 209, + "xi": 196, + "pi": 279, + "rho": 243, + "sigma": 300, + "tau": 232, + "upsilon": 251, + "uni03D5": 320, + "chi": 267, + "psi": 348, + "omega": 322, + "epsilon": 244, + "uni03D1": 291, + "uni03D6": 404, + "uni03F1": 249, + "uni03C2": 237, + "phi": 302, + "partialdiff": 291, + "alpha.sts": 509, + "beta.sts": 407, + "gamma.sts": 428, + "delta.sts": 348, + "uni03F5.sts": 371, + "zeta.sts": 346, + "eta.sts": 339, + "theta.sts": 373, + "iota.sts": 184, + "kappa.sts": 370, + "uni03F0.sts": 422, + "lambda.sts": 177, + "mu.sts": 358, + "nu.sts": 328, + "xi.sts": 311, + "pi.sts": 410, + "rho.sts": 371, + "sigma.sts": 437, + "tau.sts": 350, + "upsilon.sts": 367, + "uni03D5.sts": 462, + "chi.sts": 397, + "psi.sts": 498, + "omega.sts": 469, + "epsilon.sts": 373, + "uni03D1.sts": 433, + "uni03D6.sts": 572, + "uni03F1.sts": 372, + "uni03C2.sts": 359, + "phi.sts": 441, + "partialdiff.sts": 430, + "alpha.st": 416, + "beta.st": 331, + "gamma.st": 344, + "delta.st": 275, + "uni03F5.st": 291, + "zeta.st": 270, + "eta.st": 263, + "theta.st": 291, + "iota.st": 128, + "kappa.st": 292, + "uni03F0.st": 350, + "lambda.st": 121, + "mu.st": 281, + "nu.st": 255, + "xi.st": 238, + "pi.st": 333, + "rho.st": 292, + "sigma.st": 351, + "tau.st": 275, + "upsilon.st": 296, + "uni03D5.st": 374, + "chi.st": 314, + "psi.st": 405, + "omega.st": 375, + "epsilon.st": 292, + "uni03D1.st": 338, + "uni03D6.st": 471, + "uni03F1.st": 292, + "uni03C2.st": 282, + "phi.st": 356, + "partialdiff.st": 343, + "omicron": 250, + "omicron.st": 285, + "omicron.sts": 341, + "u1D6C1": 479, + "u1D6C1.sts": 637, + "u1D6C1.st": 540, + "u1D6AB": 479, + "u1D6AA": 327, + "u1D6B2": 403, + "u1D6C0": 415, + "u1D6BD": 410, + "u1D6B7": 450, + "u1D6BF": 442, + "u1D6BA": 401, + "u1D6AF": 445, + "u1D6BC": 447, + "u1D6B5": 383, + "u1D6A8": 433, + "u1D6A9": 334, + "u1D6AC": 351, + "u1D6AD": 364, + "u1D6AE": 450, + "u1D6B0": 218, + "u1D6B1": 438, + "u1D6B3": 546, + "u1D6B4": 450, + "u1D6B6": 430, + "u1D6B8": 330, + "u1D6BB": 400, + "u1D6BE": 418, + "u1D6AB.sts": 621, + "u1D6AA.sts": 441, + "u1D6B2.sts": 517, + "u1D6C0.sts": 540, + "u1D6BD.sts": 533, + "u1D6B7.sts": 577, + "u1D6BF.sts": 573, + "u1D6BA.sts": 525, + "u1D6AF.sts": 580, + "u1D6BC.sts": 581, + "u1D6B5.sts": 500, + "u1D6A8.sts": 555, + "u1D6A9.sts": 450, + "u1D6AC.sts": 471, + "u1D6AD.sts": 476, + "u1D6AE.sts": 577, + "u1D6B0.sts": 275, + "u1D6B1.sts": 574, + "u1D6B3.sts": 697, + "u1D6B4.sts": 577, + "u1D6B6.sts": 561, + "u1D6B8.sts": 444, + "u1D6BB.sts": 521, + "u1D6BE.sts": 537, + "u1D6AB.st": 536, + "u1D6AA.st": 371, + "u1D6B2.st": 449, + "u1D6C0.st": 465, + "u1D6BD.st": 459, + "u1D6B7.st": 501, + "u1D6BF.st": 494, + "u1D6BA.st": 450, + "u1D6AF.st": 500, + "u1D6BC.st": 501, + "u1D6B5.st": 430, + "u1D6A8.st": 484, + "u1D6A9.st": 378, + "u1D6AC.st": 397, + "u1D6AD.st": 409, + "u1D6AE.st": 501, + "u1D6B0.st": 240, + "u1D6B1.st": 492, + "u1D6B3.st": 607, + "u1D6B4.st": 501, + "u1D6B6.st": 483, + "u1D6B8.st": 375, + "u1D6BB.st": 448, + "u1D6BE.st": 465, + "u1D6C2": 392, + "u1D6C3": 329, + "u1D6C4": 340, + "u1D6C5": 264, + "u1D6DC": 295, + "u1D6C7": 267, + "u1D6C8": 256, + "u1D6C9": 275, + "u1D6CA": 115, + "u1D6CB": 277, + "u1D6DE": 344, + "u1D6CC": 118, + "u1D6CD": 274, + "u1D6CE": 252, + "u1D6CF": 235, + "u1D6D1": 329, + "u1D6D2": 284, + "u1D6D4": 348, + "u1D6D5": 272, + "u1D6D6": 288, + "u1D6DF": 371, + "u1D6D8": 311, + "u1D6D9": 403, + "u1D6DA": 373, + "u1D6C6": 273, + "u1D6DD": 340, + "u1D6E1": 473, + "u1D6E0": 278, + "u1D6D3": 276, + "u1D6D7": 356, + "u1D6DB": 339, + "u1D6C2.sts": 420, + "u1D6C3.sts": 432, + "u1D6C4.sts": 466, + "u1D6C5.sts": 362, + "u1D6DC.sts": 405, + "u1D6C7.sts": 387, + "u1D6C8.sts": 369, + "u1D6C9.sts": 396, + "u1D6CA.sts": 181, + "u1D6CB.sts": 388, + "u1D6DE.sts": 474, + "u1D6CC.sts": 187, + "u1D6CD.sts": 382, + "u1D6CE.sts": 360, + "u1D6CF.sts": 347, + "u1D6D1.sts": 453, + "u1D6D2.sts": 380, + "u1D6D4.sts": 476, + "u1D6D5.sts": 372, + "u1D6D6.sts": 384, + "u1D6DF.sts": 505, + "u1D6D8.sts": 429, + "u1D6D9.sts": 545, + "u1D6DA.sts": 508, + "u1D6C6.sts": 386, + "u1D6DD.sts": 469, + "u1D6E1.sts": 634, + "u1D6E0.sts": 380, + "u1D6D3.sts": 386, + "u1D6D7.sts": 470, + "u1D6DB.sts": 469, + "u1D6C2.st": 343, + "u1D6C3.st": 360, + "u1D6C4.st": 388, + "u1D6C5.st": 301, + "u1D6DC.st": 339, + "u1D6C7.st": 313, + "u1D6C8.st": 303, + "u1D6C9.st": 328, + "u1D6CA.st": 140, + "u1D6CB.st": 318, + "u1D6DE.st": 395, + "u1D6CC.st": 144, + "u1D6CD.st": 315, + "u1D6CE.st": 296, + "u1D6CF.st": 278, + "u1D6D1.st": 379, + "u1D6D2.st": 329, + "u1D6D4.st": 397, + "u1D6D5.st": 311, + "u1D6D6.st": 319, + "u1D6DF.st": 423, + "u1D6D8.st": 358, + "u1D6D9.st": 458, + "u1D6DA.st": 427, + "u1D6C6.st": 314, + "u1D6DD.st": 391, + "u1D6E1.st": 540, + "u1D6E0.st": 335, + "u1D6D3.st": 317, + "u1D6D7.st": 402, + "u1D6DB.st": 389, + "u1D6D0": 288, + "u1D6D0.st": 324, + "u1D6D0.sts": 379, + "u1D6E4": 461, + "u1D6E5": 586, + "u1D6E9": 498, + "u1D6EC": 517, + "u1D6EF": 494, + "u1D6F1": 541, + "u1D6F4": 514, + "u1D6F6": 385, + "u1D6F7": 415, + "u1D6F9": 392, + "u1D6FA": 533, + "u1D6FC": 392, + "u1D6FD": 437, + "u1D6FE": 259, + "u1D6FF": 335, + "u1D716": 269, + "u1D701": 313, + "u1D702": 272, + "u1D703": 310, + "u1D704": 184, + "u1D705": 331, + "u1D718": 365, + "u1D706": 238, + "u1D707": 349, + "u1D708": 297, + "u1D709": 285, + "u1D70B": 328, + "u1D70C": 354, + "u1D70E": 286, + "u1D70F": 269, + "u1D710": 306, + "u1D719": 423, + "u1D712": 331, + "u1D713": 469, + "u1D714": 345, + "u1D700": 284, + "u1D717": 411, + "u1D71B": 453, + "u1D71A": 361, + "u1D70D": 182, + "u1D711": 355, + "u1D715": 361, + "u1D6E4.sts": 594, + "u1D6E5.sts": 746, + "u1D6E9.sts": 634, + "u1D6EC.sts": 654, + "u1D6EF.sts": 632, + "u1D6F1.sts": 682, + "u1D6F4.sts": 656, + "u1D6F6.sts": 535, + "u1D6F7.sts": 553, + "u1D6F9.sts": 536, + "u1D6FA.sts": 684, + "u1D6FC.sts": 531, + "u1D6FD.sts": 549, + "u1D6FE.sts": 374, + "u1D6FF.sts": 437, + "u1D716.sts": 380, + "u1D701.sts": 419, + "u1D702.sts": 397, + "u1D703.sts": 422, + "u1D704.sts": 260, + "u1D705.sts": 445, + "u1D718.sts": 491, + "u1D706.sts": 317, + "u1D707.sts": 454, + "u1D708.sts": 405, + "u1D709.sts": 384, + "u1D70B.sts": 462, + "u1D70C.sts": 467, + "u1D70E.sts": 408, + "u1D70F.sts": 391, + "u1D710.sts": 425, + "u1D719.sts": 550, + "u1D712.sts": 438, + "u1D713.sts": 623, + "u1D714.sts": 484, + "u1D700.sts": 397, + "u1D717.sts": 558, + "u1D71B.sts": 625, + "u1D71A.sts": 469, + "u1D70D.sts": 289, + "u1D711.sts": 484, + "u1D715.sts": 482, + "u1D6E4.st": 512, + "u1D6E5.st": 646, + "u1D6E9.st": 539, + "u1D6EC.st": 568, + "u1D6EF.st": 545, + "u1D6F1.st": 595, + "u1D6F4.st": 566, + "u1D6F6.st": 443, + "u1D6F7.st": 466, + "u1D6F9.st": 446, + "u1D6FA.st": 588, + "u1D6FC.st": 446, + "u1D6FD.st": 480, + "u1D6FE.st": 300, + "u1D6FF.st": 373, + "u1D716.st": 310, + "u1D701.st": 352, + "u1D702.st": 318, + "u1D703.st": 349, + "u1D704.st": 208, + "u1D705.st": 371, + "u1D718.st": 418, + "u1D706.st": 266, + "u1D707.st": 386, + "u1D708.st": 338, + "u1D709.st": 321, + "u1D70B.st": 384, + "u1D70C.st": 397, + "u1D70E.st": 331, + "u1D70F.st": 314, + "u1D710.st": 353, + "u1D719.st": 471, + "u1D712.st": 367, + "u1D713.st": 527, + "u1D714.st": 394, + "u1D700.st": 325, + "u1D717.st": 461, + "u1D71B.st": 522, + "u1D71A.st": 398, + "u1D70D.st": 220, + "u1D711.st": 405, + "u1D715.st": 405, + "u1D6E2": 552, + "u1D6E3": 457, + "u1D6E6": 482, + "u1D6E7": 481, + "u1D6E8": 542, + "u1D6EA": 347, + "u1D6EB": 545, + "u1D6ED": 625, + "u1D6EE": 542, + "u1D70A": 243, + "u1D6F0": 498, + "u1D6F2": 454, + "u1D6F5": 394, + "u1D6F8": 528, + "u1D6E2.st": 606, + "u1D6E3.st": 508, + "u1D6E6.st": 536, + "u1D6E7.st": 531, + "u1D6E8.st": 596, + "u1D6EA.st": 381, + "u1D6EB.st": 605, + "u1D6ED.st": 688, + "u1D6EE.st": 596, + "u1D70A.st": 282, + "u1D6F0.st": 539, + "u1D6F2.st": 504, + "u1D6F5.st": 447, + "u1D6F8.st": 580, + "u1D6E2.sts": 696, + "u1D6E3.sts": 588, + "u1D6E6.sts": 620, + "u1D6E7.sts": 616, + "u1D6E8.sts": 683, + "u1D6EA.sts": 441, + "u1D6EB.sts": 695, + "u1D6ED.sts": 787, + "u1D6EE.sts": 683, + "u1D70A.sts": 352, + "u1D6F0.sts": 634, + "u1D6F2.sts": 583, + "u1D6F5.sts": 539, + "u1D6F8.sts": 666, + "u1D6FB": 420, + "u1D6FB.st": 480, + "u1D6FB.sts": 579, + "u1D71E": 490, + "u1D71F": 647, + "u1D723": 542, + "u1D726": 570, + "u1D729": 544, + "u1D72B": 614, + "u1D72E": 565, + "u1D730": 443, + "u1D731": 463, + "u1D733": 444, + "u1D734": 580, + "u1D736": 439, + "u1D737": 483, + "u1D738": 295, + "u1D739": 376, + "u1D750": 316, + "u1D73B": 347, + "u1D73C": 319, + "u1D73D": 343, + "u1D73E": 197, + "u1D73F": 359, + "u1D752": 415, + "u1D740": 263, + "u1D741": 396, + "u1D742": 336, + "u1D743": 315, + "u1D745": 387, + "u1D746": 406, + "u1D748": 343, + "u1D749": 318, + "u1D74A": 353, + "u1D753": 482, + "u1D74C": 370, + "u1D74D": 530, + "u1D74E": 398, + "u1D73A": 322, + "u1D751": 465, + "u1D755": 530, + "u1D754": 400, + "u1D747": 212, + "u1D74B": 406, + "u1D74F": 415, + "u1D71E.sts": 609, + "u1D71F.sts": 800, + "u1D723.sts": 677, + "u1D726.sts": 699, + "u1D729.sts": 672, + "u1D72B.sts": 754, + "u1D72E.sts": 700, + "u1D730.sts": 580, + "u1D731.sts": 594, + "u1D733.sts": 585, + "u1D734.sts": 710, + "u1D736.sts": 451, + "u1D737.sts": 575, + "u1D738.sts": 399, + "u1D739.sts": 460, + "u1D750.sts": 408, + "u1D73B.sts": 450, + "u1D73C.sts": 451, + "u1D73D.sts": 449, + "u1D73E.sts": 253, + "u1D73F.sts": 460, + "u1D752.sts": 546, + "u1D740.sts": 321, + "u1D741.sts": 485, + "u1D742.sts": 432, + "u1D743.sts": 409, + "u1D745.sts": 527, + "u1D746.sts": 485, + "u1D748.sts": 454, + "u1D749.sts": 433, + "u1D74A.sts": 465, + "u1D753.sts": 599, + "u1D74C.sts": 469, + "u1D74D.sts": 688, + "u1D74E.sts": 525, + "u1D73A.sts": 418, + "u1D751.sts": 612, + "u1D755.sts": 708, + "u1D754.sts": 486, + "u1D747.sts": 308, + "u1D74B.sts": 512, + "u1D74F.sts": 524, + "u1D71E.st": 536, + "u1D71F.st": 707, + "u1D723.st": 598, + "u1D726.st": 618, + "u1D729.st": 593, + "u1D72B.st": 667, + "u1D72E.st": 616, + "u1D730.st": 497, + "u1D731.st": 513, + "u1D733.st": 498, + "u1D734.st": 636, + "u1D736.st": 385, + "u1D737.st": 507, + "u1D738.st": 334, + "u1D739.st": 407, + "u1D750.st": 352, + "u1D73B.st": 385, + "u1D73C.st": 374, + "u1D73D.st": 391, + "u1D73E.st": 216, + "u1D73F.st": 395, + "u1D752.st": 467, + "u1D740.st": 284, + "u1D741.st": 430, + "u1D742.st": 373, + "u1D743.st": 350, + "u1D745.st": 444, + "u1D746.st": 444, + "u1D748.st": 386, + "u1D749.st": 362, + "u1D74A.st": 389, + "u1D753.st": 526, + "u1D74C.st": 409, + "u1D74D.st": 592, + "u1D74E.st": 447, + "u1D73A.st": 356, + "u1D751.st": 523, + "u1D755.st": 604, + "u1D754.st": 452, + "u1D747.st": 247, + "u1D74B.st": 447, + "u1D74F.st": 456, + "u1D71C": 609, + "u1D71D": 502, + "u1D720": 514, + "u1D721": 528, + "u1D722": 615, + "u1D724": 382, + "u1D725": 603, + "u1D727": 711, + "u1D728": 615, + "u1D744": 293, + "u1D72A": 529, + "u1D72C": 495, + "u1D72F": 430, + "u1D732": 584, + "u1D71C.st": 664, + "u1D71D.st": 552, + "u1D720.st": 562, + "u1D721.st": 579, + "u1D722.st": 669, + "u1D724.st": 406, + "u1D725.st": 661, + "u1D727.st": 776, + "u1D728.st": 669, + "u1D744.st": 329, + "u1D72A.st": 584, + "u1D72C.st": 545, + "u1D72F.st": 481, + "u1D732.st": 634, + "u1D71C.sts": 752, + "u1D71D.sts": 629, + "u1D720.sts": 640, + "u1D721.sts": 656, + "u1D722.sts": 756, + "u1D724.sts": 454, + "u1D725.sts": 749, + "u1D727.sts": 876, + "u1D728.sts": 756, + "u1D744.sts": 390, + "u1D72A.sts": 674, + "u1D72C.sts": 623, + "u1D72F.sts": 564, + "u1D732.sts": 716, + "u1D735": 483, + "u1D735.st": 543, + "u1D735.sts": 640, + "uni03F4": 389, + "u1D6B9": 445, + "u1D6F3": 498, + "u1D72D": 542, + "uni03F4.st": 438, + "u1D6B9.st": 500, + "u1D6F3.st": 539, + "u1D72D.st": 598, + "uni03F4.sts": 513, + "u1D6B9.sts": 580, + "u1D6F3.sts": 634, + "u1D72D.sts": 677 + }, + "v_assembly": { + "parenleft": { + "italic": 0, + "parts": [ + { + "glyph": "uni239D", + "startConnector": 0, + "endConnector": 249, + "advance": 1495, + "extender": false + }, + { + "glyph": "uni239C", + "startConnector": 498, + "endConnector": 498, + "advance": 498, + "extender": true + }, + { + "glyph": "uni239B", + "startConnector": 249, + "endConnector": 0, + "advance": 1495, + "extender": false + } + ] + }, + "parenright": { + "italic": 0, + "parts": [ + { + "glyph": "uni23A0", + "startConnector": 0, + "endConnector": 249, + "advance": 1495, + "extender": false + }, + { + "glyph": "uni239F", + "startConnector": 498, + "endConnector": 498, + "advance": 498, + "extender": true + }, + { + "glyph": "uni239E", + "startConnector": 249, + "endConnector": 0, + "advance": 1495, + "extender": false + } + ] + }, + "bracketleft": { + "italic": 0, + "parts": [ + { + "glyph": "uni23A3", + "startConnector": 0, + "endConnector": 500, + "advance": 1500, + "extender": false + }, + { + "glyph": "uni23A2", + "startConnector": 1000, + "endConnector": 1000, + "advance": 1000, + "extender": true + }, + { + "glyph": "uni23A1", + "startConnector": 500, + "endConnector": 0, + "advance": 1500, + "extender": false + } + ] + }, + "bracketright": { + "italic": 0, + "parts": [ + { + "glyph": "uni23A6", + "startConnector": 0, + "endConnector": 500, + "advance": 1500, + "extender": false + }, + { + "glyph": "uni23A5", + "startConnector": 1000, + "endConnector": 1000, + "advance": 1000, + "extender": true + }, + { + "glyph": "uni23A4", + "startConnector": 500, + "endConnector": 0, + "advance": 1500, + "extender": false + } + ] + }, + "braceleft": { + "italic": 0, + "parts": [ + { + "glyph": "uni23A9", + "startConnector": 0, + "endConnector": 374, + "advance": 750, + "extender": false + }, + { + "glyph": "braceleft.ex", + "startConnector": 748, + "endConnector": 748, + "advance": 748, + "extender": true + }, + { + "glyph": "uni23A8", + "startConnector": 374, + "endConnector": 374, + "advance": 1500, + "extender": false + }, + { + "glyph": "braceleft.ex", + "startConnector": 748, + "endConnector": 748, + "advance": 748, + "extender": true + }, + { + "glyph": "uni23A7", + "startConnector": 374, + "endConnector": 0, + "advance": 750, + "extender": false + } + ] + }, + "bar": { + "italic": 0, + "parts": [ + { + "glyph": "divides.bt", + "startConnector": 0, + "endConnector": 601, + "advance": 1202, + "extender": false + }, + { + "glyph": "divides.ex", + "startConnector": 1202, + "endConnector": 1202, + "advance": 1202, + "extender": true + }, + { + "glyph": "divides.tp", + "startConnector": 601, + "endConnector": 0, + "advance": 1202, + "extender": false + } + ] + }, + "braceright": { + "italic": 0, + "parts": [ + { + "glyph": "uni23AD", + "startConnector": 0, + "endConnector": 374, + "advance": 750, + "extender": false + }, + { + "glyph": "braceright.ex", + "startConnector": 748, + "endConnector": 748, + "advance": 748, + "extender": true + }, + { + "glyph": "uni23AC", + "startConnector": 374, + "endConnector": 374, + "advance": 1500, + "extender": false + }, + { + "glyph": "braceright.ex", + "startConnector": 748, + "endConnector": 748, + "advance": 748, + "extender": true + }, + { + "glyph": "uni23AB", + "startConnector": 374, + "endConnector": 0, + "advance": 750, + "extender": false + } + ] + }, + "arrowup": { + "italic": 0, + "parts": [ + { + "glyph": "arrowup.bt", + "startConnector": 0, + "endConnector": 169, + "advance": 506, + "extender": false + }, + { + "glyph": "arrowup.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "arrowup.tp", + "startConnector": 169, + "endConnector": 0, + "advance": 505, + "extender": false + } + ] + }, + "arrowdown": { + "italic": 0, + "parts": [ + { + "glyph": "arrowdown.bt", + "startConnector": 0, + "endConnector": 169, + "advance": 505, + "extender": false + }, + { + "glyph": "arrowdown.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "arrowdown.tp", + "startConnector": 169, + "endConnector": 0, + "advance": 506, + "extender": false + } + ] + }, + "arrowupdn": { + "italic": 0, + "parts": [ + { + "glyph": "arrowupdn.bt", + "startConnector": 0, + "endConnector": 127, + "advance": 380, + "extender": false + }, + { + "glyph": "arrowupdn.ex", + "startConnector": 254, + "endConnector": 254, + "advance": 254, + "extender": true + }, + { + "glyph": "arrowupdn.tp", + "startConnector": 127, + "endConnector": 0, + "advance": 380, + "extender": false + } + ] + }, + "uni219F": { + "italic": 0, + "parts": [ + { + "glyph": "uni219F.bt", + "startConnector": 0, + "endConnector": 169, + "advance": 506, + "extender": false + }, + { + "glyph": "uni219F.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "uni219F.tp", + "startConnector": 169, + "endConnector": 0, + "advance": 505, + "extender": false + } + ] + }, + "uni21A1": { + "italic": 0, + "parts": [ + { + "glyph": "uni21A1.bt", + "startConnector": 0, + "endConnector": 169, + "advance": 505, + "extender": false + }, + { + "glyph": "uni21A1.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "uni21A1.tp", + "startConnector": 169, + "endConnector": 0, + "advance": 506, + "extender": false + } + ] + }, + "uni21A5": { + "italic": 0, + "parts": [ + { + "glyph": "uni21A5.bt", + "startConnector": 0, + "endConnector": 166, + "advance": 498, + "extender": false + }, + { + "glyph": "uni21A5.ex", + "startConnector": 332, + "endConnector": 332, + "advance": 332, + "extender": true + }, + { + "glyph": "uni21A5.tp", + "startConnector": 166, + "endConnector": 0, + "advance": 498, + "extender": false + } + ] + }, + "uni21A7": { + "italic": 0, + "parts": [ + { + "glyph": "uni21A7.bt", + "startConnector": 0, + "endConnector": 166, + "advance": 498, + "extender": false + }, + { + "glyph": "uni21A7.ex", + "startConnector": 332, + "endConnector": 332, + "advance": 332, + "extender": true + }, + { + "glyph": "uni21A7.tp", + "startConnector": 166, + "endConnector": 0, + "advance": 498, + "extender": false + } + ] + }, + "uni21BE": { + "italic": 0, + "parts": [ + { + "glyph": "uni21BE.bt", + "startConnector": 0, + "endConnector": 171, + "advance": 512, + "extender": false + }, + { + "glyph": "uni21BE.ex", + "startConnector": 341, + "endConnector": 341, + "advance": 341, + "extender": true + }, + { + "glyph": "uni21BE.tp", + "startConnector": 171, + "endConnector": 0, + "advance": 513, + "extender": false + } + ] + }, + "uni21C2": { + "italic": 0, + "parts": [ + { + "glyph": "uni21C2.bt", + "startConnector": 0, + "endConnector": 171, + "advance": 513, + "extender": false + }, + { + "glyph": "uni21C2.ex", + "startConnector": 341, + "endConnector": 341, + "advance": 341, + "extender": true + }, + { + "glyph": "uni21C2.tp", + "startConnector": 171, + "endConnector": 0, + "advance": 512, + "extender": false + } + ] + }, + "uni21BF": { + "italic": 0, + "parts": [ + { + "glyph": "uni21BF.bt", + "startConnector": 0, + "endConnector": 171, + "advance": 512, + "extender": false + }, + { + "glyph": "uni21BF.ex", + "startConnector": 341, + "endConnector": 341, + "advance": 341, + "extender": true + }, + { + "glyph": "uni21BF.tp", + "startConnector": 171, + "endConnector": 0, + "advance": 513, + "extender": false + } + ] + }, + "uni21C3": { + "italic": 0, + "parts": [ + { + "glyph": "uni21C3.bt", + "startConnector": 0, + "endConnector": 171, + "advance": 513, + "extender": false + }, + { + "glyph": "uni21C3.ex", + "startConnector": 341, + "endConnector": 341, + "advance": 341, + "extender": true + }, + { + "glyph": "uni21C3.tp", + "startConnector": 171, + "endConnector": 0, + "advance": 512, + "extender": false + } + ] + }, + "uni21C5": { + "italic": 0, + "parts": [ + { + "glyph": "uni21C5.bt", + "startConnector": 0, + "endConnector": 172, + "advance": 515, + "extender": false + }, + { + "glyph": "uni21C5.ex", + "startConnector": 343, + "endConnector": 343, + "advance": 343, + "extender": true + }, + { + "glyph": "uni21C5.tp", + "startConnector": 172, + "endConnector": 0, + "advance": 514, + "extender": false + } + ] + }, + "uni21F5": { + "italic": 0, + "parts": [ + { + "glyph": "uni21F5.bt", + "startConnector": 0, + "endConnector": 172, + "advance": 514, + "extender": false + }, + { + "glyph": "uni21F5.ex", + "startConnector": 343, + "endConnector": 343, + "advance": 343, + "extender": true + }, + { + "glyph": "uni21F5.tp", + "startConnector": 172, + "endConnector": 0, + "advance": 515, + "extender": false + } + ] + }, + "uni21C8": { + "italic": 0, + "parts": [ + { + "glyph": "uni21C8.bt", + "startConnector": 0, + "endConnector": 169, + "advance": 506, + "extender": false + }, + { + "glyph": "uni21C8.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "uni21C8.tp", + "startConnector": 169, + "endConnector": 0, + "advance": 505, + "extender": false + } + ] + }, + "uni21CA": { + "italic": 0, + "parts": [ + { + "glyph": "uni21CA.bt", + "startConnector": 0, + "endConnector": 169, + "advance": 505, + "extender": false + }, + { + "glyph": "uni21CA.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "uni21CA.tp", + "startConnector": 169, + "endConnector": 0, + "advance": 506, + "extender": false + } + ] + }, + "arrowdblup": { + "italic": 0, + "parts": [ + { + "glyph": "arrowdblup.bt", + "startConnector": 0, + "endConnector": 168, + "advance": 505, + "extender": false + }, + { + "glyph": "arrowdblup.ex", + "startConnector": 336, + "endConnector": 336, + "advance": 336, + "extender": true + }, + { + "glyph": "arrowdblup.tp", + "startConnector": 168, + "endConnector": 0, + "advance": 504, + "extender": false + } + ] + }, + "arrowdbldown": { + "italic": 0, + "parts": [ + { + "glyph": "arrowdbldown.bt", + "startConnector": 0, + "endConnector": 168, + "advance": 504, + "extender": false + }, + { + "glyph": "arrowdbldown.ex", + "startConnector": 336, + "endConnector": 336, + "advance": 336, + "extender": true + }, + { + "glyph": "arrowdbldown.tp", + "startConnector": 168, + "endConnector": 0, + "advance": 505, + "extender": false + } + ] + }, + "uni21D5": { + "italic": 0, + "parts": [ + { + "glyph": "uni21D5.bt", + "startConnector": 0, + "endConnector": 178, + "advance": 533, + "extender": false + }, + { + "glyph": "uni21D5.ex", + "startConnector": 356, + "endConnector": 356, + "advance": 356, + "extender": true + }, + { + "glyph": "uni21D5.tp", + "startConnector": 178, + "endConnector": 0, + "advance": 533, + "extender": false + } + ] + }, + "uni21E7": { + "italic": 0, + "parts": [ + { + "glyph": "uni21E7.bt", + "startConnector": 0, + "endConnector": 173, + "advance": 519, + "extender": false + }, + { + "glyph": "uni21E7.ex", + "startConnector": 346, + "endConnector": 346, + "advance": 346, + "extender": true + }, + { + "glyph": "uni21E7.tp", + "startConnector": 173, + "endConnector": 0, + "advance": 519, + "extender": false + } + ] + }, + "uni21E9": { + "italic": 0, + "parts": [ + { + "glyph": "uni21E9.bt", + "startConnector": 0, + "endConnector": 173, + "advance": 519, + "extender": false + }, + { + "glyph": "uni21E9.ex", + "startConnector": 346, + "endConnector": 346, + "advance": 346, + "extender": true + }, + { + "glyph": "uni21E9.tp", + "startConnector": 173, + "endConnector": 0, + "advance": 519, + "extender": false + } + ] + }, + "uni21F3": { + "italic": 0, + "parts": [ + { + "glyph": "uni21F3.bt", + "startConnector": 0, + "endConnector": 175, + "advance": 524, + "extender": false + }, + { + "glyph": "uni21F3.ex", + "startConnector": 349, + "endConnector": 349, + "advance": 349, + "extender": true + }, + { + "glyph": "uni21F3.tp", + "startConnector": 175, + "endConnector": 0, + "advance": 523, + "extender": false + } + ] + }, + "uni2B06": { + "italic": 0, + "parts": [ + { + "glyph": "uni2B06.bt", + "startConnector": 0, + "endConnector": 164, + "advance": 492, + "extender": false + }, + { + "glyph": "uni2B06.ex", + "startConnector": 327, + "endConnector": 327, + "advance": 327, + "extender": true + }, + { + "glyph": "uni2B06.tp", + "startConnector": 164, + "endConnector": 0, + "advance": 492, + "extender": false + } + ] + }, + "uni2B07": { + "italic": 0, + "parts": [ + { + "glyph": "uni2B07.bt", + "startConnector": 0, + "endConnector": 164, + "advance": 492, + "extender": false + }, + { + "glyph": "uni2B07.ex", + "startConnector": 327, + "endConnector": 327, + "advance": 327, + "extender": true + }, + { + "glyph": "uni2B07.tp", + "startConnector": 164, + "endConnector": 0, + "advance": 492, + "extender": false + } + ] + }, + "uni2B0D": { + "italic": 0, + "parts": [ + { + "glyph": "uni2B0D.bt", + "startConnector": 0, + "endConnector": 161, + "advance": 484, + "extender": false + }, + { + "glyph": "uni2B0D.ex", + "startConnector": 322, + "endConnector": 322, + "advance": 322, + "extender": true + }, + { + "glyph": "uni2B0D.tp", + "startConnector": 161, + "endConnector": 0, + "advance": 484, + "extender": false + } + ] + }, + "uni27EE": { + "italic": 0, + "parts": [ + { + "glyph": "uni27EE.bt", + "startConnector": 0, + "endConnector": 499, + "advance": 1526, + "extender": false + }, + { + "glyph": "uni27EE.ex", + "startConnector": 998, + "endConnector": 998, + "advance": 998, + "extender": true + }, + { + "glyph": "uni27EE.tp", + "startConnector": 499, + "endConnector": 0, + "advance": 1526, + "extender": false + } + ] + }, + "uni27EF": { + "italic": 0, + "parts": [ + { + "glyph": "uni27EF.bt", + "startConnector": 0, + "endConnector": 499, + "advance": 1526, + "extender": false + }, + { + "glyph": "uni27EF.ex", + "startConnector": 998, + "endConnector": 998, + "advance": 998, + "extender": true + }, + { + "glyph": "uni27EF.tp", + "startConnector": 499, + "endConnector": 0, + "advance": 1526, + "extender": false + } + ] + }, + "uni2308": { + "italic": 0, + "parts": [ + { + "glyph": "uni23A2", + "startConnector": 1000, + "endConnector": 1000, + "advance": 1000, + "extender": true + }, + { + "glyph": "uni23A1", + "startConnector": 500, + "endConnector": 0, + "advance": 1500, + "extender": false + } + ] + }, + "uni2309": { + "italic": 0, + "parts": [ + { + "glyph": "uni23A5", + "startConnector": 1000, + "endConnector": 1000, + "advance": 1000, + "extender": true + }, + { + "glyph": "uni23A4", + "startConnector": 500, + "endConnector": 0, + "advance": 1500, + "extender": false + } + ] + }, + "uni230A": { + "italic": 0, + "parts": [ + { + "glyph": "uni23A3", + "startConnector": 0, + "endConnector": 500, + "advance": 1500, + "extender": false + }, + { + "glyph": "uni23A2", + "startConnector": 1000, + "endConnector": 1000, + "advance": 1000, + "extender": true + } + ] + }, + "uni230B": { + "italic": 0, + "parts": [ + { + "glyph": "uni23A6", + "startConnector": 0, + "endConnector": 500, + "advance": 1500, + "extender": false + }, + { + "glyph": "uni23A5", + "startConnector": 1000, + "endConnector": 1000, + "advance": 1000, + "extender": true + } + ] + }, + "uni27E6": { + "italic": 0, + "parts": [ + { + "glyph": "uni27E6.bt", + "startConnector": 0, + "endConnector": 500, + "advance": 1000, + "extender": false + }, + { + "glyph": "uni27E6.ex", + "startConnector": 1000, + "endConnector": 1000, + "advance": 1000, + "extender": true + }, + { + "glyph": "uni27E6.tp", + "startConnector": 500, + "endConnector": 0, + "advance": 1000, + "extender": false + } + ] + }, + "uni27E7": { + "italic": 0, + "parts": [ + { + "glyph": "uni27E7.bt", + "startConnector": 0, + "endConnector": 500, + "advance": 1000, + "extender": false + }, + { + "glyph": "uni27E7.ex", + "startConnector": 1000, + "endConnector": 1000, + "advance": 1000, + "extender": true + }, + { + "glyph": "uni27E7.tp", + "startConnector": 500, + "endConnector": 0, + "advance": 1000, + "extender": false + } + ] + }, + "divides": { + "italic": 0, + "parts": [ + { + "glyph": "divides.bt", + "startConnector": 0, + "endConnector": 601, + "advance": 1202, + "extender": false + }, + { + "glyph": "divides.ex", + "startConnector": 1202, + "endConnector": 1202, + "advance": 1202, + "extender": true + }, + { + "glyph": "divides.tp", + "startConnector": 601, + "endConnector": 0, + "advance": 1202, + "extender": false + } + ] + }, + "parallel": { + "italic": 0, + "parts": [ + { + "glyph": "parallel.bt", + "startConnector": 0, + "endConnector": 601, + "advance": 1202, + "extender": false + }, + { + "glyph": "parallel.ex", + "startConnector": 1202, + "endConnector": 1202, + "advance": 1202, + "extender": true + }, + { + "glyph": "parallel.tp", + "startConnector": 601, + "endConnector": 0, + "advance": 1202, + "extender": false + } + ] + }, + "dblverticalbar": { + "italic": 0, + "parts": [ + { + "glyph": "parallel.bt", + "startConnector": 0, + "endConnector": 601, + "advance": 1202, + "extender": false + }, + { + "glyph": "parallel.ex", + "startConnector": 1202, + "endConnector": 1202, + "advance": 1202, + "extender": true + }, + { + "glyph": "parallel.tp", + "startConnector": 601, + "endConnector": 0, + "advance": 1202, + "extender": false + } + ] + }, + "radical": { + "italic": 0, + "parts": [ + { + "glyph": "uni23B7", + "startConnector": 0, + "endConnector": 320, + "advance": 1820, + "extender": false + }, + { + "glyph": "radical.ex", + "startConnector": 640, + "endConnector": 640, + "advance": 640, + "extender": true + }, + { + "glyph": "radical.tp", + "startConnector": 320, + "endConnector": 0, + "advance": 620, + "extender": false + } + ] + } + }, + "h_assembly": { + "equal": { + "italic": 0, + "parts": [ + { + "glyph": "equal.lft", + "startConnector": 0, + "endConnector": 111, + "advance": 222, + "extender": false + }, + { + "glyph": "equal.ex", + "startConnector": 222, + "endConnector": 222, + "advance": 222, + "extender": true + }, + { + "glyph": "equal.rt", + "startConnector": 111, + "endConnector": 0, + "advance": 222, + "extender": false + } + ] + }, + "uni20D0": { + "italic": 0, + "parts": [ + { + "glyph": "uni20D0.lft", + "startConnector": 0, + "endConnector": 70, + "advance": 208, + "extender": false + }, + { + "glyph": "uni20D0.ex", + "startConnector": 139, + "endConnector": 139, + "advance": 139, + "extender": true + }, + { + "glyph": "uni20D0.rt", + "startConnector": 70, + "endConnector": 0, + "advance": 208, + "extender": false + } + ] + }, + "uni20D1": { + "italic": 0, + "parts": [ + { + "glyph": "uni20D1.lft", + "startConnector": 0, + "endConnector": 70, + "advance": 208, + "extender": false + }, + { + "glyph": "uni20D1.ex", + "startConnector": 139, + "endConnector": 139, + "advance": 139, + "extender": true + }, + { + "glyph": "uni20D1.rt", + "startConnector": 70, + "endConnector": 0, + "advance": 208, + "extender": false + } + ] + }, + "uni20D6": { + "italic": 0, + "parts": [ + { + "glyph": "uni20D6.lft", + "startConnector": 0, + "endConnector": 69, + "advance": 205, + "extender": false + }, + { + "glyph": "uni20D6.ex", + "startConnector": 137, + "endConnector": 137, + "advance": 137, + "extender": true + }, + { + "glyph": "uni20D6.rt", + "startConnector": 69, + "endConnector": 0, + "advance": 205, + "extender": false + } + ] + }, + "uni20D7": { + "italic": 0, + "parts": [ + { + "glyph": "uni20D7.lft", + "startConnector": 0, + "endConnector": 69, + "advance": 205, + "extender": false + }, + { + "glyph": "uni20D7.ex", + "startConnector": 137, + "endConnector": 137, + "advance": 137, + "extender": true + }, + { + "glyph": "uni20D7.rt", + "startConnector": 69, + "endConnector": 0, + "advance": 205, + "extender": false + } + ] + }, + "uni20E1": { + "italic": 0, + "parts": [ + { + "glyph": "uni20E1.lft", + "startConnector": 0, + "endConnector": 76, + "advance": 226, + "extender": false + }, + { + "glyph": "uni20E1.ex", + "startConnector": 151, + "endConnector": 151, + "advance": 151, + "extender": true + }, + { + "glyph": "uni20E1.rt", + "startConnector": 76, + "endConnector": 0, + "advance": 226, + "extender": false + } + ] + }, + "uni20EC": { + "italic": 0, + "parts": [ + { + "glyph": "uni20EC.lft", + "startConnector": 0, + "endConnector": 70, + "advance": 208, + "extender": false + }, + { + "glyph": "uni20EC.ex", + "startConnector": 139, + "endConnector": 139, + "advance": 139, + "extender": true + }, + { + "glyph": "uni20EC.rt", + "startConnector": 70, + "endConnector": 0, + "advance": 208, + "extender": false + } + ] + }, + "uni20ED": { + "italic": 0, + "parts": [ + { + "glyph": "uni20ED.lft", + "startConnector": 0, + "endConnector": 70, + "advance": 208, + "extender": false + }, + { + "glyph": "uni20ED.ex", + "startConnector": 139, + "endConnector": 139, + "advance": 139, + "extender": true + }, + { + "glyph": "uni20ED.rt", + "startConnector": 70, + "endConnector": 0, + "advance": 208, + "extender": false + } + ] + }, + "uni20EE": { + "italic": 0, + "parts": [ + { + "glyph": "uni20EE.lft", + "startConnector": 0, + "endConnector": 69, + "advance": 205, + "extender": false + }, + { + "glyph": "uni20EE.ex", + "startConnector": 137, + "endConnector": 137, + "advance": 137, + "extender": true + }, + { + "glyph": "uni20EE.rt", + "startConnector": 69, + "endConnector": 0, + "advance": 205, + "extender": false + } + ] + }, + "uni20EF": { + "italic": 0, + "parts": [ + { + "glyph": "uni20EF.lft", + "startConnector": 0, + "endConnector": 69, + "advance": 205, + "extender": false + }, + { + "glyph": "uni20EF.ex", + "startConnector": 137, + "endConnector": 137, + "advance": 137, + "extender": true + }, + { + "glyph": "uni20EF.rt", + "startConnector": 69, + "endConnector": 0, + "advance": 205, + "extender": false + } + ] + }, + "uni034D": { + "italic": 0, + "parts": [ + { + "glyph": "uni034D.lft", + "startConnector": 0, + "endConnector": 76, + "advance": 226, + "extender": false + }, + { + "glyph": "uni034D.ex", + "startConnector": 151, + "endConnector": 151, + "advance": 151, + "extender": true + }, + { + "glyph": "uni034D.rt", + "startConnector": 76, + "endConnector": 0, + "advance": 226, + "extender": false + } + ] + }, + "arrowleft": { + "italic": 0, + "parts": [ + { + "glyph": "arrowleft.lft", + "startConnector": 0, + "endConnector": 169, + "advance": 507, + "extender": false + }, + { + "glyph": "arrowleft.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "arrowleft.rt", + "startConnector": 169, + "endConnector": 0, + "advance": 507, + "extender": false + } + ] + }, + "arrowright": { + "italic": 0, + "parts": [ + { + "glyph": "arrowright.lft", + "startConnector": 0, + "endConnector": 169, + "advance": 507, + "extender": false + }, + { + "glyph": "arrowright.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "arrowright.rt", + "startConnector": 169, + "endConnector": 0, + "advance": 507, + "extender": false + } + ] + }, + "uni219A": { + "italic": 0, + "parts": [ + { + "glyph": "uni219A.lft", + "startConnector": 0, + "endConnector": 49, + "advance": 386, + "extender": false + }, + { + "glyph": "uni219A.ex", + "startConnector": 97, + "endConnector": 97, + "advance": 97, + "extender": true + }, + { + "glyph": "uni219A.md", + "startConnector": 49, + "endConnector": 49, + "advance": 386, + "extender": false + }, + { + "glyph": "uni219A.ex", + "startConnector": 97, + "endConnector": 97, + "advance": 97, + "extender": true + }, + { + "glyph": "uni219A.rt", + "startConnector": 49, + "endConnector": 0, + "advance": 386, + "extender": false + } + ] + }, + "uni219B": { + "italic": 0, + "parts": [ + { + "glyph": "uni219B.lft", + "startConnector": 0, + "endConnector": 48, + "advance": 386, + "extender": false + }, + { + "glyph": "uni219B.ex", + "startConnector": 96, + "endConnector": 96, + "advance": 96, + "extender": true + }, + { + "glyph": "uni219B.md", + "startConnector": 48, + "endConnector": 48, + "advance": 386, + "extender": false + }, + { + "glyph": "uni219B.ex", + "startConnector": 96, + "endConnector": 96, + "advance": 96, + "extender": true + }, + { + "glyph": "uni219B.rt", + "startConnector": 48, + "endConnector": 0, + "advance": 386, + "extender": false + } + ] + }, + "arrowboth": { + "italic": 0, + "parts": [ + { + "glyph": "arrowboth.lft", + "startConnector": 0, + "endConnector": 166, + "advance": 499, + "extender": false + }, + { + "glyph": "arrowboth.ex", + "startConnector": 332, + "endConnector": 332, + "advance": 332, + "extender": true + }, + { + "glyph": "arrowboth.rt", + "startConnector": 166, + "endConnector": 0, + "advance": 499, + "extender": false + } + ] + }, + "uni21AE": { + "italic": 0, + "parts": [ + { + "glyph": "uni21AE.lft", + "startConnector": 0, + "endConnector": 48, + "advance": 380, + "extender": false + }, + { + "glyph": "uni21AE.ex", + "startConnector": 95, + "endConnector": 95, + "advance": 95, + "extender": true + }, + { + "glyph": "uni21AE.md", + "startConnector": 48, + "endConnector": 48, + "advance": 380, + "extender": false + }, + { + "glyph": "uni21AE.ex", + "startConnector": 95, + "endConnector": 95, + "advance": 95, + "extender": true + }, + { + "glyph": "uni21AE.rt", + "startConnector": 48, + "endConnector": 0, + "advance": 380, + "extender": false + } + ] + }, + "uni219E": { + "italic": 0, + "parts": [ + { + "glyph": "uni219E.lft", + "startConnector": 0, + "endConnector": 169, + "advance": 507, + "extender": false + }, + { + "glyph": "uni219E.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "uni219E.rt", + "startConnector": 169, + "endConnector": 0, + "advance": 507, + "extender": false + } + ] + }, + "uni21A0": { + "italic": 0, + "parts": [ + { + "glyph": "uni21A0.lft", + "startConnector": 0, + "endConnector": 169, + "advance": 507, + "extender": false + }, + { + "glyph": "uni21A0.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "uni21A0.rt", + "startConnector": 169, + "endConnector": 0, + "advance": 507, + "extender": false + } + ] + }, + "uni21A2": { + "italic": 0, + "parts": [ + { + "glyph": "uni21A2.lft", + "startConnector": 0, + "endConnector": 193, + "advance": 580, + "extender": false + }, + { + "glyph": "uni21A2.ex", + "startConnector": 386, + "endConnector": 386, + "advance": 386, + "extender": true + }, + { + "glyph": "uni21A2.rt", + "startConnector": 193, + "endConnector": 0, + "advance": 580, + "extender": false + } + ] + }, + "uni21A3": { + "italic": 0, + "parts": [ + { + "glyph": "uni21A3.lft", + "startConnector": 0, + "endConnector": 193, + "advance": 580, + "extender": false + }, + { + "glyph": "uni21A3.ex", + "startConnector": 386, + "endConnector": 386, + "advance": 386, + "extender": true + }, + { + "glyph": "uni21A3.rt", + "startConnector": 193, + "endConnector": 0, + "advance": 580, + "extender": false + } + ] + }, + "uni21A4": { + "italic": 0, + "parts": [ + { + "glyph": "uni21A4.lft", + "startConnector": 0, + "endConnector": 167, + "advance": 499, + "extender": false + }, + { + "glyph": "uni21A4.ex", + "startConnector": 333, + "endConnector": 333, + "advance": 333, + "extender": true + }, + { + "glyph": "uni21A4.rt", + "startConnector": 167, + "endConnector": 0, + "advance": 499, + "extender": false + } + ] + }, + "uni21A6": { + "italic": 0, + "parts": [ + { + "glyph": "uni21A6.lft", + "startConnector": 0, + "endConnector": 167, + "advance": 499, + "extender": false + }, + { + "glyph": "uni21A6.ex", + "startConnector": 333, + "endConnector": 333, + "advance": 333, + "extender": true + }, + { + "glyph": "uni21A6.rt", + "startConnector": 167, + "endConnector": 0, + "advance": 499, + "extender": false + } + ] + }, + "uni21AA": { + "italic": 0, + "parts": [ + { + "glyph": "uni21AA.lft", + "startConnector": 0, + "endConnector": 169, + "advance": 507, + "extender": false + }, + { + "glyph": "uni21AA.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "uni21AA.rt", + "startConnector": 169, + "endConnector": 0, + "advance": 507, + "extender": false + } + ] + }, + "uni21A9": { + "italic": 0, + "parts": [ + { + "glyph": "uni21A9.lft", + "startConnector": 0, + "endConnector": 169, + "advance": 507, + "extender": false + }, + { + "glyph": "uni21A9.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "uni21A9.rt", + "startConnector": 169, + "endConnector": 0, + "advance": 507, + "extender": false + } + ] + }, + "uni21AC": { + "italic": 0, + "parts": [ + { + "glyph": "uni21AC.lft", + "startConnector": 0, + "endConnector": 169, + "advance": 507, + "extender": false + }, + { + "glyph": "uni21AC.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "uni21AC.rt", + "startConnector": 169, + "endConnector": 0, + "advance": 507, + "extender": false + } + ] + }, + "uni21AB": { + "italic": 0, + "parts": [ + { + "glyph": "uni21AB.lft", + "startConnector": 0, + "endConnector": 169, + "advance": 507, + "extender": false + }, + { + "glyph": "uni21AB.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "uni21AB.rt", + "startConnector": 169, + "endConnector": 0, + "advance": 507, + "extender": false + } + ] + }, + "uni21BC": { + "italic": 0, + "parts": [ + { + "glyph": "uni21BC.lft", + "startConnector": 0, + "endConnector": 171, + "advance": 513, + "extender": false + }, + { + "glyph": "uni21BC.ex", + "startConnector": 341, + "endConnector": 341, + "advance": 341, + "extender": true + }, + { + "glyph": "uni21BC.rt", + "startConnector": 171, + "endConnector": 0, + "advance": 512, + "extender": false + } + ] + }, + "uni21C0": { + "italic": 0, + "parts": [ + { + "glyph": "uni21C0.lft", + "startConnector": 0, + "endConnector": 171, + "advance": 512, + "extender": false + }, + { + "glyph": "uni21C0.ex", + "startConnector": 341, + "endConnector": 341, + "advance": 341, + "extender": true + }, + { + "glyph": "uni21C0.rt", + "startConnector": 171, + "endConnector": 0, + "advance": 513, + "extender": false + } + ] + }, + "uni21BD": { + "italic": 0, + "parts": [ + { + "glyph": "uni21BD.lft", + "startConnector": 0, + "endConnector": 171, + "advance": 512, + "extender": false + }, + { + "glyph": "uni21BD.ex", + "startConnector": 341, + "endConnector": 341, + "advance": 341, + "extender": true + }, + { + "glyph": "uni21BD.rt", + "startConnector": 171, + "endConnector": 0, + "advance": 513, + "extender": false + } + ] + }, + "uni21C1": { + "italic": 0, + "parts": [ + { + "glyph": "uni21C1.lft", + "startConnector": 0, + "endConnector": 171, + "advance": 512, + "extender": false + }, + { + "glyph": "uni21C1.ex", + "startConnector": 341, + "endConnector": 341, + "advance": 341, + "extender": true + }, + { + "glyph": "uni21C1.rt", + "startConnector": 171, + "endConnector": 0, + "advance": 513, + "extender": false + } + ] + }, + "uni21C4": { + "italic": 0, + "parts": [ + { + "glyph": "uni21C4.lft", + "startConnector": 0, + "endConnector": 172, + "advance": 515, + "extender": false + }, + { + "glyph": "uni21C4.ex", + "startConnector": 343, + "endConnector": 343, + "advance": 343, + "extender": true + }, + { + "glyph": "uni21C4.rt", + "startConnector": 172, + "endConnector": 0, + "advance": 514, + "extender": false + } + ] + }, + "uni21C6": { + "italic": 0, + "parts": [ + { + "glyph": "uni21C6.lft", + "startConnector": 0, + "endConnector": 172, + "advance": 514, + "extender": false + }, + { + "glyph": "uni21C6.ex", + "startConnector": 343, + "endConnector": 343, + "advance": 343, + "extender": true + }, + { + "glyph": "uni21C6.rt", + "startConnector": 172, + "endConnector": 0, + "advance": 515, + "extender": false + } + ] + }, + "uni21C7": { + "italic": 0, + "parts": [ + { + "glyph": "uni21C7.lft", + "startConnector": 0, + "endConnector": 169, + "advance": 507, + "extender": false + }, + { + "glyph": "uni21C7.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "uni21C7.rt", + "startConnector": 169, + "endConnector": 0, + "advance": 507, + "extender": false + } + ] + }, + "uni21C9": { + "italic": 0, + "parts": [ + { + "glyph": "uni21C9.lft", + "startConnector": 0, + "endConnector": 169, + "advance": 507, + "extender": false + }, + { + "glyph": "uni21C9.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "uni21C9.rt", + "startConnector": 169, + "endConnector": 0, + "advance": 507, + "extender": false + } + ] + }, + "uni21F6": { + "italic": 0, + "parts": [ + { + "glyph": "uni21F6.lft", + "startConnector": 0, + "endConnector": 169, + "advance": 507, + "extender": false + }, + { + "glyph": "uni21F6.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "uni21F6.rt", + "startConnector": 169, + "endConnector": 0, + "advance": 507, + "extender": false + } + ] + }, + "uni2B31": { + "italic": 0, + "parts": [ + { + "glyph": "uni2B31.lft", + "startConnector": 0, + "endConnector": 169, + "advance": 507, + "extender": false + }, + { + "glyph": "uni2B31.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "uni2B31.rt", + "startConnector": 169, + "endConnector": 0, + "advance": 507, + "extender": false + } + ] + }, + "uni21CB": { + "italic": 0, + "parts": [ + { + "glyph": "uni21CB.lft", + "startConnector": 0, + "endConnector": 172, + "advance": 515, + "extender": false + }, + { + "glyph": "uni21CB.ex", + "startConnector": 343, + "endConnector": 343, + "advance": 343, + "extender": true + }, + { + "glyph": "uni21CB.rt", + "startConnector": 172, + "endConnector": 0, + "advance": 514, + "extender": false + } + ] + }, + "uni21CC": { + "italic": 0, + "parts": [ + { + "glyph": "uni21CC.lft", + "startConnector": 0, + "endConnector": 172, + "advance": 514, + "extender": false + }, + { + "glyph": "uni21CC.ex", + "startConnector": 343, + "endConnector": 343, + "advance": 343, + "extender": true + }, + { + "glyph": "uni21CC.rt", + "startConnector": 172, + "endConnector": 0, + "advance": 515, + "extender": false + } + ] + }, + "arrowdblleft": { + "italic": 0, + "parts": [ + { + "glyph": "arrowdblleft.lft", + "startConnector": 0, + "endConnector": 168, + "advance": 504, + "extender": false + }, + { + "glyph": "arrowdblleft.ex", + "startConnector": 336, + "endConnector": 336, + "advance": 336, + "extender": true + }, + { + "glyph": "arrowdblleft.rt", + "startConnector": 168, + "endConnector": 0, + "advance": 505, + "extender": false + } + ] + }, + "arrowdblright": { + "italic": 0, + "parts": [ + { + "glyph": "arrowdblright.lft", + "startConnector": 0, + "endConnector": 168, + "advance": 505, + "extender": false + }, + { + "glyph": "arrowdblright.ex", + "startConnector": 336, + "endConnector": 336, + "advance": 336, + "extender": true + }, + { + "glyph": "arrowdblright.rt", + "startConnector": 168, + "endConnector": 0, + "advance": 504, + "extender": false + } + ] + }, + "arrowdblboth": { + "italic": 0, + "parts": [ + { + "glyph": "arrowdblboth.lft", + "startConnector": 0, + "endConnector": 178, + "advance": 533, + "extender": false + }, + { + "glyph": "arrowdblboth.ex", + "startConnector": 356, + "endConnector": 356, + "advance": 356, + "extender": true + }, + { + "glyph": "arrowdblboth.rt", + "startConnector": 178, + "endConnector": 0, + "advance": 533, + "extender": false + } + ] + }, + "uni21CD": { + "italic": 0, + "parts": [ + { + "glyph": "uni21CD.lft", + "startConnector": 0, + "endConnector": 49, + "advance": 384, + "extender": false + }, + { + "glyph": "uni21CD.ex", + "startConnector": 97, + "endConnector": 97, + "advance": 97, + "extender": true + }, + { + "glyph": "uni21CD.md", + "startConnector": 49, + "endConnector": 49, + "advance": 384, + "extender": false + }, + { + "glyph": "uni21CD.ex", + "startConnector": 97, + "endConnector": 97, + "advance": 97, + "extender": true + }, + { + "glyph": "uni21CD.rt", + "startConnector": 49, + "endConnector": 0, + "advance": 384, + "extender": false + } + ] + }, + "uni21CF": { + "italic": 0, + "parts": [ + { + "glyph": "uni21CF.lft", + "startConnector": 0, + "endConnector": 49, + "advance": 384, + "extender": false + }, + { + "glyph": "uni21CF.ex", + "startConnector": 97, + "endConnector": 97, + "advance": 97, + "extender": true + }, + { + "glyph": "uni21CF.md", + "startConnector": 49, + "endConnector": 49, + "advance": 384, + "extender": false + }, + { + "glyph": "uni21CF.ex", + "startConnector": 97, + "endConnector": 97, + "advance": 97, + "extender": true + }, + { + "glyph": "uni21CF.rt", + "startConnector": 49, + "endConnector": 0, + "advance": 384, + "extender": false + } + ] + }, + "uni21CE": { + "italic": 0, + "parts": [ + { + "glyph": "uni21CE.lft", + "startConnector": 0, + "endConnector": 51, + "advance": 406, + "extender": false + }, + { + "glyph": "uni21CE.ex", + "startConnector": 102, + "endConnector": 102, + "advance": 102, + "extender": true + }, + { + "glyph": "uni21CE.md", + "startConnector": 51, + "endConnector": 51, + "advance": 406, + "extender": false + }, + { + "glyph": "uni21CE.ex", + "startConnector": 102, + "endConnector": 102, + "advance": 102, + "extender": true + }, + { + "glyph": "uni21CE.rt", + "startConnector": 51, + "endConnector": 0, + "advance": 406, + "extender": false + } + ] + }, + "uni2906": { + "italic": 0, + "parts": [ + { + "glyph": "uni2906.lft", + "startConnector": 0, + "endConnector": 166, + "advance": 497, + "extender": false + }, + { + "glyph": "uni2906.ex", + "startConnector": 331, + "endConnector": 331, + "advance": 331, + "extender": true + }, + { + "glyph": "uni2906.rt", + "startConnector": 166, + "endConnector": 0, + "advance": 497, + "extender": false + } + ] + }, + "uni2907": { + "italic": 0, + "parts": [ + { + "glyph": "uni2907.lft", + "startConnector": 0, + "endConnector": 166, + "advance": 497, + "extender": false + }, + { + "glyph": "uni2907.ex", + "startConnector": 331, + "endConnector": 331, + "advance": 331, + "extender": true + }, + { + "glyph": "uni2907.rt", + "startConnector": 166, + "endConnector": 0, + "advance": 497, + "extender": false + } + ] + }, + "uni21DA": { + "italic": 0, + "parts": [ + { + "glyph": "uni21DA.lft", + "startConnector": 0, + "endConnector": 169, + "advance": 506, + "extender": false + }, + { + "glyph": "uni21DA.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "uni21DA.rt", + "startConnector": 169, + "endConnector": 0, + "advance": 506, + "extender": false + } + ] + }, + "uni21DB": { + "italic": 0, + "parts": [ + { + "glyph": "uni21DB.lft", + "startConnector": 0, + "endConnector": 169, + "advance": 506, + "extender": false + }, + { + "glyph": "uni21DB.ex", + "startConnector": 337, + "endConnector": 337, + "advance": 337, + "extender": true + }, + { + "glyph": "uni21DB.rt", + "startConnector": 169, + "endConnector": 0, + "advance": 506, + "extender": false + } + ] + }, + "uni21E6": { + "italic": 0, + "parts": [ + { + "glyph": "uni21E6.lft", + "startConnector": 0, + "endConnector": 173, + "advance": 519, + "extender": false + }, + { + "glyph": "uni21E6.ex", + "startConnector": 346, + "endConnector": 346, + "advance": 346, + "extender": true + }, + { + "glyph": "uni21E6.rt", + "startConnector": 173, + "endConnector": 0, + "advance": 519, + "extender": false + } + ] + }, + "uni21E8": { + "italic": 0, + "parts": [ + { + "glyph": "uni21E8.lft", + "startConnector": 0, + "endConnector": 173, + "advance": 519, + "extender": false + }, + { + "glyph": "uni21E8.ex", + "startConnector": 346, + "endConnector": 346, + "advance": 346, + "extender": true + }, + { + "glyph": "uni21E8.rt", + "startConnector": 173, + "endConnector": 0, + "advance": 519, + "extender": false + } + ] + }, + "uni2B04": { + "italic": 0, + "parts": [ + { + "glyph": "uni2B04.lft", + "startConnector": 0, + "endConnector": 175, + "advance": 524, + "extender": false + }, + { + "glyph": "uni2B04.ex", + "startConnector": 349, + "endConnector": 349, + "advance": 349, + "extender": true + }, + { + "glyph": "uni2B04.rt", + "startConnector": 175, + "endConnector": 0, + "advance": 523, + "extender": false + } + ] + }, + "uni2B05": { + "italic": 0, + "parts": [ + { + "glyph": "uni2B05.lft", + "startConnector": 0, + "endConnector": 164, + "advance": 492, + "extender": false + }, + { + "glyph": "uni2B05.ex", + "startConnector": 327, + "endConnector": 327, + "advance": 327, + "extender": true + }, + { + "glyph": "uni2B05.rt", + "startConnector": 164, + "endConnector": 0, + "advance": 492, + "extender": false + } + ] + }, + "uni27A1": { + "italic": 0, + "parts": [ + { + "glyph": "uni27A1.lft", + "startConnector": 0, + "endConnector": 164, + "advance": 492, + "extender": false + }, + { + "glyph": "uni27A1.ex", + "startConnector": 327, + "endConnector": 327, + "advance": 327, + "extender": true + }, + { + "glyph": "uni27A1.rt", + "startConnector": 164, + "endConnector": 0, + "advance": 492, + "extender": false + } + ] + }, + "uni2B0C": { + "italic": 0, + "parts": [ + { + "glyph": "uni2B0C.lft", + "startConnector": 0, + "endConnector": 161, + "advance": 484, + "extender": false + }, + { + "glyph": "uni2B0C.ex", + "startConnector": 322, + "endConnector": 322, + "advance": 322, + "extender": true + }, + { + "glyph": "uni2B0C.rt", + "startConnector": 161, + "endConnector": 0, + "advance": 484, + "extender": false + } + ] + }, + "lowlinecmb": { + "italic": 0, + "parts": [ + { + "glyph": "lowlinecmb.lft", + "startConnector": 0, + "endConnector": 95, + "advance": 189, + "extender": false + }, + { + "glyph": "lowlinecmb.ex", + "startConnector": 190, + "endConnector": 190, + "advance": 190, + "extender": true + }, + { + "glyph": "lowlinecmb.rt", + "startConnector": 95, + "endConnector": 0, + "advance": 189, + "extender": false + } + ] + }, + "dbllowlinecmb": { + "italic": 0, + "parts": [ + { + "glyph": "dbllowlinecmb.lft", + "startConnector": 0, + "endConnector": 95, + "advance": 189, + "extender": false + }, + { + "glyph": "dbllowlinecmb.ex", + "startConnector": 190, + "endConnector": 190, + "advance": 190, + "extender": true + }, + { + "glyph": "dbllowlinecmb.rt", + "startConnector": 95, + "endConnector": 0, + "advance": 189, + "extender": false + } + ] + }, + "overlinecmb": { + "italic": 0, + "parts": [ + { + "glyph": "overlinecmb.lft", + "startConnector": 0, + "endConnector": 95, + "advance": 189, + "extender": false + }, + { + "glyph": "overlinecmb.ex", + "startConnector": 190, + "endConnector": 190, + "advance": 190, + "extender": true + }, + { + "glyph": "overlinecmb.rt", + "startConnector": 95, + "endConnector": 0, + "advance": 189, + "extender": false + } + ] + }, + "dbloverlinecmb": { + "italic": 0, + "parts": [ + { + "glyph": "dbloverlinecmb.lft", + "startConnector": 0, + "endConnector": 95, + "advance": 189, + "extender": false + }, + { + "glyph": "dbloverlinecmb.ex", + "startConnector": 190, + "endConnector": 190, + "advance": 190, + "extender": true + }, + { + "glyph": "dbloverlinecmb.rt", + "startConnector": 95, + "endConnector": 0, + "advance": 189, + "extender": false + } + ] + }, + "uni23DE": { + "italic": 0, + "parts": [ + { + "glyph": "uni23DE.lft", + "startConnector": 0, + "endConnector": 497, + "advance": 1002, + "extender": false + }, + { + "glyph": "uni23DE.ex", + "startConnector": 994, + "endConnector": 994, + "advance": 994, + "extender": true + }, + { + "glyph": "uni23DE.md", + "startConnector": 497, + "endConnector": 497, + "advance": 2003, + "extender": false + }, + { + "glyph": "uni23DE.ex", + "startConnector": 994, + "endConnector": 994, + "advance": 994, + "extender": true + }, + { + "glyph": "uni23DE.rt", + "startConnector": 497, + "endConnector": 0, + "advance": 1001, + "extender": false + } + ] + }, + "uni23DF": { + "italic": 0, + "parts": [ + { + "glyph": "uni23DF.lft", + "startConnector": 0, + "endConnector": 497, + "advance": 1002, + "extender": false + }, + { + "glyph": "uni23DF.ex", + "startConnector": 994, + "endConnector": 994, + "advance": 994, + "extender": true + }, + { + "glyph": "uni23DF.md", + "startConnector": 497, + "endConnector": 497, + "advance": 2003, + "extender": false + }, + { + "glyph": "uni23DF.ex", + "startConnector": 994, + "endConnector": 994, + "advance": 994, + "extender": true + }, + { + "glyph": "uni23DF.rt", + "startConnector": 497, + "endConnector": 0, + "advance": 1001, + "extender": false + } + ] + }, + "uni23DC": { + "italic": 0, + "parts": [ + { + "glyph": "uni23DC.lft", + "startConnector": 0, + "endConnector": 497, + "advance": 2016, + "extender": false + }, + { + "glyph": "uni23DC.ex", + "startConnector": 994, + "endConnector": 994, + "advance": 994, + "extender": true + }, + { + "glyph": "uni23DC.rt", + "startConnector": 497, + "endConnector": 0, + "advance": 2016, + "extender": false + } + ] + }, + "uni23DD": { + "italic": 0, + "parts": [ + { + "glyph": "uni23DD.lft", + "startConnector": 0, + "endConnector": 497, + "advance": 2016, + "extender": false + }, + { + "glyph": "uni23DD.ex", + "startConnector": 994, + "endConnector": 994, + "advance": 994, + "extender": true + }, + { + "glyph": "uni23DD.rt", + "startConnector": 497, + "endConnector": 0, + "advance": 2016, + "extender": false + } + ] + }, + "uni23B4": { + "italic": 0, + "parts": [ + { + "glyph": "uni23B4.lft", + "startConnector": 0, + "endConnector": 498, + "advance": 1493, + "extender": false + }, + { + "glyph": "uni23B4.ex", + "startConnector": 995, + "endConnector": 995, + "advance": 995, + "extender": true + }, + { + "glyph": "uni23B4.rt", + "startConnector": 498, + "endConnector": 0, + "advance": 1492, + "extender": false + } + ] + }, + "uni23B5": { + "italic": 0, + "parts": [ + { + "glyph": "uni23B5.lft", + "startConnector": 0, + "endConnector": 498, + "advance": 1493, + "extender": false + }, + { + "glyph": "uni23B5.ex", + "startConnector": 995, + "endConnector": 995, + "advance": 995, + "extender": true + }, + { + "glyph": "uni23B5.rt", + "startConnector": 498, + "endConnector": 0, + "advance": 1492, + "extender": false + } + ] + }, + "uni23E0": { + "italic": 0, + "parts": [ + { + "glyph": "uni23E0.lft", + "startConnector": 0, + "endConnector": 680, + "advance": 2041, + "extender": false + }, + { + "glyph": "uni23E0.ex", + "startConnector": 1360, + "endConnector": 1360, + "advance": 1360, + "extender": true + }, + { + "glyph": "uni23E0.rt", + "startConnector": 680, + "endConnector": 0, + "advance": 2041, + "extender": false + } + ] + }, + "uni23E1": { + "italic": 0, + "parts": [ + { + "glyph": "uni23E1.lft", + "startConnector": 0, + "endConnector": 680, + "advance": 2041, + "extender": false + }, + { + "glyph": "uni23E1.ex", + "startConnector": 1360, + "endConnector": 1360, + "advance": 1360, + "extender": true + }, + { + "glyph": "uni23E1.rt", + "startConnector": 680, + "endConnector": 0, + "advance": 2041, + "extender": false + } + ] + }, + "uni20E9": { + "italic": 0, + "parts": [ + { + "glyph": "uni23B4.lft", + "startConnector": 0, + "endConnector": 498, + "advance": 1493, + "extender": false + }, + { + "glyph": "uni23B4.ex", + "startConnector": 995, + "endConnector": 995, + "advance": 995, + "extender": true + }, + { + "glyph": "uni23B4.rt", + "startConnector": 498, + "endConnector": 0, + "advance": 1492, + "extender": false + } + ] + }, + "minus": { + "italic": 0, + "parts": [ + { + "glyph": "minus.lft", + "startConnector": 0, + "endConnector": 111, + "advance": 222, + "extender": false + }, + { + "glyph": "minus.ex", + "startConnector": 222, + "endConnector": 222, + "advance": 222, + "extender": true + }, + { + "glyph": "minus.rt", + "startConnector": 111, + "endConnector": 0, + "advance": 222, + "extender": false + } + ] + }, + "equivalence": { + "italic": 0, + "parts": [ + { + "glyph": "equivalence.lft", + "startConnector": 0, + "endConnector": 111, + "advance": 222, + "extender": false + }, + { + "glyph": "equivalence.ex", + "startConnector": 222, + "endConnector": 222, + "advance": 222, + "extender": true + }, + { + "glyph": "equivalence.rt", + "startConnector": 111, + "endConnector": 0, + "advance": 222, + "extender": false + } + ] + }, + "uni2263": { + "italic": 0, + "parts": [ + { + "glyph": "uni2263.lft", + "startConnector": 0, + "endConnector": 111, + "advance": 222, + "extender": false + }, + { + "glyph": "uni2263.ex", + "startConnector": 222, + "endConnector": 222, + "advance": 222, + "extender": true + }, + { + "glyph": "uni2263.rt", + "startConnector": 111, + "endConnector": 0, + "advance": 222, + "extender": false + } + ] + } } } \ No newline at end of file diff --git a/CSharpMath.Core.Tests/CSharpMath.Core.Tests.csproj b/CSharpMath.Core.Tests/CSharpMath.Core.Tests.csproj index a95f97367..5ad0a8d5f 100644 --- a/CSharpMath.Core.Tests/CSharpMath.Core.Tests.csproj +++ b/CSharpMath.Core.Tests/CSharpMath.Core.Tests.csproj @@ -1,4 +1,4 @@ - + diff --git a/CSharpMath.Core.Tests/Display/TypesetterTests.cs b/CSharpMath.Core.Tests/Display/TypesetterTests.cs index fde7acae7..1e6b0d1df 100644 --- a/CSharpMath.Core.Tests/Display/TypesetterTests.cs +++ b/CSharpMath.Core.Tests/Display/TypesetterTests.cs @@ -486,6 +486,62 @@ public void TestAccent() => })(accent.Accentee); }); [Fact] + public void TestUnderAnnotation() => + TestOuter(@"\underbrace {x}_{y}", 1, 14, 43.6, 10, d => { + var under = Assert.IsType>(d); + Assert.Equal(new PointF(), under.Position); + var annotation = Assert.IsType>(under.AnnotationGlyph); + Assert.Equal(0, annotation.ShiftDown); + Assert.Equal((TGlyph)'\u23df', annotation.Glyph); + Approximately.Equal(new PointF(0, -4), annotation.Position); + Assert.False(annotation.HasScript); + Assert.Equal(Range.NotFound, annotation.Range); + TestList(1, 14, 4, 10, 0, 0, LinePosition.Regular, Range.UndefinedInt, + d => { + var line = Assert.IsType>(d); + Assert.Single(line.Atoms); + Assert.Equal("𝑥", string.Concat(line.Text)); + Assert.Equal(new PointF(), line.Position); + Assert.False(line.HasScript); + })(under.Inner); + TestList(1, 9.8, 2.8, 7, 1.5, -36.8, LinePosition.Regular, Range.UndefinedInt, + d => { + var line = Assert.IsType>(d); + Assert.Single(line.Atoms); + Assert.Equal("𝑦", string.Concat(line.Text)); + Assert.Equal(new PointF(), line.Position); + Assert.False(line.HasScript); + })(under.UnderList); + }); + [Fact] + public void TestUnderAnnotation2() => + TestOuter(@"\underbrace {xxxxx}_{y}", 5, 14, 43.6, 50, d => { + var under = Assert.IsType>(d); + Assert.Equal(new PointF(), under.Position); + var annotation = Assert.IsType>(under.AnnotationGlyph); + Assert.Equal(0, annotation.ShiftDown); + Approximately.Equal(new PointF(0, -4), annotation.Position); + Assert.False(annotation.HasScript); + Assert.Equal(Range.NotFound, annotation.Range); + TestList(5, 14, 4, 50, 0, 0, LinePosition.Regular, Range.UndefinedInt, + d => { + var line = Assert.IsType>(d); + Assert.Equal(5, line.Atoms.Count); + Assert.All(line.Atoms, a => Assert.IsType(a)); + Assert.Equal("𝑥𝑥𝑥𝑥𝑥", string.Concat(line.Text)); + Assert.Equal(new PointF(), line.Position); + Assert.False(line.HasScript); + })(under.Inner); + TestList(1, 9.8, 2.8, 7, 21.5, -36.8, LinePosition.Regular, Range.UndefinedInt, + d => { + var line = Assert.IsType>(d); + Assert.Single(line.Atoms); + Assert.Equal("𝑦", string.Concat(line.Text)); + Assert.Equal(new PointF(), line.Position); + Assert.False(line.HasScript); + })(under.UnderList); + }); + [Fact] public void TestColor() => TestOuter(@"\color{red}\color{blue}x\colorbox{yellow}\colorbox{green}yz", 3, 14, 4, 30, l1 => { diff --git a/CSharpMath/Display/Typesetter.cs b/CSharpMath/Display/Typesetter.cs index ea0b4dae3..b4a262446 100644 --- a/CSharpMath/Display/Typesetter.cs +++ b/CSharpMath/Display/Typesetter.cs @@ -790,7 +790,7 @@ private UnderAnnotationDisplay MakeUnderAnnotation(UnderAnnotatio using var singleGlyph = new RentedArray(glyphs[0]); // descent:0 because it's up to the rendering to adjust the display glyph up or down by setting ShiftDown return new HorizontalGlyphConstructionDisplay - (glyphs, offsets, _styleFont, glyphAscent, glyphDescent, width); + (glyphs, offsets, _styleFont, glyphAscent, glyphDescent, width) { Range = Range.NotFound }; } private float ConstructHorizontalGlyphWithParts(IEnumerable> parts,