bruvzg
efb1c03243
[TextServer] Add texture index, offsets array size and Unicode char validation.
2021-10-15 18:36:00 +03:00
bruvzg
8e98e71997
Move static feature set and number system `StringName`s 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
bruvzg
0c0b5c84b0
Implement TextServer GDExtension interface, remove TextServer GDNative interface.
2021-10-01 15:13:29 +03:00
Lightning_A
c63b18507d
Use range iterators for `Map`
2021-09-30 15:09:12 -06:00
Hugo Locurcio
ba65730cbf
Rename RID's `getornull()` to `get_or_null()`
2021-09-29 23:58:02 +02:00
bruvzg
11a49c2f29
Fix trim overrun width not being reset.
2021-09-27 21:51:18 +03:00
bruvzg
1fd3d6c15f
Bitmap Font: Remove deprecated vertical kerning callback.
2021-09-22 18:09:50 +03:00
bruvzg
a58a7cdc9f
Improve invalid non-graphic glyph detection.
2021-09-22 14:37:16 +03:00
bruvzg
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
Rémi Verschelde
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
Rémi Verschelde
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
bruvzg
0089adbd30
[TextServer] Fix HarfBuzz handle init order. Fix MinGW build.
2021-09-01 23:18:03 +03:00
Paulb23
eac8b91c25
Optimise TextServerAdvanced static string comparisions
2021-08-28 11:27:23 +01:00
bruvzg
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
Rémi Verschelde
2c88e1c15d
Merge pull request #51178 from Geometror/layout-options-textline-textparagraph
...
Various text layout improvements (TextLine, TextParagraph, Label, TextServer)
2021-08-11 07:51:57 +02:00
Hendrik Brucker
403f4902d0
Various text layout improvements (TextLine, TextParagraph, Label, TextServer)
2021-08-11 00:09:48 +02:00
bruvzg
7c3c5603d0
[Text Server] Improve object (image/table) inline alignment.
2021-08-08 22:35:47 +03:00
Rémi Verschelde
ac3322b0af
Use const references where possible for List range iterators
2021-07-25 12:22:25 +02:00
Aaron Franke
4e6efd1b07
Use C++ iterators for Lists in many situations
2021-07-23 17:38:28 -04:00
Leonardo Christino
8b91828e4f
Separate underscore from grapheme punctuation to enable doubleclick and caret jump over snakecase variables in editor
2021-07-13 10:03:26 -03:00
Hendrik Brucker
56a8d3f30c
Improvements to Label's layout options
...
- Added options to trim the text in case it overruns
- Added more autowrap modes
- Improved line breaking, which ignores trailing spaces
2021-07-04 16:43:55 +02:00
bruvzg
e624e570bc
[CTL] Improve font fallback order selection.
2021-06-10 22:25:32 +03:00
Marcel Admiraal
da5d7db610
Rename File::get_len() get_length()
2021-05-25 11:54:28 +01:00
Pedro J. Estébanez
469fa47e06
Make all file access 64-bit (uint64_t)
...
This changes the types of a big number of variables.
General rules:
- Using `uint64_t` in general. We also considered `int64_t` but eventually
settled on keeping it unsigned, which is also closer to what one would expect
with `size_t`/`off_t`.
- We only keep `int64_t` for `seek_end` (takes a negative offset from the end)
and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means
we only need to guard against passing negative values in `core_bind.cpp`.
- Using `uint32_t` integers for concepts not needing such a huge range, like
pages, blocks, etc.
In addition:
- Improve usage of integer types in some related places; namely, `DirAccess`,
core binds.
Note:
- On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with
version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for
big files on 32-bit Windows builds made with that toolchain. We might add a
workaround.
Fixes #44363 .
Fixes godotengine/godot-proposals#400 .
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-17 15:06:19 +02:00
Rémi Verschelde
d83761ba80
Style: Apply clang-tidy's `readability-braces-around-statements`
2021-04-05 14:09:59 +02:00
bruvzg
0d3fa2a125
[Complex Text Layouts] Provide access to glyph contour points.
2021-03-31 09:32:14 +03:00
Anshul7sp1
91181c2086
Fixes small typos and grammar correction
2021-03-12 19:05:16 +05:30
Rémi Verschelde
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
bruvzg
2d66f364d9
Make FreeType optional for export templates.
2021-02-19 15:01:46 +02:00
bruvzg
bee718f1af
[Text Server] Restores bitmap font dynamic construction functions.
2021-02-15 10:46:49 +02:00
bruvzg
f4d095cdd3
[TextServer] Restore character and space extra spacing support.
2021-02-15 10:46:23 +02:00
bruvzg
eeced6d6f2
[CTL] Do not break line on the span (e.g. RTL BBCode tag) edges.
2021-01-25 09:45:29 +02:00
Rémi Verschelde
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
Marcel Admiraal
5b937d493f
Rename empty() to is_empty()
2020-12-28 10:39:56 +00:00
bruvzg
06ae77a320
Add word breaks on punctuation characters.
2020-12-14 11:36:13 +02:00
bruvzg
c1d261fdb0
[Complex Text Layouts] Add variable fonts support.
2020-12-13 18:43:39 +02:00
bruvzg
644f739660
Static analyzer fixes:
...
Removes unused code in OS.
Fixes return types.
Fixes few typos.
2020-12-09 10:17:53 +02:00
bruvzg
0ef483e9a9
[Complex Text Layouts] Performance optimizations.
2020-12-07 08:53:02 +02:00
bruvzg
384211af4b
[Complex Text Layouts] Fix bitmap font memory leak.
2020-12-06 20:31:00 +02:00
bruvzg
c3cc9d82b4
[Complex Text Layouts] Align glyph offsets and advances to the pixel grid.
2020-12-06 20:31:00 +02:00
bruvzg
a458e90179
[Complex Text Layouts] Adds missing Font::SPACING_* to the Label, LineEdit, TextEdit, TextLine and TextParagraph.
...
Fixes oversized editor control height (default editor spacing is negative) and control size changing when text is set.
2020-12-06 20:30:59 +02:00
bruvzg
200828276e
[Complex Text Layouts] Implement ICU / HarfBuzz based TextServer module.
2020-11-26 13:55:28 +02:00