Commit graph

2175 commits

Author SHA1 Message Date
Leon Styhre eccc5095fb Fixed an issue where ComponentList could generate elements with negative widths 2024-08-13 21:41:17 +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 17f55fd8cf (Haiku) Updated CMake configuration to make ES-DE build on Haiku Nightly (but no longer on R1/beta4) 2024-08-11 21:56:02 +02:00
Leon Styhre 3d0701f288 Changed Font::buildTextCache() and Font::renderTextCache() to protected functions 2024-08-11 19:20:03 +02:00
Leon Styhre aba1163c44 Changed TextEditComponent to use TextComponent instead of using Font facilities directly 2024-08-11 19:01:47 +02:00
Leon Styhre 75fdd94d45 Minor code cleanup 2024-08-11 18:27:37 +02:00
Leon Styhre b0616fcbb1 Changed DateTimeEditComponent to use TextComponent instead of using Font facilities directly 2024-08-11 18:22:45 +02:00
Leon Styhre b697dc2a52 Reverted ButtonComponent and SliderComponent to render the debug overlays themselves 2024-08-11 18:14:39 +02:00
Leon Styhre 8ee7b6f118 Changed SliderComponent to use TextComponent instead of using Font facilities directly 2024-08-11 15:03:04 +02:00
Leon Styhre 5b7becf446 Changed ButtonComponent to use TextComponent instead of using Font facilities directly 2024-08-11 14:00:40 +02:00
Leon Styhre ccf680b433 Changed Window to use TextComponent instead of using Font facilities directly 2024-08-11 13:28:26 +02:00
Leon Styhre c15eff8994 Added experimental support for building on Haiku 2024-08-10 14:28:24 +02:00
Leon Styhre 0347a276ea Silenced some Clang compiler warnings 2024-08-09 22:54:57 +02:00
Leon Styhre 544abf1e81 Changed a code comment that referred to BSD Unix 2024-08-09 21:09:00 +02:00
Leon Styhre 9c07456d21 Removed support for NetBSD and OpenBSD 2024-08-09 21:05:12 +02:00
Leon Styhre 7791859d14 Added a menu title font size adjustment for the pl_PL translations 2024-08-09 19:51:35 +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 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 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 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 539cdd8146 Added initial text shaping support 2024-07-31 18:44:26 +02:00
Leon Styhre f9d5b2b12e Added support for the nl_NL locale 2024-07-30 18:18:04 +02:00
Leon Styhre 4c1b5fde3c Reorganized some per-language menu title font size entries 2024-07-29 11:25:38 +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 9703531273 Added a code comment regarding Unicode case mapping entries for the Latin Extended-B Unicode block 2024-07-26 21:16:27 +02:00
Leon Styhre 3b5d5a7da4 Added a StringUtil function to return the string length in Unicode characters 2024-07-26 21:09:51 +02:00
Leon Styhre 0d41632352 Added a menu title font size adjustment for the Japanese translations 2024-07-25 13:13:00 +02:00
Leon Styhre 9300f00b94 Added case conversion support for the Latin Extended-B Unicode block 2024-07-24 19:02:30 +02:00
Leon Styhre 0cf89ea875 Changed some per-language menu title font sizes 2024-07-24 11:57:24 +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 f4d1534bab Added gettext context support 2024-07-23 18:17:44 +02:00
Leon Styhre a1e31331b5 Added support for the ro_RO locale 2024-07-23 10:34:12 +02:00
Leon Styhre 39e0a1773b Added support for the ru_RU locale 2024-07-22 16:12:04 +02:00
Leon Styhre d86923fb98 Added menu title per-language font sizing to the entire application 2024-07-22 11:25:25 +02:00
Leon Styhre 298b371715 Added support for the es_ES locale 2024-07-21 11:50:06 +02:00
Leon Styhre 1f605347c3 Added support for the el_GR locale 2024-07-21 11:37:53 +02:00
Leon Styhre afea0eace9 Added support for the fr_FR locale 2024-07-21 11:13:49 +02:00
Leon Styhre 0582856b84 Fixed an issue where formatting translation strings could lead to crashes on some platforms 2024-07-20 22:17:44 +02:00
Leon Styhre 2dc805bcbd (Linux) Added workaround for a library or OS bug that prevented some locales from working correctly 2024-07-20 16:50:44 +02:00
Leon Styhre f1ee285b3e Added support for the pt_BR locale 2024-07-20 13:42:51 +02:00
Leon Styhre 335b3dd4ff Added support for the ja_JP locale 2024-07-20 13:35:37 +02:00
Leon Styhre 01406c27c3 Added support for the it_IT locale 2024-07-20 13:31:21 +02:00
Leon Styhre 0b5b0e0572 Added support for the en_GB locale 2024-07-20 13:24:37 +02:00
Leon Styhre 72ee58e748 Added localization support to parts of the application 2024-07-18 15:07:41 +02:00
Leon Styhre 13fadd1658 Removed some obsolete code from DateTimeEditComponent 2024-07-17 16:49:51 +02:00
Leon Styhre 35f51e6904 Added localization support to parts of the application 2024-07-17 14:14:59 +02:00
Leon Styhre 5bea1dfb8b Reverted the change where StringUtil::toCapitalized() would capitalize characters follow apostrophes 2024-07-16 21:27:29 +02:00
Leon Styhre b067481f3f tringUtil::toCapitalized() will now capitalize characters following apostrophes and quotation marks 2024-07-16 21:25:08 +02:00
Leon Styhre 7ea52c13a5 StringUtil::toCapitalized() will now capitalize characters following the ( and [ characters 2024-07-16 21:19:49 +02:00
Leon Styhre cac5ec0402 Fixed an issue where the StringUtil::toCapitalized() function didn't correctly capitalize multi-byte Unicode characters
Also modernized some code
2024-07-16 21:13:50 +02:00
Leon Styhre f7be57336b (Windows) Fixed some MSVC compiler warnings 2024-07-16 16:58:55 +02:00
Leon Styhre 062288ad07 Added localization support to parts of the application 2024-07-16 16:50:46 +02:00
Leon Styhre 14b65cb2e4 Added localization support to parts of the application 2024-07-16 13:56:35 +02:00
Leon Styhre b13c3ee582 Added localization support to parts of the application 2024-07-16 12:04:50 +02:00
Leon Styhre 42f7e46d08 Added localization plural rules support 2024-07-16 10:15:42 +02:00
Leon Styhre 4ffc5d6bf9 Added a very simplified implementation of std::format 2024-07-15 17:39:03 +02:00
Leon Styhre f9886b904f Added localization support to parts of the application 2024-07-14 23:46:33 +02:00
Leon Styhre 557748970a Added localization support to parts of the application 2024-07-14 16:48:31 +02:00
Leon Styhre f088658004 Added localization support to parts of the application 2024-07-13 22:14:37 +02:00
Leon Styhre be95b494dc Added localization support to parts of the application 2024-07-13 19:14:34 +02:00
Leon Styhre e0c57b068d Added localization support to parts of the application 2024-07-13 12:32:16 +02:00
Leon Styhre 59507ecc0c Renamed the zh_rCN locale to zh_CN 2024-07-12 21:25:43 +02:00
Leon Styhre a5b1b17c2c Changed the application name in all header files 2024-07-10 18:04:40 +02:00
Leon Styhre 6d9a95a667 Added initial zh_rCN localization support 2024-07-10 17:52:44 +02:00
Leon Styhre 43060f9b41 Added an error popup if incorrect credentials are used when scraping using ScreenScraper 2024-07-08 17:53:15 +02:00
Leon Styhre 7b4cfefbc4 Fixed a typo where the 32:9 aspect ratio was referred to as 32:0 2024-07-06 13:07:25 +02:00
Leon Styhre 1df2641e0c Changed to scaling the menu title per language instead of the overall menu 2024-07-04 19:33:07 +02:00
Leon Styhre 6b541ad501 Added localization support to parts of the application 2024-07-04 18:53:13 +02:00
Leon Styhre 1700bb195c Removed some forced uppercase conversions 2024-07-04 18:47:26 +02:00
Leon Styhre 661bb5d539 Added support for per-language menu scaling 2024-07-04 18:38:49 +02:00
Leon Styhre dfc217d006 Added localization support for en_US to be able to handle special cases 2024-07-04 18:36:37 +02:00
Leon Styhre eeccee307d Added a menu option for selecting the application language 2024-07-02 23:57:44 +02:00
Leon Styhre e3148e6cda (Windows) Added an extra precaution in case of an invalid locale entry 2024-07-02 22:09:51 +02:00
Leon Styhre 2d3a559cee Added support for falling back to the closest matching locale if there is not an exact match 2024-07-02 22:05:40 +02:00
Leon Styhre 63729cce19 (Android) Added localization support 2024-07-02 18:04:42 +02:00
Leon Styhre 302305b3ee Changed to using SDL_GetPreferredLocales() also on Linux
Also set the LANGUAGE environment variable on Linux
2024-06-30 23:22:48 +02:00