# 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: ```bash full2half "Hello World!" ``` #### Do the conversion on a file by overwriting or copying: This will overwrite the file. ```bash full2half -f "file_to_convert.txt" ``` This will create a copy with this naming scheme:
"[File Name] ([Duplicate Counter])[ext]" ```bash full2half -c -f "file_to_convert.txt" ``` #### Customize Behaviour: If needed you can also ignore specific characters like so: ```bash full2half -i "e" "!" -- "Hello World!" ``` Or ignore specific character sets by using the specified flags, get more info by running: ```bash full2half -h ``` ## Installation To use this library in your Rust project, simply add the following line to your Cargo.toml file: ```toml [dependencies] full2half = { version = "0.1.0" } ``` To install the `full2half` binary locally, simply run the following command: ```bash cargo install full2half ``` The binary will be downloaded from [crates.io](https://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: ```rust 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](https://en.wikipedia.org/wiki/Halfwidth_and_Fullwidth_Forms_(Unicode_block))
[Unicode](https://www.unicode.org/charts/PDF/UFF00.pdf) ## 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](./LICENSE) file for details.