Rich text rendering for SkiaSharp
Перейти к файлу
Brad Robinson 2e8a37a804 b0.4.167 2024-03-06 12:24:26 +11:00
Artwork Update packaging to use new license and icon method 2020-05-24 18:50:27 +10:00
BuildUnicodeData Bump ajv from 6.10.2 to 6.12.6 in /BuildUnicodeData (#47) 2022-06-02 15:06:33 +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
RichStringSandbox Removed netcoreapp2.1 support, updated to Skia/Harfbuzz 2.88.7 2024-03-06 12:19:50 +11:00
Sandbox Removed netcoreapp2.1 support, updated to Skia/Harfbuzz 2.88.7 2024-03-06 12:19:50 +11:00
SandboxDriver Removed netcoreapp2.1 support, updated to Skia/Harfbuzz 2.88.7 2024-03-06 12:19:50 +11:00
TestBench Added grapheme cluster algorithm and use it in font fallback 2020-08-20 17:34:19 +10:00
Topten.RichTextKit Removed netcoreapp2.1 support, updated to Skia/Harfbuzz 2.88.7 2024-03-06 12:19:50 +11:00
Topten.RichTextKit.Test Removed netcoreapp2.1 support, updated to Skia/Harfbuzz 2.88.7 2024-03-06 12:19:50 +11:00
buildtools@d3370d7b53 Update buildtools 2022-01-24 13:39:05 +11:00
doc Removed netcoreapp2.1 support, updated to Skia/Harfbuzz 2.88.7 2024-03-06 12:19:50 +11:00
docsrc Removed netcoreapp2.1 support, updated to Skia/Harfbuzz 2.88.7 2024-03-06 12:19:50 +11:00
.docsanity.yaml Removed netcoreapp2.1 support, updated to Skia/Harfbuzz 2.88.7 2024-03-06 12:19:50 +11: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 Latest build tools 2021-12-07 12:05:35 +11:00
Topten.RichTextKit.sln Fixes for SkiaSharp 2.8 (font fallback not working) + don't use deprecated functions 2020-07-29 16:26:18 +10:00
azure-pipelines.yml Update azure-pipelines.yml for Azure Pipelines 2019-11-19 02:16:35 +02:00
build.bat Build/versioning 2019-08-02 15:46:50 +10:00
build.js Update docsanity tool 2024-03-06 12:22:05 +11:00
common.props Build/versioning 2019-08-02 15:46:50 +10:00
license.txt Added license.txt 2019-08-10 17:27:29 +10:00
readme.md Removed netcoreapp2.1 support, updated to Skia/Harfbuzz 2.88.7 2024-03-06 12:19:50 +11:00
version.cs b0.4.167 2024-03-06 12:24:26 +11:00
version.json b0.4.167 2024-03-06 12:22:45 +11:00
version.props b0.4.167 2024-03-06 12:22:45 +11: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...)
  • Text 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 net462 and net5.0 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.