Luke Street 9120080eb5
Support MWCC 4.1+ series compilers (#1)
This implements support for MWCC 4.1+ (aka GC 3.0a3 and above).

Notable changes:
- Hook `CreateFileMappingA` / `MapViewOfFile`: These compilers use these functions rather than `ReadFile` for headers.
- Hook `MultiByteToWideChar`: This function's behavior changed in Windows 2000 SP4 / Windows XP, and certain compiler versions rely on the old behavior. This fully reimplements it for CP-932 with the legacy behavior.
- Explicitly fail on invalid UTF-8 inputs. Add a warning log when the Shift JIS output is invalid.
2024-10-27 16:18:43 -06:00
2023-09-07 00:27:47 -04:00
2023-09-07 00:27:47 -04:00

sjiswrap Build Status

UTF-8 to Shift JIS wrapper for old 32-bit Windows compilers.

When the wrapped executable reads a text file, it will be encoded from UTF-8 to Shift JIS on the fly.

Encoded file extensions:

  • .c
  • .cc
  • .cp
  • .cpp
  • .cxx
  • .h
  • .hh
  • .hp
  • .hpp
  • .hxx

Usage

Download the latest release from here.

$ sjiswrap.exe <exe> [args...]

Building

$ cargo build --target i686-pc-windows-msvc --release

For smaller binaries:

$ cargo +nightly build -Z build-std=std,panic_abort --target i686-pc-windows-msvc --release

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Description
UTF-8 to Shift JIS wrapper for old 32-bit Windows compilers.
Readme 108 KiB
Languages
Rust 100%