rockbox/apps/plugins/lib
Solomon Peachy a2c10f6189 unicode: Support characters beyond the first unicode plane
We used 16-bit variables to store the 'character code' everywhere but
this won't let us represent anything beyond U+FFFF.

This patch changes those variables to a custom type that can be 32 or 16
bits depending on the build, and adjusts numerous internal APIs and
datastructures to match.  This includes:

 * utf8decode() and friends
 * font manipulation, caching, rendering, and generation
 * on-screen keyboard
 * FAT filesystem (parsing and generating utf16 LFNs)
 * WIN32 simulator platform code

Note that this patch doesn't _enable_ >16bit unicode support; a followup
patch will turn that on for appropriate targets.

Appears to work on:

  * hosted linux, native, linux simulator in both 16/32-bit modes.

Needs testing on:

  * windows and macos simulator (16bit+32bit)

Change-Id: Iba111b27d2433019b6bff937cf1ebd2c4353a0e8
2025-09-12 09:24:30 -04:00
..
action_helper.c rb_info plugin and button,action+context name helper 2021-11-22 21:39:45 -05:00
action_helper.h Add custom action mapping to core 2022-02-23 08:47:12 -05:00
action_helper.pl Add custom action mapping to core 2022-02-23 08:47:12 -05:00
arg_helper.c plugin argparse update to add userdata to callback 2024-07-26 00:56:13 -04:00
arg_helper.h plugin argparse update to add userdata to callback 2024-07-26 00:56:13 -04:00
bmp_smooth_scale.c Define LCD_STRIDEFORMAT unconditionally 2022-09-30 10:42:49 +01:00
button_helper.c rb_info plugin and button,action+context name helper 2021-11-22 21:39:45 -05:00
button_helper.h Add custom action mapping to core 2022-02-23 08:47:12 -05:00
button_helper.pl Add custom action mapping to core 2022-02-23 08:47:12 -05:00
checkbox.c
checkbox.h [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
configfile.c [BugFix] pitch screen load config fd wasn't closed 2025-01-18 11:47:12 -05:00
configfile.h [Fix Yellow] pitch_screen and configfile 2025-01-17 23:09:18 -05:00
display_text.c plugins: disktidy: use UI viewport, limit UI updates 2025-06-05 16:08:58 -04:00
display_text.h
feature_wrappers.h
gcc-support.c arm: add div0 handler for 64-bit division on ARMv7-M 2025-04-19 09:43:40 -04:00
grey.h LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
grey_coldfire.S
grey_core.c Nuke the never-functional iriver ifp-7xx port 2021-04-26 07:42:58 -04:00
grey_draw.c unicode: Support characters beyond the first unicode plane 2025-09-12 09:24:30 -04:00
grey_parm.c LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
grey_scroll.c lcd/grey: Enable viewport fg_pattern and bg_pattern for all bitmap targets. 2014-01-07 22:14:41 +01:00
helper.c plugins HAVE_BACKLIGHT helper remove ifdefs in favor of dummy functions 2022-11-23 23:00:29 -05:00
helper.h Fix Red lib/helper.h 2022-11-23 23:55:45 -05:00
highscore.c plugins: Xobox: Fix highscore table on 2bit grayscale displays 2022-12-29 11:26:57 +01:00
highscore.h
icon_helper.c Plugin Api add core bitmaps 2021-08-26 12:55:34 +00:00
icon_helper.h Plugin Api add core bitmaps 2021-08-26 12:55:34 +00:00
jhash.c Fix compile warnings (set-but-not-used) on big endian targets 2020-10-13 13:37:23 -04:00
jhash.h
jpeg_mem.h
kbd_helper.c unicode: Support characters beyond the first unicode plane 2025-09-12 09:24:30 -04:00
kbd_helper.h unicode: Support characters beyond the first unicode plane 2025-09-12 09:24:30 -04:00
keymaps.h New port: Anbernic RG Nano 2025-07-29 21:01:53 -04:00
md5.c
md5.h
mul_id3.c plugins: properties: delay UI viewport update 2024-07-30 16:05:29 -04:00
mul_id3.h plugins: extract redundant functionality from stats/properties 2024-07-28 20:18:41 +02:00
mylcd.h [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
osd.c Define LCD_STRIDEFORMAT unconditionally 2022-09-30 10:42:49 +01:00
osd.h [2/4] get rid of HAVE_LCD_CHARCELLS 2020-07-24 21:20:13 +00:00
overlay.c plugins: Simplify plugin/codec API versioning 2023-03-21 16:23:54 -04:00
overlay.h Fix red, hopefully. 2020-10-09 13:04:38 +00:00
picture.c
picture.h
playback_control.c Remove NVRAM infavor of a separate cfg file 2025-01-21 00:04:32 -05:00
playback_control.h
pluginlib_actions.c New port: Anbernic RG Nano 2025-07-29 21:01:53 -04:00
pluginlib_actions.h
pluginlib_albumart.c
pluginlib_bmp.c Define LCD_STRIDEFORMAT unconditionally 2022-09-30 10:42:49 +01:00
pluginlib_bmp.h [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
pluginlib_exit.h Fix building simulator plugins on Cygwin. A DLL stub containing atexit is linked to the plugins, so give our version a prefix. 2010-08-26 15:44:32 +00:00
pluginlib_jpeg_idct_arm.S
pluginlib_jpeg_load.c Hopefully all green now 2011-02-09 20:51:11 +00:00
pluginlib_jpeg_mem.c
pluginlib_resize.c
pluginlib_touchscreen.c lcd-common: Remove support for custom line heights from viewport. 2014-01-07 14:13:48 +01:00
pluginlib_touchscreen.h pluginlib_touchscreen: Rework API to offer wait-for-button APIs. 2012-01-27 09:15:05 +01:00
printcell_helper.c [Bugfix] plugins printcell_helper crash on NULL pointer 2025-01-13 00:45:09 -05:00
printcell_helper.h [Feature, Plugin] lastfm_scrobbler_viewer 2023-04-16 23:50:24 -04:00
profile_plugin.c
profile_plugin.h
read_image.c
read_image.h
rgb_hsv.c
rgb_hsv.h
sha1.c Fix endianness handling for sha1 (used by the otp plugin) 2016-06-28 13:33:50 +02:00
sha1.h One-Time Password client (HOTP and TOTP) 2016-06-05 14:25:09 -04:00
simple_viewer.c unicode: Support characters beyond the first unicode plane 2025-09-12 09:24:30 -04:00
simple_viewer.h
SOURCES plugins: Remove id3 lib 2024-12-15 23:50:24 +01:00
stdio_compat.c fix red once more 2017-12-24 17:43:30 -05:00
stdio_compat.h Silence warning in stdio_compat.h 2019-07-19 23:51:07 -04:00
strncpy.c Fix dangerous casts 2017-02-04 17:24:47 +01:00
wrappers.h Fix red in 7f265ee 2023-01-14 19:40:29 +01:00
xlcd.h LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
xlcd_core.c LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
xlcd_draw.c misc: Clean up a pile of -Wunused-const-variable warnings 2025-04-21 21:13:59 -04:00
xlcd_scroll.c Define LCD_STRIDEFORMAT unconditionally 2022-09-30 10:42:49 +01:00