1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00
Commit Graph

125 Commits

Author SHA1 Message Date
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
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