deps,text,widget,font/opentype: [API] add harfbuzz-powered text shaper

This commit introduces a new text shaping infrastructure
powered by Benoit Kugler's Go source-port of harfbuzz.
This shaper can properly display complex scripts and RTL
text. This commit changes the signature of the text.Shaper
function, which is a breaking API change.

The new functionality is available via opentype.ParseHarfbuzz,
which configures a text.Shaper leveraging the new backend.

References: https://todo.sr.ht/~eliasnaur/gio/146
Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
This commit is contained in:
Chris Waldon
2022-03-16 16:01:33 -04:00
committed by Elias Naur
parent db82d12372
commit 1e5a3696f5
12 changed files with 3009 additions and 143 deletions
+10 -1
View File
@@ -9,8 +9,17 @@ require (
)
require (
eliasnaur.com/font v0.0.0-20220124212145-832bb8fc08c3
gioui.org/cpu v0.0.0-20210817075930-8d6a761490d2
gioui.org/shader v1.0.6
github.com/benoitkugler/textlayout v0.0.5
github.com/go-text/typesetting v0.0.0-20220112121102-58fe93c84506
github.com/npillmayer/uax v0.2.0
)
require golang.org/x/text v0.3.6 // indirect
require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/jolestar/go-commons-pool v2.0.0+incompatible // indirect
github.com/npillmayer/schuko v0.2.0-alpha.3 // indirect
golang.org/x/text v0.3.6 // indirect
)