Commit Graph

97 Commits

Author SHA1 Message Date
803e1ae920 [Help] Add simulated slanted font support to the editor help. 2022-03-22 16:16:04 +02:00
ca47f25eb1 Merge pull request #59277 from bruvzg/hb401 2022-03-18 14:43:06 +01:00
94a365e94b HarfBuzz: Update to version 4.0.1 2022-03-18 14:50:57 +02:00
f19cd44346 Unify TextServer built-in module and GDExtension code. 2022-03-17 08:15:29 +02:00
d9f8cadafb Improve simulated bold fonts advance. 2022-03-13 15:07:53 +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
9b0fbfa06d HarfBuzz: Update to version 4.0.0 2022-03-02 10:48:37 +02:00
760a95e86a Merge pull request #57877 from bruvzg/subpixel_gl_pos 2022-02-15 13:58:38 +01:00
b68dd2e189 Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-15 00:03:31 +01:00
29199579f7 Add sub-pixel glyph positioning support. 2022-02-12 19:55:52 +02:00
1bdb82c64e Fix typos with codespell
Using codespell 2.2-dev from current git.

Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.
2022-02-10 12:30:19 +01:00
244db37508 Cleanup and move char functions to the char_utils.h header. 2022-02-04 11:35:01 +02:00
5676b3c022 HarfBuzz: Update to version 3.3.1 2022-02-02 22:29:31 +02:00
215bede6ff [TextServer] Add function to change font, font size, and OpenType features without invalidating line break points, justification points, or recreating shaped text buffer. 2022-02-02 11:20:44 +02:00
e02a097280 [TextServer] Implement locale and context sensitive case conversion functions. 2022-01-17 14:23:36 +02:00
baec983d8a [TextServer] Improvements for line breaking, "Fill" alignment, overrun, and interaction between these modes.
Fix "Fill" alignment processing wrong side of the text if overrun trim was applied.
Improve "Fill" alignment to avoid adding excessive subsequent spaces or elongations.
Add font detection to the overrun, to correctly add ellipsis (was using last glyph font, which doesn't necessary have dot character).
Improve line breaking to avoid adding excessive subsequent soft break points for languages without word separator.
Port missing overrun/justification code to the Fallback text server.
Fix inferred text direction detection by controls.
Add tests for "Fill" alignment and line breaking glyph flags.
2022-01-13 08:53:28 +02:00
7faf02383c Merge pull request #55225 from bruvzg/fix_ligature_cursor_and_ot_features 2022-01-10 13:32:54 +01:00
af6758e008 Fix freezes when tab is zero or negative width. 2022-01-10 12:19:29 +02:00
8c973f21ee Fix glyph index for bitmap fonts.
Fix TextEdit glyph position rounding.
2022-01-10 08:00:27 +02: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
01bac2c469 [Text Server] Fix re-shaping of substrings, improve oversampling scale. 2021-12-15 11:57:22 +02: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
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
88c4380737 Modules: Make sure to include modules_enabled.gen.h where needed 2021-11-12 13:42:58 +01:00
5968653662 Merge pull request #46721 from bruvzg/custom_word_break_punct 2021-11-09 00:13:59 +01:00
d9a74fd07f Merge pull request #54372 from bruvzg/text_edit_ui 2021-11-09 00:13:25 +01:00
4052d85d05 Repaired mistyped of 'threshold' on several files. 2021-10-31 22:11:42 +07: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
63f3051154 Implement TextServer strip_diacritics function. 2021-10-28 10:12:57 +03:00
44a241b241 ICU: Update to version 70.1 2021-10-28 09:15:28 +03: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
a4b736658e Remove unused imports in .py, SCsub and SConstruct files 2021-10-18 01:50:34 +05:30
efb1c03243 [TextServer] Add texture index, offsets array size and Unicode char validation. 2021-10-15 18:36:00 +03:00
8e98e71997 Move static feature set and number system StringNames to the singleton.
Remove `hb_` prefix from the custom bitmap font functions to avoid potential conflicts with the HarfBuzz.
Cleanup commented debug code.
Update numbering system data to CLDR 39.
2021-10-12 12:47:18 +03:00
daa613333e [Text Server] Add support for user defined punctuation list, used for word breaking. 2021-10-01 16:45:16 +03:00
0c0b5c84b0 Implement TextServer GDExtension interface, remove TextServer GDNative interface. 2021-10-01 15:13:29 +03:00
c63b18507d Use range iterators for Map 2021-09-30 15:09:12 -06:00
ba65730cbf Rename RID's getornull() to get_or_null() 2021-09-29 23:58:02 +02:00
11a49c2f29 Fix trim overrun width not being reset. 2021-09-27 21:51:18 +03:00
1fd3d6c15f Bitmap Font: Remove deprecated vertical kerning callback. 2021-09-22 18:09:50 +03:00
a58a7cdc9f Improve invalid non-graphic glyph detection. 2021-09-22 14:37:16 +03:00
c931906af7 Add flag to connected grapheme. Apply RTL displacement FX only to the whole connected grapheme. Pass more glyph info to the custom RTL FX. 2021-09-21 13:51:38 +03:00
3061e3859d HarfBuzz: Update to version 3.0.0 2021-09-20 09:52:45 +03:00
77e8e2f9f5 Merge pull request #52370 from bruvzg/realloc_paren_stack 2021-09-15 18:11:16 +02:00
453aff4902 TextServer: Fix build with freetype disabled
Also remove RTR calls as we don't translate internal error messages.
2021-09-15 10:11:31 +02:00
60e0f8b626 Merge pull request #52292 from bruvzg/hb_init
[TextServer] Fix regression from #51908, HarfBuzz handle init and MinGW build.
2021-09-14 07:55:02 +02:00
49e316f41e Add TextServer parentheses stack dynamic reallocation support. 2021-09-04 17:48:20 +03:00
0089adbd30 [TextServer] Fix HarfBuzz handle init order. Fix MinGW build. 2021-09-01 23:18:03 +03:00