full2half

Crates.iofull2half
lib.rsfull2half
version0.1.1
sourcesrc
created_at2024-01-15 18:48:02.278004
updated_at2024-03-24 14:29:32.613317
descriptionLibrary and CLI for converting full-width characters to half-width characters and vice versa.
homepage
repositoryhttps://gitlab.com/pSchwietzer/full2half
max_upload_size
id1100609
size47,026
Pascal Schwietzer (pSchwietzer)

documentation

README

Full2Half

A simple project to allow conversion of full-width characters to half-width characters and vice versa, which supplies a library and CLI binary.

Command-Line Interface

The binary has three main functions.

Convert a string directly:

full2half "Hello World!"

Do the conversion on a file by overwriting or copying:

This will overwrite the file.

full2half -f "file_to_convert.txt"

This will create a copy with this naming scheme:
"[File Name] ([Duplicate Counter])[ext]"

full2half -c -f "file_to_convert.txt"

Customize Behaviour:

If needed you can also ignore specific characters like so:

full2half -i "e" "!" -- "Hello World!"

Or ignore specific character sets by using the specified flags, get more info by running:

full2half -h

Installation

To use this library in your Rust project, simply add the following line to your Cargo.toml file:

[dependencies]
full2half = { version = "0.1.0" }

To install the full2half binary locally, simply run the following command:

cargo install full2half

The binary will be downloaded from crates.io and compiled by cargo. After installation you can simply use the full2half binary from the command line.

Usage

Simply import the CharacterWidth trait and you are ready to go:

use full2half::CharacterWidth;

let full_width_string = "Hello World!";
let half_width_string = "Hello World!";

println!("{}", full_width_string.to_half_width());
println!("{}", half_width_string.to_full_width());

See more details in the docs.

Character References

Wikipedia
Unicode

Contribution

If you find any missing characters, conversion errors, bugs or want to extend functionality feel free to do a merge request.

License

This library is licensed under the MIT license. See the LICENSE file for details.

Commit count: 16

cargo fmt