bruvzg
8face42022
[SystemFont] Check name when selecting the best matching face from a collection.
...
(cherry picked from commit a5a0e48dbc
)
2024-01-23 16:03:15 +01:00
Ben Rog-Wilhelm
371b31c85f
Fix: Incorrect property names in FontFile::_get_property_list().
...
(cherry picked from commit 7ee916a259
)
2023-07-10 17:11:22 +02:00
bruvzg
aaddec7cb8
[TextServer] Add support for retrieving OpenType name strings.
2023-05-22 18:08:34 +03:00
bruvzg
9163d8c336
Expose TextServer justification flags to Label, Label3D, TextMesh and RTL. Add flags to control last/single line justification.
2023-05-15 19:23:54 +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
bruvzg
67762ec4a6
[Bitmap font] Assume outline size is `1` if it's not set, but channel for outline is defined.
2023-03-02 08:36:17 +02:00
bruvzg
8459aeaab0
[Font] Implement `get_char_from_glyph_index` function.
2023-03-01 09:29:11 +02:00
Patrick Dawson
80ae3feca7
Avoid returning self from `_get_base_font_or_default()`
2023-02-05 04:37:59 +01:00
bruvzg
2442f6c937
[SystemFont] Add missing MSDF properties.
2023-01-26 09:47:42 +02:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
...
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.
It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).
We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).
Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
bruvzg
9b53bd90bb
[Font] Use key structure instead of raw hash for LRU cache to avoid collisions.
2022-12-24 11:46:40 +02:00
bruvzg
ecec415988
Use system fonts as fallback and improve system font handling.
...
Add support for font weight and stretch selection when using system fonts.
Add function to get system fallback font from a font name, style, text, and language code.
Implement system font support for Android.
Use system fonts as a last resort fallback.
2022-12-04 18:44:20 +02:00
Rémi Verschelde
ead82feb24
Merge pull request #69008 from akien-mga/property-hint-array-type-resource-simplify
...
Add MAKE_RESOURCE_TYPE_HINT macro to simplify binding arrays of resources
2022-11-25 19:29:05 +01:00
Haoyu Qiu
06a0b26c9e
Fix inspector not showing name for LabelSettings.font
2022-11-25 12:48:37 +08:00
Rémi Verschelde
5d20dccade
Add MAKE_RESOURCE_TYPE_HINT macro to simplify binding arrays of resources
2022-11-24 14:06:00 +01:00
bruvzg
e77b6427cb
[Bitmap font] Always set valid fixed size, even if it's not set in the `fnt` file.
2022-11-14 22:33:59 +02:00
bruvzg
01b4e53e80
Add a special case for importing bitmap fonts designed for Godot 3.
2022-11-13 00:32:30 +02:00
Hugo Locurcio
a19e389f4f
Hide Antialiasing import option on DynamicFonts with MSDF enabled
...
Antialiasing cannot be adjusted on fonts rendered with MSDF.
Internally, Godot always uses grayscale antialiasing for those fonts.
This also tweaks property hints for consistency, and renames
uses of "sub-pixel" to the more commonly used "subpixel".
2022-11-03 18:40:44 +01:00
bruvzg
2aa350f701
[Font] Add support for OEM encoded bitmap fonts.
2022-10-16 18:22:21 +03:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4.
2022-10-07 11:32:33 +03:00
Rémi Verschelde
5bcd019ee9
Merge pull request #66552 from bruvzg/64_bitfields
...
Change BitField to use 64-bit int.
2022-09-29 10:44:08 +02:00
bruvzg
155694c7c6
Fix Font::_is_cyclic.
2022-09-28 18:11:17 +03:00
bruvzg
8a9659b152
Change BitField to use 64-bit int.
2022-09-28 17:36:59 +03:00
Rindbee
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
bruvzg
2ece5b4a6b
[Font] Remove unnecessary cleanup and `changed` signal emission from the destructor.
2022-09-13 10:28:12 +03:00
Aaron Franke
10a56981dc
Rename String `plus_file` to `path_join`
2022-08-29 19:38:13 -05:00
Yuri Sizov
6320a0fc18
Add ThemeDB, expose previously static Theme methods
2022-08-26 19:23:05 +03:00
Rémi Verschelde
7013c68619
Merge pull request #64422 from bruvzg/make_fonts_unbearably_ugly_2.0
2022-08-26 11:59:07 +02:00
Rémi Verschelde
d6267c2d2c
Merge pull request #64305 from bruvzg/ts_reset_data
2022-08-26 11:44:24 +02:00
bruvzg
bcc3643989
Add font LCD sub-pixel anti-aliasing support.
2022-08-23 08:47:21 +03:00
kobewi
8be27dc59e
Replace Array return types with TypedArray
2022-08-22 22:42:36 +02:00
Clay John
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
danboo
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
bruvzg
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
bruvzg
bf1cc6326a
Allow MSDF rendering for system fonts, fix crash on loading damaged / unsupported font files.
2022-08-09 14:21:09 +03:00
Juan Linietsky
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
Rémi Verschelde
cc5135959b
Merge pull request #62973 from bruvzg/sysfont_support
2022-07-27 13:38:30 +02:00
RedMser
7b834c8bfd
Fix unnamed arguments in XML docs
2022-07-26 20:42:38 +02:00
bruvzg
36ef8f29dc
Implement support for loading system fonts on Linux, macOS / iOS and Windows.
2022-07-26 08:38:05 +03:00
bruvzg
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
bruvzg
344ba0ffaf
Refactor Font configuration and import UI, and Font resources.
2022-07-06 14:12:36 +03:00
reduz
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
Rémi Verschelde
136f84fc35
Merge pull request #61772 from bruvzg/ft_ot_collect
2022-06-13 11:13:05 +02:00
FireForge
4678736a39
Add suffixes to all nodes and resources
2022-06-11 09:41:05 -05:00
bruvzg
6e4cdad3ac
[TextServer] Adds support for TrueType / OpenType collection files (*.TTC, *.OTC).
2022-06-07 11:35:59 +03:00
bruvzg
6783d55ce4
Use new HashMap implementation in the TextServer, and Font.
2022-05-12 13:42:25 +03:00
bruvzg
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
bruvzg
9381acb6a4
Make FileAccess and DirAccess classes reference counted.
2022-04-11 13:28:51 +03:00
Rémi Verschelde
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
bruvzg
f19cd44346
Unify TextServer built-in module and GDExtension code.
2022-03-17 08:15:29 +02:00