KTUG 한국 텍 사용자 그룹

Menu

KTUG :: 마당자유글 › xetexko의 한자음

noname | 2021.09.25 10:33:43 | 메뉴 건너뛰기 쓰기

아시는 대로, xetexko는 자체 한자음 데이터를 가지고 있습니다. 

예컨대 羅자를 xetexko가 어떻게 읽고 있을까요? 다음 코드로 간단히 확인해볼 수 있습니다.

\ExplSyntaxOn

\int_new:N \l_code_int

\NewDocumentCommand \readingHanja { m }
{
	\str_set_convert:Nnnn \l_tmpa_clist { #1 } {} { clist }
	\clist_map_inline:Nn \l_tmpa_clist
	{
		\int_set:Nn \l_code_int { \int_eval:n { ##1 } }
		\fbox{\ttfamily \int_to_Hex:n { \l_code_int } }

		\int_set:Nn \l_tmpb_int { \l_code_int - 19968 + 1 }

		\get_read_from_file:nn { \l_tmpb_int } { hanja_hangul.tab }

		\exp_args:No \symbol{ \int_use:N \l_code_int }
		\exp_args:No \symbol{\g_tmpa_tl}
	}
}

\cs_new:Npn \get_read_from_file:nn #1 #2
{
	\int_zero:N \l_tmpa_int
	\ior_open:Nn \g_tmpa_ior { #2 }
	\ior_map_inline:Nn \g_tmpa_ior
	{
		\int_incr:N \l_tmpa_int
		\int_compare:nT { \l_tmpa_int == #1 }
		{
			\tl_gset:Nn \g_tmpa_tl { ##1 }
			\ior_map_break:
		}
	}
	\ior_close:N \g_tmpa_ior    
}

\ExplSyntaxOff

\readingHanja{羅}의 결과는 이렇습니다.
na.png

'나'라고 읽고 있네요 자동조사를 위해서 이 정도면 되지 않겠는가 합니다.

참고로, 한중일 호환한자는 파일 이름을 hanjacom_hangul.tab으로 하고 starting point를 63744로 해야 합니다. 한중일 통합 한자 확장 A 영역의 글자들은 hanjaexa_hangul.tab이고 starting point는 13312입니다.

 

첨부 [1]

댓글 쓰기

목록 삭제

KTUG 한국 텍 사용자 그룹