1
0
Fork 0
forked from len0rd/rockbox
foxbox/apps/plugins/mpegplayer
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
..
libmpeg2 arm: Use -masm-syntax-unified when compiling with gcc8 or newer 2024-05-08 21:45:42 -04:00
alloc.c Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00
audio_thread.c fix warnings on some systems / format specifier mismatch 2024-12-07 11:07:44 -05:00
disk_buf.c fix warnings on some systems / format specifier mismatch 2024-12-07 11:07:44 -05:00
disk_buf.h Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00
mpeg_alloc.h Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00
mpeg_misc.c Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00
mpeg_misc.h Fix unified syntax in ARM inline assembly 2023-03-23 18:16:33 +00:00
mpeg_parser.c fix warnings on some systems / format specifier mismatch 2024-12-07 11:07:44 -05:00
mpeg_settings.c New port: Anbernic RG Nano 2025-07-29 21:01:53 -04:00
mpeg_settings.h Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00
mpeg_stream.h Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00
mpegplayer.c unicode: Support characters beyond the first unicode plane 2025-09-12 09:24:30 -04:00
mpegplayer.h Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00
mpegplayer.make Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00
parser.h Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00
pcm_output.c Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00
pcm_output.h Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00
SOURCES Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00
stream_mgr.c misc: Properly annotate some intentional case fallthroughs 2025-04-22 20:54:37 -04:00
stream_mgr.h Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00
stream_thread.h Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00
video_out.h Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00
video_out_rockbox.c Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00
video_thread.c Revert "RFC: Get rid of mpegplayer plugin" 2022-10-13 11:08:11 -04:00