21fc5cce5c
Use LocalVector<Glyph> to reduce reallocation.
2025-05-12 18:11:18 +08:00
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
4afeca3bcf
Replace global oversampling with overrideable per-viewport oversampling.
2025-04-14 13:43:09 +03:00
b106dfd4f9
Base accessibility API.
2025-04-08 20:14:28 +03:00
f25fc34439
SCons: Add CPPEXTPATH for external includes
2025-04-02 07:29:08 -05:00
19f360d65a
Add font import flag to toggle modulation of colored glyphs.
2025-04-01 13:36:10 +03:00
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
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
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
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
331a43a9d8
Add String::remove_char(s) methods for performance and convenience
2025-03-10 13:19:28 +01:00
324512e11c
Style: Replace header guards with #pragma once
2025-03-07 17:33:47 -06:00
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
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
6c82cf0737
Optimize text rendering by caching UBreakIterator instances.
2025-01-29 14:03:03 +01:00
cc1db569e1
[TextServer] Improve embedded objects handling performance.
2025-01-07 08:01:29 +02:00
33817b186f
Remove unused header in drivers and modules.
...
Co-authored-by: Thaddeus Crews <repiteo@outlook.com >
2024-12-24 00:40:47 +08:00
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
c5ca56f40b
[Export] Write text server data from memory, instead of using temporary file.
2024-12-02 18:22:55 +02:00
e81a2afbc4
[TextServer] Reset subpixel shift on blank glyphs and import option to enable/disable it.
2024-11-01 10:18:57 +02:00
e698870caa
Update ICU to 76.1
2024-10-24 22:47:59 +03:00
d222daa9c8
[TextServer] Silently skip invalid system fallback fonts.
2024-10-01 17:22:16 +03:00
b37fc1014a
Style: Apply new clang-format changes
2024-09-20 08:09:48 -05:00
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
32bc1c2f33
[Font Import] Detect pixel fonts and disable subpixel positioning.
2024-07-23 20:34:39 +03:00
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
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
25fe3d4b46
Merge pull request #81639 from MJacred/is_letter
...
Add `is_valid_letter()` to `TextServer`
2024-05-03 01:21:34 +02:00
717513a62d
Add is_valid_letter() to TextServer
2024-05-02 21:32:20 +02:00
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
27f6f4147b
[TextServer] Expose ICU title case string conversion to scripting.
2024-04-04 10:56:49 +03:00
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
433de7f1a8
[RTL] Use "visible characters" property for inline object visibility
2024-03-12 11:28:45 +02:00
911fa38d3a
[Font] Add option to disable embedded bitmaps loading.
2024-03-11 16:31:10 +02:00
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
062a93fb77
[TextServer] Add extra fallback step, to lookup for individual characters.
2024-02-09 23:47:48 +02:00
19f1d5afa9
[TextServer / Font] Do not duplicate images to prevent unnecessary embedding.
2024-02-05 10:38:32 +02:00
85df221610
[TextServer / Font] Add support for customizable baseline offset.
2024-01-28 13:26:49 +02:00
91b24b2780
Use GODOT_MODULE define in TextServer modules
2024-01-06 01:19:29 -06:00
56579f397d
[Text Overrun] Add option to set custom ellipsis character, add support for system font fallback.
2023-12-04 08:21:42 +02:00
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
0fb5d53feb
[TextServerAdvanced] Keep dynamically loaded ICU data in memory.
2023-10-23 11:21:13 +03:00
9a1e0e4aef
[Bitmap fonts] Add support for scaling.
2023-10-13 12:57:45 +03:00
4a167fc740
[TextServer] Store font extra spacing variations without making a full copy of font.
2023-09-28 10:45:09 +03:00
5453503697
[Text Server] Store extra spacing of individual font variations.
2023-08-24 11:58:12 +03:00
5d3fcc5766
[TextServer] Fix system font fallback and caret/selection behavior for composite characters.
2023-08-15 11:42:40 +03:00
7e21eb7e00
Extract and reorganize texture resource classes
2023-07-14 20:04:21 +02:00
25b2f1780a
Style: Harmonize header includes in modules
...
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:
Includes from the platform port or module ("local" includes) should be listed
first in their own block using relative paths, before Godot's "core" includes
which use "absolute" (project folder relative) paths, and finally thirdparty
includes.
Includes in `#ifdef`s come after their relevant section, i.e. the overall
structure is:
- Local includes
* Conditional local includes
- Core includes
* Conditional core includes
- Thirdparty includes
* Conditional thirdparty includes
2023-06-15 14:35:45 +02:00
aaddec7cb8
[TextServer] Add support for retrieving OpenType name strings.
2023-05-22 18:08:34 +03:00
282e4231c2
Improve line BiDi handling, prevent crash on recursive log updates.
2023-04-12 11:39:05 +03:00