;;; hanja.el --- KSC5601 ÇÑÀÚ µî·Ï ¹× ÇÑÀÚ °Ë»ö ÇÔ¼ö

;; Copyright (C) 1995, 1996 ÇÏ´Ï¸Æ °³¹ßÆÀ.

;;;==================================================================
;;; ÇÑÀÚ °Ë»ö

(defvar hanja-map nil)
(defvar hanja-index 0)
(defvar hanja-vector nil)
(defvar hanja-wanted 0)
(defvar hanja-append-mode nil)
(defvar hanja-buffer-lock nil)
(defvar hanja-hangul-mode nil)
(defvar old-buffer nil)

(global-set-key "\C-cs" 'split-hanja-window)
(global-set-key "\C-cd" 'delete-hanja-window)
;(global-set-key [f9] 'split-hanja-window)
;(global-set-key [f8] 'delete-hanja-window)

(defun delete-hanja-window ()
  (interactive)
  (if hanja-buffer-lock
      (progn
	(set-buffer " *Hanja*")
	(setq hanja-wanted (buffer-substring (point) (+ (point) 2)))
	(save-excursion
	  (set-buffer old-buffer)
	  (if hanja-append-mode
	      (progn
		(if (not hanja-hangul-mode)
		    (goto-char (+ (point) 2))) ; ÇÑ±Û ÇÑ ÀÚ ¾ÕÀ¸·Î ÀÌµ¿
		(insert hanja-wanted))
	    (progn
	      (if hanja-hangul-mode
		  (goto-char (- (point) 2))) ; ÇÑ±Û ÇÑ ÀÚ µÚ·Î ÀÌµ¿
	      (insert hanja-wanted)
	      (delete-region (point) (+ (point) 2))))
	  (delete-windows-on " *Hanja*")
	  (setq hanja-buffer-lock nil
		hanja-hangul-mode nil)
	  (let ((bufname (buffer-name old-buffer)))
	    (if (and (>= (length bufname) 10) 
		     (string=  (substring bufname 0 10) " *Minibuf-"))
		(switch-to-buffer-other-window old-buffer)
	      (switch-to-buffer old-buffer))))))
)

(defun cancel-hanja-window (message)
  (if hanja-buffer-lock
      (progn
	(delete-windows-on " *Hanja*")
	(set-buffer old-buffer)
	(setq hanja-buffer-lock nil
	      hanja-hangul-mode nil)
	(let ((bufname (buffer-name old-buffer)))
	  (if (and (>= (length bufname) 10) 
		   (string=  (substring bufname 0 10) " *Minibuf-"))
	      (switch-to-buffer-other-window old-buffer)
	    (switch-to-buffer old-buffer)))))
  (error message)
)

(defun split-hanja-window ()
  (interactive)
  (if hanja-buffer-lock
      (cancel-hanja-window "Hanja buffer was canceled..."))
  (let ((hankey nil)
        (len 0) (quot 0) (rem 1))
    (if (and (= han-kbd-state 1) 
	     (/= han-code-state 0)
	     (string= last-command "self-insert-command"))
	(setq hankey (buffer-substring (- (point) 2) (point))
	      hanja-hangul-mode t
	      han-code-state 0)
      (setq hankey (buffer-substring (point) (+ (point) 2))))
    (setq old-buffer (current-buffer))
    (save-excursion
      (set-buffer (get-buffer-create " *Hanja*"))
      (setq buffer-read-only nil
            hanja-vector nil
            hanja-buffer-lock t)
      (erase-buffer)
      (if (> (aref hankey 0) 128)
          (find-hanja-vector hankey)
	(cancel-hanja-window "Matching characters are not hangul..."))
      (if (not hanja-vector)
	  (cancel-hanja-window "Matching hanja does not exist..."))
      (setq len (length hanja-vector) 
            quot (/ len 10) rem (mod len 10))
      
      ;; ÇÑÀÚ º¤ÅÍ¸¦ À©µµ¿ì¿¡ Ãâ·Â
      (let ((start 0) (end  10) (word nil))
        (while (> quot 0)
          (setq word (substring hanja-vector start end))
          (insert (concat "\n " word))
          (setq start (+ start 10) end (+ end 10) quot (- quot 1)))
        (if (= rem 0)
            nil
          (setq word (substring hanja-vector start))
          (insert (concat "\n " word))))
      
      (setq buffer-read-only t)
      ;(goto-char (+ (point-min) 2))
      (switch-to-buffer-other-window " *Hanja*")
      (beginning-of-buffer)
      (forward-char 2)))
)

;; binary search¸¦ ÀÌ¿ëÇÑ ÇÑÀÚ °Ë»ö
(defun find-hanja-vector (hankey)
  (let* ((upper-bound 473)
         (hanja-index 236)
         (lower-bound   0)
         (hanja-key   nil)
         (hanja-vec   nil)
         (find-exaustive nil))
    (while (not (or hanja-vec find-exaustive))
      (setq hanja-key (car (aref hanja-map hanja-index)))
      (if (string= hankey hanja-key) ; ¿øÇÏ´Â ÇÑÀÚÀ½À» Ã£¾ÒÀ½
          (setq hanja-vec (car (cdr (aref hanja-map hanja-index))))
        (if (= hanja-index lower-bound) ; ÇÑÀÚ ¸ÊÀ» ¸ðµÎ »ìÆì º¸¾ÒÀ½
            (setq find-exaustive t)
          (progn
            (if (string< hankey hanja-key)
                (setq upper-bound hanja-index)
              (setq lower-bound (+ hanja-index 1)))
            (let* ((bound-sum (+ upper-bound lower-bound)))
              (if (= 0 (mod bound-sum 2))
                  (setq hanja-index (/ bound-sum 2))
                (setq hanja-index (/ (- bound-sum 1) 2)))))))
      (if (or (>= hanja-index upper-bound)
              (< hanja-index lower-bound))
          (setq find-exaustive t)))
    (setq hanja-vector hanja-vec))
)

; sequential search¸¦ ÀÌ¿ëÇÑ ÇÑÀÚ °Ë»ö
; (defun find-hanja-vector (hankey)
;  (let* ((hanja-index 0)
;        (hanja-vec nil))
;    (while (and (< hanja-index 474) (not hanja-vec))
;      (if (string= hankey (car (aref hanja-map hanja-index)))
;         (setq hanja-vec (cdr (aref hanja-map hanja-index)))
;       (setq hanja-index (+ 1 hanja-index))))
;    (setq hanja-vector hanja-vec))
; )

;;;==================================================================
;;; ÇÑÀÚ µî·Ï

(defun define-hanja-map (hankey hanja-vec)
  (if (not hanja-map)
      (setq hanja-map (make-vector 473 nil)))
  (aset hanja-map hanja-index (list hankey hanja-vec))
  (setq hanja-index (+ 1 hanja-index))
)

(define-hanja-map "°¡"  "Ê¡Ê¢Ê£Ê¤Ê¥Ê¦Ê§Ê¨Ê©ÊªÊ«Ê¬Ê­Ê®Ê¯Ê°Ê±Ê²Ê³Ê´ÊµÊ¶Ê·Ê¸Ê¹ÊºÊ»Ê¼Ê½")
(define-hanja-map "°¢"  "Ê¾Ê¿ÊÀÊÁÊÂÊÃÊÄÊÅÊÆÊÇÊÈ")
(define-hanja-map "°£"  "ÊÉÊÊÊËÊÌÊÍÊÎÊÏÊÐÊÑÊÒÊÓÊÔÊÕÊÖÊ×ÊØÊÙÊÚÊÛÊÜÊÝÊÞÊßÊà")
(define-hanja-map "°¥"  "ÊáÊâÊãÊäÊåÊæÊçÊèÊéÊê")
(define-hanja-map "°¨"  "ÊëÊìÊíÊîÊïÊðÊñÊòÊóÊôÊõÊöÊ÷ÊøÊùÊúÊûÊüÊýÊþ")

(define-hanja-map "°©"  "Ë¡Ë¢Ë£Ë¤Ë¥Ë¦")
(define-hanja-map "°­"  "Ë§Ë¨Ë©ËªË«Ë¬Ë­Ë®Ë¯Ë°Ë±Ë²Ë³Ë´ËµË¶Ë·Ë¸Ë¹ËºË»Ë¼Ë½Ë¾")
(define-hanja-map "°³"  "Ë¿ËÀËÁËÂËÃËÄËÅËÆËÇËÈËÉËÊËËËÌËÍËÎËÏËÐËÑËÒ")
(define-hanja-map "°´"  "ËÓËÔ")
(define-hanja-map "°»"  "ËÕËÖË×ËØ")
(define-hanja-map "°½"  "ËÙ")
(define-hanja-map "°Å"  "ËÚËÛËÜËÝËÞËßËàËáËâËãËäËåËæËçËèËéËê")
(define-hanja-map "°Ç"  "ËëËìËíËîËïËðËñËòËóËôËõËö")
(define-hanja-map "°É"  "Ë÷ËøËùËú")
(define-hanja-map "°Ë"  "ËûËüËýËþÌ¡Ì¢Ì£")

(define-hanja-map "°Ì"  "Ì¤Ì¥Ì¦")
(define-hanja-map "°Ô"  "Ì§Ì¨Ì©")
(define-hanja-map "°Ý"  "ÌªÌ«Ì¬Ì­Ì®Ì¯Ì°")
(define-hanja-map "°ß"  "Ì±Ì²Ì³Ì´ÌµÌ¶Ì·Ì¸Ì¹ÌºÌ»")
(define-hanja-map "°á"  "Ì¼Ì½Ì¾Ì¿ÌÀÌÁ")
(define-hanja-map "°â"  "ÌÂÌÃÌÄÌÅÌÆÌÇ")
(define-hanja-map "°æ"  "ÌÈÌÉÌÊÌËÌÌÌÍÌÎÌÏÌÐÌÑÌÒÌÓÌÔÌÕÌÖÌ×ÌØÌÙÌÚÌÛÌÜÌÝÌÞÌßÌàÌáÌâÌãÌäÌåÌæÌçÌèÌéÌêÌëÌìÌíÌîÌïÌðÌñÌòÌóÌô")
(define-hanja-map "°è"  "ÌõÌöÌ÷ÌøÌùÌúÌûÌüÌýÌþÍ¡Í¢Í£Í¤Í¥Í¦Í§Í¨Í©ÍªÍ«Í¬Í­Í®")

(define-hanja-map "°í"  "Í¯Í°Í±Í²Í³Í´ÍµÍ¶Í·Í¸Í¹ÍºÍ»Í¼Í½Í¾Í¿ÍÀÍÁÍÂÍÃÍÄÍÅÍÆÍÇÍÈÍÉÍÊÍËÍÌÍÍÍÎÍÏÍÐÍÑÍÒÍÓÍÔÍÕ")
(define-hanja-map "°î"  "ÍÖÍ×ÍØÍÙÍÚÍÛÍÜ")
(define-hanja-map "°ï"  "ÍÝÍÞÍßÍàÍáÍâÍãÍäÍåÍæ")
(define-hanja-map "°ñ"  "ÍçÍèÍé")
(define-hanja-map "°ø"  "ÍêÍëÍìÍíÍîÍïÍðÍñÍòÍóÍôÍõÍöÍ÷ÍøÍù")
(define-hanja-map "°ù"  "Íú")
(define-hanja-map "°ú"  "ÍûÍüÍýÍþÎ¡Î¢Î£Î¤Î¥Î¦Î§Î¨")

(define-hanja-map "°û"  "Î©ÎªÎ«Î¬")
(define-hanja-map "°ü"  "Î­Î®Î¯Î°Î±Î²Î³Î´ÎµÎ¶Î·Î¸Î¹ÎºÎ»Î¼Î½")
(define-hanja-map "°ý"  "Î¾Î¿ÎÀÎÁ")
(define-hanja-map "±¤"  "ÎÂÎÃÎÄÎÅÎÆÎÇÎÈÎÉÎÊÎËÎÌÎÍÎÎ")
(define-hanja-map "±¥"  "ÎÏÎÐÎÑ")
(define-hanja-map "±«"  "ÎÒÎÓÎÔÎÕÎÖÎ×ÎØÎÙÎÚ")
(define-hanja-map "±²"  "ÎÛÎÜÎÝÎÞ")
(define-hanja-map "±³"  "ÎßÎàÎáÎâÎãÎäÎåÎæÎçÎèÎéÎêÎëÎìÎíÎîÎïÎðÎñÎòÎóÎôÎõÎöÎ÷")
(define-hanja-map "±¸"  "ÎøÎùÎúÎûÎüÎýÎþÏ¡Ï¢Ï£Ï¤Ï¥Ï¦Ï§Ï¨Ï©ÏªÏ«Ï¬Ï­Ï®Ï¯Ï°Ï±Ï²Ï³Ï´ÏµÏ¶Ï·Ï¸Ï¹ÏºÏ»Ï¼Ï½Ï¾Ï¿ÏÀÏÁÏÂÏÃÏÄÏÅÏÆÏÇÏÈÏÉÏÊÏËÏÌÏÍÏÎÏÏ")

(define-hanja-map "±¹"  "ÏÐÏÑÏÒÏÓÏÔÏÕ")
(define-hanja-map "±º"  "ÏÖÏ×ÏØÏÙÏÚÏÛ")
(define-hanja-map "±¼"  "ÏÜÏÝÏÞÏß")
(define-hanja-map "±Ã"  "ÏàÏáÏâÏãÏäÏå")
(define-hanja-map "±Ç"  "ÏæÏçÏèÏéÏêÏëÏìÏíÏîÏï")
(define-hanja-map "±È"  "ÏðÏñÏòÏóÏô")
(define-hanja-map "±Ë"  "ÏõÏöÏ÷ÏøÏùÏú")
(define-hanja-map "±Í"  "ÏûÏüÏýÏþÐ¡Ð¢")

(define-hanja-map "±Ô"  "Ð£Ð¤Ð¥Ð¦Ð§Ð¨Ð©ÐªÐ«Ð¬Ð­Ð®Ð¯Ð°Ð±")
(define-hanja-map "±Õ"  "Ð²Ð³Ð´ÐµÐ¶Ð·Ð¸")
(define-hanja-map "±Ö"  "Ð¹")
(define-hanja-map "±Ø"  "ÐºÐ»Ð¼Ð½Ð¾Ð¿ÐÀ")
(define-hanja-map "±Ù"  "ÐÁÐÂÐÃÐÄÐÅÐÆÐÇÐÈÐÉÐÊÐËÐÌÐÍÐÎÐÏ")
(define-hanja-map "±Û"  "ÐÐ")
(define-hanja-map "±Ý"  "ÐÑÐÒÐÓÐÔÐÕÐÖÐ×ÐØÐÙÐÚÐÛÐÜÐÝÐÞ")
(define-hanja-map "±Þ"  "ÐßÐàÐáÐâÐãÐäÐå")
(define-hanja-map "±à"  "ÐæÐçÐèÐé")
(define-hanja-map "±â"  "ÐêÐëÐìÐíÐîÐïÐðÐñÐòÐóÐôÐõÐöÐ÷ÐøÐùÐúÐûÐüÐýÐþÑ¡Ñ¢Ñ£Ñ¤Ñ¥Ñ¦Ñ§Ñ¨Ñ©ÑªÑ«Ñ¬Ñ­Ñ®Ñ¯Ñ°Ñ±Ñ²Ñ³Ñ´ÑµÑ¶Ñ·Ñ¸Ñ¹ÑºÑ»Ñ¼Ñ½Ñ¾Ñ¿ÑÀÑÁÑÂÑÃÑÄÑÅÑÆÑÇÑÈÑÉÑÊÑË")

(define-hanja-map "±ä"  "ÑÌ")
(define-hanja-map "±æ"  "ÑÍÑÎÑÏÑÐ")
(define-hanja-map "±è"  "ÑÑ")
(define-hanja-map "³£"  "ÑÒ")
(define-hanja-map "³ª"  "ÑÓÑÔÑÕÑÖÑ×ÑØÑÙÑÚÑÛÑÜÑÝÑÞÑßÑàÑá")
(define-hanja-map "³«"  "ÑâÑãÑäÑåÑæÑçÑèÑé")
(define-hanja-map "³­"  "ÑêÑëÑìÑíÑîÑïÑðÑñÑò")
(define-hanja-map "³¯"  "ÑóÑô")
(define-hanja-map "³²"  "ÑõÑöÑ÷ÑøÑùÑúÑûÑüÑý")
(define-hanja-map "³³"  "ÑþÒ¡Ò¢Ò£Ò¤")

(define-hanja-map "³¶"  "Ò¥Ò¦Ò§Ò¨Ò©ÒªÒ«")
(define-hanja-map "³»"  "Ò¬Ò­Ò®Ò¯Ò°Ò±")
(define-hanja-map "³Ã"  "Ò²")
(define-hanja-map "³à"  "Ò³")
(define-hanja-map "³â"  "Ò´ÒµÒ¶")
(define-hanja-map "³ä"  "Ò·Ò¸Ò¹Òº")
(define-hanja-map "³ç"  "Ò»Ò¼")
(define-hanja-map "³ë"  "Ò½Ò¾Ò¿ÒÀÒÁÒÂÒÃÒÄÒÅÒÆÒÇÒÈÒÉÒÊÒËÒÌÒÍÒÎ")
(define-hanja-map "³ì"  "ÒÏÒÐÒÑÒÒÒÓÒÔ")
(define-hanja-map "³í"  "ÒÕ")
(define-hanja-map "³ó"  "ÒÖÒ×ÒØÒÙÒÚÒÛÒÜ")
(define-hanja-map "³ú"  "ÒÝÒÞÒßÒàÒáÒâ")
(define-hanja-map "´¢"  "Òã")
(define-hanja-map "´©"  "ÒäÒåÒæÒçÒèÒéÒêÒë")
(define-hanja-map "´«"  "Òì")
(define-hanja-map "´­"  "Òí")
(define-hanja-map "´º"  "ÒîÒï")
(define-hanja-map "´Á"  "ÒðÒñ")
(define-hanja-map "´Æ"  "Òò")
(define-hanja-map "´É"  "ÒóÒôÒõÒöÒ÷Òø")
(define-hanja-map "´Ï"  "ÒùÒú")
(define-hanja-map "´Ð"  "ÒûÒü")
(define-hanja-map "´Ù"  "ÒýÒþ")

(define-hanja-map "´Ü"  "Ó¡Ó¢Ó£Ó¤Ó¥Ó¦Ó§Ó¨Ó©ÓªÓ«Ó¬Ó­Ó®Ó¯Ó°Ó±Ó²Ó³Ó´")
(define-hanja-map "´Þ"  "ÓµÓ¶Ó·Ó¸Ó¹")
(define-hanja-map "´ã"  "ÓºÓ»Ó¼Ó½Ó¾Ó¿ÓÀÓÁÓÂÓÃÓÄÓÅÓÆÓÇÓÈÓÉÓÊ")
(define-hanja-map "´ä"  "ÓËÓÌÓÍÓÎÓÏ")
(define-hanja-map "´ç"  "ÓÐÓÑÓÒÓÓÓÔÓÕÓÖÓ×ÓØÓÙÓÚ")
(define-hanja-map "´ë"  "ÓÛÓÜÓÝÓÞÓßÓàÓáÓâÓãÓäÓåÓæÓçÓèÓéÓê")
(define-hanja-map "´ì"  "Óë")
(define-hanja-map "´ö"  "ÓìÓí")
(define-hanja-map "µµ"  "ÓîÓïÓðÓñÓòÓóÓôÓõÓöÓ÷ÓøÓùÓúÓûÓüÓýÓþÔ¡Ô¢Ô£Ô¤Ô¥Ô¦Ô§Ô¨Ô©ÔªÔ«Ô¬Ô­Ô®Ô¯Ô°Ô±Ô²Ô³Ô´ÔµÔ¶Ô·")

(define-hanja-map "µ¶"  "Ô¸Ô¹ÔºÔ»Ô¼Ô½Ô¾Ô¿ÔÀÔÁ")
(define-hanja-map "µ·"  "ÔÂÔÃÔÄÔÅÔÆÔÇÔÈÔÉÔÊÔË")
(define-hanja-map "µ¹"  "ÔÌÔÍ")
(define-hanja-map "µ¿"  "ÔÎÔÏÔÐÔÑÔÒÔÓÔÔÔÕÔÖÔ×ÔØÔÙÔÚÔÛÔÜÔÝÔÞ")
(define-hanja-map "µÎ"  "ÔßÔàÔáÔâÔãÔäÔåÔæÔçÔèÔé")
(define-hanja-map "µÐ"  "ÔêÔëÔìÔíÔîÔï")
(define-hanja-map "µæ"  "Ôð")
(define-hanja-map "µî"  "ÔñÔòÔóÔôÔõÔöÔ÷ÔøÔù")
(define-hanja-map "¶ó"  "ÔúÔûÔüÔýÔþÕ¡Õ¢Õ£Õ¤")

(define-hanja-map "¶ô"  "Õ¥Õ¦Õ§Õ¨Õ©ÕªÕ«Õ¬Õ­")
(define-hanja-map "¶õ"  "Õ®Õ¯Õ°Õ±Õ²Õ³Õ´ÕµÕ¶")
(define-hanja-map "¶ö"  "Õ·Õ¸")
(define-hanja-map "¶÷"  "Õ¹ÕºÕ»Õ¼Õ½Õ¾Õ¿ÕÀÕÁÕÂ")
(define-hanja-map "¶ø"  "ÕÃÕÄÕÅ")
(define-hanja-map "¶û"  "ÕÆÕÇÕÈÕÉÕÊÕËÕÌÕÍ")
(define-hanja-map "·¡"  "ÕÎÕÏÕÐÕÑ")
(define-hanja-map "·©"  "ÕÒ")
(define-hanja-map "·«"  "ÕÓÕÔ")
(define-hanja-map "·®"  "ÕÕÕÖÕ×ÕØÕÙÕÚÕÛÕÜÕÝÕÞÕßÕàÕá")
(define-hanja-map "·Á"  "ÕâÕãÕäÕåÕæÕçÕèÕéÕêÕëÕìÕíÕîÕïÕðÕñÕòÕó")
(define-hanja-map "·Â"  "ÕôÕõÕöÕ÷ÕøÕùÕú")
(define-hanja-map "·Ã"  "ÕûÕüÕýÕþÖ¡Ö¢Ö£Ö¤Ö¥Ö¦Ö§Ö¨")

(define-hanja-map "·Ä"  "Ö©ÖªÖ«Ö¬Ö­Ö®")
(define-hanja-map "·Å"  "Ö¯Ö°Ö±Ö²Ö³")
(define-hanja-map "·Æ"  "Ö´")
(define-hanja-map "·É"  "ÖµÖ¶Ö·Ö¸Ö¹ÖºÖ»Ö¼Ö½Ö¾Ö¿ÖÀÖÁÖÂÖÃÖÄÖÅÖÆ")
(define-hanja-map "·Ê"  "ÖÇÖÈÖÉÖÊÖË")
(define-hanja-map "·Î"  "ÖÌÖÍÖÎÖÏÖÐÖÑÖÒÖÓÖÔÖÕÖÖÖ×ÖØÖÙÖÚÖÛÖÜÖÝ")
(define-hanja-map "·Ï"  "ÖÞÖßÖàÖáÖâÖãÖä")
(define-hanja-map "·Ð"  "Öå")
(define-hanja-map "·Õ"  "ÖæÖçÖèÖéÖêÖëÖì")
(define-hanja-map "·Ú"  "ÖíÖîÖïÖðÖñÖòÖóÖô")
(define-hanja-map "·á"  "ÖõÖöÖ÷ÖøÖùÖúÖûÖüÖýÖþ×¡×¢")

(define-hanja-map "·æ"  "×£")
(define-hanja-map "·ç"  "×¤×¥×¦×§×¨×©×ª×«×¬×­×®×¯×°")
(define-hanja-map "·ù"  "×±×²×³×´×µ×¶×·×¸×¹×º×»×¼×½×¾")
(define-hanja-map "·ú"  "×¿×À×Á")
(define-hanja-map "·û"  "×Â×Ã×Ä×Å×Æ×Ç")
(define-hanja-map "·ü"  "×È×É×Ê×Ë")
(define-hanja-map "¸¢"  "×Ì")
(define-hanja-map "¸¤"  "×Í×Î")
(define-hanja-map "¸§"  "×Ï")
(define-hanja-map "¸ª"  "×Ð×Ñ×Ò×Ó×Ô×Õ")
(define-hanja-map "¸®"  "×Ö×××Ø×Ù×Ú×Û×Ü×Ý×Þ×ß×à×á×â×ã×ä×å×æ×ç×è×é×ê×ë×ì×í×î×ï")
(define-hanja-map "¸°"  "×ð×ñ×ò×ó×ô×õ×ö×÷×ø")
(define-hanja-map "¸²"  "×ù×ú×û×ü×ý")
(define-hanja-map "¸³"  "×þØ¡Ø¢Ø£")

(define-hanja-map "¸¶"  "Ø¤Ø¥Ø¦Ø§Ø¨Ø©ØªØ«")
(define-hanja-map "¸·"  "Ø¬Ø­Ø®Ø¯Ø°Ø±")
(define-hanja-map "¸¸"  "Ø²Ø³Ø´ØµØ¶Ø·Ø¸Ø¹ØºØ»Ø¼Ø½Ø¾Ø¿ØÀØÁØÂØÃØÄ")
(define-hanja-map "¸»"  "ØÅØÆØÇØÈØÉØÊØË")
(define-hanja-map "¸Á"  "ØÌØÍØÎØÏØÐØÑØÒØÓØÔØÕØÖØ×")
(define-hanja-map "¸Å"  "ØØØÙØÚØÛØÜØÝØÞØßØàØáØâØãØäØå")
(define-hanja-map "¸Æ"  "ØæØçØèØéØê")
(define-hanja-map "¸Í"  "ØëØìØíØîØïØð")
(define-hanja-map "¸è"  "ØñØò")
(define-hanja-map "¸é"  "ØóØôØõØöØ÷ØøØùØúØûØüØý")
(define-hanja-map "¸ê"  "ØþÙ¡")

(define-hanja-map "¸í"  "Ù¢Ù£Ù¤Ù¥Ù¦Ù§Ù¨Ù©ÙªÙ«Ù¬Ù­Ù®Ù¯Ù°")
(define-hanja-map "¸ï"  "Ù±")
(define-hanja-map "¸ð"  "Ù²Ù³Ù´ÙµÙ¶Ù·Ù¸Ù¹ÙºÙ»Ù¼Ù½Ù¾Ù¿ÙÀÙÁÙÂÙÃÙÄÙÅÙÆÙÇÙÈÙÉ")
(define-hanja-map "¸ñ"  "ÙÊÙËÙÌÙÍÙÎÙÏÙÐ")
(define-hanja-map "¸ô"  "ÙÑÙÒ")
(define-hanja-map "¸ù"  "ÙÓÙÔÙÕ")
(define-hanja-map "¹¦"  "ÙÖÙ×ÙØÙÙÙÚÙÛÙÜÙÝÙÞÙßÙàÙá")
(define-hanja-map "¹«"  "ÙâÙãÙäÙåÙæÙçÙèÙéÙêÙëÙìÙíÙîÙïÙðÙñÙòÙóÙôÙõÙöÙ÷")
(define-hanja-map "¹¬"  "ÙøÙù")
(define-hanja-map "¹®"  "ÙúÙûÙüÙýÙþÚ¡Ú¢Ú£Ú¤Ú¥Ú¦Ú§")

(define-hanja-map "¹°"  "Ú¨Ú©Úª")
(define-hanja-map "¹Ì"  "Ú«Ú¬Ú­Ú®Ú¯Ú°Ú±Ú²Ú³Ú´ÚµÚ¶Ú·Ú¸Ú¹ÚºÚ»Ú¼Ú½")
(define-hanja-map "¹Î"  "Ú¾Ú¿ÚÀÚÁÚÂÚÃÚÄÚÅÚÆÚÇÚÈÚÉÚÊ")
(define-hanja-map "¹Ð"  "ÚËÚÌÚÍ")
(define-hanja-map "¹Ú"  "ÚÎÚÏÚÐÚÑÚÒÚÓÚÔÚÕÚÖÚ×ÚØÚÙÚÚÚÛÚÜÚÝÚÞÚßÚà")
(define-hanja-map "¹Ý"  "ÚáÚâÚãÚäÚåÚæÚçÚèÚéÚêÚëÚìÚíÚîÚïÚðÚñÚòÚóÚôÚõÚöÚ÷ÚøÚù")
(define-hanja-map "¹ß"  "ÚúÚûÚüÚýÚþÛ¡Û¢Û£Û¤Û¥Û¦")

(define-hanja-map "¹æ"  "Û§Û¨Û©ÛªÛ«Û¬Û­Û®Û¯Û°Û±Û²Û³Û´ÛµÛ¶Û·Û¸Û¹ÛºÛ»Û¼Û½Û¾Û¿ÛÀÛÁÛÂ")
(define-hanja-map "¹è"  "ÛÃÛÄÛÅÛÆÛÇÛÈÛÉÛÊÛËÛÌÛÍÛÎÛÏÛÐÛÑÛÒÛÓÛÔÛÕÛÖ")
(define-hanja-map "¹é"  "Û×ÛØÛÙÛÚÛÛÛÜÛÝÛÞ")
(define-hanja-map "¹ø"  "ÛßÛàÛáÛâÛãÛäÛåÛæÛçÛè")
(define-hanja-map "¹ú"  "ÛéÛêÛëÛì")
(define-hanja-map "¹ü"  "ÛíÛîÛïÛðÛñÛòÛóÛôÛõ")
(define-hanja-map "¹ý"  "ÛöÛ÷")
(define-hanja-map "º®"  "ÛøÛùÛúÛûÛüÛýÛþÜ¡Ü¢Ü£Ü¤")

(define-hanja-map "º¯"  "Ü¥Ü¦Ü§Ü¨Ü©ÜªÜ«")
(define-hanja-map "º°"  "Ü¬Ü­Ü®Ü¯")
(define-hanja-map "º´"  "Ü°Ü±Ü²Ü³Ü´ÜµÜ¶Ü·Ü¸Ü¹ÜºÜ»Ü¼Ü½Ü¾Ü¿ÜÀ")
(define-hanja-map "º¸"  "ÜÁÜÂÜÃÜÄÜÅÜÆÜÇÜÈÜÉÜÊÜËÜÌÜÍÜÎÜÏÜÐ")
(define-hanja-map "º¹"  "ÜÑÜÒÜÓÜÔÜÕÜÖÜ×ÜØÜÙÜÚÜÛÜÜÜÝÜÞÜßÜàÜá")
(define-hanja-map "º»"  "Üâ")
(define-hanja-map "º¼"  "Üã")
(define-hanja-map "ºÀ"  "ÜäÜåÜæÜçÜèÜéÜêÜëÜìÜíÜîÜïÜðÜñÜòÜó")
(define-hanja-map "ºÎ"  "ÜôÜõÜöÜ÷ÜøÜùÜúÜûÜüÜýÜþÝ¡Ý¢Ý£Ý¤Ý¥Ý¦Ý§Ý¨Ý©ÝªÝ«Ý¬Ý­Ý®Ý¯Ý°Ý±Ý²Ý³Ý´ÝµÝ¶Ý·Ý¸Ý¹ÝºÝ»Ý¼Ý½Ý¾Ý¿ÝÀ")

(define-hanja-map "ºÏ"  "ÝÁ")
(define-hanja-map "ºÐ"  "ÝÂÝÃÝÄÝÅÝÆÝÇÝÈÝÉÝÊÝËÝÌÝÍÝÎÝÏÝÐÝÑÝÒÝÓÝÔ")
(define-hanja-map "ºÒ"  "ÝÕÝÖÝ×ÝØÝÙ")
(define-hanja-map "ºØ"  "ÝÚÝÛÝÜÝÝÝÞÝß")
(define-hanja-map "ºñ"  "ÝàÝáÝâÝãÝäÝåÝæÝçÝèÝéÝêÝëÝìÝíÝîÝïÝðÝñÝòÝóÝôÝõÝöÝ÷ÝøÝùÝúÝûÝüÝýÝþÞ¡Þ¢Þ£Þ¤Þ¥Þ¦Þ§Þ¨Þ©ÞªÞ«Þ¬")

(define-hanja-map "ºó"  "Þ­Þ®Þ¯Þ°Þ±Þ²Þ³Þ´ÞµÞ¶Þ·Þ¸Þ¹Þº")
(define-hanja-map "ºù"  "Þ»Þ¼Þ½Þ¾")
(define-hanja-map "»ç"  "Þ¿ÞÀÞÁÞÂÞÃÞÄÞÅÞÆÞÇÞÈÞÉÞÊÞËÞÌÞÍÞÎÞÏÞÐÞÑÞÒÞÓÞÔÞÕÞÖÞ×ÞØÞÙÞÚÞÛÞÜÞÝÞÞÞßÞàÞáÞâÞãÞäÞåÞæÞçÞèÞéÞêÞëÞìÞíÞîÞïÞðÞñÞòÞóÞôÞõÞöÞ÷ÞøÞùÞú")
(define-hanja-map "»è"  "ÞûÞüÞýÞþ")

(define-hanja-map "»ê"  "ß¡ß¢ß£ß¤ß¥ß¦ß§ß¨ß©ßªß«ß¬")
(define-hanja-map "»ì"  "ß­ß®ß¯ß°ß±")
(define-hanja-map "»ï"  "ß²ß³ß´ßµß¶ß·ß¸ß¹")
(define-hanja-map "»ð"  "ßºß»ß¼ß½")
(define-hanja-map "»ó"  "ß¾ß¿ßÀßÁßÂßÃßÄßÅßÆßÇßÈßÉßÊßËßÌßÍßÎßÏßÐßÑßÒßÓßÔßÕßÖß×ßØßÙßÚßÛßÜ")
(define-hanja-map "»õ"  "ßÝßÞßß")
(define-hanja-map "»ö"  "ßàßáßâßãßä")
(define-hanja-map "»ý"  "ßåßæßçßèßé")
(define-hanja-map "¼­"  "ßêßëßìßíßîßïßðßñßòßóßôßõßöß÷ßøßùßúßûßüßýßþà¡à¢à£à¤à¥à¦à§à¨à©")
(define-hanja-map "¼®"  "àªà«à¬à­à®à¯à°à±à²à³à´àµà¶à·à¸")
(define-hanja-map "¼±"  "à¹àºà»à¼à½à¾à¿àÀàÁàÂàÃàÄàÅàÆàÇàÈàÉàÊàËàÌàÍàÎàÏàÐàÑàÒàÓàÔàÕàÖà×àØ")
(define-hanja-map "¼³"  "àÙàÚàÛàÜàÝàÞàßàààáàâàãàäàå")
(define-hanja-map "¼¶"  "àæàçàèàéàêàëàìàí")
(define-hanja-map "¼·"  "àîàïàðàñ")
(define-hanja-map "¼º"  "àòàóàôàõàöà÷àøàùàúàûàüàýàþá¡á¢á£á¤á¥")

(define-hanja-map "¼¼"  "á¦á§á¨á©áªá«á¬á­á®")
(define-hanja-map "¼Ò"  "á¯á°á±á²á³á´áµá¶á·á¸á¹áºá»á¼á½á¾á¿áÀáÁáÂáÃáÄáÅáÆáÇáÈáÉáÊáËáÌáÍáÎáÏáÐáÑáÒáÓ")
(define-hanja-map "¼Ó"  "áÔáÕáÖá×áØáÙáÚáÛáÜ")
(define-hanja-map "¼Õ"  "áÝáÞáßáàáááâ")
(define-hanja-map "¼Ö"  "áã")
(define-hanja-map "¼Û"  "áäáåáæáçáèáéáêáë")
(define-hanja-map "¼â"  "áìáíáîáïáð")
(define-hanja-map "¼è"  "áñáò")
(define-hanja-map "¼ö"  "áóáôáõáöá÷áøáùáúáûáüáýáþâ¡â¢â£â¤â¥â¦â§â¨â©âªâ«â¬â­â®â¯â°â±â²â³â´âµâ¶â·â¸â¹âºâ»â¼â½â¾â¿âÀâÁâÂâÃâÄâÅâÆâÇâÈâÉâÊâËâÌâÍâÎâÏâÐâÑ")
(define-hanja-map "¼÷"  "âÒâÓâÔâÕâÖâ×âØâÙâÚâÛâÜâÝ")
(define-hanja-map "¼ø"  "âÞâßâàâáâââãâäâåâæâçâèâéâêâëâìâíâîâïâðâñâòâóâôâõâöâ÷âø")
(define-hanja-map "¼ú"  "âùâúâûâü")
(define-hanja-map "¼þ"  "âýâþã¡")

(define-hanja-map "½½"  "ã¢ã£ã¤")
(define-hanja-map "½À"  "ã¥ã¦ã§ã¨ã©")
(define-hanja-map "½Â"  "ãªã«ã¬ã­ã®ã¯ã°ã±ã²ã³")
(define-hanja-map "½Ã"  "ã´ãµã¶ã·ã¸ã¹ãºã»ã¼ã½ã¾ã¿ãÀãÁãÂãÃãÄãÅãÆãÇãÈãÉãÊãËãÌãÍãÎãÏ")
(define-hanja-map "½Ä"  "ãÐãÑãÒãÓãÔãÕãÖã×ãØãÙãÚãÛãÜãÝãÞ")
(define-hanja-map "½Å"  "ãßãàãáãâãããäãåãæãçãèãéãêãëãìãíãîãïãðãñãòãóãôãõãö")
(define-hanja-map "½Ç"  "ã÷ãøãùãú")
(define-hanja-map "½É"  "ãûãüãýãþä¡ä¢ä£ä¤ä¥ä¦")
(define-hanja-map "½Ê"  "ä§ä¨ä©")
(define-hanja-map "½Ö"  "äª")
(define-hanja-map "¾¾"  "ä«")
(define-hanja-map "¾Æ"  "ä¬ä­ä®ä¯ä°ä±ä²ä³ä´äµä¶ä·ä¸ä¹äºä»ä¼ä½")
(define-hanja-map "¾Ç"  "ä¾ä¿äÀäÁäÂäÃäÄäÅäÆäÇäÈäÉäÊäË")
(define-hanja-map "¾È"  "äÌäÍäÎäÏäÐäÑäÒäÓäÔäÕ")
(define-hanja-map "¾Ë"  "äÖä×äØäÙ")
(define-hanja-map "¾Ï"  "äÚäÛäÜäÝäÞäßäàäá")
(define-hanja-map "¾Ð"  "äâäãäääå")
(define-hanja-map "¾Ó"  "äæäçäèäéäêäëäì")
(define-hanja-map "¾Ö"  "äíäîäïäðäñäòäóäôäõäöä÷")
(define-hanja-map "¾×"  "äøäùäúäûäüäýäþ")

(define-hanja-map "¾Þ"  "å¡å¢å£å¤")
(define-hanja-map "¾ß"  "å¥å¦å§å¨å©åªå«å¬å­å®å¯")
(define-hanja-map "¾à"  "å°å±å²å³å´åµå¶å·å¸")
(define-hanja-map "¾ç"  "å¹åºå»å¼å½å¾å¿åÀåÁåÂåÃåÄåÅåÆåÇåÈåÉåÊåËåÌåÍåÎåÏåÐåÑåÒåÓåÔåÕåÖå×")
(define-hanja-map "¾î"  "åØåÙåÚåÛåÜåÝåÞåßåàåá")
(define-hanja-map "¾ï"  "åâåãåäåååæ")
(define-hanja-map "¾ð"  "åçåèåéåêåëåì")
(define-hanja-map "¾ó"  "åíåî")
(define-hanja-map "¾ö"  "åïåðåñåòåóåô")
(define-hanja-map "¾÷"  "åõåö")
(define-hanja-map "¿£"  "å÷")
(define-hanja-map "¿©"  "åøåùåúåûåüåýåþæ¡æ¢æ£æ¤æ¥æ¦æ§æ¨æ©æªæ«æ¬æ­æ®æ¯æ°æ±")
(define-hanja-map "¿ª"  "æ²æ³æ´æµæ¶æ·æ¸æ¹æºæ»æ¼æ½æ¾")
(define-hanja-map "¿¬"  "æ¿æÀæÁæÂæÃæÄæÅæÆæÇæÈæÉæÊæËæÌæÍæÎæÏæÐæÑæÒæÓæÔæÕæÖæ×æØæÙæÚæÛæÜæÝæÞæßæàæáæâæãæäæåæææçæèæé")
(define-hanja-map "¿­"  "æêæëæìæíæîæïæðæñæòæó")
(define-hanja-map "¿°"  "æôæõæöæ÷æøæùæúæûæüæýæþç¡ç¢ç£ç¤")

(define-hanja-map "¿±"  "ç¥ç¦ç§ç¨")
(define-hanja-map "¿µ"  "ç©çªç«ç¬ç­ç®ç¯ç°ç±ç²ç³ç´çµç¶ç·ç¸ç¹çºç»ç¼ç½ç¾ç¿çÀçÁçÂçÃçÄçÅçÆçÇçÈçÉçÊçËçÌçÍçÎçÏçÐ")
(define-hanja-map "¿¹"  "çÑçÒçÓçÔçÕçÖç×çØçÙçÚçÛçÜçÝçÞçßçàçáçâçãçäçåçæçççè")
(define-hanja-map "¿À"  "çéçêçëçìçíçîçïçðçñçòçóçôçõçöç÷çøçùçúçûçüçýçþè¡è¢è£è¤è¥è¦è§è¨")
(define-hanja-map "¿Á"  "è©èªè«è¬è­")
(define-hanja-map "¿Â"  "è®è¯è°è±è²è³")
(define-hanja-map "¿Ã"  "è´")
(define-hanja-map "¿Ë"  "èµè¶è·è¸è¹èºè»è¼è½")
(define-hanja-map "¿Í"  "è¾è¿èÀèÁèÂèÃèÄèÅ")
(define-hanja-map "¿Ï"  "èÆèÇèÈèÉèÊèËèÌèÍèÎèÏèÐèÑèÒèÓèÔèÕèÖè×")
(define-hanja-map "¿Ð"  "èØ")
(define-hanja-map "¿Õ"  "èÙèÚèÛèÜèÝ")
(define-hanja-map "¿Ö"  "èÞèßèàèá")
(define-hanja-map "¿Ü"  "èâèãèäèåèæ")
(define-hanja-map "¿ä"  "èçèèèéèêèëèìèíèîèïèðèñèòèóèôèõèöè÷èøèùèúèûèüèýèþé¡é¢é£é¤é¥é¦é§é¨é©éªé«é¬é­é®")

(define-hanja-map "¿å"  "é¯é°é±é²é³é´")
(define-hanja-map "¿ë"  "éµé¶é·é¸é¹éºé»é¼é½é¾é¿éÀéÁéÂéÃéÄéÅéÆéÇéÈéÉéÊéËéÌ")
(define-hanja-map "¿ì"  "éÍéÎéÏéÐéÑéÒéÓéÔéÕéÖé×éØéÙéÚéÛéÜéÝéÞéßéàéáéâéãéäéåéæéçéèéééêéëéì")
(define-hanja-map "¿í"  "éíéîéïéðéñéòéóéôéõ")
(define-hanja-map "¿î"  "éöé÷éøéùéúéûéüéýéþê¡ê¢ê£ê¤")
(define-hanja-map "¿ï"  "ê¥ê¦ê§")
(define-hanja-map "¿õ"  "ê¨ê©")
(define-hanja-map "¿ø"  "êªê«ê¬ê­ê®ê¯ê°ê±ê²ê³ê´êµê¶ê·ê¸ê¹êºê»ê¼ê½ê¾ê¿êÀêÁêÂêÃêÄ")
(define-hanja-map "¿ù"  "êÅêÆêÇ")
(define-hanja-map "À§"  "êÈêÉêÊêËêÌêÍêÎêÏêÐêÑêÒêÓêÔêÕêÖê×êØêÙêÚêÛêÜêÝêÞêßêà")
(define-hanja-map "À¯"  "êáêâêãêäêåêæêçêèêéêêêëêìêíêîêïêðêñêòêóêôêõêöê÷êøêùêúêûêüêýêþë¡ë¢ë£ë¤ë¥ë¦ë§ë¨ë©ëªë«ë¬ë­ë®ë¯ë°ë±ë²ë³ë´ëµë¶ë·ë¸ë¹ëº")

(define-hanja-map "À°"  "ë»ë¼ë½ë¾ë¿ëÀëÁ")
(define-hanja-map "À±"  "ëÂëÃëÄëÅëÆëÇëÈëÉëÊëËëÌëÍëÎ")
(define-hanja-map "À²"  "ëÏëÐëÑëÒëÓ")
(define-hanja-map "À¶"  "ëÔëÕëÖë×ëØ")
(define-hanja-map "Àº"  "ëÙëÚëÛëÜëÝëÞëß")
(define-hanja-map "À»"  "ëà")
(define-hanja-map "À½"  "ëáëâëãëäëåëæ")
(define-hanja-map "À¾"  "ëçëèëé")
(define-hanja-map "ÀÀ"  "ëêëëëìëí")
(define-hanja-map "ÀÇ"  "ëîëïëðëñëòëóëôëõëöë÷ëøëùëúëûëüëýëþì¡ì¢")
(define-hanja-map "ÀÌ"  "ì£ì¤ì¥ì¦ì§ì¨ì©ìªì«ì¬ì­ì®ì¯ì°ì±ì²ì³ì´ìµì¶ì·ì¸ì¹ìºì»ì¼ì½ì¾ì¿ìÀìÁìÂìÃìÄìÅìÆìÇìÈ")
(define-hanja-map "ÀÍ"  "ìÉìÊìËìÌìÍìÎìÏìÐ")
(define-hanja-map "ÀÎ"  "ìÑìÒìÓìÔìÕìÖì×ìØìÙìÚìÛìÜìÝìÞìßìàìáìâìãìäìåìæìçìè")
(define-hanja-map "ÀÏ"  "ìéìêìëìììíìîìïìðìñ")
(define-hanja-map "ÀÓ"  "ìòìóìôìõìöì÷ìøìùìúìûìü")
(define-hanja-map "ÀÔ"  "ìýìþí¡í¢í£")

(define-hanja-map "À×"  "í¤í¥í¦í§")
(define-hanja-map "ÀÚ"  "í¨í©íªí«í¬í­í®í¯í°í±í²í³í´íµí¶í·í¸í¹íºí»í¼í½í¾í¿íÀíÁ")
(define-hanja-map "ÀÛ"  "íÂíÃíÄíÅíÆíÇíÈíÉíÊíËíÌíÍíÎ")
(define-hanja-map "ÀÜ"  "íÏíÐíÑíÒíÓ")
(define-hanja-map "Àá"  "íÔíÕíÖí×íØíÙ")
(define-hanja-map "Àâ"  "íÚ")
(define-hanja-map "Àå"  "íÛíÜíÝíÞíßíàíáíâíãíäíåíæíçíèíéíêíëíìíííîíïíðíñíòíóíôíõíöí÷íøíùíúíûíüíýíþî¡")
(define-hanja-map "Àç"  "î¢î£î¤î¥î¦î§î¨î©îªî«î¬î­î®î¯î°î±î²")
(define-hanja-map "Àï"  "î³î´îµî¶")
(define-hanja-map "Àú"  "î·î¸î¹îºî»î¼î½î¾î¿îÀîÁîÂîÃîÄîÅîÆîÇîÈîÉîÊîËîÌîÍîÎîÏîÐîÑîÒ")
(define-hanja-map "Àû"  "îÓîÔîÕîÖî×îØîÙîÚîÛîÜîÝîÞîßîàîáîâîãîäîåîæîçîèîéîêîë")
(define-hanja-map "Àü"  "îìîíîîîïîðîñîòîóîôîõîöî÷îøîùîúîûîüîýîþï¡ï¢ï£ï¤ï¥ï¦ï§ï¨ï©ïªï«ï¬ï­ï®ï¯ï°ï±ï²ï³ï´ïµï¶")

(define-hanja-map "Àý"  "ï·ï¸ï¹ïºï»ï¼ï½ï¾")
(define-hanja-map "Á¡"  "ï¿ïÀïÁïÂïÃïÄïÅïÆïÇ")
(define-hanja-map "Á¢"  "ïÈïÉïÊ")
(define-hanja-map "Á¤"  "ïËïÌïÍïÎïÏïÐïÑïÒïÓïÔïÕïÖï×ïØïÙïÚïÛïÜïÝïÞïßïàïáïâïãïäïåïæïçïèïéïêïëïìïíïîïïïðïñïòïóïôïõïöï÷ïøïùïúïûïüïýïþð¡ð¢ð£")
(define-hanja-map "Á¦"  "ð¤ð¥ð¦ð§ð¨ð©ðªð«ð¬ð­ð®ð¯ð°ð±ð²ð³ð´ðµð¶ð·ð¸ð¹ðº")
(define-hanja-map "Á¶"  "ð»ð¼ð½ð¾ð¿ðÀðÁðÂðÃðÄðÅðÆðÇðÈðÉðÊðËðÌðÍðÎðÏðÐðÑðÒðÓðÔðÕðÖð×ðØðÙðÚðÛðÜðÝðÞðßðàðáðâðãðäðåðæðçðè")

(define-hanja-map "Á·"  "ðéðêðëðì")
(define-hanja-map "Á¸"  "ðíðî")
(define-hanja-map "Á¹"  "ðïðððñ")
(define-hanja-map "Á¾"  "ðòðóðôðõðöð÷ðøðùðúðûðüðýðþñ¡ñ¢ñ£ñ¤")

(define-hanja-map "ÁÂ"  "ñ¥ñ¦ñ§ñ¨ñ©")
(define-hanja-map "ÁË"  "ñª")
(define-hanja-map "ÁÖ"  "ñ«ñ¬ñ­ñ®ñ¯ñ°ñ±ñ²ñ³ñ´ñµñ¶ñ·ñ¸ñ¹ñºñ»ñ¼ñ½ñ¾ñ¿ñÀñÁñÂñÃñÄñÅñÆñÇñÈñÉñÊñËñÌñÍñÎñÏñÐñÑñÒ")
(define-hanja-map "Á×"  "ñÓñÔ")
(define-hanja-map "ÁØ"  "ñÕñÖñ×ñØñÙñÚñÛñÜñÝñÞñßñàñáñâñãñäñåñæñç")
(define-hanja-map "ÁÙ"  "ñè")
(define-hanja-map "Áß"  "ñéñêñëñì")
(define-hanja-map "Áï"  "ñí")
(define-hanja-map "Áñ"  "ñî")
(define-hanja-map "Áó"  "ñïñðññ")
(define-hanja-map "Áõ"  "ñòñóñôñõñöñ÷ñøñùñúñûñü")
(define-hanja-map "Áö"  "ñýñþò¡ò¢ò£ò¤ò¥ò¦ò§ò¨ò©òªò«ò¬ò­ò®ò¯ò°ò±ò²ò³ò´òµò¶ò·ò¸ò¹òºò»ò¼ò½ò¾ò¿òÀ")
(define-hanja-map "Á÷"  "òÁòÂòÃòÄòÅ")
(define-hanja-map "Áø"  "òÆòÇòÈòÉòÊòËòÌòÍòÎòÏòÐòÑòÒòÓòÔòÕòÖò×òØòÙòÚòÛòÜòÝòÞòßòàòáòâòãòäòåòæòçòè")
(define-hanja-map "Áú"  "òéòêòëòìòíòîòïòðòñòòòóòôòõòöò÷")
(define-hanja-map "Áü"  "òøòù")
(define-hanja-map "Áý"  "òúòûòüòýòþó¡ó¢")

(define-hanja-map "Â¡"  "ó£ó¤ó¥")
(define-hanja-map "Â÷"  "ó¦ó§ó¨ó©óªó«ó¬ó­ó®ó¯ó°ó±ó²ó³ó´")
(define-hanja-map "Âø"  "óµó¶ó·ó¸ó¹óºó»")
(define-hanja-map "Âù"  "ó¼ó½ó¾ó¿óÀóÁóÂóÃóÄóÅóÆóÇóÈóÉóÊ")
(define-hanja-map "Âû"  "óËóÌóÍóÎóÏ")
(define-hanja-map "Âü"  "óÐóÑóÒóÓóÔóÕóÖó×óØóÙ")
(define-hanja-map "Ã¢"  "óÚóÛóÜóÝóÞóßóàóáóâóãóäóåóæóçóèóéóêóëóìóíóîóï")
(define-hanja-map "Ã¤"  "óðóñóòóóóôóõóöó÷óøóùóúóû")
(define-hanja-map "Ã¥"  "óüóýóþô¡")
(define-hanja-map "Ã³"  "ô¢ô£ô¤ô¥")
(define-hanja-map "Ã´"  "ô¦ô§ô¨ô©ôªô«ô¬ô­ô®ô¯ô°ô±ô²ô³ô´")
(define-hanja-map "Ãµ"  "ôµô¶ô·ô¸ô¹ôºô»ô¼ô½ô¾ô¿ôÀôÁôÂôÃôÄôÅôÆôÇ")
(define-hanja-map "Ã¶"  "ôÈôÉôÊôËôÌôÍôÎôÏôÐôÑ")
(define-hanja-map "Ã·"  "ôÒôÓôÔôÕôÖô×ôØôÙôÚôÛ")
(define-hanja-map "Ã¸"  "ôÜôÝôÞôßôàôáôâôãôäôå")
(define-hanja-map "Ã»"  "ôæôçôèôéôêôëôìôí")
(define-hanja-map "Ã¼"  "ôîôïôðôñôòôóôôôõôöô÷")
(define-hanja-map "ÃÊ"  "ôøôùôúôûôüôýôþõ¡õ¢õ£õ¤õ¥õ¦õ§õ¨õ©õªõ«õ¬õ­õ®õ¯õ°õ±õ²õ³õ´")

(define-hanja-map "ÃË"  "õµõ¶õ·õ¸õ¹õº")
(define-hanja-map "ÃÌ"  "õ»õ¼õ½õ¾")
(define-hanja-map "ÃÑ"  "õ¿õÀõÁõÂõÃõÄõÅõÆõÇõÈ")
(define-hanja-map "ÃÔ"  "õÉ")
(define-hanja-map "ÃÖ"  "õÊõËõÌ")
(define-hanja-map "Ãß"  "õÍõÎõÏõÐõÑõÒõÓõÔõÕõÖõ×õØõÙõÚõÛõÜõÝõÞõßõàõáõâõã")
(define-hanja-map "Ãà"  "õäõåõæõçõèõéõêõëõìõíõîõï")
(define-hanja-map "Ãá"  "õðõñõò")
(define-hanja-map "Ãâ"  "õóõôõõ")
(define-hanja-map "Ãæ"  "õöõ÷õøõùõúõû")
(define-hanja-map "Ãé"  "õüõýõþö¡")
(define-hanja-map "Ãë"  "ö¢ö£ö¤ö¥ö¦ö§ö¨ö©öªö«ö¬ö­ö®ö¯")
(define-hanja-map "Ãø"  "ö°ö±ö²ö³ö´")
(define-hanja-map "Ãþ"  "öµ")
(define-hanja-map "Ä¡"  "ö¶ö·ö¸ö¹öºö»ö¼ö½ö¾ö¿öÀöÁöÂöÃöÄöÅöÆöÇöÈöÉöÊöËöÌöÍ")
(define-hanja-map "Ä¢"  "öÎöÏöÐ")
(define-hanja-map "Ä£"  "öÑ")
(define-hanja-map "Ä¥"  "öÒöÓöÔ")
(define-hanja-map "Ä§"  "öÕöÖö×öØöÙöÚöÛöÜöÝ")
(define-hanja-map "Ä¨"  "öÞ")
(define-hanja-map "Äª"  "ößöà")
(define-hanja-map "Äè"  "öá")
(define-hanja-map "Å¸"  "öâöãöäöåöæöçöèöéöêöëöìöíöîöï")
(define-hanja-map "Å¹"  "öðöñöòöóöôöõööö÷öøöùöúöûöüöýöþ÷¡")

(define-hanja-map "Åº"  "÷¢÷£÷¤÷¥÷¦÷§÷¨÷©÷ª÷«")
(define-hanja-map "Å»"  "÷¬÷­")
(define-hanja-map "Å½"  "÷®÷¯÷°÷±")
(define-hanja-map "Å¾"  "÷²÷³÷´")
(define-hanja-map "ÅÁ"  "÷µ÷¶÷·÷¸÷¹")
(define-hanja-map "ÅÂ"  "÷º÷»÷¼÷½÷¾÷¿÷À÷Á÷Â÷Ã÷Ä÷Å÷Æ÷Ç")
(define-hanja-map "ÅÃ"  "÷È÷É÷Ê")
(define-hanja-map "ÅÊ"  "÷Ë")
(define-hanja-map "ÅÍ"  "÷Ì")
(define-hanja-map "Åä"  "÷Í÷Î÷Ï÷Ð")
(define-hanja-map "Åë"  "÷Ñ÷Ò÷Ó÷Ô÷Õ÷Ö÷×")
(define-hanja-map "Åð"  "÷Ø÷Ù÷Ú÷Û÷Ü÷Ý")
(define-hanja-map "Åõ"  "÷Þ÷ß÷à÷á÷â÷ã")
(define-hanja-map "Æ¯"  "÷ä÷å")
(define-hanja-map "Æ´"  "÷æ")
(define-hanja-map "ÆÄ"  "÷ç÷è÷é÷ê÷ë÷ì÷í÷î÷ï÷ð÷ñ÷ò÷ó÷ô÷õ÷ö")
(define-hanja-map "ÆÇ"  "÷÷÷ø÷ù÷ú÷û÷ü÷ý÷þø¡")
(define-hanja-map "ÆÈ"  "ø¢ø£ø¤")
(define-hanja-map "ÆÐ"  "ø¥ø¦ø§ø¨ø©øªø«ø¬ø­ø®ø¯")
(define-hanja-map "ÆØ"  "ø°ø±ø²ø³")
(define-hanja-map "ÆÚ"  "ø´")
(define-hanja-map "Æí"  "øµø¶ø·ø¸ø¹øºø»ø¼ø½ø¾")
(define-hanja-map "Æï"  "ø¿")
(define-hanja-map "Æò"  "øÀøÁøÂøÃøÄ")
(define-hanja-map "Æó"  "øÅøÆøÇøÈøÉøÊøËøÌøÍøÎ")
(define-hanja-map "Æ÷"  "øÏøÐøÑøÒøÓøÔøÕøÖø×øØøÙøÚøÛøÜøÝøÞøßøàøáøâøãøäøåøæøçøèøéøê")
(define-hanja-map "Æø"  "øëøìøíøîøïøð")
(define-hanja-map "Ç¥"  "øñøòøóøôøõøöø÷øøøùøúøûøüøýøþ")

(define-hanja-map "Ç°"  "ù¡ù¢")
(define-hanja-map "Ç³"  "ù£ù¤ù¥ù¦ù§")
(define-hanja-map "ÇÇ"  "ù¨ù©ùªù«ù¬ù­ù®")
(define-hanja-map "ÇÊ"  "ù¯ù°ù±ù²ù³ù´ùµù¶ù·ù¸")
(define-hanja-map "ÇÌ"  "ù¹ùº")
(define-hanja-map "ÇÏ"  "ù»ù¼ù½ù¾ù¿ùÀùÁùÂùÃùÄùÅùÆùÇùÈ")
(define-hanja-map "ÇÐ"  "ùÉùÊùËùÌùÍ")
(define-hanja-map "ÇÑ"  "ùÎùÏùÐùÑùÒùÓùÔùÕùÖù×ùØùÙùÚùÛ")
(define-hanja-map "ÇÒ"  "ùÜùÝ")
(define-hanja-map "ÇÔ"  "ùÞùßùàùáùâùãùäùåùæùçùèùé")
(define-hanja-map "ÇÕ"  "ùêùëùìùíùîùïùð")
(define-hanja-map "Ç×"  "ùñùòùóùôùõùöù÷ùøùùùúùûùüùýùþú¡ú¢ú£")
(define-hanja-map "ÇØ"  "ú¤ú¥ú¦ú§ú¨ú©úªú«ú¬ú­ú®ú¯ú°ú±ú²ú³ú´úµ")
(define-hanja-map "ÇÙ"  "ú¶ú·")
(define-hanja-map "Çà"  "ú¸ú¹úºú»ú¼")
(define-hanja-map "Çâ"  "ú½ú¾ú¿úÀúÁúÂúÃúÄúÅ")
(define-hanja-map "Çã"  "úÆúÇúÈúÉ")
(define-hanja-map "Çå"  "úÊúËúÌúÍ")
(define-hanja-map "Çæ"  "úÎ")
(define-hanja-map "Çè"  "úÏúÐ")
(define-hanja-map "Çõ"  "úÑúÒúÓúÔ")
(define-hanja-map "Çö"  "úÕúÖú×úØúÙúÚúÛúÜúÝúÞúßúàúáúâúãúäúåúæúçúèúé")
(define-hanja-map "Ç÷"  "úêúëúìúí")
(define-hanja-map "Çø"  "úî")
(define-hanja-map "Çù"  "úïúðúñúòúóúôúõúöú÷úøúùúú")
(define-hanja-map "Çü"  "úûúüúýúþû¡û¢û£û¤û¥û¦û§û¨û©ûªû«û¬û­û®û¯û°")

(define-hanja-map "Çý"  "û±û²û³û´ûµû¶û·û¸û¹")
(define-hanja-map "È£"  "ûºû»û¼û½û¾û¿ûÀûÁûÂûÃûÄûÅûÆûÇûÈûÉûÊûËûÌûÍûÎûÏûÐûÑûÒûÓûÔûÕûÖû×ûØûÙûÚûÛûÜûÝûÞûßûàûáûâ")
(define-hanja-map "È¤"  "ûãûäûå")
(define-hanja-map "È¥"  "ûæûçûèûéûêûë")
(define-hanja-map "È¦"  "ûìûíûî")
(define-hanja-map "È«"  "ûïûðûñûòûóûôûõûöû÷ûø")
(define-hanja-map "È­"  "ûùûúûûûüûýûþü¡ü¢ü£ü¤ü¥ü¦ü§ü¨")
(define-hanja-map "È®"  "ü©üªü«ü¬ü­ü®")
(define-hanja-map "È¯"  "ü¯ü°ü±ü²ü³ü´üµü¶ü·ü¸ü¹üºü»ü¼ü½ü¾ü¿")
(define-hanja-map "È°"  "üÀüÁüÂüÃüÄ")
(define-hanja-map "È²"  "üÅüÆüÇüÈüÉüÊüËüÌüÍüÎüÏüÐüÑüÒüÓüÔüÕüÖü×üØüÙüÚüÛüÜ")
(define-hanja-map "È¸"  "üÝüÞüßüàüáüâüãüäüåüæüçüèüéüêüëüìüíüîüïüð")
(define-hanja-map "È¹"  "üñüò")
(define-hanja-map "È¾"  "üóüôüõ")
(define-hanja-map "È¿"  "üöü÷üøüùüúüûüüüýüþý¡ý¢ý£ý¤")

(define-hanja-map "ÈÄ"  "ý¥ý¦ý§ý¨ý©ýªý«ý¬ý­ý®ý¯ý°ý±")
(define-hanja-map "ÈÆ"  "ý²ý³ý´ýµý¶ý·ý¸ý¹ýºý»")
(define-hanja-map "ÈË"  "ý¼")
(define-hanja-map "ÈÍ"  "ý½ý¾ý¿ýÀ")
(define-hanja-map "ÈÑ"  "ýÁýÂýÃ")
(define-hanja-map "ÈÖ"  "ýÄýÅýÆýÇýÈýÉýÊýË")
(define-hanja-map "ÈÞ"  "ýÌýÍýÎýÏýÐ")
(define-hanja-map "Èá"  "ýÑýÒýÓ")
(define-hanja-map "Èä"  "ýÔýÕýÖý×ýØ")
(define-hanja-map "Èæ"  "ýÙ")
(define-hanja-map "Èç"  "ýÚýÛýÜýÝ")
(define-hanja-map "Èê"  "ýÞýßýàýá")
(define-hanja-map "Èì"  "ýâýãýä")
(define-hanja-map "Èí"  "ýåýæýçýè")
(define-hanja-map "Èï"  "ýé")
(define-hanja-map "Èñ"  "ýêýëýìýíýîýïýðýñýòýóýôýõýöý÷ýøýùýúýûýüýý")
(define-hanja-map "Èú"  "ýþ")


