Commit Graph

279 Commits

Author SHA1 Message Date
86e61a311f Use MSDF instead of MTSDF for font rendering.
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2025-08-09 10:41:16 +03:00
22e99a4901 Restore per font oversampling override. 2025-06-19 18:10:54 +03:00
e928b2a5e5 [SVG in OT] Fix rendering of some glyphs using "defs" with "#glyphXXXXX.X" id. 2025-06-03 13:18:55 +03:00
f6f1df7d73 Add 64-bit versions of core power of 2 functions 2025-06-01 23:11:12 -07:00
00beda9691 Fix: Removed freed up FontData's dangling data in Advanced and Fallback text server 2025-05-28 16:15:20 +05:30
0aae67b6bb Add hardcoded baseline offset for Apple Color Emoji. 2025-05-23 22:00:39 +03:00
7fc4521dd8 Adjust hex code box baseline calculation. 2025-05-20 08:53:40 +03:00
3460f623a2 Adjust SVG in OT scaling and baseline. 2025-05-19 09:32:41 +03:00
91931606f7 Remove _FORCE_INLINE_ from TextServer*::_ensure* methods
Reduces binary size by ~1.5 MB when compiling with TextServerAdvanced, and ~800 KB for TextServerFallback
2025-05-06 17:49:38 -04:00
01fc9aee6c Core: Modernize C headers with C++ equivalents 2025-05-02 08:23:01 -05:00
6893b2b8e6 [TextServer] Fix outline size and image fonts with oversampling. 2025-04-28 19:10:56 +03:00
3947cbe3b2 Merge pull request #104386 from Repiteo/core/cpp-math
Core: Replace C math headers with C++ equivalents
2025-04-27 19:21:22 -05:00
146e405c48 Merge pull request #105412 from bruvzg/fix_fixedsize_img_fonts
Fix fixed size image fonts incorrectly getting oversampling applied if set to native size.
2025-04-18 12:21:24 -05:00
ad40939b6f Core: Replace C math headers with C++ equivalents
- Minor restructuring to ensure `math_funcs.h` is the central point for math functions
2025-04-16 15:49:02 -05:00
a3943f8ad4 Fix fixed size image fonts incorrectly getting oversampling applied if set to native size. 2025-04-15 13:39:48 +03:00
b55d3a2516 Fix bitmap font scaling. 2025-04-15 12:14:37 +03:00
4afeca3bcf Replace global oversampling with overrideable per-viewport oversampling. 2025-04-14 13:43:09 +03:00
b106dfd4f9 Base accessibility API. 2025-04-08 20:14:28 +03:00
f25fc34439 SCons: Add CPPEXTPATH for external includes 2025-04-02 07:29:08 -05:00
19f360d65a Add font import flag to toggle modulation of colored glyphs. 2025-04-01 13:36:10 +03:00
ffa6ef220b Use append_ instead of parse_ for String methods. 2025-03-27 17:51:02 +01:00
10f6c01b9c Remove ABS in favor of Math::abs 2025-03-19 13:52:40 +01:00
6c4f17db1a Core: Avoid including modules_enabled in headers 2025-03-11 19:42:13 -05:00
331a43a9d8 Add String::remove_char(s) methods for performance and convenience 2025-03-10 13:19:28 +01:00
324512e11c Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
70a8421c30 Apply fix_alpha_edges for both theme icons and font glyphs.
Only apply fix_alpha_edges for SVG glyphs.
Allow modulate for svg glyphs.
2025-02-18 13:10:28 -08:00
65c795eb35 Clarify the behavior of Control.layout_direction in the documentation 2025-02-11 16:56:22 +01:00
316b50ba8d [TextServer] Use all available space when string is too short for ellipsis. 2025-02-10 08:24:46 +02:00
382c760ea6 SCons: Apply new ruff/mypy fixes 2025-02-03 09:55:09 -06:00
7f4481284e [TextServer] Fix embedded object keys in substrings. 2025-01-19 10:22:46 +02:00
c97c7b73e6 msdfgen: Update to 1.12 2025-01-09 22:03:43 +01:00
f1f33169d9 SCons: Specify optional dependencies for modules 2025-01-08 21:59:18 -06:00
a29294fddc SCons: Refactor color output implementation 2025-01-07 18:44:53 -06:00
cc1db569e1 [TextServer] Improve embedded objects handling performance. 2025-01-07 08:01:29 +02:00
15b4331fb1 [TextServer] Fix use of find_char in text servers
The `find_char` method is not (currently) available to extensions and
can't be used in the text servers which can be built as extensions, so
now controlled by compile option
2024-12-19 21:44:30 -05:00
d45825347d Merge pull request #100300 from edwin0cheng/improve_emoji
Improve emoji SVG parsing by caching
2024-12-18 17:23:28 +01:00
61d387135f Improve emoji SVG parsing by caching
Basically, when we first encounter the document, we parse it as before, but we also note the offsets of other glyphs and store the remaining XML. The next time we see another glyph, we can simply parse that glyph node and insert it back into the stored XML.
2024-12-18 19:02:03 +08:00
182b4741ea Merge pull request #93479 from Repiteo/scons/better-colored-output
SCons: Improve colored output
2024-12-17 16:18:41 +01:00
f962fdce0e Merge pull request #100185 from Repiteo/scons/fix-thirdparty-warnings
SCons: Fix MSVC bypassing disabled warnings
2024-12-10 14:16:02 -06:00
d8761f2c79 SCons: Improve colored output 2024-12-10 11:44:48 -06:00
070aeb5688 SCons: Fix MSVC bypassing disabled warnings 2024-12-09 11:49:42 -06:00
b5c31ebb41 Add contains_char() for single-character 'contains' calls. 2024-12-06 20:23:35 +01:00
26e7b6bdd6 Merge pull request #99164 from bruvzg/int_files
[Export] Write text server data from memory, instead of using temporary file.
2024-12-03 14:40:58 -06:00
c5ca56f40b [Export] Write text server data from memory, instead of using temporary file. 2024-12-02 18:22:55 +02:00
fa264115ce Merge pull request #98664 from bruvzg/ts_reset_subpixel_shift
[TextServer] Reset subpixel shift on blank glyphs.
2024-12-02 17:20:07 +01:00
d58b2e879f Get rid of easily removable uses of const_cast 2024-12-01 17:50:13 -08:00
7f37e88658 Fix SVG font rendering. 2024-11-21 22:11:53 +02:00
4daa336d92 [TextServer] Only load ellipsis glyph when it's used. 2024-11-05 11:04:48 +02:00
e81a2afbc4 [TextServer] Reset subpixel shift on blank glyphs and import option to enable/disable it. 2024-11-01 10:18:57 +02:00
0d350e7108 Set clang-format RemoveSemicolon rule to true
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00