Commit Graph

164 Commits

Author SHA1 Message Date
rune-scape
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
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
Haoyu Qiu
7343dc3a5d Split TranslationServer into its own file 2024-08-15 15:00:47 +08: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
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
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
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
0478998148
Merge pull request #89414 from bruvzg/update_icu_msdfgen
Update ICU and msdfgen.
2024-03-13 18:41:35 +01:00
bruvzg
3bb5047db3
[TextServer] Use GDVIRTUAL_REQUIRED_CALL for required extensions methods, update extension docs. 2024-03-13 12:57:39 +02:00
bruvzg
0d02568ff8
Update ICU and msdfgen. 2024-03-13 09:12:50 +02: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
bruvzg
b58e45ed43
[TextServer] Fix fallback line breaking code adding two breaks for CR-LF. 2024-03-05 09:15:11 +02:00
Rémi Verschelde
3a08c646ee
Pre-commit: Update to clang-format 17.0.6 and black 24.2.0 2024-02-28 14:25:35 +01:00
bruvzg
ad017a20ea
[TextServer] Implement soft hyphen handling. 2024-02-23 12:40:13 +02:00
Rémi Verschelde
a00d810c83
Merge pull request #88344 from bruvzg/fb_ts_nbsp
[Fallback TextServer] Add support for non breaking spaces.
2024-02-15 17:35:51 +01:00
bruvzg
12883925c2
[Fallback TextServer] Add support for non breaking spaces. 2024-02-14 22:55:50 +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
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
Rémi Verschelde
61b62fc047
Merge pull request #81438 from 0xafbf/patch-2
Fix subpixel layouts in text rendering
2023-11-10 21:52:48 +01:00
bruvzg
9a1e0e4aef
[Bitmap fonts] Add support for scaling. 2023-10-13 12:57:45 +03:00
A Thousand Ships
f18aa00e85 Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-10-08 17:23:33 +02:00
bruvzg
4a167fc740
[TextServer] Store font extra spacing variations without making a full copy of font. 2023-09-28 10:45:09 +03:00
A Thousand Ships
517e9f8aef [Modules] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-26 16:44:52 +02:00
Andrés Botero
ab52f70a03 Fix subpixel layouts in text rendering 2023-09-07 20:36:00 -05:00
bruvzg
1ced1f9c99
[TextServer] Pass Dictionary properties by value and check property values instead of references.. 2023-09-07 11:59:51 +03:00
bruvzg
31a8a9b2e1
[TextServer] Remove excessive Dictionary checks. 2023-09-04 09:47:55 +03:00
bruvzg
5453503697
[Text Server] Store extra spacing of individual font variations. 2023-08-24 11:58:12 +03:00
bruvzg
07d859de25
[TextServer] Fix issues with character breaks, add more tests. 2023-08-19 11:49:34 +03:00
bruvzg
5d3fcc5766
[TextServer] Fix system font fallback and caret/selection behavior for composite characters. 2023-08-15 11:42:40 +03:00
Rémi Verschelde
faaf27f284
Fix various typos with codespell
Also includes typo fixes from #79993, #80068, #80276, and #80303.

Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +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
RedworkDE
8e7afec479 Fix various errors when running the unit tests
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-05-09 18:40:56 +02:00
bruvzg
d904516e55
[TextServer] Use dedicated flag for object replacement characters. 2023-04-12 10:08:51 +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
Yuri Sizov
b5845f87fc
Merge pull request #74556 from AThousandShips/text_adv_svg_freetype
[TextServer] Make sure Freetype is enabled for ot-svg
2023-03-15 15:04:01 +01:00
bruvzg
8d501a2dc3
[TextServer] Add invalid font scaling check, restrict Linux/BSD system fonts lookup to TrueType/CFF only. 2023-03-10 09:36:17 +02:00
Ninni Pipping
3a5d7a4b54 [TextServer] Make sure Freetype is enabled for ot-svg 2023-03-07 16:27:24 +01:00
bruvzg
016b2f3555
[TextServer] Fix justification on punctuation characters. 2023-03-06 12:39:08 +02:00
Rémi Verschelde
a8d2e7f342
Merge pull request #73987 from bruvzg/ft_lock
[TextServer] Add mutex for FreeType face creation/deletion operations.
2023-03-03 11:04:07 +01:00
bruvzg
8459aeaab0
[Font] Implement get_char_from_glyph_index function. 2023-03-01 09:29:11 +02:00
bruvzg
bbc77b6d29
Fix text server GDExtension build. 2023-02-26 18:38:22 +02:00