rockbox/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 Lua: Add pluginlib_actions wrapper for lua scripts. 2012-01-27 09:15:05 +01:00
button_helper.pl
lapi.c lua extend stars demo plugin 2024-04-28 01:03:16 -04:00
lapi.h Revert "Update lua plugin to 5.2.3" 2014-04-02 20:46:06 +02:00
lauxlib.c lua Fix a few potential bugs 2021-08-13 22:44:45 -04:00
lauxlib.h lua update to 5.1.5 2018-11-11 19:42:30 -05:00
lbaselib.c lua LCD (Lua Compact Debug) patch 2019-08-08 07:11:30 +02:00
lbitlib.c Revert "Update lua plugin to 5.2.3" 2014-04-02 20:46:06 +02:00
lcode.c lua fix potential null warning 2021-08-03 11:02:15 +00:00
lcode.h Revert "Update lua plugin to 5.2.3" 2014-04-02 20:46:06 +02:00
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 Revert "Update lua plugin to 5.2.3" 2014-04-02 20:46:06 +02:00
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 Revert "Update lua plugin to 5.2.3" 2014-04-02 20:46:06 +02:00
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 lua update to 5.1.5 2018-11-11 19:42:30 -05:00
llex.c misc: Properly annotate some intentional case fallthroughs 2025-04-22 20:54:37 -04:00
llex.h Revert "Update lua plugin to 5.2.3" 2014-04-02 20:46:06 +02:00
llimits.h Revert "Update lua plugin to 5.2.3" 2014-04-02 20:46:06 +02:00
lmathlib.c lua Fix a few potential bugs 2021-08-13 22:44:45 -04:00
lmem.c Revert "Update lua plugin to 5.2.3" 2014-04-02 20:46:06 +02:00
lmem.h Revert "Update lua plugin to 5.2.3" 2014-04-02 20:46:06 +02:00
loadlib.c lua latebound function update 2021-05-19 23:28:35 +00:00
lobject.c lua inbinary strings 2019-07-11 00:31:41 +02:00
lobject.h lua LCD (Lua Compact Debug) patch 2019-08-08 07:11:30 +02:00
lopcodes.c Revert "Update lua plugin to 5.2.3" 2014-04-02 20:46:06 +02:00
lopcodes.h Revert "Update lua plugin to 5.2.3" 2014-04-02 20:46:06 +02:00
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 lua inbinary strings 2019-07-11 00:31:41 +02:00
lstrlib.c lua update to 5.1.5 2018-11-11 19:42:30 -05:00
ltable.c Lua Add Emergency Garbage Collector 2019-07-28 15:17:48 +02:00
ltable.h Revert "Update lua plugin to 5.2.3" 2014-04-02 20:46:06 +02:00
ltablib.c Fix misleading indentation as pointed out by the new gcc warning 2016-08-12 15:33:28 +02:00
ltm.c lua inbinary strings 2019-07-11 00:31:41 +02:00
ltm.h Revert "Update lua plugin to 5.2.3" 2014-04-02 20:46:06 +02:00
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 Revert "Update lua plugin to 5.2.3" 2014-04-02 20:46:06 +02:00
lundump.c lua LCD (Lua Compact Debug) patch 2019-08-08 07:11:30 +02:00
lundump.h lua disable bytecode dump & undump functions 2019-07-18 14:56:00 -05:00
lvm.c lua fix crashes EGC failure to lock stack in concat 2019-08-05 21:20:30 -05:00
lvm.h Revert "Update lua plugin to 5.2.3" 2014-04-02 20:46:06 +02:00
lzio.c Lua fix reader bug in lzio 2018-11-15 11:20:54 +01:00
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 Lua remove strncat.c & strcspn.c 2018-10-30 04:17:06 +01:00
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 lua update to 5.1.5 2018-11-11 19:42:30 -05:00
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