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>가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
한자만 입력하면 독음을 자동으로 달아준다면 참 좋을텐데... 에 관련된 내용입니다.
유니코드 한자의 우리말 독음 데이터베이스가 없을까 찾아봤는데, 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)번째 항목을 찾는 것이죠.
그것은 "저"입니다.
첨부파일은 이 아이디어를 구현한 것입니다. 그러나...
- 두 가지 이상의 음으로 읽히는 경우를 반영하지 못했습니다.
- 두음법칙이 적용되는 것도 이음이므로 역시 반영되지 않았습니다.
- BMP 평면만 생각해도 4EXX에서 9FXX까지, 여기에 한중일 통합한자 확장 A/B, 호환한자(F9XX--FAXX)의 모든 독음 정보를 만들어야 하는데 이건 뭐... 누가 해둔 거 없으면 못할 일이겠네요.
댓글 17
-
DohyunKim
2015.05.07 22:14
-
nanim
2015.05.08 01:50
말씀 듣고 조금 해봤습니다.
$ awk '/kHangul/' Unihan_Reading.txt >kHangul.txt
$ wc -l kHangul.txt
7746 kHangul.txt
그러니까, 모두 7745자에 한국어 음이 붙어 있다는 얘기겠네요.
이 파일에 간단한 정규식을 적용하여 HanjakHangul.tex을 만들고, 이걸 읽어들이도록 했습니다.
부하가 좀 걸리지만... 뭐 그럭저럭 의도한 대로 됩니다.
-
nanim
2015.05.08 10:52
어느 정도나 손이 가야 하는지 소단적치인으로 테스트해봤습니다. 확실히 수작업이 불가피하겠네요.
그런데 unihan이 제공하는 한자음이 우선순위가 이상한 것, 이음이 있는데도 안 나오는 것, 마땅히 한글 음이 제공되어야 할 것 같은데 없는 것이 제법 됩니다.
그래도 아무튼지 한자만 주루룩 써두면 (특히 \everyhanja를 이용하여) 한글 음이 붙는 것은 제법 신기하네요.
아시는 분은 아시겠지만 소단적치인은 사연있는 문서입니다. :)
-
DohyunKim
2015.05.08 11:22
kHangul 보다 kKorean 을 이용하는 쪽이 더 좋습니다. 한글 음가가 더 많아요.
kKorean 은 예일 표기법으로 표기되어 있습니다.
-
DohyunKim
2015.05.08 14:49
kHangul 에다 kKorean 을 추가한 것을 첨부합니다.
한자 "則"에 대한 음가로 "칙"과 "측"만 있고 "즉"은 여전히 포함돼 있지 않더군요.
-
nanim
2015.05.08 15:29
감사합니다. kKorean을 이용하라셔서 yale2lvt를 만드는 삽질...을 해봤습니다만... 올려주신 합쳐진 파일로 하는 게 좋겠네요.
그래도 테스트한 게 아까우니까 올려보겠습니다.
-
nanim
2015.05.09 21:26
지금까지 한 것을 정리했습니다. grruby와 hnja2hngl 두 개의 스타일 파일로 이루어져 있습니다.
(grruby는 앞서 올린 것 그대로입니다.)
궁금하신 분은 문서만 읽어보시어요. hnja2hngl-doc.pdf
저는 이 정도로 만족합니다. (해보고 싶던 건 다 했습니다. :)
// v0.2: 한자 다음의 쉼표가 사라지는 치명적 버그를 수정하였습니다.
-
DohyunKim
2015.05.13 20:29
루아텍 패키지를 만들어봤습니다. BMP평면은 거의 완전하게 지원합니다.
https://goo.gl/Xld4Nz
-
Progress
2015.05.13 23:22
올려주신 루아텍용 readhanja 패키지를 테스트해봤는데요.
1. 혹시 readhanja 패키지를 얹으면 본문에서 \setmainhanjafont로 지정된 폰트가 제 기능을 발휘하는지 궁금합니다. (readhanja 환경 안팎을 물론하고)
2. 한글 독음을 한자 우측에 놓는 옵션을 혹시 추가할 수 있을까요?
p.s. 2007년경 C일보에서 다운로드해 놓은 ChosunM.ttf 를 테스트 파일에 사용하였습니다. 현재 C일보 사이트에서 다운로드 페이지를 제공하는 것 같진 않더라고요. 차선책으로 다른 페이지를 링크해둡니다.
http://iff.co. kr/iff_font/8125
*grruby 패키지와 progress 루비 스타일도 잠깐 사용해봤습니다. ^^;
-
nanim
2015.05.14 00:22
readhanja 잘 봤습니다. 역시 루아텍이 좋네요. :)
첨부파일은 앞서 올린 hnja2hngl.sty의 개선판입니다.
-
DohyunKim
2015.05.14 00:28
@Progress
1. hanjabyhanjafont=1 을 선언하셨나요?
2. 네, TODO 목록에 올려두겠습니다.
-
Progress
2015.05.14 18:30
감사합니다. \hanjabyhanjafont=1을 지정하니 잘 나옵니다.
근데 이건 좀 다른 얘긴데요.
luatexko-doc.pdf에 모노폰트로 사용된 Source Han Sans K,
hnja2hngl-doc.pdf에 모노폰트로 Noto Sans CJK KR Regular
pdf에서 이 두 폰트는 텍스트 복사가 아니되더라고요.
폰트 자체에 텍스트 복사를 금하는 기능이 들어있는 건지 모르겠습니다.
설마 half width feature를 부여해서 그런 건 아니겠지요? (시간 없어서 테스트는 안 해봤습니다.)
-
DohyunKim
2015.05.15 13:05
half width feature 때문인 거 같네요.
다음 버전에 고치도록 하겠습니다.
-
nanim
2015.05.14 21:48
김도현 교수님의 readhanja가 생겨나서 제가 하던 건 별 쓸모가 없게 되었습니다만
readhanja를 보고 자극받아서... 不의 독음(불/부)을 자동화하는 데까지 해봤습니다.
결국 다음 글자 하나를 읽어서 결정해야 하는 거라 아주 말끔하지는 않지만 어쨌든지 원하는 대로 되는 거 같습니다.
이거 하나만 추가해도 무척 편해지네요. 아무튼 저는 여기까지...
readhanja를 ktug 사설저장소에서 받을 수 있게되면 좋겠습니다.
readhanja의 샘플 문서를 hnja2hngl로 식자하는 그림을 (기념으로) 첨부합니다.
-
DohyunKim
2015.05.15 16:25
ktug 저장소에 hnja2hngl과 readhanja를 넣었습니다.
-
nanim
2015.05.15 19:09
감사합니다.
(역시) 기념으로, 맨처음 이 얘기가 시작되던 무렵 예문으로 쓴 "춘야연도리원서"를 음가 수동 선택 없이 두 패키지로 조판한 결과입니다.
ps. 어디선가 긁어왔더니 결국 문제가... 고담은 마땅히 高談이어야 하겠습니다. (편복자가 사는 도시 아닙니다... ^^) 그리고 "대괴가아이문장"의 '가'자도 마음에 안 드네요...
-
Progress
2015.05.15 19:16
감사합니다.
방금 설치하고 매뉴얼을 좀 들여다보았습니다.
꼭 유용하게 써먹겠습니다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
628 | lshort 다음 버전 미리보기 [12] | 세벌 | 2015.06.05 | 3347 |
627 | [동영상] 소설가에게 필요한 마크업들은? [1] | yihoze | 2015.06.05 | 3111 |
626 | TeX 디자인, 끝까지 밀어붙이기 [12] | 하늘연 | 2015.06.03 | 3403 |
625 | 텍의 기본기 [2] | yihoze | 2015.06.03 | 11166 |
624 | 테크니션들의 익살 [4] | yihoze | 2015.06.03 | 3123 |
623 | 개행(line-break)에 대하여 [8] | yihoze | 2015.06.02 | 10191 |
622 | 추억의 컴패니언 시리즈 [7] | yihoze | 2015.06.02 | 3212 |
621 | 위키 바뀐글 페이지의 고친이 표시 오류? [1] | mcpark | 2015.06.02 | 3316 |
620 | TeX이 "텍스"가 아니고 [3] | yihoze | 2015.06.02 | 3095 |
619 | 홈페이지에서 메뉴가 약간 이상합니다. [9] | 세벌 | 2015.06.01 | 3218 |
618 | webinar로 저의 발표를 경청하신 분께 질문 드림. [15] | 세벌 | 2015.06.01 | 3110 |
617 | locutione 님께. [14] | 세벌 | 2015.05.31 | 3135 |
616 | 세벌 님께 제안합니다 | locutione | 2015.05.31 | 3107 |
615 | 세벌님의 lshort 번역 등에 관한 게시판 관리자의 입장 [4] | 관리자 | 2015.05.30 | 8195 |
614 | 바둑 자료 - 병국세해 [43] | 잠수 탔던 하수 | 2015.05.29 | 5943 |
613 | 인터넷 기반 TeX 문서 작성/공동작업: authorea [1] | 커꿈 | 2015.05.29 | 29858 |
612 | [동영상] 텍웍스 [8] | yihoze | 2015.05.28 | 3065 |
611 | 2015. 5. 30. 토 우분투모임에서 LaTeX 소개 [3] | 세벌 | 2015.05.21 | 3050 |
610 | karnes 님 어디 계셔요? [5] | 세벌 | 2015.05.21 | 3130 |
609 | [모집] expl3 스터디 [13] | yihoze | 2015.05.19 | 3263 |
물론 한국이 제출한 한자에만 한글 음가가 달려있습니다.
게다가 한자 하나에 한글 음가가 여럿인 경우가 상당히 많고요.
결국 사전을 검색하는 방법을 써야하고, 궁극에는 사람의 손이 가야한다고 봅니다.
우선 폰트 하나를 간단히 시험해봤습니다.