KTUG마당은 KTUG를 방문하는 모든 이용자가 대화를 나누고 소식을 전하는 곳입니다.

  • 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
  • Team Blog의 글을 이곳 게시판의 "정보글"로 모았습니다. Team blog는 기고자가 올린 글에 질문을 받는 부담을 줄이기 위하여 댓글을 허용하지 않았습니다. 그러나 이곳 게시판으로 모으면서 댓글을 달 수 있습니다. 게시물을 작성하실 때 댓글을 원하지 않으시면 댓글을 허용하시지 않으시기를 바랍니다. 또한 불필요한 소모성 댓글을 달지 않도록 주의하여 주시기를 바랍니다.
  • TeX과 관련된 질문이나 답변은 QnA 마당을 이용하십시오. TeX과 관련된 질문은 지웁니다
  • MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
  • 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
    • 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
  • 사용하는 편집기는 CKeditor입니다. 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한줄을 비웁니다. 글줄만 바꾸려면 shift-enter 를 누르시면 <BR>가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.

자유글 한자에 독음 달기

2015.05.07 18:08

nanim 조회 수:3964

한자만 입력하면 독음을 자동으로 달아준다면 참 좋을텐데... 에 관련된 내용입니다.

유니코드 한자의 우리말 독음 데이터베이스가 없을까 찾아봤는데, Windows의 IME 관련 API에 그런 게 있기는 있는 모양입니다만 TeX으로 이용하는 건 불가능할테고요. 다른 거라도 혹시 관련 라이브러리 공개된 게 없는지 아시는 분이 계신가요?


아무튼, 일단 U+4EXX와 U+4FXX의 500여자에 대하여 독음 데이터베이스를 만들었습니다.


%% U+4EXX

\clist_set:Nn \ondb_iv_xiv_zero {일,정,교,칠,상,하,면,만,장,삼,상,하,기,불,여,면}

\clist_set:Nn \ondb_iv_xiv_i    {개,축,축,전,차,비,세,세,구,병,병,총,동,사,승,주}

\clist_set:Nn \ondb_iv_xiv_ii   {구,양,주,유,량,엄,병,상,곤,구,개,아,장,중,극,개}

\clist_set:Nn \ondb_iv_xiv_iii  {봉,관,관,찬,림,착,주,하,환,단,위,주,정,려,거,별}

\clist_set:Nn \ondb_iv_xiv_iv   {불,이,예,내,복,구,구,탁,요,의,호,지,오,사,호,핍}

\clist_set:Nn \ondb_iv_xiv_v    {락,음,핑,퐁,교,호,괴,승,승,을,은,야,먀,구,걸,야}

\clist_set:Nn \ondb_iv_xiv_vi   {습,향,개,규,할,홀,서,둘,시,계,낭,갈,걸,돌,묠,올}

\clist_set:Nn \ondb_iv_xiv_vii  {매,란,찰,유,설,염,볼,살,나,건,솔,얼,줄,잘,건,치}

\clist_set:Nn \ondb_iv_xiv_viii {귀,간,란,린,의,궐,료,마,여,쟁,사,사,이,촉,우,우}

\clist_set:Nn \ondb_iv_xiv_ix   {우,운,호,기,오,정,사,세,긍,긍,아,사,아,제,아,극}

\clist_set:Nn \ondb_iv_xiv_x    {두,망,항,대,교,해,역,산,형,묘,역,향,경,정,량,향}

\clist_set:Nn \ondb_iv_xiv_xi   {경,야,친,박,우,설,단,렴,타,미,인,인,집,라,망,을}

\clist_set:Nn \ondb_iv_xiv_xii  {십,인,륵,정,측,부,부,구,팔,장,금,개,빙,잉,종,불}

\clist_set:Nn \ondb_iv_xiv_xiii {산,륜,어,창,자,사,타,장,부,선,헌,탁,홍,동,인,천}

\clist_set:Nn \ondb_iv_xiv_xiv  {간,흘,작,대,령,이,초,장,삼,상,의,무,문,인,반,묘}

\clist_set:Nn \ondb_iv_xiv_xv   {앙,금,중,비,월,오,건,개,요,봉,창,임,왕,분,저,방}


%% U+4FXX

\clist_set:Nn \ondb_iv_xv_zero {종,기,패,여,조,돈,물,역,심,항,이,급,애,오,기,복}

\clist_set:Nn \ondb_iv_xv_i    {벌,휴,근,비,침,부,탕,음,우,화,회,구,쉬,전,산,위}

\clist_set:Nn \ondb_iv_xv_ii   {전,거,아,현,상,창,륜,창,순,신,위,저,척,현,노,백}

\clist_set:Nn \ondb_iv_xv_iii  {고,이,이,설,반,혁,령,주,신,저,사,팽,사,가,비,이}

\clist_set:Nn \ondb_iv_xv_iv   {사,치,정,전,감,매,단,저,포,거,피,소,차,위,저,주}

\clist_set:Nn \ondb_iv_xv_v    {좌,우,앙,분,점,하,필,타,사,여,일,불,작,구,녕,통}

