From 158417366b1bbf12e4b5ff7d9355f38f5611765c Mon Sep 17 00:00:00 2001 From: Hadrian Tang Date: Thu, 26 Feb 2026 22:51:26 +0800 Subject: [PATCH 1/3] Update ReadMe --- CSharpMath.slnx | 32 +++---- Projects.png | Bin 0 -> 88687 bytes ReadMe.md | 218 ++++++++++++------------------------------------ 3 files changed, 70 insertions(+), 180 deletions(-) create mode 100644 Projects.png diff --git a/CSharpMath.slnx b/CSharpMath.slnx index fa632695..c6c1387d 100644 --- a/CSharpMath.slnx +++ b/CSharpMath.slnx @@ -28,16 +28,22 @@ + + + + + + - + @@ -52,49 +58,43 @@ - - - - - - - + + + + - + - + - + - + - - - - + \ No newline at end of file diff --git a/Projects.png b/Projects.png new file mode 100644 index 0000000000000000000000000000000000000000..a3a20a0808c13fbd2b0657ca97e6436584d738a2 GIT binary patch literal 88687 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 z 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%0Avgg870{EHsw29hPY=R)uLpqM-tlVJ$YnJG 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

mt=vDQcOYZ2#&Jm6~p#Sa|J@I1Jy)qQ@f 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 literal 0 HcmV?d00001 diff --git a/ReadMe.md b/ReadMe.md index 0301d2e0..cae81f07 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -3,7 +3,7 @@


CSharpMath icon

CSharpMath is a C# port of the wonderful iosMath LaTeX engine.
-The icon is a product of this library. +Icon generated from CSharpMath.SkiaSharp.Example.

