bmpfntgen 0.1.0

A CLI tool to generate sprite sheets from fonts
Documentation
use std::str::FromStr;

const ENGLISH_LOWER_CASE: &str = "abcdefghijklmnopqrstuvwxyz";
const ENGLISH_UPPER_CASE: &str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const DIGITS: &str = "0123456789";
const COMMON_SYMBOLS: &str = r###"`~!@#$%^&*()-_=+[]{}|;:'",.<>?\/"###;
const TEST_SET: &str =  "Aa";

#[derive(Debug)]
pub enum CharSets {
    EnglishLowerCase,
    EnglishUpperCase,
    Digits,
    CommonSymbols,
    TestSet,
}

impl FromStr for CharSets {
    type Err = &'static str;

    fn from_str(s: &str) -> Result<CharSets, Self::Err> {
        match s {
            "EnglishLowerCase" => Ok(CharSets::EnglishLowerCase),
            "EnglishUpperCase" => Ok(CharSets::EnglishUpperCase),
            "Digits" => Ok(CharSets::Digits),
            "CommonSymbols" => Ok(CharSets::CommonSymbols),
            "TestSet" => Ok(CharSets::TestSet),
            _ => Err("No matching charset found!"),
        }
    }
}

impl Into<&'static str> for CharSets {
    fn into(self: Self) -> &'static str {
        match self {
            CharSets::EnglishLowerCase => ENGLISH_LOWER_CASE,
            CharSets::EnglishUpperCase => ENGLISH_UPPER_CASE,
            CharSets::Digits => DIGITS,
            CharSets::CommonSymbols => COMMON_SYMBOLS,
            CharSets::TestSet => TEST_SET,
        }
    }
}