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
bruvzg
4a167fc740
[TextServer] Store font extra spacing variations without making a full copy of font.
2023-09-28 10:45:09 +03:00
bruvzg
5453503697
[Text Server] Store extra spacing of individual font variations.
2023-08-24 11:58:12 +03:00
bruvzg
5d3fcc5766
[TextServer] Fix system font fallback and caret/selection behavior for composite characters.
2023-08-15 11:42:40 +03:00
Hendrik Brucker
7e21eb7e00
Extract and reorganize texture resource classes
2023-07-14 20:04:21 +02:00
Rémi Verschelde
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
bruvzg
aaddec7cb8
[TextServer] Add support for retrieving OpenType name strings.
2023-05-22 18:08:34 +03:00
bruvzg
282e4231c2
Improve line BiDi handling, prevent crash on recursive log updates.
2023-04-12 11:39:05 +03:00
bruvzg
d8d88e1530
[TextServer] Improve BiDi error handling.
2023-04-11 10:07:00 +03:00
Yuri Sizov
98d95f3a0e
Merge pull request #74149 from bruvzg/get_char
...
[Font] Implement `get_char_from_glyph_index` function.
2023-03-16 13:07:11 +01:00
Rémi Verschelde
a8d2e7f342
Merge pull request #73987 from bruvzg/ft_lock
...
[TextServer] Add mutex for FreeType face creation/deletion operations.
2023-03-03 11:04:07 +01:00
Rémi Verschelde
7e142e04f5
Merge pull request #73669 from bruvzg/icu_static_data
...
[TextServer] Ensure ICU data is initialised only one and cleaned only at exit.
2023-03-02 11:26:02 +01:00
bruvzg
8459aeaab0
[Font] Implement get_char_from_glyph_index function.
2023-03-01 09:29:11 +02:00
bruvzg
bbc77b6d29
Fix text server GDExtension build.
2023-02-26 18:38:22 +02:00
bruvzg
c950a1ab94
[TextServer] Add mutex for FreeType face creation/deletion operations.
2023-02-26 17:55:04 +02:00
bruvzg
7f24433e15
[TextServer] Ensure ICU data is initialised only one and cleaned only at exit.
2023-02-21 09:43:54 +02:00