Commit graph

7103 commits

Author SHA1 Message Date
Leon Styhre 92c3696843 Documentation update 2024-08-09 17:54:23 +02:00
Leon Styhre c63184f010 Replaced all built-in Unicode case conversion logic and lookup tables with facilities from the ICU library 2024-08-09 17:48:46 +02:00
Leon Styhre de317b4c91 (Windows) Fixed an MSVC compiler warning 2024-08-09 17:25:13 +02:00
Leon Styhre 22478ed145 (Windows) Added the ICU library as a dependency 2024-08-09 17:24:08 +02:00
Leon Styhre 2bbcdd375c (macOS) Added the ICU library as a dependency 2024-08-08 21:53:13 +02:00
Leon Styhre 6ad96ba252 (Android) Added the ICU library as a dependency 2024-08-08 20:28:29 +02:00
Leon Styhre 3afe2bacc3 Added the ICU library as a dependency 2024-08-08 20:26:10 +02:00
Leon Styhre ee61283e2b Removed a lot of unnecessary text processing 2024-08-06 20:31:26 +02:00
Leon Styhre b2e796c664 Documentation update 2024-08-05 22:49:46 +02:00
Leon Styhre 2c95d5a7d6 Fixed a source file header typo 2024-08-05 22:47:13 +02:00
Leon Styhre a7d673f541 Some font-related code and comments cleanup 2024-08-04 13:43:44 +02:00
Leon Styhre 03f6567dd5 Added support for the ar_EG locale 2024-08-04 13:02:00 +02:00
Leon Styhre 16697c0503 Added sharing of glyph atlas entries between shaped glyph entries that need the same texture 2024-08-04 12:46:57 +02:00
Leon Styhre 91d3f3a43a Fixed a regression where text shaping stopped working 2024-08-04 12:16:13 +02:00
Leon Styhre b288bd172c Removed a temporary member variable in Font and replaced it with proper argument passing 2024-08-04 11:52:25 +02:00
Leon Styhre 14c4e00bf2 Changed Font::shapeText() to pass the segments vector by reference 2024-08-04 11:31:03 +02:00
Leon Styhre 5d653a9e93 Reverted a change in TextComponent as it caused unforeseen issues 2024-08-03 21:20:28 +02:00
Leon Styhre 2e01613e41 Removed the offensive wrapText hacks and added some optimizations
Also changed the three dots to an actual ellipsis Unicode character when abbreviating text
2024-08-03 20:50:59 +02:00
Leon Styhre c873441851 Made accurate text layout work correctly using HarfBuzz 2024-08-03 19:04:45 +02:00
Leon Styhre 7a8bd97226 Added a precaution to prevent crashes in case of broken fonts being used 2024-08-03 14:54:49 +02:00
Leon Styhre 75b93794b0 Fixed another failure mode for the wrapText shaped text hack 2024-08-03 14:22:36 +02:00
Leon Styhre 4931ea9749 Changed to having HarfBuzz set the horizontal glyph advance 2024-08-03 14:09:51 +02:00
Leon Styhre b4b498ba29 Reverted some font changes that were not needed after all 2024-08-03 13:54:55 +02:00
Leon Styhre 908788da25 Fixed an issue where text was not correctly centered after line breaks 2024-08-03 00:18:41 +02:00
Leon Styhre c87d2e7584 RTL text segments are now flagged as such 2024-08-02 23:36:06 +02:00
Leon Styhre 09d16e9c16 Text shaping segments are no longer created by space characters 2024-08-02 23:34:44 +02:00
Leon Styhre b3ac8b6320 Changed the text shaping function to return the segment vector 2024-08-02 23:31:47 +02:00
Leon Styhre 9e7b02291b Added a hack to make shaped text wrap somehow correctly 2024-08-02 15:58:26 +02:00
Leon Styhre 45091547b7 Changed two font calculation functions to use shaped text
Also consolidated the HarfBuzz segment creation and shaping into a single function
2024-08-02 12:43:26 +02:00
Leon Styhre b1adbc0f2a Added support for the pl_PL locale 2024-08-01 21:36:45 +02:00
Leon Styhre 81bc30cc26 Fixed a text shaping issue when there was a font change for the last character of a string 2024-08-01 14:36:29 +02:00
Leon Styhre 84e850a507 Moved the text shaping to a separate function 2024-08-01 14:34:34 +02:00
Leon Styhre 412e74738a Moved the HarfBuzz segment building to a separate function
Also implemented segment caching and fixed an issue where missing glyphs were not handled correctly
2024-08-01 12:20:39 +02:00
Leon Styhre 82f6686cbf Changed the font VRAM usage calculation to actually only include texture data 2024-08-01 10:58:15 +02:00
Leon Styhre 7a3a8f8042 Added the nl_NL locale to locale/languages 2024-07-31 21:45:42 +02:00
Leon Styhre dff85c46a6 (Android) Added initial text shaping support 2024-07-31 21:38:46 +02:00
Leon Styhre f6c4acf2d7 Disabled building of HarfBuzz-subset on Windows and macOS 2024-07-31 20:54:27 +02:00
Leon Styhre 6185eeb0cc (macOS) Added initial text shaping support 2024-07-31 19:31:40 +02:00
Leon Styhre c1218d5033 (Windows) Added initial text shaping support 2024-07-31 19:15:59 +02:00
Leon Styhre 73b7f34f50 Fixed some font issues 2024-07-31 18:46:32 +02:00
Leon Styhre 539cdd8146 Added initial text shaping support 2024-07-31 18:44:26 +02:00
Leon Styhre 71ccaf193e Added the HarfBuzz library as a dependency 2024-07-31 18:26:32 +02:00
Leon Styhre f9d5b2b12e Added support for the nl_NL locale 2024-07-30 18:18:04 +02:00
Leon Styhre d52e175896 Updated the pt_BR translations 2024-07-29 23:44:13 +02:00
Leon Styhre 4c1b5fde3c Reorganized some per-language menu title font size entries 2024-07-29 11:25:38 +02:00
Leon Styhre 84ddb1c136 Updated the ro_RO translations 2024-07-29 11:05:32 +02:00
Leon Styhre 24418417eb Updated the ro_RO translations 2024-07-29 10:52:46 +02:00
Leon Styhre 456f9be771 Documentation update 2024-07-28 16:23:12 +02:00
Leon Styhre 192035e16a Clarified the custom event script sorting in a code comment 2024-07-28 16:21:44 +02:00
Leon Styhre 7e4a88a144 Changed one translation 2024-07-28 14:24:32 +02:00