Fixes #2597. Enables standard glyphs to be set via ConfigurationManager (#2595)

* initial

* basically working

* removed test settings

* removed extra usings

* Improved API docs

* Renamed glyphs to be consistent and use unicode names; use char literals

* Refactored Glyphs class & Json format to not be static (startup perf)

* Refactored Glyphs class & Json format to not be static (startup perf)

* Fixed a bunch of API doc errors

* Switched checked/selected to glyhps from box drawing range

* Switched button glyphs to nicer looking ones that seem to work on standard fonts

* Upgraded LineDrawing scenario

* CrossHair->Cross

* Fixed unit tests

* Fixed unit tests; moved Glyphs from Application to ConfigurationManager; added CM global using alias

* Found and replaced all other special glyphs; fixed more unit tests
This commit is contained in:
Tig
2023-05-07 07:34:02 +02:00
committed by GitHub
parent 16e2fc2ac1
commit dea5f0fe03
75 changed files with 1804 additions and 1477 deletions

View File

@@ -3789,7 +3789,7 @@ namespace Terminal.Gui.TextTests {
Assert.Equal (6, TextFormatter.GetLengthThatFits (runes, 6));
runes = ustring.Make ("こんにちは 世界").ToRuneList ();
Assert.Equal (3, TextFormatter.GetLengthThatFits (runes, 6));
runes = ustring.Make ("[ Say Hello 你 ]").ToRuneList ();
runes = ustring.Make ($"{CM.Glyphs.LeftBracket} Say Hello 你 {CM.Glyphs.RightBracket}").ToRuneList ();
Assert.Equal (15, TextFormatter.GetLengthThatFits (runes, 16));
}

View File

@@ -67,13 +67,13 @@ namespace Terminal.Gui.TextTests {
Application.Begin (dg);
((FakeDriver)Application.Driver).SetBufferSize (30, 10);
var expected = @"
var expected = @$"
┌────────────────────────────┐
│これは広いルーンラインです。│
│これは広いルーンラインです。│
│これは ┌────────────┐ です。│
│これは │ワイドルーン│ です。│
│これは │ [ 選ぶ ] │ です。│
│これは │ {CM.Glyphs.LeftBracket} 選ぶ {CM.Glyphs.RightBracket} │ です。│
│これは └────────────┘ です。│
│これは広いルーンラインです。│
│これは広いルーンラインです。│