rockbox/firmware/target/hosted
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
..
agptek debug: Report if double-buffered fb is enabled 2025-05-08 12:35:03 -04:00
aigo WIP hosted port to the Surfans F28 2025-05-04 18:34:22 -04:00
anbernic rgnano: Voltage and current measure support 2025-08-23 13:44:25 -04:00
android Button queue handling is split from main button driver 2024-11-27 20:16:53 -05:00
fiio Remove BATTERY_TYPES 2025-03-11 02:26:38 -04:00
ibasso ibasso: Fix a build warning that got lost 2025-05-25 11:02:27 -04:00
maemo Button queue handling is split from main button driver 2024-11-27 20:16:53 -05:00
samsungypr Remove BATTERY_TYPES 2025-03-11 02:26:38 -04:00
sdl rgnano: Sleep timer and idle poweroff support 2025-08-15 09:44:35 -04:00
sonynwz Remove BATTERY_TYPES 2025-03-11 02:26:38 -04:00
surfans surfansf28: Get rid of the redundant debug code. 2025-05-08 12:27:48 -04:00
xduoo Fix red in 82f3d0c18f, accidentaly commited it. 2025-05-04 18:57:31 -04:00
alsa-controls.c nwz/alsa: various improvements 2020-10-31 14:16:31 +00:00
alsa-controls.h erosqhosted: Support HW volume control on rev2+ hardware 2024-11-01 14:12:31 -04:00
backlight-target.h New port: FiiO M3K 2020-10-09 12:41:18 -04:00
backlight-unix.c New port: Anbernic RG Nano 2025-07-29 21:01:53 -04:00
backtrace-glibc.c Fix hosted glibc backtrace 2021-08-06 18:54:34 +01:00
button-devinput.c hosted: improvements in devinput touchscreen handling 2025-05-05 20:34:28 -04:00
cpufreq-linux.c hosted: Use O_CLOEXEC for all open() and "e" for fopen() calls 2020-10-11 01:47:03 -04:00
cpufreq-linux.h CPUFreq scaling governor interface for Linux/Android hosted devices. 2015-01-30 20:15:58 +01:00
cpuinfo-linux.c misc: Ensure stacks are always aligned with the native pointer size. 2025-09-05 19:43:11 -04:00
cpuinfo-linux.h cleanup linux cpuinfo code 2017-10-06 18:31:35 +02:00
debug-hosted.c Include stdlib.h for atexit(). 2012-01-25 22:49:19 +01:00
filesystem-app.c Revert "readdir_r use in tagcache.check_dir, ft_load" 2024-05-02 13:38:32 -04:00
filesystem-app.h New port: Anbernic RG Nano 2025-07-29 21:01:53 -04:00
filesystem-hosted.h hosted: Don't unconditionally pull in mv.h on hosted environments 2024-07-19 18:42:11 -04:00
filesystem-unix.c Make simulator compile on MacOS 2024-11-30 22:19:02 -05:00
filesystem-unix.h Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
filesystem-win32.c unicode: Support characters beyond the first unicode plane 2025-09-12 09:24:30 -04:00
filesystem-win32.h unicode: Support characters beyond the first unicode plane 2025-09-12 09:24:30 -04:00
hibyos.make WIP hosted port to the Surfans F28 2025-05-04 18:34:22 -04:00
kernel-unix.c Hosted targets Fix timer cycle calculation overflow 2020-10-23 15:35:11 +00:00
kernel-unix.h android/ypr0: Merge kernel-*.c to generic kernel-unix.c. 2012-01-21 18:39:19 +01:00
lc-unix.c Agptek Rocker: Restrict root directory to SD only 2018-06-12 10:31:15 +02:00
lcd-linuxfb.c debug: Report if double-buffered fb is enabled 2025-05-08 12:35:03 -04:00
pcm-alsa.c misc: Ensure stacks are always aligned with the native pointer size. 2025-09-05 19:43:11 -04:00
pcm-alsa.h alsa: instead of per-target tests, use HAVE_ALSA_32BIT 2021-04-08 23:02:15 -04:00
power-linux.c erosq: Initial PM support for "hw4" variant 2024-10-10 10:12:29 -04:00
rolo.c use path_append for setting directories is several settings 2024-04-01 07:35:53 -04:00
rtc.c Make simulator compile on MacOS 2024-11-30 22:19:02 -05:00
sysfs.c hosted: Use O_CLOEXEC for all open() and "e" for fopen() calls 2020-10-11 01:47:03 -04:00
sysfs.h xDuoo X3II and X20 port 2020-04-06 18:15:41 +02:00
system-hosted.c hosted: Have common /dev/input code handle touchscreens. 2025-05-04 18:34:22 -04:00
system-hosted.h Add normal alloca() definition and implement a strdupa and friends 2014-08-29 22:06:59 -04:00
usb-hiby.c add const to const * strings 2022-05-03 23:00:58 -04:00