Mitchell Hashimoto
13d9c0159d
font: SharedGridSet.Key needs to clone the DerivedConfig
...
Key contains pointers into DerivedConfig. Each surface has its own
DerivedConfig. This would cause memory corruption if the surface that
opened the initial font grid deallocates. Instead, let's make sure Key
owns its own DerivedConfig.
2024-04-11 13:04:23 -04:00
Mitchell Hashimoto
a1923c105c
Merge pull request #1671 from mitchellh/font-dpi
...
font: SharedGridSet must hash diff for font size change
2024-04-09 08:50:52 -04:00
Mitchell Hashimoto
f67c2b70a7
font: SharedGridSet must hash diff for font size change
...
Fixes #1670
This fixes two issues:
- If no font families are set, font points would not change the hash.
- DPI changes would not change the hash.
When the hash doesn't change when it should, we reuse a font stack due
to changes in #1662 . This would cause some font issues. :)
2024-04-09 08:45:01 -04:00
Mitchell Hashimoto
97a7c75437
Merge pull request #1669 from qwerasd205/fix-U+255D
...
font/sprite: Fix U+255D
2024-04-09 08:22:33 -04:00
Qwerasd
4b33f07b73
font/sprite: Fix U+255D
...
Double Up and Left '╝' previously had a hole in the bottom, extend line to fill gap.
2024-04-08 23:10:00 -04:00
Qwerasd
155a6d1114
font: fix discovery of styles
...
These are meant to be absolute indexes, make it so.
2024-04-08 20:44:17 -04:00
Mitchell Hashimoto
188d25b5d9
font/coretext: fix merge issue from #1662
2024-04-08 17:07:00 -04:00
Mitchell Hashimoto
e66e82787b
Merge pull request #1662 from mitchellh/fontmem
...
Dedupe font stack for terminals with identical font configuration
2024-04-08 16:57:58 -04:00
Mitchell Hashimoto
edac4a113f
font/coretext: shaper may return multiple runs and that's okay
...
Fixes #1664
I previously asserted that we got exactly one run from CoreText because
I assumed that our run iterator was perfectly splitting runs for
CoreText. This assumption appears to be false and that seems okay.
The test case in this commit produces two runs that are directly next to
each other and there's no downside to simply iterating over them. So
this commit changes to iterate over the runs.
2024-04-08 10:52:50 -04:00
Mitchell Hashimoto
21a648748d
font: CodepointMap supports clone
2024-04-07 10:54:59 -07:00
Mitchell Hashimoto
06df9b7867
font: remove old files
2024-04-06 20:10:57 -07:00
Mitchell Hashimoto
e3402cef4d
address many fontmem todos
2024-04-06 20:00:22 -07:00
Mitchell Hashimoto
2f61f7d6a3
font: fix hashing of descriptor strings
2024-04-06 19:49:14 -07:00
Mitchell Hashimoto
ebd31ad50f
font: SharedGridSet DerivedConfig does not take font size
2024-04-06 10:45:44 -07:00
Mitchell Hashimoto
b9efd83798
font: SharedGridSet uses DerivedConfig
2024-04-06 10:37:26 -07:00
Mitchell Hashimoto
00f677fd51
font: SharedGridSet locks and is thread-safe
2024-04-06 10:08:52 -07:00
Mitchell Hashimoto
b77513de1a
font/harfbuzz: work with new font structures
2024-04-05 21:48:53 -07:00
Mitchell Hashimoto
6aa659c4b5
renderer/metal: re-enable preedit rendering
2024-04-05 21:39:39 -07:00
Mitchell Hashimoto
de2b0f6857
font: Atlas updated to use monotonic ID
2024-04-05 21:10:10 -07:00
Mitchell Hashimoto
c45747bf1f
font: implement many rendering, caching functions for SharedGrid
2024-04-05 20:50:35 -07:00
Mitchell Hashimoto
c88137d254
font/shaper: work on new grid APIs
2024-04-05 20:21:13 -07:00
Mitchell Hashimoto
90ea733cbd
font: SharedGrid hasCodepoint
2024-04-05 19:07:45 -07:00
Mitchell Hashimoto
c99b27d364
font: SharedGrid.getIndex
2024-04-05 19:00:41 -07:00
Mitchell Hashimoto
329697779a
renderer/metal: convert more
2024-04-05 18:51:26 -07:00
Mitchell Hashimoto
d6c048f1e3
renderer/metal: picking away at font group => grid changes
2024-04-05 15:35:16 -07:00
Mitchell Hashimoto
04e0cd29e5
core: begin converting to SharedGridSet, renderers still broken
2024-04-05 15:25:45 -07:00
Mitchell Hashimoto
4a29da3525
font: SharedGridSet clarify memory ownership
2024-04-05 15:15:30 -07:00
Mitchell Hashimoto
719c5d7c25
font: SharedGridSet starts
2024-04-05 15:03:22 -07:00
Mitchell Hashimoto
b9471f3791
font: SharedGrid setup test infra
2024-04-05 14:39:31 -07:00
Mitchell Hashimoto
9fb883666a
font: start SharedGrid
2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
88db80b7b0
font: CodepointResolver test box glyph
2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
b2541d24f1
font: CodepointResolver style disabling test
2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
4eccd42f6b
font: CodepointResolver beginnings
2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
bd479db09f
font: Collection setSize
2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
4d70859864
font: Collection autoItalicize
2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
40b4183b1f
font: Collection deinit
2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
0d0688404e
font: Collection.getIndex
2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
833d54e441
font: Collection has load options
2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
89b3e3ae4e
font: a mess
2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
72d59956d5
font: [broken] working on extracting Collection from Group
2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
7b428367df
font: improve log statements a bit
2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
5de88fe3f8
core: deref the font group when not used
2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
6d7053a1ad
core: convert surface/app to use GroupCacheSet
2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
9f34edfa83
font: GroupCacheSet can initialize a group
2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
2a386daa19
font: GroupCacheSet.Key has metric modifiers
2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
9d8da8fcc7
font: CodepointMap hashable, use for groupcacheset
2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
bfcd5f380a
font: introduce GroupCacheSet, use it for descriptors to start
2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
7fef1aa294
font: descritor can hash using a hasher
2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
5546469c37
font: remove unused struct
2024-04-05 09:29:39 -07:00
Mitchell Hashimoto
eb4d21fcbf
font/coretext: handle two-byte utf16 followed by more chars
2024-04-04 21:31:07 -07:00