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
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
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
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
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
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
Hajime Hoshi
68d5fa46e2
text/v2: add variations to glyph cache keys
2023-11-16 13:15:51 +09:00
Hajime Hoshi
c7843a4e2b
text/v2: make glyphVariationCount more flexible
...
Updates #2843
2023-11-16 12:49:34 +09:00
Hajime Hoshi
8352be9369
text/v2: increase the soft limit of the glyph cache if the face is small
...
Updates #2843
2023-11-16 12:07:15 +09:00
Hajime Hoshi
2e60c67ec9
text/v2: improve rendering quality for small faces
...
Closes #2843
2023-11-16 12:02:50 +09:00
Hajime Hoshi
b2c45a369a
text/v2: remove the suffix 'InPixels'
...
Now all the units are pixels, the suffix is redundant.
Updates #2454
2023-11-15 21:53:58 +09:00
Hajime Hoshi
a612b3c861
text/v2: reduce members in structs
2023-11-15 14:38:03 +09:00
Hajime Hoshi
586a4b6d6e
all: rename sizeInPoints -> sizeInPixels
2023-11-15 14:03:22 +09:00
Hajime Hoshi
f2180a5dc5
text/v2: rename SizeInPoints -> SizeInPixels
2023-11-15 13:14:36 +09:00
Hajime Hoshi
4694b78d54
text/v2: refactoring
2023-11-15 12:34:02 +09:00
Hajime Hoshi
5354ccc44f
examples/2048: use text/v2
...
Also, this changes fixes a bug in (*text/v2.GoTextFace).Metrics.
Updates #2454
2023-11-15 12:28:39 +09:00
Hajime Hoshi
fe35180b78
text/v2: implement GoTextFace
...
Closes #675
Updates #2143
Updates #2454
2023-11-15 03:40:45 +09:00
Hajime Hoshi
46600b42f9
text/v2: swap the arguments of Advance for consistency
2023-11-15 03:18:23 +09:00
Hajime Hoshi
2b46a77e39
text/v2: replace Rune and IndexInBytes with Start/EndIndexInBytes in Glyph
...
The relationships between runes and glyphs are n:m in general,
then Rune is not enough. Let Glyph have a range of a string.
Updates #2454
2023-11-14 01:38:45 +09:00
Hajime Hoshi
ea1d9dde4e
text/v2: add LayoutOptions
...
Now AppendGlyphs can treat multiple lines and alignments.
2023-11-13 23:47:37 +09:00
Hajime Hoshi
4a84f3697c
text/v2: refactoring: simplify implementation
2023-11-13 13:24:39 +09:00
Hajime Hoshi
29fe3f6d21
text/v2: refactoring: don't consider origin's posotion for the subpixel offset Y
2023-11-13 02:44:09 +09:00
Hajime Hoshi
e4f9d854d2
Revert "text/v2: don't consider subpixels in Y direction in StdFace"
...
This reverts commit 38a0449b44
.
Reason: the rendering result has changed unexpectedly
2023-11-13 02:41:38 +09:00
Hajime Hoshi
38a0449b44
text/v2: don't consider subpixels in Y direction in StdFace
2023-11-13 02:24:49 +09:00
Hajime Hoshi
a645fbb2b0
text/v2: refactoring
2023-11-13 02:16:17 +09:00
Hajime Hoshi
9735687d3e
text/v2: refactoring
2023-11-13 01:31:25 +09:00
Hajime Hoshi
7c40b5f922
text/v2: bug fix: fix a semantically wrong calculation
...
Updates #2454
2023-11-12 21:04:39 +09:00
Hajime Hoshi
3f180b2165
text/v2: bug fix: StdFace was never released
...
StdFace was used as a cache key, then these are never released.
This change fixes this issue by adding faceCacheKey and use it as
a cache key.
Updates #498
2023-11-12 18:49:46 +09:00
Hajime Hoshi
77f3b57d1f
text/v2: bug fix: the offset should be added at the end of each iteration
...
Updates #2454
Updates #2528
2023-11-12 17:37:36 +09:00
Hajime Hoshi
b05c272499
text/v2: add CacheGlyphs
...
Updates #2454
Updates #2528
2023-11-12 17:35:01 +09:00
Hajime Hoshi
b8b8b16098
all: add text/v2
...
This change adds some basic APIs incuding StdFace.
GoTextFace will be added later.
Updates #2454
2023-11-12 17:04:25 +09:00
Hajime Hoshi
1d4c210ff2
text: update comments
2023-11-12 00:20:47 +09:00
Hajime Hoshi
ca24a411bb
text: update comments
2023-11-11 20:22:30 +09:00
Hajime Hoshi
82f2319020
internal/hook: rename hooks -> hook
2023-10-06 13:58:00 +09:00
Hajime Hoshi
911cf0c48c
text: deprecate BoundString
...
After we found a correct definition of the term 'dot', BoundString seems
less useful than expected. In order to adjust the position of a text, we
should use a face's Metrics and a string's advance (font.MeasureString).
2023-06-10 19:21:04 +09:00
Hajime Hoshi
0918877344
text: update comments
2023-06-02 00:46:07 +09:00
Hajime Hoshi
11e79f3b51
text: update comments
2023-05-30 17:50:08 +09:00
Hajime Hoshi
f446288e0c
update bitmapfont to v3
2023-05-30 11:17:36 +09:00
Hajime Hoshi
baea6d47ee
text: cache Kern values
...
Closes #2673
2023-05-28 23:23:43 +09:00
Hajime Hoshi
e374ca0ac3
text: refactoring: introduce faceWithCache
2023-05-28 22:54:07 +09:00
Hajime Hoshi
8864ce1291
all: update comments
2023-02-07 12:05:43 +09:00
Pierre Curto
04170d628f
text: fix typos and add fields to struct initializers ( #2556 )
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com>
2023-01-28 00:14:37 +09:00
Hajime Hoshi
f054a7634a
ebiten: deprecate (*Image).Size
...
Closes #2351
2023-01-20 01:26:37 +09:00
Pierre Curto
abd293fae6
text, vector: fix typos and redundant casts ( #2537 )
2023-01-13 03:28:41 +09:00
Hajime Hoshi
6f4cb04ebb
text: make CacheGlyphs create all the sub-pixel variations ( #2530 )
...
Before this change, CacheGlyphs created only necessary glyphs wihtout
considering variations by sub-pixels in X direction. This was sometimes
unexpected when a user might want to prepare glyph cache with a string
including all the letters, instead of actual texts.
This change makes CacheGlyphs create all the sub-pixel variations of
the given runes.
Updates #2469
Closes #2528
2023-01-07 23:22:55 +09:00
Hajime Hoshi
a042af98b1
text: improve rendering quality with HintingVertical
...
When HintingVertical is used, the interval between two glyphs is not
quantized (i.e. not a whole pixel). The text package didn't consider
this situation.
This change improves the quality by using more various glyph images
with 1/4 pixels granularity in vertical direction.
Closes #2469
2022-11-25 16:45:37 +09:00
Hajime Hoshi
56788cf8d9
text: give offest to getGlyphImage
...
Now getGlyphImage can focus on rendering and doesn't have to calculate
offsets.
2022-11-25 16:15:16 +09:00
Hajime Hoshi
b9b78b5b44
text: update comments
2022-11-24 18:22:32 +09:00
Hajime Hoshi
003474152c
text: add comments about positioning
2022-11-23 22:35:02 +09:00
Hajime Hoshi
156c34a316
ebiten: separate a package for ColorM: colorm
...
Closes #2171
2022-11-08 23:50:04 +09:00
Hajime Hoshi
2610c148e4
text: typo
2022-09-14 14:41:22 +09:00
Hajime Hoshi
f923250a65
ebiten: typo
2022-08-21 20:02:53 +09:00
Hajime Hoshi
33da481d60
text: refactoring
...
Updates #1992
2022-08-13 00:28:41 +09:00
Hajime Hoshi
0217ed0544
ebiten: add WritePixels replacing ReplacePixels
...
Closes #2236
2022-08-08 03:50:27 +09:00
mattn
2bacecca24
fix typos ( #2227 )
2022-08-03 22:40:39 +09:00
mattn
3cd0daac67
go generate ./... with Go 1.19 ( #2228 )
2022-08-03 20:48:02 +09:00
Hajime Hoshi
04d1dbb263
text: update comments
...
Updates #1992
2022-04-04 02:55:15 +09:00
Hajime Hoshi
e05cfdb00a
text: update comments about BoundsString
...
The way in which space characters are treated is exactly same as
golang.org/x/image/font's `BoundsString`.
Updates #1992
2022-04-04 01:56:32 +09:00
Hajime Hoshi
98b8fbe2df
text: English
...
Updates #2047
2022-04-02 19:00:13 +09:00
Hajime Hoshi
7cee60f00f
text: add a comment about Glyph.Image
...
Updates #2047
2022-04-02 18:59:25 +09:00
Hajime Hoshi
e687865c8c
ebiten: add ColorM.ScaleWithColor
...
Updates #1944
2022-01-10 17:36:46 +09:00
Hajime Hoshi
732b125349
text: Add AppendGlyphs and Glyphs
...
Closes #1767
Closes #1871
2021-11-12 02:31:53 +09:00
Hajime Hoshi
3eb444f211
text: Refactoring
2021-11-12 00:17:51 +09:00
r3vit
57c45a13e4
Remove dot imports from tests - Remove dot imports ( #1837 )
...
Closes #1824
2021-10-02 19:58:48 +09:00
Hajime Hoshi
4509f2aee4
text: Add FaceWithLineHeight
...
Closes #1760
2021-09-12 22:56:14 +09:00
nanoslayer
e52a933506
text: Fix nil pointer dereference in drawGlyph ( #1732 )
...
drawGlyph can panic when provided with a nil *ebiten.DrawImageOptions
reference. Check that the pointer is not nil before dereferencing.
2021-07-28 03:20:35 +09:00
Hajime Hoshi
6efe7cbb8b
text: Fix comments
2021-07-27 17:38:34 +09:00
Hajime Hoshi
656d9dccc0
text: Add DrawWithOptions
...
Closes #1461
2021-07-27 17:36:21 +09:00
Hajime Hoshi
040fcd930f
Revert "Revert 2 commits using ColorM cache"
...
This reverts commit dd7a8bc497
.
Reason: DrawTriangles worked fine for the reporter's purpose.
Updates #1655
2021-05-30 15:17:11 +09:00
Hajime Hoshi
dd7a8bc497
Revert 2 commits using ColorM cache
...
This reverts commit 87c8625692
.
This reverts commit a6dd6196b4
.
Reason: Performance regression (#1655 )
Closes #1655
2021-05-30 03:10:00 +09:00
Hajime Hoshi
a716edc713
text: Add explanation about cache limit
2021-04-27 02:36:33 +09:00
Hajime Hoshi
3f97386d8e
text: Improve the comment
2021-04-27 02:28:52 +09:00
Hajime Hoshi
cdf700ed84
text: Improve the comments
2021-04-27 02:20:10 +09:00
Hajime Hoshi
c5c12cbf68
text: Improve the comment
2021-04-27 01:59:39 +09:00
Hajime Hoshi
4f6ad4e60b
text: Update comments
2021-04-24 03:27:56 +09:00
Hajime Hoshi
a6dd6196b4
internal/affine: Cache scaling ColorM for heuristic optimization
...
Closes #1474
2021-01-28 02:23:22 +09:00
Hajime Hoshi
c8454bdfed
text: Integrate emptyGlyphs and glyphImageCache to reduce runtine.mapaccess2
2021-01-05 13:12:46 +09:00
Hajime Hoshi
927c477d2b
text: Change getGlyphImages to getGlyphImage to avoid allocating slices
2021-01-05 12:21:41 +09:00
Hajime Hoshi
cd779b678a
text: Add comments
2020-11-03 20:35:55 +09:00
Hajime Hoshi
c70ebdc697
text: Misspelling
2020-11-03 19:54:51 +09:00
Hajime Hoshi
2d9e2a0483
text: Add CacheGlyphs
...
Fixes #1413
2020-11-03 17:12:51 +09:00
Hajime Hoshi
ec6821b1e1
text: Refactoring
2020-11-03 16:36:10 +09:00
Hajime Hoshi
5ec05ed79d
text: Cleaning up the cache after the rendering finishes
...
Before this fix, cleaning up the cache happens during making glyph
images, and this can be problematic when the text includes more
glyphs than the cache limit.
After this fix, Draw allows to have more glyph cache than the limit
temporarily.
2020-11-03 15:58:35 +09:00
Hajime Hoshi
a046700ae1
text: Remove the optimization for GopherJS
2020-10-07 01:13:31 +09:00
Hajime Hoshi
1b816eb249
ebiten: Remove the error returning value from NewImageFromImage
...
Updates #1380
2020-10-06 01:03:33 +09:00
Hajime Hoshi
c6053bcf14
ebiten: Remove the error returning value from NewImage
...
Updates #1380
2020-10-06 00:48:56 +09:00