summaryrefslogtreecommitdiff
path: root/modules/text_server_fb
AgeCommit message (Collapse)Author
2022-10-17Merge pull request #67521 from nikitalita/speed_up_texture_posRémi Verschelde
Speed up `find_texture_pos_for_glyph()`
2022-10-16Speed up `find_texture_pos_for_glyph()`nikitalita
2022-10-17Fix memory leak when `_ensure_cache_for_size()` failsHaoyu Qiu
2022-10-14Make some Image methods statickobewi
2022-10-05[TextServer GDExtension] Update build scripts and `.gdextension` files to ↵bruvzg
use new target names and arch suffixes.
2022-09-30Merge pull request #66242 from akien-mga/scons-unify-tools-targetRémi Verschelde
2022-09-28Merge pull request #66532 from bruvzg/mipmap_changeRémi Verschelde
[Text Server] Clear textures after "generate mipmaps" property change.
2022-09-28[Text Server] Clear textures after "generate mipmaps" property change.bruvzg
2022-09-28[GDExtension] Use function names with underscore for TextServer extension, ↵bruvzg
add macros to generate wrappers for module functions.
2022-09-26SCons: Unify tools/target build type configurationRémi Verschelde
Implements https://github.com/godotengine/godot-proposals/issues/3371. New `target` presets ==================== The `tools` option is removed and `target` changes to use three new presets, which match the builds users are familiar with. These targets control the default optimization level and enable editor-specific and debugging code: - `editor`: Replaces `tools=yes target=release_debug`. * Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2` - `template_debug`: Replaces `tools=no target=release_debug`. * Defines: `DEBUG_ENABLED`, `-O2`/`/O2` - `template_release`: Replaces `tools=no target=release`. * Defines: `-O3`/`/O2` New `dev_build` option ====================== The previous `target=debug` is now replaced by a separate `dev_build=yes` option, which can be used in combination with either of the three targets, and changes the following: - `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`), enables generating debug symbols, does not define `NDEBUG` so `assert()` works in thirdparty libraries, adds a `.dev` suffix to the binary name. Note: Unlike previously, `dev_build` defaults to off so that users who compile Godot from source get an optimized and small build by default. Engine contributors should now set `dev_build=yes` in their build scripts or IDE configuration manually. Changed binary names ==================== The name of generated binaries and object files are changed too, to follow this format: `godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]` For example: - `godot.linuxbsd.editor.dev.arm64` - `godot.windows.template_release.double.x86_64.mono.exe` Be sure to update your links/scripts/IDE config accordingly. More flexible `optimize` and `debug_symbols` options ==================================================== The optimization level and whether to generate debug symbols can be further specified with the `optimize` and `debug_symbols` options. So the default values listed above for the various `target` and `dev_build` combinations are indicative and can be replaced when compiling, e.g.: `scons p=linuxbsd target=template_debug dev_build=yes optimize=debug` will make a "debug" export template with dev-only code enabled, `-Og` optimization level for GCC/Clang, and debug symbols. Perfect for debugging complex crashes at runtime in an exported project.
2022-09-25[TextServer] Always prefer main font over fallbacks, regardless of ↵bruvzg
script/language support.
2022-09-22[GDExtension] Implement support for typed arrays.bruvzg
2022-09-21Merge pull request #65914 from bruvzg/fix_trim_wo_spaceRémi Verschelde
Fix line trim/ellipsis when line do not have space or newline at the end.
2022-09-18Fix crash when executing `FontFile.get_face_count`Haoyu Qiu
2022-09-16Fix line trim/ellipsis when line do not have space or newline at the end.bruvzg
2022-09-02Merge pull request #65170 from KoBeWi/your_argument_is_TypedArrayRémi Verschelde
2022-09-01Change Array arguments to TypedArraykobewi
2022-09-01[TextServer] Fix LCD AA fonts reading wrong glyphs.bruvzg
2022-08-30Fix MSDF fonts color modulation.bruvzg
2022-08-26Merge pull request #64422 from bruvzg/make_fonts_unbearably_ugly_2.0Rémi Verschelde
2022-08-23Merge pull request #63959 from KoBeWi/typo_arrrayRémi Verschelde
Replace Array return types with TypedArray (part 1)
2022-08-23Add font LCD sub-pixel anti-aliasing support.bruvzg
2022-08-22Replace Array return types with TypedArraykobewi
2022-08-22Fix color modulation of the grayscale glyphs in font with mixed color / ↵bruvzg
grayscale data.
2022-08-09Allow MSDF rendering for system fonts, fix crash on loading damaged / ↵bruvzg
unsupported font files.
2022-08-07Merge pull request #63919 from Faless/scons/4.x_easy_depsRémi Verschelde
2022-08-06Merge pull request #63762 from bruvzg/ft_warnRémi Verschelde
[TextServer] Add a build warning when building with external FreeType without Brotli support.
2022-08-04Fix overrun flag check and HarfBuzz safe to break flag check.bruvzg
2022-08-04[Scons] Implement module dependency sorting.Fabio Alessandrelli
Modules can now call: env.module_add_dependencies(name: str, deps: list, optional: bool) To add required or optional dependencies during the "can_build" step. Required dependencies will be checked and the module will be not be enabled when they are missing, printing a warning to notify the user.
2022-08-01[TextServer] Add a build warning when building with external FreeType ↵bruvzg
without Brotli support.
2022-07-31[TextServer] Ensure that built-in library headers are always included before ↵bruvzg
system header, add HarfBuzz version checks for optional features.
2022-07-25Remove ThreadWorkPool, replace by WorkerThreadPoolJuan Linietsky
The former needs to be allocated once per usage. The later is shared for all threads, which is more efficient. It can also be better debugged.
2022-07-25Code quality: Fix header guards consistencyRémi Verschelde
Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
2022-07-21Rename OSX to macOS and iPhoneOS to iOS.bruvzg
2022-07-15Use BitField hint for the TextServer enums. Add missing parts for BitField ↵bruvzg
support to the GDextension API.
2022-07-08Add static methods for creating Image and ImageTexturekobewi
2022-07-06Refactor Font configuration and import UI, and Font resources.bruvzg
2022-06-16Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the ↵bruvzg
TextServer.
2022-06-15Merge pull request #61934 from Geometror/hashfuncsRémi Verschelde
Hash function improvements
2022-06-15Hash function improvementsHendrik Brucker
2022-06-07[TextServer] Adds support for TrueType / OpenType collection files (*.TTC, ↵bruvzg
*.OTC).
2022-06-06[GDExtension] Expose Variant, NodePath and StringName hash functions.bruvzg
2022-05-19[RTL] Add support for shaping in background thread.bruvzg
2022-05-17Update HarfBuzz, ICU and FreeType.bruvzg
HarfBuzz: Update to version 4.2.1 FreeType: Update to version 2.12.1 ICU: Update to version 71.1
2022-05-13Implement TextMesh resource.bruvzg
Apply simulated slant and embolden to the TextServer `gont_get_glyph_contours` results.
2022-05-12Use new HashMap implementation in the TextServer, and Font.bruvzg
2022-05-12Add a new HashMap implementationreduz
Adds a new, cleaned up, HashMap implementation. * Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing). * Keeps elements in a double linked list for simpler, ordered, iteration. * Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much for performance vs keeping the key, but helps replace old code). * Uses a more modern C++ iterator API, deprecates the old one. * Supports custom allocator (in case there is a wish to use a paged one). This class aims to unify all the associative template usage and replace it by this one: * Map<> (whereas key order does not matter, which is 99% of cases) * HashMap<> * OrderedHashMap<> * OAHashMap<>
2022-05-10[TextServer] Fix incorrect oversampled font scaling.bruvzg
2022-05-04Refactor module initializationreduz
* Changed to use the same stages as extensions. * Makes the initialization more coherent, helping solve problems due to lack of stages. * Makes it easier to port between module and extension. * removed the DRIVER initialization level (no longer needed).
2022-05-02Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`Rémi Verschelde
Didn't commit all the changes where it wants to initialize a struct with `{}`. Should be reviewed in a separate PR. Option `IgnoreArrays` enabled for now to be conservative, can be disabled to see if it proposes more useful changes. Also fixed manually a handful of other missing initializations / moved some from constructors.