Haoyu Qiu
7af7ac6785
Fix crash when operating on newly created font RIDs
2025-10-19 10:46:28 +08:00
Thaddeus Crews
16a11ac88b
Merge pull request #111358 from Ivorforce/no-variant-hasher
...
Remove `VariantHasher` and `VariantComparator` in favour of specialising `HashMapHasherDefault` and `HashMapComparatorDefault`.
2025-10-10 10:26:12 -05:00
Lukas Tenbrink
d2ee378d1c
Remove VariantHasher and VariantComparator in favour of specializing HashMapHasherDefault and HashMapComparatorDefault.
2025-10-07 13:47:39 +02:00
Thaddeus Crews
b17aa3343a
Revert "SCons: Add CPPEXTPATH for external includes"
2025-10-06 13:09:22 -05:00
Pāvels Nadtočajevs
ddde1c07a6
[TextServer] Shape emojis as separate runs.
2025-09-02 13:03:50 +03:00
Pāvels Nadtočajevs
22e99a4901
Restore per font oversampling override.
2025-06-19 18:10:54 +03:00
Pāvels Nadtočajevs
e87cccefca
Add line_breaking_strictness project setting.
2025-06-12 09:26:52 +03:00
Yyf2333
21fc5cce5c
Use LocalVector<Glyph> to reduce reallocation.
2025-05-12 18:11:18 +08:00
aaronp64
91931606f7
Remove _FORCE_INLINE_ from TextServer*::_ensure* methods
...
Reduces binary size by ~1.5 MB when compiling with TextServerAdvanced, and ~800 KB for TextServerFallback
2025-05-06 17:49:38 -04:00
Pāvels Nadtočajevs
4afeca3bcf
Replace global oversampling with overrideable per-viewport oversampling.
2025-04-14 13:43:09 +03:00
Pāvels Nadtočajevs
b106dfd4f9
Base accessibility API.
2025-04-08 20:14:28 +03:00
Thaddeus Crews
f25fc34439
SCons: Add CPPEXTPATH for external includes
2025-04-02 07:29:08 -05:00
Pāvels Nadtočajevs
19f360d65a
Add font import flag to toggle modulation of colored glyphs.
2025-04-01 13:36:10 +03:00
Rémi Verschelde
c93ce94f4a
Merge pull request #104455 from Ivorforce/ubrk-clone
...
Optimize startup times by using `ubrk_clone` instead of `ubrk_open`.
2025-03-28 14:33:03 +01:00
Lukas Tenbrink
09e7bef0e0
Use ubrk_clone instead of ubrk_open to create UBreakIterator instances.
...
`ubrk_clone` is much faster, because the locale doesn't have to be parsed again.
2025-03-22 00:42:43 +01:00
Lukas Tenbrink
bfc1ef4ab7
Optimize TextServerAdvanced::_add_features by using iteration instead of .values() and .keys().
...
Rename `_add_featuers` to `_add_features`.
2025-03-21 11:59:29 +01:00
Thaddeus Crews
90509e6402
Merge pull request #102129 from Ivorforce/optimize-text-server-adv-break-iter
...
Optimize text rendering by caching `UBreakIterator` instances.
2025-03-11 16:53:56 -05:00
A Thousand Ships
331a43a9d8
Add String::remove_char(s) methods for performance and convenience
2025-03-10 13:19:28 +01:00
Thaddeus Crews
324512e11c
Style: Replace header guards with #pragma once
2025-03-07 17:33:47 -06:00
Frank Becker
70a8421c30
Apply fix_alpha_edges for both theme icons and font glyphs.
...
Only apply fix_alpha_edges for SVG glyphs.
Allow modulate for svg glyphs.
2025-02-18 13:10:28 -08:00
Pāvels Nadtočajevs
b50d9742c2
Fix is_valid_float, Variant parser, Expression parser, script highlighter, and TextServer not handing capital E in scientific notation.
2025-02-05 18:39:40 +02:00
Lukas Tenbrink
6c82cf0737
Optimize text rendering by caching UBreakIterator instances.
2025-01-29 14:03:03 +01:00
bruvzg
cc1db569e1
[TextServer] Improve embedded objects handling performance.
2025-01-07 08:01:29 +02:00
Yufeng Ying
33817b186f
Remove unused header in drivers and modules.
...
Co-authored-by: Thaddeus Crews <repiteo@outlook.com >
2024-12-24 00:40:47 +08:00
Thaddeus Crews
26e7b6bdd6
Merge pull request #99164 from bruvzg/int_files
...
[Export] Write text server data from memory, instead of using temporary file.
2024-12-03 14:40:58 -06:00
Pāvels Nadtočajevs
c5ca56f40b
[Export] Write text server data from memory, instead of using temporary file.
2024-12-02 18:22:55 +02:00
bruvzg
e81a2afbc4
[TextServer] Reset subpixel shift on blank glyphs and import option to enable/disable it.
2024-11-01 10:18:57 +02:00
bruvzg
e698870caa
Update ICU to 76.1
2024-10-24 22:47:59 +03:00
bruvzg
d222daa9c8
[TextServer] Silently skip invalid system fallback fonts.
2024-10-01 17:22:16 +03:00
Thaddeus Crews
b37fc1014a
Style: Apply new clang-format changes
2024-09-20 08:09:48 -05:00
rune-scape
4ba7738a1f
TextServerAdvanced: improve performance by removing redundant lookups
...
+ caching editor setting
+ using a faster hash method on the FontForSizeAdvanced cache
+ SafeFlag for ShapedTextDataAdvanced::valid
2024-08-28 13:01:11 -07:00
bruvzg
32bc1c2f33
[Font Import] Detect pixel fonts and disable subpixel positioning.
2024-07-23 20:34:39 +03:00
bruvzg
e651421905
[TextServer, GDExtension] Fix building text servers as GDExtension, expose new/changed low-level methods to GDExtension API.
2024-06-12 19:30:19 +03:00
A Thousand Ships
a0dbdcc3ab
Replace find with contains/has where applicable
...
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
Rémi Verschelde
25fe3d4b46
Merge pull request #81639 from MJacred/is_letter
...
Add `is_valid_letter()` to `TextServer`
2024-05-03 01:21:34 +02:00
MJacred
717513a62d
Add is_valid_letter() to TextServer
2024-05-02 21:32:20 +02:00
bruvzg
1f8387f8fd
[TextServer] Improve empty glyph handling to allow glyphs smaller than 2px and avoid unnecessary texture updates.
2024-04-07 18:19:45 +03:00
bruvzg
27f6f4147b
[TextServer] Expose ICU title case string conversion to scripting.
2024-04-04 10:56:49 +03:00
Rémi Verschelde
061e0c758d
Merge pull request #89395 from bruvzg/rtl_ts_img_range
...
[RTL] Use "visible characters" property for inline object visibility
2024-03-12 14:23:03 +01:00
bruvzg
433de7f1a8
[RTL] Use "visible characters" property for inline object visibility
2024-03-12 11:28:45 +02:00
bruvzg
911fa38d3a
[Font] Add option to disable embedded bitmaps loading.
2024-03-11 16:31:10 +02:00
Rémi Verschelde
4bb3af67e0
Merge pull request #88091 from bruvzg/extra_fallback
...
[TextServer] Add extra fallback step, to lookup for individual characters.
2024-02-15 17:35:40 +01:00
bruvzg
062a93fb77
[TextServer] Add extra fallback step, to lookup for individual characters.
2024-02-09 23:47:48 +02:00
bruvzg
19f1d5afa9
[TextServer / Font] Do not duplicate images to prevent unnecessary embedding.
2024-02-05 10:38:32 +02:00
bruvzg
85df221610
[TextServer / Font] Add support for customizable baseline offset.
2024-01-28 13:26:49 +02:00
Aaron Franke
91b24b2780
Use GODOT_MODULE define in TextServer modules
2024-01-06 01:19:29 -06:00
bruvzg
56579f397d
[Text Overrun] Add option to set custom ellipsis character, add support for system font fallback.
2023-12-04 08:21:42 +02:00
bruvzg
f52559bf98
[TextServer] Fix glyph comparator ambiguous output, causing "bad comparison function" error spam when processing text with excessive use of combining diacritics.
2023-10-31 08:41:35 +02:00
bruvzg
0fb5d53feb
[TextServerAdvanced] Keep dynamically loaded ICU data in memory.
2023-10-23 11:21:13 +03:00
bruvzg
9a1e0e4aef
[Bitmap fonts] Add support for scaling.
2023-10-13 12:57:45 +03:00