braillify 2.0.1

Rust 기반 크로스플랫폼 한국어 점역 라이브러리
Documentation
//! 수학 제14항 — 로마 숫자 표기.
//!
//! 로마 숫자열(I,V,X,L,C,D,M)을 로마숫자 지시(0)로 감싸 인코딩한다.

pub fn is_roman_numeral_expression(input: &str) -> bool {
    !input.is_empty()
        && input
            .chars()
            .all(|c| matches!(c, 'I' | 'V' | 'X' | 'L' | 'C' | 'D' | 'M'))
}

pub fn encode_roman_numeral_expression(input: &str) -> Result<Vec<u8>, String> {
    // 0 + ,(단일) 또는 ,,(복수) + 소문자 로마문자 + 4
    let chars: Vec<char> = input.chars().collect();
    let mut result = vec![52, 32];
    if chars.len() >= 2 {
        result.push(32);
    }
    for ch in chars {
        result.push(crate::english::encode_english(ch.to_ascii_lowercase())?);
    }
    result.push(50);
    Ok(result)
}