1
0
Fork 0
forked from len0rd/rockbox
foxbox/apps/plugins/lua
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
..
include_lua Allow first level folders in plugin menu 2024-05-05 14:01:43 -04:00
action_helper.pl
button_helper.pl
lapi.c lua extend stars demo plugin 2024-04-28 01:03:16 -04:00
lapi.h
lauxlib.c lua Fix a few potential bugs 2021-08-13 22:44:45 -04:00
lauxlib.h
lbaselib.c lua LCD (Lua Compact Debug) patch 2019-08-08 07:11:30 +02:00
lbitlib.c
lcode.c lua fix potential null warning 2021-08-03 11:02:15 +00:00
lcode.h
ldebug.c misc: Properly annotate some intentional case fallthroughs 2025-04-22 20:54:37 -04:00
ldebug.h lua LCD (Lua Compact Debug) patch 2019-08-08 07:11:30 +02:00
ldo.c Lua Add Emergency Garbage Collector 2019-07-28 15:17:48 +02:00
ldo.h
ldump.c lua LCD (Lua Compact Debug) patch 2019-08-08 07:11:30 +02:00
lfunc.c lua LCD (Lua Compact Debug) patch 2019-08-08 07:11:30 +02:00
lfunc.h
lgc.c lua LCD (Lua Compact Debug) patch 2019-08-08 07:11:30 +02:00
lgc.h Lua Add Emergency Garbage Collector 2019-07-28 15:17:48 +02:00
liolib.c
llex.c misc: Properly annotate some intentional case fallthroughs 2025-04-22 20:54:37 -04:00
llex.h
llimits.h
lmathlib.c lua Fix a few potential bugs 2021-08-13 22:44:45 -04:00
lmem.c
lmem.h
loadlib.c lua latebound function update 2021-05-19 23:28:35 +00:00
lobject.c
lobject.h lua LCD (Lua Compact Debug) patch 2019-08-08 07:11:30 +02:00
lopcodes.c
lopcodes.h
loslib.c lua add demo scripts, atexit handler, gui_scrollbar_draw 2019-07-29 02:51:29 -05:00
lparser.c lua Fix a few potential bugs 2021-08-13 22:44:45 -04:00
lparser.h lua LCD (Lua Compact Debug) patch 2019-08-08 07:11:30 +02:00
lstate.c Lua Add Emergency Garbage Collector 2019-07-28 15:17:48 +02:00
lstate.h Lua Add Emergency Garbage Collector 2019-07-28 15:17:48 +02:00
lstring.c Lua Add Emergency Garbage Collector 2019-07-28 15:17:48 +02:00
lstring.h
lstrlib.c
ltable.c Lua Add Emergency Garbage Collector 2019-07-28 15:17:48 +02:00
ltable.h
ltablib.c
ltm.c
ltm.h
lua.h lua LCD (Lua Compact Debug) patch 2019-08-08 07:11:30 +02:00
lua.make lua: button_helper needs $(EXTRA_DEFINES) on the host build side 2024-09-08 12:57:22 -04:00
lua_user.c Lua Add Emergency Garbage Collector 2019-07-28 15:17:48 +02:00
lua_user.h Lua Add Emergency Garbage Collector 2019-07-28 15:17:48 +02:00
luaconf.h lua extend stars demo plugin 2024-04-28 01:03:16 -04:00
luadir.c lua give luadir the ability to return table of attributes 2019-09-18 21:20:42 -05:00
luadir.h
lualib.h
lundump.c lua LCD (Lua Compact Debug) patch 2019-08-08 07:11:30 +02:00
lundump.h
lvm.c lua fix crashes EGC failure to lock stack in concat 2019-08-05 21:20:30 -05:00
lvm.h
lzio.c
lzio.h Lua Add Emergency Garbage Collector 2019-07-28 15:17:48 +02:00
Makefile build: Rename SHARED_LDFLAG to SHARED_LDFLAGS 2021-07-08 19:53:05 -04:00
rbdefines_helper.pl Don't force gcc as host compiler + fix clang warnings 2024-12-20 05:29:18 +01:00
README
rockaux.c lua: Fix Windows Simulator build. 2024-06-22 10:06:47 -04:00
rockconf.h lua Add scrollable stack traceback WIP 2020-10-03 22:09:52 +00:00
rocklib.c unicode: Support characters beyond the first unicode plane 2025-09-12 09:24:30 -04:00
rocklib.h lua events from rockbox 2019-07-19 20:48:34 -05:00
rocklib_aux.pl lua move strip_extension and create_numbered_filename out of main binary 2019-09-28 03:15:15 +02:00
rocklib_events.c lua: rocklib_events fix 2023-01-02 13:38:08 -05:00
rocklib_events.h lua events from rockbox 2019-07-19 20:48:34 -05:00
rocklib_img.c fix red rli_img 2024-04-18 13:40:01 -04:00
rocklib_img.h [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
rocklibc.h
rocklua.c [Feature] File Picker Plugin 2024-07-30 14:55:07 -04:00
settings_helper.pl Lua add metadata and settings reading helper module 2019-09-07 03:10:59 +02:00
SOURCES Lua Add Emergency Garbage Collector 2019-07-28 15:17:48 +02:00
strftime.c lua strftime fix out of scope buffer 2021-08-13 07:28:39 -04:00
strpbrk.c lua misc tweaks and cleanup 2020-10-04 04:00:54 -04:00
strstr.c
strtol.c lua misc tweaks and cleanup 2020-10-04 04:00:54 -04:00
strtoul.c lua misc tweaks and cleanup 2020-10-04 04:00:54 -04:00
tlsf_helper.c [BugFix] tlsf get_new_area should return 0u or OOM 2024-04-27 03:23:43 -04:00

The following files are (with slight modifications for Rockbox) from dietlibc
version 0.31 which is licensed under the GPL version 2:

    gmtime.c
    strftime.c
    strpbrk.c
    strtol.c
    strtoul.c
    strstr.c