CSharpMath.Rendering 0.5.0-beta

This is a prerelease version of CSharpMath.Rendering.
There is a newer version of this package available.
See the version list below for details.
dotnet add package CSharpMath.Rendering --version 0.5.0-beta                
NuGet\Install-Package CSharpMath.Rendering -Version 0.5.0-beta                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CSharpMath.Rendering" Version="0.5.0-beta" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CSharpMath.Rendering --version 0.5.0-beta                
#r "nuget: CSharpMath.Rendering, 0.5.0-beta"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install CSharpMath.Rendering as a Cake Addin
#addin nuget:?package=CSharpMath.Rendering&version=0.5.0-beta&prerelease

// Install CSharpMath.Rendering as a Cake Tool
#tool nuget:?package=CSharpMath.Rendering&version=0.5.0-beta&prerelease                

Rendering interface for CSharpMath using the Typography library.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on CSharpMath.Rendering:

Package Downloads
CSharpMath.SkiaSharp

The SkiaSharp front end for CSharpMath.

CSharpMath.Avalonia

The Avalonia front end for CSharpMath.

VectSharp.Markdown

A library to produce vector graphics (including text) without too many dependencies. Extensible to support multiple output formats. This package adds Markdown document rendering capabilities. For more information, see https://github.com/arklumpus/VectSharp

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on CSharpMath.Rendering:

Repository Stars
arklumpus/VectSharp
A light library for C# vector graphics
Version Downloads Last updated
0.5.1 52,663 5/5/2021
0.5.0 1,036 4/20/2021
0.5.0-beta 5,229 11/1/2020
0.5.0-alpha4 5,775 8/3/2020
0.5.0-alpha3 610 8/3/2020
0.5.0-alpha2.2 259 8/3/2020
0.5.0-alpha 332 8/2/2020
0.4.2 11,888 4/15/2020
0.4.1 1,122 4/14/2020
0.4.0 3,925 4/10/2020
0.4.0-beta 870 4/3/2020
0.4.0-alpha 690 3/18/2020
0.3.0 1,605 12/19/2019
0.3.0-beta3 928 11/8/2019
0.3.0-beta2 666 11/4/2019
0.3.0-beta 755 9/8/2019
0.3.0-alpha 718 8/23/2019
0.2.0 2,965 1/22/2019
0.2.0-beta1 891 1/5/2019
0.2.0-alpha3 931 11/24/2018
0.2.0-alpha2 799 11/17/2018
0.2.0-alpha 824 11/6/2018
0.1.5 1,227 1/1/2019
0.1.4 1,200 12/5/2018
0.1.3 1,148 11/11/2018
0.1.2 1,264 10/21/2018
0.1.1 1,232 10/13/2018
0.1.0 1,265 10/6/2018
0.1.0-rc.3 1,233 10/1/2018
0.1.0-rc.2 533 9/21/2018
0.1.0-rc.1 510 9/19/2018
0.1.0-rc.0 579 9/14/2018
0.1.0-pre9 977 8/31/2018
0.1.0-pre8.2 547 8/26/2018
0.1.0-pre8.1 552 8/26/2018
0.1.0-pre8 954 8/26/2018
0.1.0-pre7 1,024 8/16/2018
0.1.0-pre6 958 8/8/2018
0.1.0-pre5 987 7/27/2018
0.1.0-pre4.1 580 7/20/2018
0.1.0-pre4 982 7/20/2018
0.1.0-pre3 1,078 7/17/2018
0.1.0-pre2 1,115 7/14/2018
0.1.0-pre10 988 9/6/2018
0.1.0-pre1 1,020 6/28/2018

# 0.5.0 Evaluation Update Beta

## Changes from v0.5.0-alpha4 (Recently merged first)
## 🚀 Features

<details><summary>Add placeholder blinks setting (#177) @SymboLinker</summary><table><td>

In issue #175 a feature request was done for stopping the blinking of the placeholder (but still have a blinking carret if it moves to a spot without a placeholder).

The proposed pull request #176 just removes the blinking of the placeholder and does not leave it as an option.

This pull request adds a setting LaTeXSetting.PlaceholderBlinks that keeps the default value true and does not break any existing unit tests.

Tests are added
- to make sure that the setting for a non-blinking placeholder works
- to document how it should work
- to make sure that it will not be removed in a whim

@charlesroddie Please verify that the effect of changing the PlaceholderBlinks-setting results in the behaviour you like.
</td></table></details>

<details><summary>Make blinking Placeholder's Nucleus and ForeColor customizable in both CaretStates (#167) @SymboLinker</summary><table><td>

In pull request #164, posting https://github.com/verybadcat/CSharpMath/pull/164#issuecomment-699458440, the idea came up to make the placeholder customizable in the keyboard output. While PR #164 is concerned with the display of the keyboard buttons themselves, this PR is about the math keyboard output.

Currently the placeholder has two possible appearances: a full black square and an empty square with a black border.

This pull request makes the Nucleus and the ForeColor of the placeholder customizable in both CaretStates.

An example of usage: instead of an empty square with a black border in the 'hiding' CaretState, you could choose a full square with another Color (gray, for instance).

An example test:
In CSharpMath.Forms.Example\CSharpMath.Forms.Example\EditorPage.xaml.cs
add the following lines at the top of the constructor of the EditorView:
```
     Atom.LaTeXSettings.PlaceholderHidingNucleus = \u25A0;
     Atom.LaTeXSettings.PlaceholderHidingColor = Color.LightGray;
```
Open the Example project and go to the Editor tab. Click the fraction button. The output is:
![image](https://user-images.githubusercontent.com/32139898/94426706-46d0b980-018e-11eb-875c-21275d880d4d.png)
where the square in the numerator blinks, LightGray/Black.

I am willing to write unit tests after some form of preliminary approval of this pull request.
(And of course I will fix mistakes and refactor if needed.)
</td></table></details>


## 🧰 Maintenance

- #180 take 2 (#181) @Happypig375

- Update Release workflow with the workaround from Test (#180) @Happypig375

<details><summary>Make MathKeyboard IDisposable (#179) @charlesroddie</summary><table><td>

fixes: https://github.com/verybadcat/CSharpMath/issues/178
</td></table></details>

<details><summary>Cleanup in preparation for Font Styles (#156) @charlesroddie</summary><table><td>

Initial simplification in preparation for adding Font Styles
- DoNothingFontChanger was removed was only used in tests.

For subsequent PR:
- UnicodeFontChanger uses mathematical bold/italic ranges to use a single font for normal/bold/italic. To preserve existing functionality without deploying additional fonts, this logic needs to be kept when using standard fonts.
- Allow users to add bold and italic fonts, for use in TextPainter. This PR will not address MathAtom fonts. If these fonts are present, they will be used instead of UnicodeFontChanger for rendering bold/italic fonts.
</td></table></details>

<details><summary>Enable the use of codecov.io (#163) @Happypig375</summary><table><td>

See https://codecov.io/gh/verybadcat/CSharpMath
</td></table></details>

<details><summary>Continuous Benchmark (#162) @Happypig375</summary><table><td>

See https://verybadcat.github.io/CSharpMath/dev/bench/
</td></table></details>

- Fix GitHub Packages (#157) @Happypig375

<details><summary>Add test coverage as CI artifacts (#155) @Happypig375</summary><table><td>

Also CSharpMath.Rendering.Tests baselines became smaller magically
</td></table></details>

## Contributors
@Happypig375, @SymboLinker and @charlesroddie