docs/dev/debt/libSceCesCs.md: keep this branch's new sceCesJisGetLevel bullet, take main's edit of the single-byte profiles bullet, and recount PendingExports.cpp: 17 pending (main implemented 8 profile exports, this branch sceCesJisGetLevel).
Implement sceCesRefersUcsProfileCp864 with Microsoft's CP864.TXT table.
Byte 0x25 maps to U+066A through the low-byte table, U+0025 has no
byte, and the six undefined bytes answer UNASSIGNED_CODE.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01N6PcbFBJ6WBtt4TVxUhgTW
Convert between Unicode and JIS codes for the eight JIS profiles, as
measured as a payload process on a device: single bytes and rows and
cells of the profile's table one way, and bytes, 0x03PPRRCC and
0x0400RRCC codes the other way, with the measured error codes. Forms,
planes and profiles that were not measured throw and are listed in the
technical debt, including the type-prefixed codes the encoder returns.
sceCesRefersUcsProfileCp858 threw. It now returns a single-byte profile
accepted by sceCesSbcToUtf8, sceCesUtf8ToSbc and the MBCS context
conversions. Code page 858 is code page 850 with byte 0xD5 mapped to the
euro sign (U+20AC) instead of U+0131; that is the whole high half of
ICU's ibm-858_P100-1997.ucm. Bytes 0x00-0x7F stay unchanged, as in the
other single-byte profiles.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01FzhWRMauD3ouc8kSxT2NnT