1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
|
;;; korean.el --- Support for Korean
;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
;; Copyright (C) 1997 MORIOKA Tomohiko
;; Keywords: multilingual, Korean
;; This file is part of XEmacs.
;; XEmacs is free software; you can redistribute it and/or modify it
;; under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
;; XEmacs is distributed in the hope that it will be useful, but
;; WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
;; General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with XEmacs; see the file COPYING. If not, write to the Free
;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
;; 02111-1307, USA.
;;; Commentary:
;; For Korean, the character set KSC5601 is supported.
;;; Code:
;; Syntax of Korean characters.
(loop for row from 33 to 34 do
(modify-syntax-entry `[korean-ksc5601 ,row] "."))
(loop for row from 35 to 37 do
(modify-syntax-entry `[korean-ksc5601 ,row] "w"))
(loop for row from 38 to 41 do
(modify-syntax-entry `[korean-ksc5601 ,row] "."))
(loop for row from 42 to 126 do
(modify-syntax-entry `[korean-ksc5601 ,row] "w"))
;; Setting for coding-system and quail were moved to
;; language/korean.el.
(make-coding-system
'iso-2022-int-1 'iso2022
"ISO-2022-INT-1"
'(charset-g0 ascii
charset-g1 korean-ksc5601
short t
seven t
lock-shift t
mnemonic "INT-1"))
;; EGG specific setup
(define-egg-environment 'korean
"Korean settings for egg"
(lambda ()
(when (not (featurep 'egg-kor))
(load "its-hangul")
(setq its:*standard-modes*
(cons (its:get-mode-map "hangul") its:*standard-modes*))
(provide 'egg-kor))
(setq wnn-server-type 'kserver)
(setq egg-default-startup-file "eggrc-wnn")
(setq-default its:*current-map* (its:get-mode-map "hangul"))))
;; (make-coding-system
;; 'euc-kr 2 ?K
;; "Coding-system of Korean EUC (Extended Unix Code)."
;; '((ascii t) korean-ksc5601 nil nil
;; nil ascii-eol ascii-cntl))
(make-coding-system
'euc-kr 'iso2022
"Coding-system of Korean EUC (Extended Unix Code)."
'(charset-g0 ascii
charset-g1 korean-ksc5601
mnemonic "ko/EUC"
eol-type lf))
;;(define-coding-system-alias 'euc-kr 'euc-korea)
(copy-coding-system 'euc-kr 'korean-euc)
;; (make-coding-system
;; 'iso-2022-kr 2 ?k
;; "MIME ISO-2022-KR"
;; '(ascii (nil korean-ksc5601) nil nil
;; nil ascii-eol ascii-cntl seven locking-shift nil nil nil nil nil
;; designation-bol))
(make-coding-system
'iso-2022-kr 'iso2022
"Coding-System used for communication with mail in Korea."
'(charset-g0 ascii
charset-g1 korean-ksc5601
force-g1-on-output t
seven t
lock-shift t
mnemonic "Ko/7bit"
eol-type lf))
(defun setup-korean-environment ()
"Setup multilingual environment (MULE) for Korean."
(interactive)
(setup-english-environment)
;; (setq coding-category-iso-8-2 'euc-kr)
(set-coding-category-system 'iso-8-2 'euc-kr)
;; (set-coding-priority
;; '(coding-category-iso-7
;; coding-category-iso-8-2
;; coding-category-iso-8-1))
(set-coding-priority-list
'(iso-8-2
iso-7
iso-8-1
iso-8-designate
iso-lock-shift
no-conversion
shift-jis
big5))
(set-default-coding-systems 'euc-kr)
;; (when (eq 'x (device-type (selected-device)))
;; (x-use-halfwidth-roman-font 'korean-ksc5601 "ksc5636"))
;; EGG specific setup 97.02.05 jhod
(when (featurep 'egg)
(when (not (featurep 'egg-kor))
(provide 'egg-kor)
(load "its/its-hangul")
(setq its:*standard-modes*
(cons (its:get-mode-map "hangul") its:*standard-modes*)))
(setq-default its:*current-map* (its:get-mode-map "hangul")))
(setq default-input-method "korean-hangul"))
(set-language-info-alist
"Korean" '((setup-function . setup-korean-environment)
(tutorial . "TUTORIAL.ko")
(charset . (korean-ksc5601))
(coding-system . (iso-2022-kr euc-kr))
(sample-text . "Hangul ($(CGQ1[(B) $(C>H3gGO<<?d(B, $(C>H3gGO=J4O1n(B")
(documentation . t)))
;;; korean.el ends here
|