[Current release][NuGet]|[![NuGet release shield](https://img.shields.io/nuget/v/CSharpMath.svg)][NuGet] [![GitHub release shield](https://img.shields.io/github/release/verybadcat/CSharpMath.svg)][GitHub] [![GitHub release date shield](https://img.shields.io/github/release-date/verybadcat/CSharpMath.svg)][GitHub] [![GitHub commits since last release shield](https://img.shields.io/github/commits-since/verybadcat/CSharpMath/latest.svg)][GitHub] @@ -11,7 +11,7 @@ CSharpMath is a C# port of the wonderful -[![NuGet downloads shield](https://img.shields.io/nuget/dt/CSharpMath.svg)][NuGet] [![GitHub contributors shield](https://img.shields.io/github/contributors/verybadcat/CSharpMath.svg)](https://github.com/verybadcat/CSharpMath/graphs/contributors) [![GitHub license shield](https://img.shields.io/github/license/verybadcat/CSharpMath.svg)](https://github.com/verybadcat/CSharpMath/blob/master/License) [![GitHub last commit shield](https://img.shields.io/github/last-commit/verybadcat/CSharpMath.svg)](https://github.com/verybadcat/CSharpMath/commits/master) [![GitHub Build workflow shield](https://img.shields.io/github/actions/workflow/status/verybadcat/CSharpMath/Build.yml?branch=main) [![GitHub Test workflow shield](https://img.shields.io/github/actions/workflow/status/verybadcat/CSharpMath/Test.yml?branch=main) [![codecov.io badge](https://codecov.io/github/verybadcat/CSharpMath/coverage.svg?branch=master)](https://codecov.io/github/verybadcat/CSharpMath?branch=master) +[![NuGet downloads shield](https://img.shields.io/nuget/dt/CSharpMath.svg)][NuGet] [![GitHub contributors shield](https://img.shields.io/github/contributors/verybadcat/CSharpMath.svg)](https://github.com/verybadcat/CSharpMath/graphs/contributors) [![GitHub license shield](https://img.shields.io/github/license/verybadcat/CSharpMath.svg)](License) [![GitHub last commit shield](https://img.shields.io/github/last-commit/verybadcat/CSharpMath.svg)](https://github.com/verybadcat/CSharpMath/commits/master) [![GitHub Test workflow shield](https://img.shields.io/github/actions/workflow/status/verybadcat/CSharpMath/Test.yml?branch=master)](https://github.com/verybadcat/CSharpMath/actions/workflows/Test.yml) [![codecov.io badge](https://codecov.io/github/verybadcat/CSharpMath/coverage.svg?branch=master)](https://codecov.io/github/verybadcat/CSharpMath?branch=master) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/verybadcat/CSharpMath.svg)](http://isitmaintained.com/project/verybadcat/CSharpMath "Average time to resolve an issue") [![Percentage of issues still open](http://isitmaintained.com/badge/open/verybadcat/CSharpMath.svg)](http://isitmaintained.com/project/verybadcat/CSharpMath "Percentage of issues still open") [![Issues welcome](https://img.shields.io/badge/issues-welcome-success)](https://github.com/verybadcat/CSharpMath/issues) [![Pull Requests welcome](https://img.shields.io/badge/pull_requests-welcome-success)](https://github.com/verybadcat/CSharpMath/issues) [![❤](https://img.shields.io/badge/made%20with-%e2%9d%a4-ff69b4.svg)](https://www.youtube.com/watch?v=dQw4w9WgXcQ "") @@ -19,177 +19,68 @@ CSharpMath is a C# port of the wonderful - -# Platform support - -Xamarin.Forms (CSharpMath.Forms) support via SkiaSharp (CSharpMath.SkiaSharp) was added in v0.1. - -Avalonia (CSharpMath.Avalonia) support was also added in v0.4. - -For Windows platforms, use https://github.com/ForNeVeR/wpf-math. - -For Unity3D, use https://assetstore.unity.com/packages/tools/gui/texdraw-51426. (paid: USD$50) - -_The above projects are independent of CSharpMath._ - -# Usage and Examples - -To get started, do something like this: - -### 1. CSharpMath.SkiaSharp -```cs -var painter = CSharpMath.SkiaSharp.MathPainter(); -painter.LaTeX = @"\frac\sqrt23"; -paiinter.Draw(someCanvas); -``` -This is used by CSharpMath.Forms below. - -### 2. CSharpMath.Forms - -```xaml - - - \frac\sqrt23 - - -``` -or: -```cs -var view = new CSharpMath.Forms.MathView(); -view.HorizontalOptions = view.VerticalOptions = LayoutOptions.FillAndExpand; -view.LaTeX = @"\frac\sqrt23"; -someLayout.Children.Add(view); -``` +### MathButton -[See an example project](CSharpMath.Forms.Example) - -Android | Windows UWP ---------|------------ -![1+1](https://user-images.githubusercontent.com/19922066/40575043-183a6970-6110-11e8-887f-820e14efc588.jpeg) | ![Panning a view](https://user-images.githubusercontent.com/19922066/40731183-18a09b68-6463-11e8-8095-1a4cc9df9eae.gif) ![Colors!](https://user-images.githubusercontent.com/19922066/40972206-8abc247c-68f2-11e8-8684-561b5e833c21.png) +For MAUI, you can make use of `CSharpMath.Maui.MathButton` to make a clickable math button. It wraps a `MathView` inside and will use its properties to draw math on the button. Refer to [this example](CSharpMath.Maui.Example/MathKeyboard.xaml). For Avalonia and Uno, their buttons already support wrapping arbitrary content, refer to [this example](CSharpMath.Avalonia.Example/Pages/MathButtonPage.xaml). -### 3. CSharpMath.Avalonia +## Text -```xaml - - - -``` -or: -```cs -var view = new CSharpMath.Avalonia.MathView(); -view.LaTeX = @"\frac\sqrt23"; -somePanel.Children.Add(view); -``` +Check out the "Text" page of our [WASM example]! -[See an example project](CSharpMath.Avalonia.Example) +Example code: +- [Avalonia Example](CSharpMath.Avalonia.Example/Pages/TextViewPage.xaml) +- [MAUI Example](CSharpMath.Maui.Example/TextPage.xaml) +- [Uno Example](CSharpMath.Uno.Example/Pages/TextPage.xaml) +- [VectSharp Example](CSharpMath.VectSharp.Example/Program.cs) (same API for SkiaSharp) -![MathViewPage](https://user-images.githubusercontent.com/19922066/78373612-692db400-75fd-11ea-89c3-2f2a4f47784a.png) +You can use `$`, `\(` and `\)` to delimit inline math and `$$`, `\[` and `\]` to delimit display math. +There is also a `TextButton` for the MAUI equivalent of `MathButton`. -## But I want a button instead! +## Saving to an image file -For Xamarin.Forms, you can make use of `CSharpMath.Forms.MathButton` to make a clickable math button. It wraps a `MathView` inside and will use its properties to draw math on the button. -```xaml - - - - \frac\sqrt23 - - - -``` -For Avalonia, `Avalonia.Controls.Button` already supports arbitrary content. Use it instead. -```xaml - - - -``` - -## But I want to display a majority of normal text with a minority of math! -CSharpMath also provides a `TextView` exactly for this purpose. You can use `$`, `\(` and `\)` to delimit inline math and `$$`, `\[` and `\]` to delimit display math. -There is also a `TextButton` for the Xamarin.Forms equivalent of `MathButton`. -Xamarin.Forms: -```xaml - - - -``` -Avalonia: -```xaml - - - -``` -Xamarin.Forms|Avalonia --|- -![Xamarin.Forms](https://user-images.githubusercontent.com/19922066/80187259-e7e8a080-8641-11ea-8c15-63e36b85047e.png)|![Avalonia](https://user-images.githubusercontent.com/19922066/80187422-31d18680-8642-11ea-81b3-aea7e027a7ea.png) - -## What about rendering to an image instead of displaying in a view? -Warning: There are still some rough edges on image rendering to be resolved, such as [this](CSharpMath.Rendering.Tests/MathDisplay/AccentOverF.png) and [this](CSharpMath.Rendering.Tests/TextLeft/WideDisplayMaths.png). However, it is already usable for the majority of cases. +The image may be cut off, such as [this](CSharpMath.Rendering.Tests/MathDisplay/AccentOverF.png) and [this](CSharpMath.Rendering.Tests/TextLeft/WideDisplayMaths.png). However, it is directly usable for the majority of cases. For SkiaSharp: ```cs using CSharpMath.SkiaSharp; var painter = new MathPainter { LaTeX = @"\frac23" }; // or TextPainter -using var png = painter.DrawAsStream(); +using var png = painter.DrawAsStream(); // defaults to PNG // or painter.DrawAsStream(format: SkiaSharp.SKEncodedImageFormat.Jpeg) for JPEG // or painter.DrawAsStream(format: SkiaSharp.SKEncodedImageFormat.Gif) for GIF // or painter.DrawAsStream(format: SkiaSharp.SKEncodedImageFormat.Bmp) for BMP // or... you get it. ``` -For Xamarin.Forms: +For MAUI: ```cs -using CSharpMath.SkiaSharp; -var painter = someMathView.Painter; // or someTextView.Painter -using var png = painter.DrawAsStream(); -// or painter.DrawAsStream(format: SkiaSharp.SKEncodedImageFormat.Jpeg) for JPEG -// or painter.DrawAsStream(format: SkiaSharp.SKEncodedImageFormat.Gif) for GIF -// or painter.DrawAsStream(format: SkiaSharp.SKEncodedImageFormat.Bmp) for BMP -// or... you get it. +using CSharpMath.Maui; +var painter = someMathView.Painter; // or someTextView.Painter or new MathPainter { LaTeX = @"some LaTeX" } +using var stream = new System.IO.MemoryStream(); +await painter.DrawToStreamAsync(stream); // defaults to PNG ``` For Avalonia: ```cs @@ -204,11 +95,11 @@ painter.DrawAsPng(someStream); ![Cell 4](CSharpMath.Rendering.Tests/MathDisplay/RaiseBox.png)|![Cell 5](CSharpMath.Rendering.Tests/MathDisplay/SomeLimit.png)|![Cell 6](CSharpMath.Rendering.Tests/MathDisplay/VectorProjection.png) ![Cell 7](CSharpMath.Rendering.Tests/MathDisplay/Matrix3.png)|![Cell 8](CSharpMath.Rendering.Tests/MathDisplay/IntegralColorBoxCorrect.png)|![Cell 9](CSharpMath.Rendering.Tests/MathDisplay/Taylor.png) +## Math editing and evaluation +Check out the "Calculate" button on the "Try" page of our [WASM example]! Supported evaluation operations can be found [here](CSharpMath.Evaluation/Evaluation.cs). -## This looks great and all, but is there a way to edit and evaluate the math? -Yes! You can use a `CSharpMath.Rendering.FrontEnd.MathKeyboard` to process key presses and generate a `CSharpMath.Atom.MathList` or a LaTeX string. You can then call `CSharpMath.Evaluation.Evaluate` to get a `CSharpMath.Evaluation.MathItem`, which can be a `CSharpMath.Evaluation.MathItem.Entity` containing an `AngouriMath.Entity` that you can simplify, a `CSharpMath.Evaluation.Comma` containing a comma-delimited collection of `CSharpMath.Evaluation.MathItem`, or a `CSharpMath.Evaluation.MathItem.SetNode` containing an `AngouriMath.Core.SetNode`. For all uses of an `AngouriMath.Entity` or an `AngouriMath.Core.SetNode`, check out https://github.com/asc-community/AngouriMath. +You can use a `CSharpMath.Rendering.FrontEnd.MathKeyboard` to process key presses and generate a `CSharpMath.Atom.MathList` or a LaTeX string. You can then call `CSharpMath.Evaluation.Evaluate` to get a `CSharpMath.Evaluation.MathItem`, which can be a `CSharpMath.Evaluation.MathItem.Entity` containing an `AngouriMath.Entity` that you can simplify, a `CSharpMath.Evaluation.Comma` containing a comma-delimited collection of `CSharpMath.Evaluation.MathItem`. For all uses of an `AngouriMath.Entity`, check out https://github.com/asc-community/AngouriMath. -NOTE: `CSharpMath.Evaluation` is not released yet. It will be part of the 0.5.0 update. ```cs var keyboard = new CSharpMath.Rendering.FrontEnd.MathKeyboard(); keyboard.KeyPress(CSharpMath.Editor.MathKeyboardInput.Sine, CSharpMath.Editor.MathKeyboardInput.SmallTheta); @@ -224,12 +115,9 @@ else case CSharpMath.Evaluation.MathItem.Comma comma: // comma is a System.Collections.Generic.IEnumerable break; - case CSharpMath.Evaluation.MathItem.Set { Content: var set }: - // set is an AngouriMath.Core.Set - break; } ``` -or more conveniently: +The evaluator used in Example projects is also exposed: ```cs var keyboard = new CSharpMath.Rendering.FrontEnd.MathKeyboard(); keyboard.KeyPress(CSharpMath.Editor.MathKeyboardInput.Sine, CSharpMath.Editor.MathKeyboardInput.SmallTheta); @@ -242,8 +130,6 @@ Analyzing an expression | Solving an equation -|- ![Analyzing an expression](https://user-images.githubusercontent.com/19922066/82801930-a8b3a680-9eb0-11ea-9947-8da278d24e9f.jpeg)|![Solving an equation](https://user-images.githubusercontent.com/19922066/82801937-abae9700-9eb0-11ea-8c3e-82fa27463ff4.jpeg) -# [Documentation](https://github.com/verybadcat/CSharpMath/wiki/Documentation-of-public-facing-APIs-of-CSharpMath.Rendering,-CSharpMath.SkiaSharp-and-CSharpMath.Forms-MathViews) - # Opting in to the nightly feed For those who wish to be even more updated than prereleases, you can opt in to the nightly feed which is updated whenever the master branch has a new commit. @@ -285,6 +171,12 @@ Unfortunately, non-NuGet.org feeds do not support `.snupkg`s, so you will have t # Project structure +![Project structure](Projects.png) + +🟥 Main functionality +🟨 Tests, Examples, Benchmarks + +## Major processes of drawing LaTeX -![Project structure](https://quickchart.io/chart?cht=gv&chl=graph{node[shape=box];{rank=same;"Typography.OpenFont";"Typography.TextBreak";CSharpMath};"Typography.OpenFont"[shape=record,label="{_Dependencies|Typography.OpenFont}"];"Typography.TextBreak"[shape=record,label="{_Dependencies|Typography.TextBreak}"];CSharpMath[shape=record,label="{_Core|CSharpMath}"];"CSharpMath.Avalonia"[shape=record,label="{Avalonia|CSharpMath.Avalonia}"];"CSharpMath.SkiaSharp"[shape=record,label="{SkiaSharp|CSharpMath.SkiaSharp}"];"CSharpMath.Forms"[shape=record,label="{Xamarin.Forms|CSharpMath.Forms}"];"Typography.OpenFont"--"Typography.GlyphLayout";"Typography.TextBreak"--"TextBreakTests";CSharpMath--"CSharpMath.CoreTests";CSharpMath--"CSharpMath.Editor"--"CSharpMath.Editor.Tests"--"CSharpMath.Editor.Tests.Visualizer";"CSharpMath.Editor"--"CSharpMath.Editor.Tests.FSharp";CSharpMath--"CSharpMath.Evaluation"--{"CSharpMath.Evaluation.Tests";"CSharpMath.Forms.Example"};{"CSharpMath.Editor";"Typography.GlyphLayout";"Typography.TextBreak"}--"CSharpMath.Rendering"--"CSharpMath.Rendering.Text.Tests";"CSharpMath.Rendering"--"CSharpMath.Avalonia"--"CSharpMath.Avalonia.Example";"CSharpMath.Rendering"--"CSharpMath.SkiaSharp"--"CSharpMath.Forms"--"CSharpMath.Forms.Example";"CSharpMath.Forms.Example"--{"CSharpMath.Forms.Example.Android";"CSharpMath.Forms.Example.UWP"};{"CSharpMath.Avalonia";"CSharpMath.SkiaSharp"}--"CSharpMath.Rendering.Tests";"CSharpMath.Xaml"--{"CSharpMath.Avalonia";"CSharpMath.Forms"}--"CSharpMath.Xaml.Tests"}) - -## Major processes of drawing LaTeX ![Major processes of drawing LaTeX](https://quickchart.io/chart?cht=gv&chl=digraph{edge[label="%20"];{rank=same;"string%20(LaTeX%20math)";"string%20(LaTeX%20text)"};"string%20(LaTeX%20math)"->"CSharpMath.Atom.MathList"[taillabel="CSharpMath.Atom.LaTeXParser.MathListFromLaTeX%20"];"CSharpMath.Atom.MathList"->"string%20(LaTeX%20math)"[label="CSharpMath.Atom.LaTeXParser.MathListToLaTeX"];"CSharpMath.Atom.MathList"->"CSharpMath.Evaluation.MathItem"[label="CSharpMath.Evaluation.Evaluate"];"CSharpMath.Evaluation.MathItem"->"CSharpMath.Atom.MathList"[taillabel="CSharpMath.Evaluation.Visualize%20%20"];"CSharpMath.Atom.MathList"->"CSharpMath.Display.IDisplay%3CTFont,%20TGlyph>"[label="CSharpMath.Display.Typesetter.CreateLine"];"string%20(LaTeX%20text)"->"CSharpMath.Rendering.Text.TextAtom"[label="CSharpMath.Rendering.Text.TextLaTeXParser.TextAtomFromLaTeX"];"CSharpMath.Rendering.Text.TextAtom"->"string%20(LaTeX%20text)"[taillabel="CSharpMath.Rendering.Text.TextLaTeXParser.TextAtomToLaTeX%20"];"CSharpMath.Rendering.Text.TextAtom"->"CSharpMath.Display.IDisplay%3CTFont,%20TGlyph>"[label="CSharpMath.Rendering.Text.TextTypesetter.Layout"];"CSharpMath.Display.IDisplay%3CTFont,%20TGlyph>"->"(Rendered%20output)"[label="CSharpMath.Display.IDisplay%3CTFont,%20TGlyph>.Draw"];"(Platform%20canvas)"->"CSharpMath.Rendering.FrontEnd.ICanvas"[label="%20CSharpMath.Rendering.FrontEnd.Painter%3CTCanvas,%20TContent,%20TColor>.WrapCanvas"];"CSharpMath.Rendering.FrontEnd.ICanvas"->"CSharpMath.Rendering.BackEnd.GraphicsContext"[label="%20new%20CSharpMath.Rendering.BackEnd.GraphicsContext"];"CSharpMath.Rendering.BackEnd.GraphicsContext"->"(Rendered%20output)"}) @@ -313,7 +202,11 @@ As CSharpMath.Rendering provides font lookup through [the Typography library](ht You would have to implement [ICanvas](CSharpMath.Rendering/FrontEnd/ICanvas.cs) and feed it into the Draw method of [MathPainter](CSharpMath.Rendering/FrontEnd/MathPainter.cs). -### 2. Forking from CSharpMath the project +### 2. Building on top of CSharpMath.SkiaSharp + +You can extend this library to other SkiaSharp-supported platforms by feeding the SKCanvas given in the OnPaintSurface override of a SkiaSharp view into the Draw method of [MathPainter](CSharpMath.SkiaSharp/MathPainter.cs). + +### 3. Forking from CSharpMath the project This path would require the most effort to implement, but allows you to plug in any font library and graphics library. @@ -321,9 +214,6 @@ You would have to define your own [TypesettingContext](CSharpMath/Display/FrontE The TypesettingContext in turn has several components, including choosing a font. -### 3. Building on top of CSharpMath.SkiaSharp - -You can extend this library to other SkiaSharp-supported platforms by feeding the SKCanvas given in the OnPaintSurface override of a SkiaSharp view into the Draw method of [MathPainter](CSharpMath.SkiaSharp/MathPainter.cs). # Project needs From d8d35224593bb0e8f992423fbc38dd98b7b0e828 Mon Sep 17 00:00:00 2001 From: Hadrian Tang Date: Thu, 26 Feb 2026 22:57:56 +0800 Subject: [PATCH 2/3] Remove unneeded NuGet.Config --- NuGet.Config | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 NuGet.Config diff --git a/NuGet.Config b/NuGet.Config deleted file mode 100644 index 3f0e0034..00000000 --- a/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From b66644d4ef26d63a27df8f631d5b09c295094bd4 Mon Sep 17 00:00:00 2001 From: Hadrian Tang Date: Thu, 26 Feb 2026 23:05:34 +0800 Subject: [PATCH 3/3] Clarify WASM Example --- ReadMe.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ReadMe.md b/ReadMe.md index cae81f07..79b52d29 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -18,8 +18,8 @@ CSharpMath is a C# port of the wonderful