Commit graph

253 commits

Author SHA1 Message Date
Leon Styhre 0cd15194b4 (Android) Added a temporary workaround to avoid crashes on non-character keyboard input when editing text 2024-10-27 22:46:05 +01:00
Leon Styhre c4ef9e2e7f Added the Nanum Square Neo Korean font 2024-09-15 20:48:57 +02:00
Leon Styhre c80ba5be86 Fixed a line breaking issue 2024-09-04 17:19:36 +02:00
Leon Styhre 20293e1c03 (Haiku) Added support for the correct system resource directories 2024-08-23 16:42:26 +02:00
Leon Styhre ce3d50d2b3 Fixed a potential issue where globally disabling text shaping could cause space detection to fail 2024-08-22 00:19:10 +02:00
Leon Styhre 3f2f8f9b57 Fixed a special line wrapping scenario where a trailing space should be removed 2024-08-20 17:16:19 +02:00
Leon Styhre 3552c6e228 Added layout and line wrapping support for shaped text and for mixing of LTR and RTL scripts 2024-08-20 00:13:44 +02:00
Leon Styhre 3f8abb0807 Removed direct use of Font::wrapText() from TextComponent 2024-08-12 22:03:17 +02:00
Leon Styhre 1d3b2f8066 Removed direct use of Font::wrapText() from OptionListComponent, TextEditComponent and TextListComponent 2024-08-12 20:51:52 +02:00
Leon Styhre 3d0701f288 Changed Font::buildTextCache() and Font::renderTextCache() to protected functions 2024-08-11 19:20:03 +02:00
Leon Styhre de317b4c91 (Windows) Fixed an MSVC compiler warning 2024-08-09 17:25:13 +02:00
Leon Styhre ee61283e2b Removed a lot of unnecessary text processing 2024-08-06 20:31:26 +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 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 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 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 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 539cdd8146 Added initial text shaping support 2024-07-31 18:44:26 +02:00
Leon Styhre 076709b239 Moved the Ubuntu Condensed font higher in the loading order 2024-07-24 11:47:12 +02:00
Leon Styhre a5b1b17c2c Changed the application name in all header files 2024-07-10 18:04:40 +02:00
Leon Styhre 7cc901bb7f Fixed an issue where updating font textures caused random glyph artifacts 2024-05-19 18:39:26 +02:00
Leon Styhre 116d73c62a Removed some std::filesystem code
Also fixed an issue with launching emulators not defined via find rules
2023-12-19 17:35:58 +01:00
Leon Styhre a0d636ffb8 Changed the application name to ES-DE in all source file headers 2023-12-16 19:48:25 +01:00
Leon Styhre 361bf832e1 Changed the application name from EmulationStation Desktop Edition to ES-DE 2023-12-16 12:30:13 +01:00
Leon Styhre 56ccba81d1 Removed all instances of hardcoded application directory entries
Also changed some source file headers
2023-12-15 18:33:02 +01:00
Leon Styhre b72e2a20a8 Changed a number of FileSystemUtil functions to use std::filesystem facilities 2023-12-13 22:04:14 +01:00
Leon Styhre 8571dfe7bf (Android) Implemented a cleaner way of handling the private data directory 2023-12-12 23:21:27 +01:00
Leon Styhre a83763c2c3 (Android) Added preliminary support for copying assets to the internal data directory 2023-12-07 18:28:55 +01:00
Leon Styhre 498bdbd119 Fixed an additional issue where font textures were sometimes updated with empty glyhps 2023-12-07 17:58:10 +01:00
Leon Styhre 8fe027e9ad Fixed an issue where font textures were sometimes updated with empty glyhps 2023-12-07 17:55:40 +01:00
Leon Styhre fed4dda4ac Fixed an issue where the application shutdown was not always clean 2023-11-10 20:42:14 +01:00
Leon Styhre 87a8d5a23a Fixed a few issues reported by scan-build 2023-11-02 12:38:19 +01:00
Leon Styhre 7d32aac99d Changed a Font comment related to the use of the FreeType auto-hinter 2023-09-27 22:08:42 +02:00
Leon Styhre ee2573345f Improved font rendering quality and always enabled linear texture interpolation for both minification and magnification 2023-09-27 20:36:54 +02:00