Commit Graph

9582 Commits

Author SHA1 Message Date
Hajime Hoshi
668124d25c text/v2: add a non-image glyphs for index info 2023-12-05 20:06:06 +09:00
Hajime Hoshi
800835d081 Revert "text/v2: rename Glyph -> Cluster"
This reverts commit f0d23de3d3.

Reason: Cluster doesn't represent a cluster but a part of a cluster.
2023-12-05 19:44:32 +09:00
Hajime Hoshi
f0d23de3d3 text/v2: rename Glyph -> Cluster
This also changes AppendClusters to return cluster info even if a
cluster doesn't have a glyph.
2023-12-05 18:00:30 +09:00
Hajime Hoshi
800101da90 text/v2: fix an error message
Updates #2845
2023-12-04 01:17:46 +09:00
Hajime Hoshi
81e0e61a43 text/v2: let NewMultiFace return an error
Updates #2845
2023-12-04 01:16:47 +09:00
Hajime Hoshi
fa3ec12731 text/v2: bug fix: the given slice to MultiFace should be copied
Updates #2845
2023-12-02 22:59:14 +09:00
Hajime Hoshi
dfa058a961 text/v2: change the signature of NewMultiFace
Updates #2845
2023-12-02 22:51:37 +09:00
Hajime Hoshi
5790597a15 text/v2: add LimitedFace
Closes #2857
2023-12-02 16:01:28 +09:00
Hajime Hoshi
a6b4a7a2ac text/v2: add NewMultiFace
Updates #2857
2023-12-02 14:56:03 +09:00
Hajime Hoshi
a444f2dd40 text/v2: replace Metrics.Height/Width with HLineGap and VLineGap
Updates #2454
2023-12-02 14:33:41 +09:00
Hajime Hoshi
d91455c0a7 internal/graphicscommand: add Shader.id 2023-12-01 21:31:50 +09:00
Hajime Hoshi
6a7688d3ac all: update go-text 2023-11-30 14:50:45 +09:00
Hajime Hoshi
2bad1b928f text/v2: remove Metadata.Monospace
Apparently calculating to detection whether a face is monospace or not
is pretty heavy as this might iterate all the glyphs.
2023-11-28 12:22:09 +09:00
Hajime Hoshi
8777d2c529 text/v2: allow io.Reader for NewGoTextFaceSource
This enables to pass fs.File to NewGoTextFaceSource.

Updates #2454
2023-11-26 17:21:47 +09:00
Hajime Hoshi
8291a98756 text/v2: update comments 2023-11-26 15:52:40 +09:00
Hajime Hoshi
b0c5a49f96 text/v2: bug fix: metadata was lacked 2023-11-26 14:23:52 +09:00
Hajime Hoshi
b925f28104 text/v2: add MultiFace
Closes #2845
2023-11-26 03:32:22 +09:00
Hajime Hoshi
415b9c382f text/v2: refactoring 2023-11-25 22:59:01 +09:00
Hajime Hoshi
f34f93a117 text/v2: remove the common UnsafeInternal and add ones to GoTextFaceSource and StdFace
Updates #2454
2023-11-25 22:56:22 +09:00
Hajime Hoshi
989d749475 text/v2: add (*GoTextFaceSource).Metadata
Updates #2454
2023-11-25 22:32:24 +09:00
Hajime Hoshi
6f5fab47aa all: update purego 2023-11-25 18:46:30 +09:00
Hajime Hoshi
b2ec6c2fd4 all: update go-text 2023-11-25 18:43:59 +09:00
Hajime Hoshi
20c216b2b1 text/v2: bug fix: glyph image sizes might not be enough
Hajime found that one glyph 'ら' was not rendered correctly in a
vertical Japanese text in examples/texti18n. This was due to an
incorrect calculation of the image sizes.

This change fixes this issue by always adding +1 to the sizes no matter
what the glyph size is or the position is. It is in theory possible to
determine whether this addition is necessary, but this is pretty
complicated and might cause other issues.
2023-11-25 01:26:52 +09:00
Hajime Hoshi
b9b365a576 text/v2: bug fix: Measure didn't work correctly with vertical faces
This also updates examples/texti18n to use text.Measure.

