#pokemon #string #gba #generation #character #glyph #module

no-std pkmn-strings

String types for old Pokémon games

1 unstable release

0.1.0 Dec 27, 2024

#218 in No standard library

Download history 163/week @ 2024-12-25

163 downloads per month
Used in 2 crates

MIT/Apache

47KB
663 lines

pkmn-strings

Rust library with specialized string types for Pokémon games.

This currently only supports the Generation 3 (GBA) games but will be updated to include support for other games in the future.

Goals

  • No unsafe code.
  • no_std compatible.
  • Never panic.
  • Limited feature scope.
  • Minimal dependencies.

Cargo features

This library has a default but optional "std" feature for building with the Rust Standard Library. Build with default features disabled to support no_std environments. alloc is optional as well.

[depdendencies]
pkmn-strings = {version = "0.1.0", default-features = false, features = ["alloc"]}

lib.rs:

String conversion utilities.

Pokémon games use various different character sets. Only Generation 3 is currently implemented.

For details on the character encoding, see the documentation for the gen3 module.

These conversions can produce several characters in the Unicode Private Use Area (PUA) for glyphs in the games that don't correspond to any standard Unicode code point. Constants for all of those code points are provided in the [pua] module.

This topic is also documented on Bulbapedia:

Dependencies

~1.2–1.8MB
~32K SLoC