Commit Graph

94 Commits

Author SHA1 Message Date
3c63dce3cd Merge pull request #80573 from KoBeWi/2k_lines_of_changes_created_at_2AM
Add EditorStringNames singleton
2023-09-06 14:49:02 +02:00
ab33613a13 Update and properly list versions of the built-in fonts. 2023-09-05 08:17:24 +03:00
6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
fd2ec47ec9 Move default theme files to scene/theme
This also puts the default theme icons into their own folder.
2023-08-28 00:23:38 +02:00
831b4a5366 Improve startup benchmarking
Move the benchmarking measuring methods from `Engine` to `OS` to allow for platform specific overrides (e.g: can be used to hook into platform specific benchmarking and tracing capabilities).
2023-05-23 13:22:35 -07:00
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
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
11842eb738 Disable code font ligatures by default in the editor 2022-11-12 22:38:04 +01:00
060d62e0dc Load and use system emoji font in the editor. 2022-11-01 11:04:58 +02:00
e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
3a5eac7ca3 Merge pull request #62860 from Calinou/editor-log-bold-italic-mono-fonts
Define bold, italics and mono fonts in editor log for `print_rich()`
2022-10-04 10:30:22 +02:00
e94ac75d3d Do not use horizontal hinting for the editor monospace font. 2022-09-14 11:05:09 +03:00
bcc3643989 Add font LCD sub-pixel anti-aliasing support. 2022-08-23 08:47:21 +03:00
8823eae328 Rename OSX to macOS and iPhoneOS to iOS. 2022-07-21 09:37:52 +03:00
3e7bcc4755 Define bold, italics and mono fonts in editor log for print_rich()
This is also used by the number indicator for message grouping,
as it uses a bold font.

Mono font does not actually turn proportional fonts into monospace.
Instead, it's a more faint version of the regular font, intended
to emulate the look of the "faint" ANSI escape code (and make `[code]`
distinguishable from regular text).

The custom code font will be used to generate the bold/italic/mono
variants if specified in the Editor Settings.
2022-07-09 19:18:02 +02:00
a319e6e623 Fix regressions from Font refactor
Fixes `p_font.is_null()` errors due to incorrect resource type used.
Fixes code editor font not set correctly, and OpenType features applied to the wrong font.
2022-07-07 15:11:08 +03:00
344ba0ffaf Refactor Font configuration and import UI, and Font resources. 2022-07-06 14:12:36 +03:00
6d876baf60 Improve the VisualShader/VisualScript editor UI 2022-04-30 03:56:57 +02:00
9381acb6a4 Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
803e1ae920 [Help] Add simulated slanted font support to the editor help. 2022-03-22 16:16:04 +02:00
4f1660dad7 Generate simulated bold font from the custom font if no custom bold font set. 2022-03-14 08:03:25 +02:00
e3f7510978 Add simulated bold variant to the editor CJK fonts. 2022-03-13 17:42:20 +02:00
768f9422bc Convert uses of DirAccess * to DirAccessRef to prevent memleaks
`DirAccess *` needs to be deleted manually, and this is often forgotten
especially when doing early returns with `ERR_FAIL_COND`.
`DirAccessRef` is deleted automatically when it goes out of scope.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-03-11 09:13:11 +01:00
29199579f7 Add sub-pixel glyph positioning support. 2022-02-12 19:55:52 +02:00
b396fd4eef Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
fc076ece3d Revert "Add missing SNAME macro optimization to all theme methods call"
This reverts commit a988fad9a0.

As discussed in #57725 and clarified in #57788, `SNAME` is not meant to be used
everywhere but only in critical code paths. For theme methods specifically, it
was by design that only getters use `SNAME` and not setters.
2022-02-08 10:17:25 +01:00
a988fad9a0 Add missing SNAME macro optimization to all theme methods call 2022-02-06 23:06:11 +01:00
3940bf586b [Editor] Disable contextual alternates (coding ligatures) outside of code editor. 2022-01-23 11:09:10 +02:00
04d283dc23 Merge pull request #36198 from Calinou/code-font-jetbrains-mono 2022-01-20 21:43:17 +01:00
a2a4ec7cb5 Merge pull request #56376 from pycbouh/theme-tombe-les-theme-properties 2022-01-06 11:33:43 +01:00
b5f88b1efc Use JetBrains Mono as the editor's default code font
This recently released font has been gaining popularity thanks to
its readability and aesthetics. It also features font ligatures
(enabled by default, but can be disabled in the Editor Settings).

Its character set isn't as extensive as Hack's, but it should be
sufficient for most uses.

More information at <https://www.jetbrains.com/lp/mono/>.

This also reorders the third-party font notices to be in
alphabetical order.
2022-01-05 01:35:50 +01:00
fe52458154 Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
fe283fd07a Correctly use fallback Theme values as last resort 2021-12-31 18:53:43 +03:00
49403cbfa0 Replace String comparisons with "", String() to is_empty()
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06: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
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
e5b956dc2d [Editor Fonts] Add Noto Sans Bold font variant for supported languages. 2021-07-19 23:08:05 +03:00
f4b361dd15 Add header theme type variations to labels 2021-07-13 15:42:09 +02:00
e28fd07b2b Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
9e328bb5b7 Core: Move DirAccess and FileAccess to core/io
File handling APIs are typically considered part of I/O, and we did have most
`FileAccess` implementations in `core/io` already.
2021-06-11 14:52:39 +02:00
d95bc3fa67 Use bold fonts in editor
* Labels are now bold
* Categories in trees are bold
* Main editor buttons are bold
* Fixed section folding arrows in inspector
2021-06-02 12:47:57 -03:00
b5334d14f7 Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
c1d261fdb0 [Complex Text Layouts] Add variable fonts support. 2020-12-13 18:43:39 +02:00
99666de00f [Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
Implement interface mirroring.
Add TextLine and TextParagraph classes.
Handle UTF-16 input on macOS and Windows.
2020-11-26 14:25:48 +02:00
110e650dc8 Change how default fonts are created, fixes #39235
Also fixes file dialog icons.
2020-07-03 21:29:12 -03:00
1ea7295bd2 Improve shortcut formatting in docs 2020-04-10 18:42:11 +03:00
21c2116744 Fix default editor font.
Fix popup_centered_clamped definition typo.
2020-03-27 14:13:01 +02:00
7055a926ff Add rotation widget to 3D viewport 2020-03-08 23:38:29 +01:00
a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
aa5e34d018 Fix validating editor bold font 2019-10-21 22:44:03 +09:00