Commit Graph

128 Commits

Author SHA1 Message Date
332c566a6c Let the cached TextLine reset the width in get_string_size
Previously, the cached `TextLine` would set the width in `draw_string`, but not in `get_string_size`,
which resulted in unexpected results returned by `get_string_size` in some cases.
2022-09-21 19:47:36 +08:00
2ece5b4a6b [Font] Remove unnecessary cleanup and changed signal emission from the destructor. 2022-09-13 10:28:12 +03:00
10a56981dc Rename String plus_file to path_join 2022-08-29 19:38:13 -05:00
6320a0fc18 Add ThemeDB, expose previously static Theme methods 2022-08-26 19:23:05 +03:00
7013c68619 Merge pull request #64422 from bruvzg/make_fonts_unbearably_ugly_2.0 2022-08-26 11:59:07 +02:00
d6267c2d2c Merge pull request #64305 from bruvzg/ts_reset_data 2022-08-26 11:44:24 +02:00
bcc3643989 Add font LCD sub-pixel anti-aliasing support. 2022-08-23 08:47:21 +03:00
8be27dc59e Replace Array return types with TypedArray 2022-08-22 22:42:36 +02:00
17ca5b913c Merge pull request #64156 from bruvzg/sys_msdf
Allow MSDF rendering for system fonts, fix crash on loading damaged / unsupported font files.
2022-08-18 14:58:57 -06:00
14ddeb8e44 break out of font search loop after first match
The documentation for the font_names property indicates:

   Array of font family names to search, first matching font found is used.
2022-08-15 20:58:48 -08:00
c6e1432cc0 [Font] Set TextServer font data pointer when it's null, to prevent TS from reading old, non-existing data. 2022-08-12 11:35:13 +03:00
bf1cc6326a Allow MSDF rendering for system fonts, fix crash on loading damaged / unsupported font files. 2022-08-09 14:21:09 +03:00
d4433ae6d3 Remove Signal connect binds
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
cc5135959b Merge pull request #62973 from bruvzg/sysfont_support 2022-07-27 13:38:30 +02:00
7b834c8bfd Fix unnamed arguments in XML docs 2022-07-26 20:42:38 +02:00
36ef8f29dc Implement support for loading system fonts on Linux, macOS / iOS and Windows. 2022-07-26 08:38:05 +03:00
cbe3a2dcb7 Use BitField hint for the TextServer enums. Add missing parts for BitField support to the GDextension API. 2022-07-15 08:49:50 +03:00
344ba0ffaf Refactor Font configuration and import UI, and Font resources. 2022-07-06 14:12:36 +03:00
141c375581 Clean up Hash Functions
Clean up and do fixes to hash functions and newly introduced murmur3 hashes in #61934
* Clean up usage of murmur3
* Fixed usages of binary murmur3 on floats (this is invalid)
* Changed DJB2 to use xor (which seems to be better)
2022-06-20 12:54:19 +02:00
136f84fc35 Merge pull request #61772 from bruvzg/ft_ot_collect 2022-06-13 11:13:05 +02:00
4678736a39 Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
6e4cdad3ac [TextServer] Adds support for TrueType / OpenType collection files (*.TTC, *.OTC). 2022-06-07 11:35:59 +03:00
6783d55ce4 Use new HashMap implementation in the TextServer, and Font. 2022-05-12 13:42:25 +03:00
be611c1c05 Implement Label3D node.
Add "generate_mipmap" font import option.
Add some missing features to the Sprite3D.
Move BiDi override code from Control to TextServer.
Add functions to access TextServer font cache textures.
Add MSDF related flags and shader to the standard material.
Change standard material cache to use HashMap instead of Vector.
2022-04-22 12:08:46 +03:00
9381acb6a4 Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
7119d355eb String: Remove TTR and DTR defines in non-tools build
This ensures we don't use TTR in runtime code, as it's specifically meant
to source translations for the editor.
2022-03-28 20:26:35 +02:00
f19cd44346 Unify TextServer built-in module and GDExtension code. 2022-03-17 08:15:29 +02:00
b32e8d63d8 Add options to embolden and transform font outlines to simulate bold and italic typefaces. 2022-03-11 14:02:30 +02:00
29199579f7 Add sub-pixel glyph positioning support. 2022-02-12 19:55:52 +02:00
8a0a3accee simplify formatting scripts, add a clang-tidy script, and run clang-tidy 2022-01-29 04:41:03 -06:00
a2d323c67e Merge pull request #54794 from bruvzg/runtime_bmfont_parser 2022-01-17 13:25:08 +01:00
c89c515ccf [TextServer] Improve ligature cursor handling.
Fix mid-grapheme hit test.
Fix OpenType features property handling, add default features override option.
Enable mid-grapheme cursor by default.
2022-01-09 19:03:48 +02:00
fe52458154 Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
e9808e3d9a Add a double-precision editor build to CI 2021-12-09 09:52:48 -06:00
41a20171eb align to horizontal_alignment, valign to vertical_alignment, related 2021-12-09 01:38:46 -06:00
e078f970db Rename remove() to remove_at() when removing by index 2021-11-23 18:58:57 -07:00
753d677343 Expose FontData::{set,get}_fixed_size methods 2021-11-20 20:47:01 +03:00
294e48ae58 Move BMFont parser code from importer to the FontData to allow loading bitmap fonts in the runtime (without importing). 2021-11-09 10:41:45 +02:00
3f33e1d7d6 Add functions for getting name and font style from dynamic and bitmap fonts.
Add font selection toolbar editor plugin.
2021-10-31 12:40:58 +02:00
ebbc25e89c Ignore empty Font resources as theme override.
Add range hint to font_size properties.
Remove excessive `base_size` Font property.
2021-10-25 14:05:37 +03:00
5ae569560d Fix missing argument names in bindings
While at it, tweak some boolean setters to use `p_enabled` for the bool.

Also renames `draw_minimap()` to `set_draw_minimap()`.
2021-10-09 00:20:10 +02:00
0c0b5c84b0 Implement TextServer GDExtension interface, remove TextServer GDNative interface. 2021-10-01 15:13:29 +03:00
2e035272a8 [FontData] Fixes saving copy of the font source data, if it was created from built-in font. 2021-10-01 09:25:26 +03:00
9a36d8f26f Fill variation coordinates dictionary with default values when FontData is set/added. 2021-09-22 11:10:40 +03:00
1383b37f1a Add FontData cache index check, remove excessive loop. 2021-09-20 11:03:59 +03:00
4c3f7d1290 Makes FontData importable resource.
Adds multi-channel SDF font texture generation and rendering support.
Adds per-font oversampling support.
Adds FontData import plugins (for dynamic fonts, BMFonts and monospaced image fonts), font texture cache pre-generation and loading.
Adds BMFont binary format and outline support.
2021-08-27 15:43:18 +03:00
e28fd07b2b Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
a527c6856b Merge pull request #46045 from bruvzg/text_server_bmp_create
[TextServer] Restores bitmap font dynamic construction functions.
2021-02-24 12:55:36 +01:00
0fcbc1c6e3 Fix font draw_*string crash with empty data. 2021-02-15 22:41:16 +02:00
bee718f1af [Text Server] Restores bitmap font dynamic construction functions. 2021-02-15 10:46:49 +02:00