Thaddeus Crews
3f759f488d
Merge pull request #103491 from bruvzg/hb1040
...
Update HarfBuzz to 10.4.0
2025-03-10 21:05:48 -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
Pāvels Nadtočajevs
ec10d38d2f
Update HarfBuzz to 10.4.0
2025-03-03 07:55:00 +02: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
Thaddeus Crews
382c760ea6
SCons: Apply new ruff/mypy fixes
2025-02-03 09:55:09 -06: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
Thaddeus Crews
fd88acc671
Merge pull request #101008 from Repiteo/scons/nocache-all-text
...
SCons: Properly `NoCache` all text files
2025-01-16 17:17:59 -06:00
Thaddeus Crews
73278bf35d
SCons: Properly `NoCache` all text files
2025-01-16 16:59:12 -06: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
85fbf7ca84
Merge pull request #101367 from akien-mga/msdfgen-1.12
...
msdfgen: Update to 1.12
2025-01-10 23:06:25 +01:00
Rémi Verschelde
c97c7b73e6
msdfgen: Update to 1.12
2025-01-09 22:03:43 +01:00
Rémi Verschelde
269b1dfa03
harfbuzz: Update to 10.1.0
2025-01-09 21:04:11 +01:00
Thaddeus Crews
f1f33169d9
SCons: Specify optional dependencies for modules
2025-01-08 21:59:18 -06:00
Rémi Verschelde
76c8e76560
Merge pull request #101284 from akx/tyops
...
A handful of typo fixes
2025-01-08 15:53:33 +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
Thaddeus Crews
a29294fddc
SCons: Refactor color output implementation
2025-01-07 18:44:53 -06: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
Pāvels Nadtočajevs
3d60ce9389
[Export] Allow using ICU data from export templates instead of editor embedded data.
2025-01-07 08:15:09 +02: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
AThousandShips
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
Rémi Verschelde
d45825347d
Merge pull request #100300 from edwin0cheng/improve_emoji
...
Improve emoji SVG parsing by caching
2024-12-18 17:23:28 +01:00
Edwin Cheng
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
Rémi Verschelde
182b4741ea
Merge pull request #93479 from Repiteo/scons/better-colored-output
...
SCons: Improve colored output
2024-12-17 16:18:41 +01:00
Thaddeus Crews
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
Thaddeus Crews
d8761f2c79
SCons: Improve colored output
2024-12-10 11:44:48 -06:00
Thaddeus Crews
070aeb5688
SCons: Fix MSVC bypassing disabled warnings
2024-12-09 11:49:42 -06:00
Lukas Tenbrink
b5c31ebb41
Add contains_char() for single-character 'contains' calls.
2024-12-06 20:23:35 +01: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
Rémi Verschelde
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
rune-scape
d58b2e879f
Get rid of easily removable uses of const_cast
2024-12-01 17:50:13 -08:00
Pāvels Nadtočajevs
7f37e88658
Fix SVG font rendering.
2024-11-21 22:11:53 +02:00
bruvzg
4daa336d92
[TextServer] Only load ellipsis glyph when it's used.
2024-11-05 11:04:48 +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
Rémi Verschelde
991b741f6c
Merge pull request #97677 from bruvzg/hb1001
...
Update HarfBuzz to 10.0.1
2024-10-02 15:01:23 +02:00
Rémi Verschelde
24b4607309
Merge pull request #97693 from bruvzg/ts_fb_silent
...
[TextServer] Silently skip invalid system fallback fonts.
2024-10-01 17:33:38 +02:00
bruvzg
d222daa9c8
[TextServer] Silently skip invalid system fallback fonts.
2024-10-01 17:22:16 +03:00
bruvzg
b6a369de79
Update HarfBuzz to 10.0.1
2024-10-01 08:20:45 +03:00
Travis Wrightsman
c4b7d6f5c3
Fix ICU support data loading
...
This fixes an error in loading the ICU support data on platforms that
don't use either the builtin icu4c or the static ICU support data.
2024-09-30 09:03:15 -07:00
Thaddeus Crews
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files
2024-09-25 09:34:35 -05:00
Thaddeus Crews
b37fc1014a
Style: Apply new `clang-format` changes
2024-09-20 08:09:48 -05:00
Rémi Verschelde
13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
...
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
rune-scape
154049ce17
StringName Dictionary keys
...
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07: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
Rémi Verschelde
f01e052162
Merge pull request #95549 from timothyqiu/split-translation-server
...
Split `TranslationServer` into its own file
2024-08-16 14:36:16 +02:00
Rémi Verschelde
751d285f3f
Merge pull request #95417 from bruvzg/win_dll_exports
...
Remove unnecessary DLL export attributes.
2024-08-16 14:34:08 +02:00
Haoyu Qiu
7343dc3a5d
Split TranslationServer into its own file
2024-08-15 15:00:47 +08:00
bruvzg
3156856aa1
Remove unnecessary DLL export attributes.
2024-08-12 09:53:05 +03:00
bruvzg
32bc1c2f33
[Font Import] Detect pixel fonts and disable subpixel positioning.
2024-07-23 20:34:39 +03:00
Eric allen
e03fb3043f
fix: change esthetic -> aesthetic
2024-07-05 16:03:01 -04:00
bruvzg
b5e3238109
[TextServer] Fix get_word_breaks and it uses.
2024-06-21 14:56:57 +03:00
bruvzg
dc8d7ef43e
[TextServer] Save advances rounding remainders to prevent rounding error accumulation.
2024-06-18 09:04:51 +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
Jakub Marcowski
d9f8ef68df
Update pre-commit hooks configuration to use `ruff` instead of `black`
2024-05-21 18:02:29 -05:00
Thaddeus Crews
a9810cffb4
SCons: Fix potential Windows ANSI exception
2024-05-18 13:14:31 -05:00
bruvzg
e74fea2864
Update ICU to 75.1
2024-05-14 12:38:52 +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
Thaddeus Crews
dec2a121a9
SCons: Fixes for warn/error colorization
2024-04-29 11:56:21 -05:00
Thaddeus Crews
e0e8ce1fc0
SCons: Colorize warnings/errors during generation
2024-04-28 16:24:48 -05:00
Rémi Verschelde
980e4d7955
Merge pull request #90349 from bruvzg/empty_glyph_test
...
[TextServer] Improve empty glyph handling to allow glyphs smaller than 2px and avoid unnecessary texture updates.
2024-04-08 11:21:58 +02:00
Rémi Verschelde
6640e4179d
Merge pull request #90247 from akien-mga/harfbuzz-8.4.0
...
harfbuzz: Update to 8.4.0
2024-04-08 11:21:11 +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
Haoyu Qiu
9bcda8f94c
Prefer family name in fonts' names table
2024-04-06 16:08:59 +08:00
Rémi Verschelde
8fcc7a52dc
harfbuzz: Update to 8.4.0
2024-04-05 10:35:10 +02:00
bruvzg
27f6f4147b
[TextServer] Expose ICU title case string conversion to scripting.
2024-04-04 10:56:49 +03:00
bruvzg
f6a532d501
[Font] Apply oversampling to the "embolden" strength.
2024-03-19 08:50:01 +02:00
Rémi Verschelde
48b650c254
Merge pull request #89422 from Repiteo/clang-tidy-NULL
...
clang-tidy: Enforce `modernize-use-nullptr`
2024-03-13 18:41:39 +01:00
Rémi Verschelde
0478998148
Merge pull request #89414 from bruvzg/update_icu_msdfgen
...
Update ICU and msdfgen.
2024-03-13 18:41:35 +01:00
bruvzg
0d02568ff8
Update ICU and msdfgen.
2024-03-13 09:12:50 +02:00
Thaddeus Crews
3b3e2374c9
clang-tidy: Enforce `modernize-use-nullptr`
2024-03-12 10:59:53 -05: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
Thaddeus Crews
fb299d0fb1
SCons: Ensure `with` statement where applicable
2024-03-10 12:57:57 -05:00
Thaddeus Crews
d9fa40f2df
Enforce `\n` eol for Python writes
...
• Ensure utf-8 encoding if previously unspecified
2024-03-09 14:29:24 -06:00
bruvzg
b58e45ed43
[TextServer] Fix fallback line breaking code adding two breaks for CR-LF.
2024-03-05 09:15:11 +02:00
Thaddeus Crews
0ce9b6fd1d
Add two new COMSTR environment variables
2024-03-01 12:44:03 -06:00
bruvzg
ad017a20ea
[TextServer] Implement soft hyphen handling.
2024-02-23 12:40:13 +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
Rémi Verschelde
eac054f1cc
Merge pull request #87971 from bruvzg/font_no_image_dup
...
[TextServer / Font] Do not duplicate images to prevent unnecessary embedding.
2024-02-15 17:35:36 +01:00
bruvzg
062a93fb77
[TextServer] Add extra fallback step, to lookup for individual characters.
2024-02-09 23:47:48 +02:00
bruvzg
04c0e4446f
[TextServer] Fix bitmap font kerning override.
2024-02-08 08:32:45 +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
Rémi Verschelde
079f1c154d
Merge pull request #86269 from aaronfranke/detect-module
...
Allow detecting when building as an engine module
2024-01-09 11:27:24 +01:00
Martin Capitanio
e090b112ef
ThorVG: update from v0.11.6 to v0.12.0
...
https://github.com/thorvg/thorvg/releases/tag/v0.12.0
Godot-related SVG bug fixes:
+ [SwEngine] Fixed a linear filling scaling issue.
thorvg/thorvg#1834
+ [SwEngine] Path data not invalid even though
it doesn't start with MoveTo.
thorvg/thorvg#1848
Fixes #86128 Gradient issue.
2024-01-08 09:59:43 +01:00
Aaron Franke
91b24b2780
Use GODOT_MODULE define in TextServer modules
2024-01-06 01:19:29 -06:00
Rémi Verschelde
9b2686c333
Merge pull request #84289 from bruvzg/icu741
...
ICU4C: Update to version 74.1
2024-01-03 15:41:59 +01:00
bruvzg
575e1201cb
[TextServer] Do not draw non-visual characters.
2023-12-12 12:17:10 +02: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