ํ์-ํ๊ธ ๋ณํ๊ธฐ์์ ์ฌ์ฉ๋๋ ๋ชจ๋์ ๋๋ค.
์ฌ์ฉ ํ์๋ค๊ฐ ๋น ์ง ํ์ ๋๋ ํ๋ฆฐ ๋ ์์ ๋ฐ๊ฒฌํ์๋ฉด ์ด ๋งํฌ๋ฅผ ํตํด ์ ๋ณดํด์ฃผ์ธ์. ํ์ธ ํ ๋ฐ์ํ๋๋ก ํ๊ฒ ์ต๋๋ค. GitHub์ ํตํด ์ง์ PR์ ๋ณด๋ด์ฃผ์ ๋ ์ข์ต๋๋ค.
pip install hanja
>>> import hanja >>> from hanja import hangul
>>> hangul.separate('๊ฐ') (0, 0, 0) >>> hangul.separate('๊น') (1, 0, 0)
ํํ(tuple)์ ๋ง์ง๋ง ์์๊ฐ 0์ด๋ฉด ์ข ์ฑ์ด ์๋ ๊ธ์๋ผ๊ณ ํ๋จํ ์ ์๋ค.
>>> hangul.separate('ํ') (18, 0, 4)
'ใ '์ 19๋ฒ์งธ ์์, 'ใ '๋ ์ฒซ๋ฒ์งธ ๋ชจ์, 'ใด'์ ๋ค์ฏ๋ฒ์งธ ์์์ด๋ผ๋ ๊ฒ์ ์ ์ ์๋ค.
>>> hangul.build(0, 0, 0) '๊ฐ'
>>> hangul.is_hangul('๊ฐ') True >>> hangul.is_hangul('a') False
๋ฆฌ์คํธ๊ฐ ์๋ ์ ๋ค๋ ์ดํฐ(generator)๋ฅผ ๋ฐํํ๋ค.
>>> '์ ์ด๋ค.
>>> [x for x in hanja.split_hanja('ๅคง้ๆฐๅ์ ๆฐไธปๅ ฑๅๅ์ด๋ค.')] ['ๅคง้ๆฐๅ', '์ ', 'ๆฐไธปๅ ฑๅๅ', '์ด๋ค.']
>>> hanja.is_hanja('้') True
>>> hanja.is_hanja('ํ') False
์นํ ๋ชจ๋ ๋ณํ:
>>> hanja.translate('ๅคง้ๆฐๅ์ ๆฐไธปๅ ฑๅๅ์ด๋ค.', 'substitution') '๋ํ๋ฏผ๊ตญ์ ๋ฏผ์ฃผ๊ณตํ๊ตญ์ด๋ค.'
ํผ์ฉ ๋ชจ๋ ๋ณํ (text):
>>> hanja.translate('ๅคง้ๆฐๅ์ ๆฐไธปๅ ฑๅๅ์ด๋ค.', 'combination-text') 'ๅคง้ๆฐๅ(๋ํ๋ฏผ๊ตญ)์ ๆฐไธปๅ ฑๅๅ(๋ฏผ์ฃผ๊ณตํ๊ตญ)์ด๋ค.'
ํผ์ฉ ๋ชจ๋ ๋ณํ version 2 (text):
>>> hanja.translate('ๅคง้ๆฐๅ์ ๆฐไธปๅ ฑๅๅ์ด๋ค.', 'combination-text-reversed') '๋ํ๋ฏผ๊ตญ(ๅคง้ๆฐๅ)์ ๋ฏผ์ฃผ๊ณตํ๊ตญ(ๆฐไธปๅ ฑๅๅ)์ด๋ค.'
ํผ์ฉ ๋ชจ๋ ๋ณํ (HTML):
>>> hanja.translate(u'ๅคง้ๆฐๅ์ ๆฐไธปๅ ฑๅๅ์ด๋ค.', 'combination-html') '<span class="hanja">ๅคง้ๆฐๅ</span><span class="hangul">(๋ํ๋ฏผ๊ตญ)</span>์ <span class="hanja">ๆฐไธปๅ ฑๅๅ</span><span class="hangul">(๋ฏผ์ฃผ๊ณตํ๊ตญ)</span>์ด๋ค.'