Commit graph

289 commits

Author SHA1 Message Date
Pāvels Nadtočajevs
ddde1c07a6
[TextServer] Shape emojis as separate runs. 2025-09-02 13:03:50 +03:00
Thaddeus Crews
8e458d19cb
Merge pull request #109152 from bruvzg/font_fb_no_msdf
Use non-MSDF fallback for MSDF fonts if fallback is a color or non-scalable font.
2025-08-22 12:35:36 -05:00
Pāvels Nadtočajevs
86e61a311f
Use MSDF instead of MTSDF for font rendering.
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2025-08-09 10:41:16 +03:00
Pāvels Nadtočajevs
738dd2fd10
Use non-MSDF fallback for MSDF fonts if fallback is a color or non-scalable font. 2025-07-31 09:40:10 +03:00
Pāvels Nadtočajevs
6c34f48c90
Fix font fallback for lines with only non-visual/control characters. 2025-07-25 08:27:30 +03:00
Thaddeus Crews
adeb5635c0
Merge pull request #108769 from bruvzg/shy_fall
[TextServer] Fix soft hyphen font fallback.
2025-07-23 13:26:59 -05:00
Pāvels Nadtočajevs
ed0efc4791 Fix support data loading with system ICU 2025-07-20 22:33:45 +02:00
Pāvels Nadtočajevs
6d76439620
[TextServer] Fix soft hyphen font fallback. 2025-07-19 10:55:34 +03:00
Pāvels Nadtočajevs
22e99a4901
Restore per font oversampling override. 2025-06-19 18:10:54 +03:00
Rémi Verschelde
2ac31ece59
Merge pull request #107030 from bruvzg/font_validate_script
Check script sample characters to filter out incorrect script support information.
2025-06-13 01:30:37 +02:00
Rémi Verschelde
1a64b6b5b6
Merge pull request #106913 from Ivorforce/string-resize-uninitialized
Rename `String::resize` to `resize_uninitialized`
2025-06-12 22:48:45 +02:00
Pāvels Nadtočajevs
e87cccefca
Add line_breaking_strictness project setting. 2025-06-12 09:26:52 +03:00
Lukas Tenbrink
b13a0e1834 Rename String::resize to resize_uninitialized, to better communicate to callers that new characters must be initialized. 2025-06-11 18:13:02 +02:00
Aaron Franke
f6f1df7d73
Add 64-bit versions of core power of 2 functions 2025-06-01 23:11:12 -07:00
Pāvels Nadtočajevs
c464a3078a
Check script sample characters to filter out incorrect script support information. 2025-06-01 23:57:56 +03:00
avnotaklu
00beda9691 Fix: Removed freed up FontData's dangling data in Advanced and Fallback text server 2025-05-28 16:15:20 +05:30
Pāvels Nadtočajevs
0aae67b6bb
Add hardcoded baseline offset for Apple Color Emoji. 2025-05-23 22:00:39 +03:00
patwork
f9d28fc02f Fix for implicit conversion from char16_t to char32_t 2025-05-20 23:08:20 +02:00
Pāvels Nadtočajevs
7fc4521dd8
Adjust hex code box baseline calculation. 2025-05-20 08:53:40 +03:00
Thaddeus Crews
8b4dd7a34e
Merge pull request #105724 from dugramen/recovery/split-commit
Add inline color pickers to script editor
2025-05-14 09:44:16 -05:00
dugramen
b9f59ae6ca Add color pickers to script editor 2025-05-13 18:03:21 -04: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
6893b2b8e6
[TextServer] Fix outline size and image fonts with oversampling. 2025-04-28 19:10:56 +03:00
Thaddeus Crews
146e405c48
Merge pull request #105412 from bruvzg/fix_fixedsize_img_fonts
Fix fixed size image fonts incorrectly getting oversampling applied if set to native size.
2025-04-18 12:21:24 -05:00
Pāvels Nadtočajevs
a3943f8ad4
Fix fixed size image fonts incorrectly getting oversampling applied if set to native size. 2025-04-15 13:39:48 +03:00
Pāvels Nadtočajevs
b55d3a2516
Fix bitmap font scaling. 2025-04-15 12:14:37 +03: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
Thaddeus Crews
a8bab92fc0
Merge pull request #104450 from Ivorforce/font-load-once
Optimize startup times by avoiding loading fonts twice.
2025-03-23 19:03:57 -05: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
1a2cb12077 Generate an error when trying to load a font with an invalid face, instead of defaulting to the last valid font face.
This optimizes `TextServerAdvanced::_ensure_cache_for_size`, improving editor startup times.
2025-03-21 17:12:28 +01:00
Rémi Verschelde
21e1e43b79
Merge pull request #104430 from Ivorforce/add-features-iterate-fast
Optimize `TextServerAdvanced::_add_features` by using iteration instead of `.values()` and `.keys()`
2025-03-21 13:04:19 +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
kobewi
10f6c01b9c Remove ABS in favor of Math::abs 2025-03-19 13:52:40 +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
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
316b50ba8d [TextServer] Use all available space when string is too short for ellipsis. 2025-02-10 08:24:46 +02: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
bruvzg
f2709c7ded [TextServer] Fix line/word breaks not always updated when applying overrun. 2025-02-04 11:37:05 +02:00
Lukas Tenbrink
6c82cf0737 Optimize text rendering by caching UBreakIterator instances. 2025-01-29 14:03:03 +01:00
Pāvels Nadtočajevs
7f4481284e [TextServer] Fix embedded object keys in substrings. 2025-01-19 10:22:46 +02:00
Pāvels Nadtočajevs
14093fdacf [TextServer] Fix ICU data incorrectly marked as loaded even if file was not found. 2025-01-17 15:46:04 +02:00
Pāvels Nadtočajevs
43bc44e3b0 [TextServer] Fix text buffer not processing strings added after shape. 2025-01-16 08:57:27 +02:00
Rémi Verschelde
c97c7b73e6 msdfgen: Update to 1.12 2025-01-09 22:03:43 +01:00
Aarni Koskela
f134769506 Fix various typos
* Add TODO notes for typos that should be fixed for 5.0

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-08 14:47:42 +02:00
Rémi Verschelde
6e9be55ee2
Merge pull request #100104 from bruvzg/ts_data_in_template
[Export] Allow using ICU data from export templates instead of editor embedded data.
2025-01-07 10:14:34 +01:00