저는 조금 다른 관점에서, yihoze께서 제시하신 아이디어를 적용하여 헵번식 일본어 로마자 표기법을 구현해보았습니다. 목적과 용도가 다르기 때문에 이 글의 "일본어 발음 병서"는 그 나름대로 의미가 있다고 생각합니다.
하츠옹이 단어 끝에 걸리는 경우 때문에 고민하신 듯한데요, \peek_catcode를 이용하는 코드도 멋지기는 합니다만, 저는 (게을러서) 그냥 regex로 다음과 같이 처리했습니다. \hatsuon 명령은 한 개의 인자를 취하도록 정의해둔 상태에서, ん=NN 으로 할당합니다. 그런 다음에 NN$가 오면 어말 처리를 하고, 그렇지 않으면 \hatsuon을 부르는 것입니다.
\regex_replace_once:nnN { NN$ } { n } \l_tmpb_tl
\regex_replace_all:nnN { NN } { \c {hatsuon } } \l_tmpb_tl
제가 만든 헵번식 로마자 표기법에서는 m, ng 등을 허용하지 않기 때문에 단순히 하츠옹 뒤에 모음이 이어질 때만 판별했습니다만, 다른 방법으로 응용하는 것이 가능하겠죠.
저는 조금 다른 관점에서, yihoze께서 제시하신 아이디어를 적용하여 헵번식 일본어 로마자 표기법을 구현해보았습니다. 목적과 용도가 다르기 때문에 이 글의 "일본어 발음 병서"는 그 나름대로 의미가 있다고 생각합니다.
하츠옹이 단어 끝에 걸리는 경우 때문에 고민하신 듯한데요, \peek_catcode를 이용하는 코드도 멋지기는 합니다만, 저는 (게을러서) 그냥 regex로 다음과 같이 처리했습니다. \hatsuon 명령은 한 개의 인자를 취하도록 정의해둔 상태에서, ん=NN 으로 할당합니다. 그런 다음에 NN$가 오면 어말 처리를 하고, 그렇지 않으면 \hatsuon을 부르는 것입니다.
제가 만든 헵번식 로마자 표기법에서는 m, ng 등을 허용하지 않기 때문에 단순히 하츠옹 뒤에 모음이 이어질 때만 판별했습니다만, 다른 방법으로 응용하는 것이 가능하겠죠.