Commit graph

2187 commits

Author SHA1 Message Date
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 b0a7e76974 Fixed an issue where text shaping could be permanently disabled after editing text 2024-08-22 00:10:13 +02:00
Leon Styhre 03c6fb3297 Added support for the de_DE locale 2024-08-21 21:03:38 +02:00
Leon Styhre 03149d0b33 Added support for the ca_AD locale 2024-08-20 17:53:39 +02:00
Leon Styhre 8689b3aecf Fixed some Clang compiler warnings 2024-08-20 17:27:36 +02:00
Leon Styhre 3a5c4a7605 (Windows) Fixed some MSVC compiler warnings 2024-08-20 17:17:33 +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 bd6956d52f (FreeBSD) Added fallback method to locate binary 2024-08-19 17:22:30 +02:00
Leon Styhre 338843ce46 (FreeBSD) Added support for rebooting and powering off from inside ES-DE 2024-08-19 17:20:31 +02:00
Leon Styhre 2a9ab5ea88 DateTimeEditComponent no longer renders the debug overlay unless there is a string to display 2024-08-16 21:26:21 +02:00
Leon Styhre 302f6e0fc5 Added an assertion to GuiComponent::setSize() to check for negative mSize values 2024-08-13 21:42:50 +02:00
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