1
0
Fork 0
forked from len0rd/rockbox
foxbox/bootloader
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
..
x1000 ErosQNative: Re-enable OF recovery 2024-08-27 09:23:53 -04:00
bootloader.make bootloader: Work around linker wonkiness that broke PP bootloader builds. 2020-10-13 19:02:27 -04:00
common.c bootloader: Fix red on hosted bootloaders 2025-04-17 08:31:33 -04:00
common.h Initial commit for the Sony NWZ linux port 2017-09-05 21:42:12 +02:00
creativezvm.c h300, Others Bugfix Bootloader backlight_init() 2020-11-13 18:08:01 +00:00
echoplayer.c New WIP port: Echo R1 2025-04-22 20:08:08 -04:00
fat32format.c mi4: replace chksum_crc32 with crc_32r 2021-06-21 09:36:54 +00:00
format.c ClipPlus BOOTLOADER DONT FIT! 2020-10-23 20:38:59 -04:00
format.h ClipPlus BOOTLOADER DONT FIT! 2020-10-23 20:38:59 -04:00
gigabeat-s.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
gigabeat.c arm: split ARM cache maintenance functions to separate header 2025-04-21 12:39:47 -04:00
hibyos_linux.c surfansf28: More fixes: 2025-05-06 09:56:03 -04:00
iaudio_coldfire.c coldfire: Fix bootloader builds on GCC8 2024-04-26 07:21:46 -04:00
imx233.c Get rid of stupid _backlight_* function names 2015-01-12 11:09:27 +01:00
ipod-s5l87xx.c iPod S5L87xx bootloader: Enable LCD sleep/awake test depending on target config, not on model 2025-07-22 10:47:37 -04:00
ipod.c disk: Dump partition tables when we can't find a usable partition 2025-04-17 08:15:13 -04:00
ipodnano2g.c Bugfix Backlight_init should be called after lcd_init 2020-11-13 13:57:39 -05:00
iriver_h1x0.c unicode: Support characters beyond the first unicode plane 2025-09-12 09:24:30 -04:00
iriver_h300.c unicode: Support characters beyond the first unicode plane 2025-09-12 09:24:30 -04:00
lyre_proto1.c Bootloaders need the reacharound to get at the internal goods 2014-08-08 02:28:11 -04:00
main-e200r-installer.c mi4: replace chksum_crc32 with crc_32r 2021-06-21 09:36:54 +00:00
main-pp.c Sansa E200v1 Bootloader ensure USB unplug is detected 2021-10-04 16:42:36 -04:00
main-ppsansawipe.c Get rid of stupid _backlight_* function names 2015-01-12 11:09:27 +01:00
Makefile [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
meizu_m3.c h300, Others Bugfix Bootloader backlight_init() 2020-11-13 18:08:01 +00:00
meizu_m6sl.c Do some housekeeping with fat.h and SECTOR_SIZE 2017-03-12 22:05:44 -04:00
meizu_m6sp.c Do some housekeeping with fat.h and SECTOR_SIZE 2017-03-12 22:05:44 -04:00
mini2440.c h300, Others Bugfix Bootloader backlight_init() 2020-11-13 18:08:01 +00:00
mpio_hd200_hd300.c firmware: minor screendump related cleanups 2022-03-24 18:59:50 -04:00
mrobe500.c mrobe500 bootloader fix 2020-10-13 21:33:55 -04:00
nwz_linux.c remove inaccurate comment 2017-09-18 09:30:33 +02:00
ondavx747.c ondavx747: Fix bootloader build 2020-09-03 20:26:23 +00:00
rk27xx.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
samsung_yps3.c Get rid of stupid _backlight_* function names 2015-01-12 11:09:27 +01:00
sansa_as3525.c Fix AMSv2 variant 1 detection if rockbox loaded from SD card 2016-04-22 20:43:45 +00:00
sansaconnect.c Sansa Connect: Power off LCD to save power 2021-07-05 15:19:52 +02:00
sansaview.c Do some housekeeping with fat.h and SECTOR_SIZE 2017-03-12 22:05:44 -04:00
show_logo.c Sansa e200v2: bootloader: fit size 2024-04-01 11:02:04 -04:00
snprintf.c ClipPlus BOOTLOADER DONT FIT! 2020-10-23 20:38:59 -04:00
SOURCES WIP hosted port to the Surfans F28 2025-05-04 18:34:22 -04:00
telechips.c Do some housekeeping with fat.h and SECTOR_SIZE 2017-03-12 22:05:44 -04:00
xduoox3.c xduoox3: Completely strip USB support out of the bootloader. 2024-07-03 16:51:58 -04:00