Updates #2143
Updates #2454
2023-11-23 23:25:10 +09:00
Hajime Hoshi
c4b16bec9b text/v2: add an example for font variations
Updates #2454
2023-11-23 22:30:13 +09:00
Hajime Hoshi
b1bd03329e examples/fontfeature: improve a text 2023-11-23 19:30:03 +09:00
Hajime Hoshi
daa14ac686 examples/fontfeature: show the state of 'zero'
Updates #2454
2023-11-23 18:51:36 +09:00
Hajime Hoshi
30f05f4ad7 text/v2: add an example for font features
Updates #2454
2023-11-23 18:47:49 +09:00
Hajime Hoshi
2432888b9f text/v2: fix test 2023-11-21 14:32:30 +09:00
Hajime Hoshi
36fc5b0266 test/v2: add a test for an unhashable font.Face
Updates #2454
Closes #2669
2023-11-20 23:18:59 +09:00
Hajime Hoshi
1be6aa5e98 examples/fontvector: add alphabets 2023-11-20 03:50:41 +09:00
Hajime Hoshi
c0e41de921 text/v2: add AppendVectorPath
Closes #1937
Updates #2454
2023-11-20 03:38:26 +09:00
Hajime Hoshi
03a8aaee5c text/v2: define different key types for StdFace and GoTextFaceSource 2023-11-19 23:40:47 +09:00
Hajime Hoshi
57ae07eb36 text/v2: let StdFace and GoTextFaceSource have their own glyph caches 2023-11-19 23:32:49 +09:00
Hajime Hoshi
7a08737326 text/v2: add copyCheck to GoTextFaceSource 2023-11-19 23:15:18 +09:00
Hajime Hoshi
d2d86fbddd text/v2: add tests
Updates #2454
2023-11-19 17:43:44 +09:00
Hajime Hoshi
85fdf90d4d text: refactoring 2023-11-19 17:42:07 +09:00
Hajime Hoshi
c45e9d0c00 internal/processtest: remove an empty line 2023-11-19 17:01:00 +09:00
Hajime Hoshi
af6b8dcd1c internal/processtest: use text/v2
Updates #2454
2023-11-19 16:55:03 +09:00
Hajime Hoshi
ecb1ac03d6 examples/keyboard/keyboard: use text/v2
Updates #2454
2023-11-19 16:47:08 +09:00
Hajime Hoshi
e4c0fa9d62 examples/fullscreen: use text/v2
Updates #2454
2023-11-19 16:07:16 +09:00
Hajime Hoshi
9b9384baa0 internal/shader: bug fix: variables in an index should be marked as used
Closes #2848
2023-11-19 14:50:43 +09:00
Hajime Hoshi
6d18367f52 .github: add Patreon account 2023-11-19 03:32:54 +09:00
Hajime Hoshi
acd317bf91 internal/ui: bug fix: wrong for-loop condition
Closes #2847
2023-11-18 20:01:24 +09:00
Weilin Shi
058973adda
examples/drag: remove duplicated calls (#2846) 2023-11-18 19:52:42 +09:00
Hajime Hoshi
ca8a2896b4 text/v2: performance optimization by using image.RGBA
Apparently, image.RGBA doesn't use the slow path at draw.Draw, which
is called from a rasterizer's Draw.

Updates #2454
2023-11-17 13:14:12 +09:00
Hajime Hoshi
4755da6a08 text/v2: performance optimization by caching glyph bounds
Updates #2454
2023-11-17 13:07:59 +09:00
Hajime Hoshi
2a1eac3b73 examples/font: use text/v2
Updates #2454
2023-11-17 13:07:55 +09:00
Hajime Hoshi
147175d400 text/v2: rename LineHeight -> LineSpacingInPixels
Updates #2454
2023-11-17 01:19:05 +09:00
Hajime Hoshi
e7fa9d50de text/v2: refactoring 2023-11-17 00:12:17 +09:00