Commit Graph

260 Commits

Author SHA1 Message Date
19f360d65a Add font import flag to toggle modulation of colored glyphs. 2025-04-01 13:36:10 +03:00
ffa6ef220b Use append_ instead of parse_ for String methods. 2025-03-27 17:51:02 +01:00
10f6c01b9c Remove ABS in favor of Math::abs 2025-03-19 13:52:40 +01:00
6c4f17db1a Core: Avoid including modules_enabled in headers 2025-03-11 19:42:13 -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
65c795eb35 Clarify the behavior of Control.layout_direction in the documentation 2025-02-11 16:56:22 +01:00
316b50ba8d [TextServer] Use all available space when string is too short for ellipsis. 2025-02-10 08:24:46 +02:00
382c760ea6 SCons: Apply new ruff/mypy fixes 2025-02-03 09:55:09 -06:00
7f4481284e [TextServer] Fix embedded object keys in substrings. 2025-01-19 10:22:46 +02:00
c97c7b73e6 msdfgen: Update to 1.12 2025-01-09 22:03:43 +01:00
f1f33169d9 SCons: Specify optional dependencies for modules 2025-01-08 21:59:18 -06:00
a29294fddc SCons: Refactor color output implementation 2025-01-07 18:44:53 -06:00
cc1db569e1 [TextServer] Improve embedded objects handling performance. 2025-01-07 08:01:29 +02:00
15b4331fb1 [TextServer] Fix use of find_char in text servers
The `find_char` method is not (currently) available to extensions and
can't be used in the text servers which can be built as extensions, so
now controlled by compile option
2024-12-19 21:44:30 -05:00
d45825347d Merge pull request #100300 from edwin0cheng/improve_emoji
Improve emoji SVG parsing by caching
2024-12-18 17:23:28 +01:00
61d387135f Improve emoji SVG parsing by caching
Basically, when we first encounter the document, we parse it as before, but we also note the offsets of other glyphs and store the remaining XML. The next time we see another glyph, we can simply parse that glyph node and insert it back into the stored XML.
2024-12-18 19:02:03 +08:00
182b4741ea Merge pull request #93479 from Repiteo/scons/better-colored-output
SCons: Improve colored output
2024-12-17 16:18:41 +01:00
f962fdce0e Merge pull request #100185 from Repiteo/scons/fix-thirdparty-warnings
SCons: Fix MSVC bypassing disabled warnings
2024-12-10 14:16:02 -06:00
d8761f2c79 SCons: Improve colored output 2024-12-10 11:44:48 -06:00
070aeb5688 SCons: Fix MSVC bypassing disabled warnings 2024-12-09 11:49:42 -06:00
b5c31ebb41 Add contains_char() for single-character 'contains' calls. 2024-12-06 20:23:35 +01: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
fa264115ce Merge pull request #98664 from bruvzg/ts_reset_subpixel_shift
[TextServer] Reset subpixel shift on blank glyphs.
2024-12-02 17:20:07 +01:00
d58b2e879f Get rid of easily removable uses of const_cast 2024-12-01 17:50:13 -08:00
7f37e88658 Fix SVG font rendering. 2024-11-21 22:11:53 +02:00
4daa336d92 [TextServer] Only load ellipsis glyph when it's used. 2024-11-05 11:04:48 +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
0d350e7108 Set clang-format RemoveSemicolon rule to true
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
d222daa9c8 [TextServer] Silently skip invalid system fallback fonts. 2024-10-01 17:22:16 +03:00
9f9ee0c813 SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
b37fc1014a Style: Apply new clang-format changes 2024-09-20 08:09:48 -05:00
2fc5321d39 TextServerFallback: improve performance by removing redundant lookups
+ caching editor setting
+ using a faster hash method on the FontForSizeFallback cache
+ SafeFlag instead of mutex for ShapedTextDataFallback::valid bc its read Very often
2024-08-28 13:10:43 -07:00
f01e052162 Merge pull request #95549 from timothyqiu/split-translation-server
Split `TranslationServer` into its own file
2024-08-16 14:36:16 +02:00
7343dc3a5d Split TranslationServer into its own file 2024-08-15 15:00:47 +08:00
32bc1c2f33 [Font Import] Detect pixel fonts and disable subpixel positioning. 2024-07-23 20:34:39 +03:00
e03fb3043f fix: change esthetic -> aesthetic 2024-07-05 16:03:01 -04:00
b5e3238109 [TextServer] Fix get_word_breaks and it uses. 2024-06-21 14:56:57 +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
d9f8ef68df Update pre-commit hooks configuration to use ruff instead of black 2024-05-21 18:02:29 -05:00
a9810cffb4 SCons: Fix potential Windows ANSI exception 2024-05-18 13:14:31 -05: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
dec2a121a9 SCons: Fixes for warn/error colorization 2024-04-29 11:56:21 -05:00
e0e8ce1fc0 SCons: Colorize warnings/errors during generation 2024-04-28 16:24:48 -05: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
9bcda8f94c Prefer family name in fonts' names table 2024-04-06 16:08:59 +08:00
27f6f4147b [TextServer] Expose ICU title case string conversion to scripting. 2024-04-04 10:56:49 +03:00
f6a532d501 [Font] Apply oversampling to the "embolden" strength. 2024-03-19 08:50:01 +02:00