Skip to content

Releases: verybadcat/CSharpMath

0.5.1 Evaluation Update Quickfix

05 May 16:07
69fb790
Compare
Choose a tag to compare

Changes from v0.5.0 (Recently merged first)

🚀 Features

Provide workaround for #192 (#193) @Happypig375

So that

class RussianBreakingEngine : Typography.TextBreak.EngBreakingEngine {
  public override bool CanHandle(char c) => c is >= '\u0400' and <= '\u052f'; // Unicode Cyrillic and Cyrillic Supplement
}
CSharpMath.Rendering.Text.TextLaTeXParser.AdditionalBreakingEngines.Add(new RussianBreakingEngine());

can be used for #192 while awaiting Typography support.

Contributors

@Happypig375

0.5.0 Evaluation Update

20 Apr 15:14
a7e11ba
Compare
Choose a tag to compare

Changes from v0.5.0-beta (Recently merged first)

🧰 Maintenance

Fix ci build (#187) @FoggyFinder
  • Build /
  • Test / Core [ workaround ]

For Test / Core I had to change version for Avalonia.Skia package manually since I didn't find any good (and easy to implement) way to specify the same version of Avalonia.

Also I turned off (temporarily) automatic updates for Avalonia.Skia package.

Test / Ios is unrelated.

upgrade avalonia pkg to 0.10.0 (#186) @devel0

fix avalonia high cpu usage on linux ( AvaloniaUI/Avalonia#5192 )

Contributors

@FoggyFinder and @devel0

0.5.0 Evaluation Update Beta

01 Nov 16:50
2431d7d
Compare
Choose a tag to compare
Pre-release

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

🚀 Features

Add placeholder blinks setting (#177) @SymboLinker

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.

Make blinking Placeholder's Nucleus and ForeColor customizable in both CaretStates (#167) @SymboLinker

In pull request #164, posting #164 (comment), 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
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.)

🧰 Maintenance

Make MathKeyboard IDisposable (#179) @charlesroddie

fixes: #178

Cleanup in preparation for Font Styles (#156) @charlesroddie

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.
Enable the use of codecov.io (#163) @Happypig375

See https://codecov.io/gh/verybadcat/CSharpMath

Continuous Benchmark (#162) @Happypig375

See https://verybadcat.github.io/CSharpMath/dev/bench/

Add test coverage as CI artifacts (#155) @Happypig375

Also CSharpMath.Rendering.Tests baselines became smaller magically

Contributors

@Happypig375, @SymboLinker and @charlesroddie

0.5.0 Evaluation Update Alpha 4

03 Aug 14:20
21dd9fe
Compare
Choose a tag to compare
Pre-release

Changes from v0.5.0-alpha3 (Recently merged first)

🧰 Maintenance

  • Delete the unneeded reference to CSharpMath.Evaluation in CSharpMath.Avalonia (#154) @Happypig375

Contributors

@Happypig375

0.5.0 Evaluation Update Alpha 3

03 Aug 09:13
cd5be4a
Compare
Choose a tag to compare
Pre-release

Changes from v0.5.0-alpha2 (Recently merged first)

🧰 Maintenance

Contributors

@Happypig375

0.5.0 Evaluation Update Alpha 2

02 Aug 12:49
337d493
Compare
Choose a tag to compare
Pre-release

Changes from v0.5.0-alpha (Recently merged first)

🧰 Maintenance

  • Try to fix why only CSharpMath the package was published to NuGet (#152) @Happypig375

Contributors

@Happypig375

0.5.0 Evaluation Update Alpha

02 Aug 08:23
0f81662
Compare
Choose a tag to compare
Pre-release

Changes from v0.4.2 (Recently merged first)

🚀 Features

`Change AngouriMath reference to use NuGet package instead of git submodule` (#149) @Happypig375

Also added a calculator to Avalonia Example

`Parser refactor (part 1)` (#143) @Happypig375

Now every command is put into a central place for lookup.

Also added \atopwithdelims to let MathListFromLaTeX be able to consume MathListToLaTeX output, and % for comments are now supported in MathListFromLaTeX and MathListToLaTeX.

AliasDictionary has been split into BiDictionary and ProxyAdder.

Contributes to #58.

`System.Drawing.Color` (#141) @charlesroddie

Reduce code by removing a Color structure that duplicates System.Drawing.Color. Presumably this predated netstandard.

`Added the bra and ket commands for Dirac notation support` (#134) @jclapis

This pull request adds the \bra{} and \ket{} commands, which are useful shorthand commands for work involving quantum mechanics and Dirac notation.

Example of a common use case:
image

Their implementation is inspired by the popular braket LaTeX package.

🐛 Bug Fixes

`Killing four bugs with one PR?` (#144) @Happypig375

This should finish #123, #136, #137 and possibly #138.

`Spacing and bounding boxes (part 1)` (#132) @Happypig375

Part of a series of PRs on fixing #32

  • Fixed large space above large matrices
  • Fixed several parsing bugs like \left( x\\ y\right) which round-tripped to \left( x\\ y&\right)
  • Better error messages for \begin \end and \left \right pairs
  • And refactorings
`Align text center and right correctly` (#126) @Happypig375

Implements #123

`Fix punctuation` (#128) @Happypig375

According to AMSMath documentation, ! should be of Class Punctuation instead of Close. Not sure why ? and ! are classified as Close which brings complexity when dealing with brackets.

`Punctuation should stick to inline maths` (#119) @Happypig375

Implements #113

🧰 Maintenance

`Updated Avalonia to 0.10.0-preview1` (#146) @jp2masa

Changes

  • Updated Avalonia to 0.10.0-preview1:
    • Updated default text color and font size:
      • Text color is now based on fluent theme resources (won't work for default theme, which I think will be deprecated soon anyway).
      • Font size is now constant 14.0f (this value comes from fluent theme resources, there is also a bug which blocks using the resource: it is double, but font size is float, probably a bug in Avalonia).
    • Updated Avalonia sample:
      • Also removed SideBar.xaml: the default styles for TabControl is good in fluent theme, also the side bar styles don't look good in fluent.
  • Apparently you can add redirect buttons in issue template selection (#147) @Happypig375
`Enable CSharpMath.Rendering.Tests.TextPainterSettings` (#139) @Happypig375

Comment out specific problematic test cases instead of skipping the whole test

Also fixed CSharpMath.Ios.Tests.MathInline not actually being inline

`CSharpMath.Ios.Tests` (#133) @Happypig375

Also enabled artifact uploading of image test results.

A better way of comparing images will be needed, as image size comparisons are unreliable.

`Fix dependency version of CI packages + SourceLink infrastructure` (#131) @Happypig375

Per dotnet/sourcelink#255, non-NuGet feeds do not support .snupkgs, so they are not available for CI packages.

Contributors

@Happypig375, @charlesroddie, @jclapis and @jp2masa

0.4.2 Avalonia Update

15 Apr 06:18
3ade037
Compare
Choose a tag to compare
  The 0.4 Avalonia Update brings the Avalonia front end!
  0.4.1: Fixed Measure in CSharpMath.Rendering
  0.4.2: Fixed TextPainter setting the position of display maths in the first line to above the canvas bounds

0.4.1 Avalonia Update

14 Apr 06:54
Compare
Choose a tag to compare

Fixed Measure's Y position being negative Descent instead of negative Ascent

0.4.0 Avalonia Update

10 Apr 06:28
Compare
Choose a tag to compare

See #112

  • New Avalonia front end
  • Massive refactoring of CSharpMath and CSharpMath.Rendering
  • LargeOperator editing for CSharpMath.Editor
  • Blinking cursor for CSharpMath.Editor
  • \colorbox support
  • A bunch of new math mode commands
  • Helpful error messages
  • MathButton and TextButton
  • Built-in cyrillic support
  • Several new test projects
  • C# 8 nullable reference types
  • GitHub Actions for the CSharpMath repo
  • Removed dependency on SkiaSharp.Extended
  • Numerous fixes including #37 and #59