1
0
Fork 0
Commit Graph

427 Commits

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