summaryrefslogtreecommitdiff
path: root/modules/text_server_fb
AgeCommit message (Collapse)Author
2023-01-13Refactor ProjectSetting overridesJuan Linietsky
* Overrides no longer happen for set/get. * They must be checked with a new function: `ProjectSettings::get_setting_with_override()`. * GLOBAL_DEF/GLOBAL_GET updated to use this This change solves many problems: * General confusion about getting the actual or overriden setting. * Feature tags available after settings are loaded were being ignored, they are now considered. * Hacks required for the Project Settings editor to work. Fixes #64100. Fixes #64014. Fixes #61908.
2023-01-05One Copyright Update to rule them allRémi Verschelde
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-02[TextServer] Make `free` calls thread safe.bruvzg
2022-12-17Scale MSDF font outline with the font size and MSDF source size to match ↵bruvzg
dynamic font behavior.
2022-12-16Fix String::word_wrap() for long wordsHaoyu Qiu
- Changes `TextServer.string_get_word_breaks()` - Returns pairs of boundary start and end offsets - Accepts `chars_per_line` to return line breaks - Removes `String::word_wrap()` Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-12-15[RTL/TextServer] Add baseline inline alignment mode for objects and RTL tables.bruvzg
2022-12-12Merge pull request #69718 from groud/finally_rename_gdnative_to_gdextensionRémi Verschelde
Rename all gdnative occurences to gdextension
2022-12-12Rename all gdnative occurences to gdextensionGilles Roudière
Non-exhaustive list of case-sensitive renames: GDExtension -> GDNative GDNATIVE -> GDEXTENSION gdextension -> gdnative ExtensionExtension ->Extension (for where there was GDNativeExtension) EXTENSION_EXTENSION ->EXTENSION (for where there was GDNATIVE_EXTENSION) gdnlib -> gdextension gdn_interface -> gde_interface gdni -> gde_interface
2022-12-10[TextServer] Do not clean up font texture cache when setting ↵bruvzg
`allow_system_fallback` property.
2022-12-04Use system fonts as fallback and improve system font handling.bruvzg
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-11-04Implement SVG in OT support.bruvzg
2022-10-31Merge pull request #67562 from bruvzg/improve_font_packingRémi Verschelde
Improve font glyph cache packing shelf best height fit heuristic.
2022-10-31Merge pull request #67409 from bruvzg/fix_oversampling_roundingRémi Verschelde
[TextServer] Do not round glyph advances / coordinates if font oversampling or bitmap glyph scaling is used.
2022-10-18Unify usage of GLOBAL/EDITOR_GETkobewi
2022-10-18Improve font glyph cache packing shelf best height fit heuristic.bruvzg
2022-10-17Merge pull request #67521 from nikitalita/speed_up_texture_posRémi Verschelde
Speed up `find_texture_pos_for_glyph()`
2022-10-17[TextServer] Do not round glyph advances / coordinates if font oversampling ↵bruvzg
or bitmap glyph scaling is used.
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