\clist_set:Nn \ondb_iv_xv_vi   {이,헌,거,용,와,첨,석,카,포,패,회,격,로,항,합,양}

\clist_set:Nn \ondb_iv_xv_vii  {백,법,명,가,이,병,길,한,활,궤,전,조,교,차,일,사}

\clist_set:Nn \ondb_iv_xv_viii {형,신,탁,간,질,해,래,이,치,과,광,례,음,시,미,주}

\clist_set:Nn \ondb_iv_xv_ix   {혁,유,안,률,모,이,륜,동,타,치,순,공,주,의,여,천}

\clist_set:Nn \ondb_iv_xv_x    {협,가,재,려,고,요,정,측,교,쾌,제,녕,농,진,모,후}

\clist_set:Nn \ondb_iv_xv_xi   {군,정,진,좌,호,침,려,국,두,정,심,태,발,남,효,편}

\clist_set:Nn \ondb_iv_xv_xii  {퇴,우,계,촉,아,구,서,광,곡,오,준,읍,보,량,조,초}

\clist_set:Nn \ondb_iv_xv_xiii {리,용,흔,경,현,삼,배,속,부,희,리,면,빙,보,유,사}

\clist_set:Nn \ondb_iv_xv_xiv  {협,신,수,오,제,거,주,지,엄,량,려,래,리,검,수,부}

\clist_set:Nn \ondb_iv_xv_xv   {화,구,효,배,천,표,숙,비,봉,아,엄,비,죽,흔,비,치}


이렇게 해놓고 한자 한 글자가 입력되면 그 글자의 코드포인트를 얻습니다. 예컨대 低자의 코드포인트는 U+4F4E입니다.

이 가운데 앞의 세 16진수 숫자를 가지고 ondb 매크로의 이름을 찾습니다. 4, F 는 iv와 xv이므로 \ondb_iv_xv_iv라는 매크로가 여기에 해당합니다.

마지막 16진수 숫자의 10진수 표현에 1을 더하여(0부터 시작하기 때문에) 해당 아이템을 가려냅니다. 즉 \ondb_iv_xv_iv의 15(E=14+1)번째 항목을 찾는 것이죠.

그것은 "저"입니다.


첨부파일은 이 아이디어를 구현한 것입니다. 그러나...

  1. 두 가지 이상의 음으로 읽히는 경우를 반영하지 못했습니다.
  2. 두음법칙이 적용되는 것도 이음이므로 역시 반영되지 않았습니다.
  3. BMP 평면만 생각해도 4EXX에서 9FXX까지, 여기에 한중일 통합한자 확장 A/B, 호환한자(F9XX--FAXX)의 모든 독음 정보를 만들어야 하는데 이건 뭐... 누가 해둔 거 없으면 못할 일이겠네요.
(첨부파일에는 얼마 전에 올린 grruby.sty가 사용되었습니다.)

뭔가 신통한 아이디어 없으신가요?

번호 제목 글쓴이 날짜 조회 수
1120 [알림] 홈페이지 리뉴얼과 게시판 변경에 관하여 [4] 관리자 2010.12.23 322140
1119 제주 전용서체 [5] file Progress 2010.06.15 217981
1118 원숫자 file yihoze 2014.01.02 215899
1117 [공지] ko.TeX Live 2010 발표 [11] 관리자 2010.11.07 189373
1116 ko.TeX Live 2013 배포 [6] file 관리자 2013.10.12 175028
1115 한글텍사용자그룹/한국텍학회 웹 사이트 및 서비스 복구에 관한 말씀 관리자 2013.05.06 160030
1114 TeX Live 2016 pretest 설치 안내 [11] 관리자 2016.06.05 150582
1113 [공지] ko.TeX Live 2009 발표 [9] MadToad 2009.12.23 150446
1112 TeX의 수명이 긴 이유 그리고 널리 쓰이지 않는 이유 [45] 메타 2010.06.02 147915
1111 [공지] ko.TeX Live 2011 발표 [9] 관리자 2011.07.29 144632
1110 MathJax를 이용하여 웹에서 수식을 써 봅시다 [27] file 샘처럼 2010.12.29 142482
1109 [공지] お知らせ: TeXユーザの集い 2010 開催予定 (10/23土@東大生研) [1] ChoF 2010.02.01 137820
1108 An Earthshaking Announcement [6] 작은나무 2010.07.12 131431
1107 prologue vs preamble vs preface vs foreword 는 무슨 차이인가요? [4] 에드 2011.02.23 128514
1106 TeX Live 2010을 대비한 ko.TeX 프리테스트 [14] DohyunKim 2010.07.14 127945
1105 기존 회원이 아닌데 회비를 납부하신 분 [1] yihoze 2019.12.13 127585
1104 TeX Live 2013과 ko.TeX 설치 관련 안내 [11] 관리자 2013.09.01 126140
1103 [공지] 한국텍학회 회비를 입금한 분들 중 회원 미등록자 분들께 [7] 관리자 2011.10.20 123267
1102 (ko.) TeX Live 2014 설치를 권장합니다. [37] nanim 2014.07.14 121957
1101 한글 url 문제 [3] file noname 2020.03.08 121403



XE Login