diff --git a/libs/braillify/src/lib.rs b/libs/braillify/src/lib.rs index 6f702e0..a9c7ce2 100644 --- a/libs/braillify/src/lib.rs +++ b/libs/braillify/src/lib.rs @@ -102,6 +102,12 @@ impl Encoder { skip_count: &mut usize, result: &mut Vec, ) -> Result<(), String> { + // 제53항 가운뎃점으로 쓴 줄임표(…… , …)는 ⠠⠠⠠으로, 마침표로 쓴 줄임표(...... , ...)는 ⠲⠲⠲으로 적는다. + let normalized_word = word + .replace("......", "...") + .replace("……", "…"); + let word = normalized_word.as_str(); + if word.starts_with('$') && word.ends_with('$') { if let Some((whole, num, den)) = fraction::parse_latex_fraction(word) { if let Some(w) = whole { diff --git a/libs/braillify/src/symbol_shortcut.rs b/libs/braillify/src/symbol_shortcut.rs index d6dd548..f774f99 100644 --- a/libs/braillify/src/symbol_shortcut.rs +++ b/libs/braillify/src/symbol_shortcut.rs @@ -8,7 +8,7 @@ static SHORTCUT_MAP: phf::Map = phf_map! { '\'' => &[decode_unicode('⠠'), decode_unicode('⠦')], // '\'' => &[decode_unicode('⠴'), decode_unicode('⠄')], '~' => &[decode_unicode('⠈'), decode_unicode('⠔')], - '…' => &[decode_unicode('⠲'), decode_unicode('⠲'), decode_unicode('⠲')], + '…' => &[decode_unicode('⠠'), decode_unicode('⠠'), decode_unicode('⠠')], '⋯' => &[decode_unicode('⠠'), decode_unicode('⠠'), decode_unicode('⠠')], '!' => &[decode_unicode('⠖')], '.' => &[decode_unicode('⠲')], @@ -115,9 +115,17 @@ mod test { assert_eq!( encode_char_symbol_shortcut('…').unwrap(), &[ - decode_unicode('⠲'), - decode_unicode('⠲'), - decode_unicode('⠲') + decode_unicode('⠠'), + decode_unicode('⠠'), + decode_unicode('⠠') + ] + ); + assert_eq!( + encode_char_symbol_shortcut('⋯').unwrap(), + &[ + decode_unicode('⠠'), + decode_unicode('⠠'), + decode_unicode('⠠') ] ); assert_eq!( diff --git a/test_cases/rule_49.csv b/test_cases/rule_49.csv index 32c3334..6babec2 100644 --- a/test_cases/rule_49.csv +++ b/test_cases/rule_49.csv @@ -5,7 +5,7 @@ "·","""2",166,⠐⠆ ":","""1 ",162,⠐⠂ "/",_/ ,5612,⠸⠌ -"… , ...",",,,, 444",5050500160505050,⠲⠲⠲⠀⠐⠀⠲⠲⠲ +"… , ...",",,,, 444",3232320160505050,⠠⠠⠠⠀⠐⠀⠲⠲⠲ "“",8,38,⠦ "”",0,52,⠴ "‘",",8",3238,⠠⠦