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 조회 수:4008

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

유니코드 한자의 우리말 독음 데이터베이스가 없을까 찾아봤는데, 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가 사용되었습니다.)

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

번호 제목 글쓴이 날짜 조회 수
529 함초롬체 2017년 버전이 있는 것 같습니다 [1] 허생원 2017.06.30 5926
528 [사전공지] 문서작성워크숍 2018 [2] ischo 2018.10.16 5917
527 ksbaduk 패키지 이야기(1): 흰돌과 검은돌 [7] file nanim 2015.06.06 5917
526 minipage 병치 [5] file yihoze 2017.07.14 5913
525 바둑 자료 - 병국세해 [43] 잠수 탔던 하수 2015.05.29 5910
524 케이턱.가 [4] nanim 2014.07.25 5874
523 11월 15일에 후원해주신 분 [2] yihoze 2017.11.20 5855
522 근래에 본게 좀 있어서.. Layout 테스트를 좀 해봤는데.. [5] file 불량양파 2016.11.01 5853
521 GNU Emacs 24.5 버전의 메뉴얼 초벌번역 정리작업이 끝났습니다. [8] 불량양파 2016.08.04 5853
520 TeX Live 2015 설치하기, Windows [7] nanim 2015.06.26 5849
519 Visual Studio Code yihoze 2017.08.04 5846
518 "가"를 찍는 일곱 가지 방법 DohyunKim 2011.04.21 5844
517 조금.. 다른 가능성을 찾게 된듯 합니다. file 불량양파 2016.11.18 5830
516 표지에 대한 테스트도 어느정도 됐네요 :D file 불량양파 2016.11.18 5829
515 제주어 지원 첫가끝 표준 글꼴 DohyunKim 2012.09.19 5829
514 ID/PASS 찾기 메일전송 기능 확인 부탁합니다. onionsjk 2017.08.16 5825
513 한자에 독음을 다는 몇 가지 방법 [10] file nanim 2015.04.29 5819
512 네이버 손글씨 [2] 에드 2019.10.10 5818
511 지금까지 작업한 부분을 정리해서 command 로 만들어 봤습니다. [6] 불량양파 2016.11.04 5818
510 XeTeX에서 폰트를 쓸 때 가장 주의해야 할 문제 [5] 메타 2017.08.10 5812



XE Login