1
0
Fork 0
Commit Graph

121 Commits

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