Rich text rendering for SkiaSharp
Перейти к файлу
Brad Robinson ef354674d9 Various fixes for empty text blocks + don't add ellipsis if last line includes all text. 2019-08-08 11:51:43 +10:00
Artwork Starting on guides 2019-08-03 15:02:08 +10:00
BuildUnicodeData Renamed to RichTextKit 2019-08-03 11:42:45 +10:00
LineBreakV12 Bench testing line break algo + experiments with v12 line break algo 2019-08-08 08:38:51 +10:00
References bidi2 wip 2019-08-05 18:46:56 +10:00
Sandbox bidi2 wip 2019-08-05 18:46:56 +10:00
SandboxDriver Various fixes for empty text blocks + don't add ellipsis if last line includes all text. 2019-08-08 11:51:43 +10:00
TestBench Object pools for style runs, font runs and text lines 2019-08-08 09:45:58 +10:00
Topten.RichTextKit Various fixes for empty text blocks + don't add ellipsis if last line includes all text. 2019-08-08 11:51:43 +10:00
Topten.RichTextKit.Test Bench testing line break algo + experiments with v12 line break algo 2019-08-08 08:38:51 +10:00
buildtools@8c70f329fc Build/versioning 2019-08-02 15:46:50 +10:00
doc Fixed type 2019-08-04 16:45:04 +10:00
docsrc Fixed type 2019-08-04 16:45:04 +10:00
.docsanity.yaml Docs! 2019-08-04 01:02:45 +10:00
.gitattributes Extracted from GuiKit to standalone project 2019-07-31 11:20:07 +10:00
.gitignore Extracted from GuiKit to standalone project 2019-07-31 11:20:07 +10:00
.gitmodules Renamed to RichTextKit 2019-08-03 11:42:45 +10:00
Topten.RichTextKit.sln More perf and memory tuning, all bidi tests passing 2019-08-07 17:17:49 +10:00
build.bat Build/versioning 2019-08-02 15:46:50 +10:00
build.js Object pools for style runs, font runs and text lines 2019-08-08 09:45:58 +10:00
common.props Build/versioning 2019-08-02 15:46:50 +10:00
readme.md Lots of documentation updates 2019-08-04 16:40:57 +10:00
version.cs b0.1.102 2019-08-08 09:46:58 +10:00
version.h b0.1.102 2019-08-08 09:46:58 +10:00
version.json b0.1.102 2019-08-08 09:46:58 +10:00
version.props b0.1.102 2019-08-08 09:46:58 +10:00

readme.md

Banner

RichTextKit

RichTextKit is a rich-text layout, measurement and rendering library for SkiaSharp.

Features

  • Rich text layout
  • Supports most common font styles (bold, italic, underline, super/sub-script etc...)
  • Font shaping using HarfBuzzSharp
  • Font fallback for emoji and int'l character sets
  • Bi-directional and LTR/RTL Text Support (UAX #9)
  • Unicode word-break algorithm (UAX #14)
  • Max height and max line limits
  • Truncate with ellipsis support
  • Text measurement support
  • Hit testing and caret position information
  • Ability to paint selection range highlight
  • Easy to use
  • Minimal dependencies (just SkiaSharp and HarfBuzzSharp)

Sandbox

Under Development

RichTextKit is still under development. It works fine on Windows under net45 and netcoreapp2.1 but hasn't been tested on other platforms.

Also, text layout in general and Unicode and international text specifically are a complicated topics - almost certainly there are issues I'm unaware of and I'm hoping the community can help improve this project over time...

That said, RichTextKit certainly does a better job than Skia on it's own.

Documentation

See here for documentation.