├── .gitignore ├── LICENSE ├── README.md ├── font metrics.txt ├── font metrics.xlsx ├── nuget └── SkiaSharp.TextBlock.nuspec ├── samples ├── SkiaSharp.TextBlocks.Samples.sln ├── SkiaSharp.TextBlocks.Samples │ ├── Program.cs │ ├── SkiaExtensions.cs │ ├── SkiaSharp.TextBlocks.Samples.csproj │ ├── TextBlockSample.cs │ └── TextBlockSampleAnimated.cs └── output │ ├── Basic_Samples-FlowDirection.RightToLeft.png │ ├── Basic_Samples-Hello_World.png │ ├── Basic_Samples-LineBreakMode.Center.png │ ├── Basic_Samples-LineBreakMode.MiddleTruncation.png │ ├── Basic_Samples-Word_Wrap.png │ ├── Basic_Samples_2-Color_and_Size.png │ ├── Basic_Samples_2-Courier_New.png │ ├── Basic_Samples_2-New_Line_-_Trailing.png │ ├── Basic_Samples_2-New_line.png │ ├── Basic_Samples_2-Word_Wrap_-_Tight.png │ ├── Lorum_ipsum-1.5x_line_spacing.png │ ├── Lorum_ipsum-default_line_spacing.png │ ├── README.mddraft │ ├── Rich_Text-Longer.png │ ├── Rich_Text-Shorter.png │ ├── Typeface_Detection-Cyrillic.png │ ├── Typeface_Detection-Mixed.png │ ├── Typeface_Detection-Multi_glyph.png │ ├── Typeface_Detection-Non-latin.png │ ├── Typeface_Detection-Rtl_Support.png │ ├── Typeface_Detection-Rtl_Support_Test_1.png │ ├── Typeface_Detection-Rtl_Support_Test_2.png │ ├── Typeface_Detection-Rtl_Word_Wrap.png │ ├── Typeface_Detection-Symbols.png │ ├── Typeface_Detection-Unicode.png │ ├── animated.gif │ └── animated_rtl.gif └── source ├── SkiaSharp.TextBlocks.sln └── SkiaSharp.TextBlocks ├── CanvasExtensions.cs ├── Enum ├── FlowDirection.cs ├── LineAlignment.cs ├── LineBreakMode.cs └── WordType.cs ├── Font.cs ├── GlyphAnimation.cs ├── GlyphSpan.cs ├── ListCache.cs ├── MeasuredSpan.cs ├── RichTextBlock.cs ├── RichTextSpan.cs ├── SkiaSharp.TextBlocks.csproj ├── TextBlock.cs ├── TextShaper.cs └── TypefaceTextShaper.cs /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/README.md -------------------------------------------------------------------------------- /font metrics.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/font metrics.txt -------------------------------------------------------------------------------- /font metrics.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/font metrics.xlsx -------------------------------------------------------------------------------- /nuget/SkiaSharp.TextBlock.nuspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/nuget/SkiaSharp.TextBlock.nuspec -------------------------------------------------------------------------------- /samples/SkiaSharp.TextBlocks.Samples.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/SkiaSharp.TextBlocks.Samples.sln -------------------------------------------------------------------------------- /samples/SkiaSharp.TextBlocks.Samples/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/SkiaSharp.TextBlocks.Samples/Program.cs -------------------------------------------------------------------------------- /samples/SkiaSharp.TextBlocks.Samples/SkiaExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/SkiaSharp.TextBlocks.Samples/SkiaExtensions.cs -------------------------------------------------------------------------------- /samples/SkiaSharp.TextBlocks.Samples/SkiaSharp.TextBlocks.Samples.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/SkiaSharp.TextBlocks.Samples/SkiaSharp.TextBlocks.Samples.csproj -------------------------------------------------------------------------------- /samples/SkiaSharp.TextBlocks.Samples/TextBlockSample.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/SkiaSharp.TextBlocks.Samples/TextBlockSample.cs -------------------------------------------------------------------------------- /samples/SkiaSharp.TextBlocks.Samples/TextBlockSampleAnimated.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/SkiaSharp.TextBlocks.Samples/TextBlockSampleAnimated.cs -------------------------------------------------------------------------------- /samples/output/Basic_Samples-FlowDirection.RightToLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Basic_Samples-FlowDirection.RightToLeft.png -------------------------------------------------------------------------------- /samples/output/Basic_Samples-Hello_World.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Basic_Samples-Hello_World.png -------------------------------------------------------------------------------- /samples/output/Basic_Samples-LineBreakMode.Center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Basic_Samples-LineBreakMode.Center.png -------------------------------------------------------------------------------- /samples/output/Basic_Samples-LineBreakMode.MiddleTruncation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Basic_Samples-LineBreakMode.MiddleTruncation.png -------------------------------------------------------------------------------- /samples/output/Basic_Samples-Word_Wrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Basic_Samples-Word_Wrap.png -------------------------------------------------------------------------------- /samples/output/Basic_Samples_2-Color_and_Size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Basic_Samples_2-Color_and_Size.png -------------------------------------------------------------------------------- /samples/output/Basic_Samples_2-Courier_New.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Basic_Samples_2-Courier_New.png -------------------------------------------------------------------------------- /samples/output/Basic_Samples_2-New_Line_-_Trailing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Basic_Samples_2-New_Line_-_Trailing.png -------------------------------------------------------------------------------- /samples/output/Basic_Samples_2-New_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Basic_Samples_2-New_line.png -------------------------------------------------------------------------------- /samples/output/Basic_Samples_2-Word_Wrap_-_Tight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Basic_Samples_2-Word_Wrap_-_Tight.png -------------------------------------------------------------------------------- /samples/output/Lorum_ipsum-1.5x_line_spacing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Lorum_ipsum-1.5x_line_spacing.png -------------------------------------------------------------------------------- /samples/output/Lorum_ipsum-default_line_spacing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Lorum_ipsum-default_line_spacing.png -------------------------------------------------------------------------------- /samples/output/README.mddraft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/README.mddraft -------------------------------------------------------------------------------- /samples/output/Rich_Text-Longer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Rich_Text-Longer.png -------------------------------------------------------------------------------- /samples/output/Rich_Text-Shorter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Rich_Text-Shorter.png -------------------------------------------------------------------------------- /samples/output/Typeface_Detection-Cyrillic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Typeface_Detection-Cyrillic.png -------------------------------------------------------------------------------- /samples/output/Typeface_Detection-Mixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Typeface_Detection-Mixed.png -------------------------------------------------------------------------------- /samples/output/Typeface_Detection-Multi_glyph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Typeface_Detection-Multi_glyph.png -------------------------------------------------------------------------------- /samples/output/Typeface_Detection-Non-latin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Typeface_Detection-Non-latin.png -------------------------------------------------------------------------------- /samples/output/Typeface_Detection-Rtl_Support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Typeface_Detection-Rtl_Support.png -------------------------------------------------------------------------------- /samples/output/Typeface_Detection-Rtl_Support_Test_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Typeface_Detection-Rtl_Support_Test_1.png -------------------------------------------------------------------------------- /samples/output/Typeface_Detection-Rtl_Support_Test_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Typeface_Detection-Rtl_Support_Test_2.png -------------------------------------------------------------------------------- /samples/output/Typeface_Detection-Rtl_Word_Wrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Typeface_Detection-Rtl_Word_Wrap.png -------------------------------------------------------------------------------- /samples/output/Typeface_Detection-Symbols.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Typeface_Detection-Symbols.png -------------------------------------------------------------------------------- /samples/output/Typeface_Detection-Unicode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/Typeface_Detection-Unicode.png -------------------------------------------------------------------------------- /samples/output/animated.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/animated.gif -------------------------------------------------------------------------------- /samples/output/animated_rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/samples/output/animated_rtl.gif -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks.sln -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks/CanvasExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks/CanvasExtensions.cs -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks/Enum/FlowDirection.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks/Enum/FlowDirection.cs -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks/Enum/LineAlignment.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks/Enum/LineAlignment.cs -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks/Enum/LineBreakMode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks/Enum/LineBreakMode.cs -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks/Enum/WordType.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks/Enum/WordType.cs -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks/Font.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks/Font.cs -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks/GlyphAnimation.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks/GlyphAnimation.cs -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks/GlyphSpan.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks/GlyphSpan.cs -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks/ListCache.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks/ListCache.cs -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks/MeasuredSpan.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks/MeasuredSpan.cs -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks/RichTextBlock.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks/RichTextBlock.cs -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks/RichTextSpan.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks/RichTextSpan.cs -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks/SkiaSharp.TextBlocks.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks/SkiaSharp.TextBlocks.csproj -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks/TextBlock.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks/TextBlock.cs -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks/TextShaper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks/TextShaper.cs -------------------------------------------------------------------------------- /source/SkiaSharp.TextBlocks/TypefaceTextShaper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wouterst79/SkiaSharp.TextBlocks/HEAD/source/SkiaSharp.TextBlocks/TypefaceTextShaper.cs --------------------------------------------------------------------------------