;ELC
;;; Compiled by LTX@Xue-LingTaos-MacBook-Pro.local on Wed Mar 16 23:15:49 2011
;;; from file /Users/LTX/Projects/Emacs/emacs/lisp/language/japan-util.el
;;; in Emacs version 24.0.50.1
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`japan-util.el' was compiled for Emacs 23 or later"))

;;;;;;;;;;;;;;;;;;;;;


(defalias 'setup-japanese-environment-internal #[nil "\301>\203
\302\303!\210\202\302\304!\210\305\306!\207" [system-type (windows-nt ms-dos cygwin) prefer-coding-system japanese-shift-jis japanese-iso-8bit use-cjk-char-width-table ja_JP] 2])
#@220 Japanese JISX0208 Kana character table.
Each element is of the form (HIRAGANA KATAKANA HANKAKU-KATAKANA), where
HIRAGANA and KATAKANA belong to `japanese-jisx0208',
HANKAKU-KATAKANA belongs to `japanese-jisx0201-kana'.
(defconst japanese-kana-table '((12354 12450 65393) (12356 12452 65394) (12358 12454 65395) (12360 12456 65396) (12362 12458 65397) (12363 12459 65398) (12365 12461 65399) (12367 12463 65400) (12369 12465 65401) (12371 12467 65402) (12373 12469 65403) (12375 12471 65404) (12377 12473 65405) (12379 12475 65406) (12381 12477 65407) (12383 12479 65408) (12385 12481 65409) (12388 12484 65410) (12390 12486 65411) (12392 12488 65412) (12394 12490 65413) (12395 12491 65414) (12396 12492 65415) (12397 12493 65416) (12398 12494 65417) (12399 12495 65418) (12402 12498 65419) (12405 12501 65420) (12408 12504 65421) (12411 12507 65422) (12414 12510 65423) (12415 12511 65424) (12416 12512 65425) (12417 12513 65426) (12418 12514 65427) (12420 12516 65428) (12422 12518 65429) (12424 12520 65430) (12425 12521 65431) (12426 12522 65432) (12427 12523 65433) (12428 12524 65434) (12429 12525 65435) (12431 12527 65436) (12432 12528 "ï½²") (12433 12529 "ï½´") (12434 12530 65382) (12435 12531 65437) (12364 12460 "ï½¶ï¾�") (12366 12462 "ï½·ï¾�") (12368 12464 "ï½¸ï¾�") (12370 12466 "ï½¹ï¾�") (12372 12468 "ï½ºï¾�") (12374 12470 "ï½»ï¾�") (12376 12472 "ï½¼ï¾�") (12378 12474 "ï½½ï¾�") (12380 12476 "ï½¾ï¾�") (12382 12478 "ï½¿ï¾�") (12384 12480 "ï¾€ï¾�") (12386 12482 "ï¾�ï¾�") (12389 12485 "ï¾‚ï¾�") (12391 12487 "ï¾ƒï¾�") (12393 12489 "ï¾„ï¾�") (12400 12496 "ï¾Šï¾�") (12403 12499 "ï¾‹ï¾�") (12406 12502 "ï¾Œï¾�") (12409 12505 "ï¾�ï¾�") (12412 12508 "ï¾�ï¾�") (12401 12497 "ï¾Šï¾Ÿ") (12404 12500 "ï¾‹ï¾Ÿ") (12407 12503 "ï¾Œï¾Ÿ") (12410 12506 "ï¾�ï¾Ÿ") (12413 12509 "ï¾�ï¾Ÿ") (12353 12449 65383) (12355 12451 65384) (12357 12453 65385) (12359 12455 65386) (12361 12457 65387) (12387 12483 65391) (12419 12515 65388) (12421 12517 65389) (12423 12519 65390) (12430 12526 "ï¾œ") ("ã�†ã‚›" 12532 "ï½³ï¾�") (nil 12533 "ï½¶") (nil 12534 "ï½¹")) (#$ . 801))
(byte-code "\306\211\211\211
\203\245
@\211@\fA@\307\f8
A\203U;\203IG\310V\203U\311H\312\313\310H\nB\314\313\"B#\210)\202U\312\302\n#\210\312\301	#\210\n\250\203f\312\n\303#\210\312\n\301	#\210	\203\n	;\203\220	G\310V\203\n	\311H\312\313	\310H\nB\314\313\"B#\210)\202\n\312	\303#\210\312	\302\n#\210\312	\315\n#\210\202\n-\306\207" [japanese-kana-table jisx0201 katakana hiragana slot l nil 2 1 0 put-char-code-property kana-composition get-char-code-property jisx0208 hira kana] 8)
#@238 Japanese JISX0208 and CP932 symbol character table.
  Each element is of the form (SYMBOL ASCII HANKAKU), where SYMBOL
belongs to `japanese-jisx0208' or `cp932', ASCII belongs to `ascii',
and HANKAKU belongs to `japanese-jisx0201-kana'.
(defconst japanese-symbol-table '((12288 32) (65292 44 65380) (65294 46 65377) (12289 44 65380) (12290 46 65377) (12539 nil 65381) (65306 58) (65307 59) (65311 63) (65281 33) (12443 nil 65438) (12444 nil 65439) (180 39) (65344 96) (65342 94) (65343 95) (12540 45 65392) (8212 45) (8208 45) (65295 47) (65340 92) (12316 126) (65372 124) (8216 96) (8217 39) (8220 34) (8221 34) (65288 40) (65289 41) (65339 91) (65341 93) (65371 123) (65373 125) (12296 60) (12297 62) (12300 nil 65378) (12301 nil 65379) (65291 43) (8722 45) (65309 61) (65308 60) (65310 62) (8242 39) (8243 34) (65509 92) (65284 36) (65285 37) (65283 35) (65286 38) (65290 42) (65312 64) (8213 45) (65374 126) (65293 45)) (#$ . 3395))
(byte-code "\306\211\211\211
\203P
@\211@\fA@\307\f8
A\n\2036\310\302\n#\210\311\312\"\2036\310\n\303#\210	\203\n\310\301	#\210\311\312\"\203\n\310	\303#\210\202\n-\306\207" [japanese-symbol-table jisx0201 ascii jisx0208 slot l nil 2 put-char-code-property encode-char japanese-jisx0208] 6)
#@179 Japanese JISX0208 alpha numeric character table.
Each element is of the form (ALPHA-NUMERIC ASCII), where ALPHA-NUMERIC
belongs to `japanese-jisx0208', ASCII belongs to `ascii'.
(defconst japanese-alpha-numeric-table '((65296 . 48) (65297 . 49) (65298 . 50) (65299 . 51) (65300 . 52) (65301 . 53) (65302 . 54) (65303 . 55) (65304 . 56) (65305 . 57) (65313 . 65) (65314 . 66) (65315 . 67) (65316 . 68) (65317 . 69) (65318 . 70) (65319 . 71) (65320 . 72) (65321 . 73) (65322 . 74) (65323 . 75) (65324 . 76) (65325 . 77) (65326 . 78) (65327 . 79) (65328 . 80) (65329 . 81) (65330 . 82) (65331 . 83) (65332 . 84) (65333 . 85) (65334 . 86) (65335 . 87) (65336 . 88) (65337 . 89) (65338 . 90) (65345 . 97) (65346 . 98) (65347 . 99) (65348 . 100) (65349 . 101) (65350 . 102) (65351 . 103) (65352 . 104) (65353 . 105) (65354 . 106) (65355 . 107) (65356 . 108) (65357 . 109) (65358 . 110) (65359 . 111) (65360 . 112) (65361 . 113) (65362 . 114) (65363 . 115) (65364 . 116) (65365 . 117) (65366 . 118) (65367 . 119) (65368 . 120) (65369 . 121) (65370 . 122)) (#$ . 4653))
(byte-code "\305\211\211\f\203'\f@\211@A\fA\306\n\301	#\210\306	\302\n#\210\202,\305\207" [japanese-alpha-numeric-table ascii jisx0208 slot l nil put-char-code-property] 5)
(defalias 'japanese-string-conversion #[(str func &rest args) "\304\305!rq\210\306 \210	c\210\307\n\310`$\210\311 *\207" [buf str func args get-buffer-create " *Japanese work*" erase-buffer apply 1 buffer-string] 5])
#@395 Convert argument to Katakana and return that.
The argument may be a character or string.  The result has the same type.
The argument object is not altered--the value is a copy.
Optional argument HANKAKU t means to convert to `hankaku' Katakana
 (`japanese-jisx0201-kana'), in which case return value
 may be a string even if OBJ is a character if two Katakanas are
 necessary to represent OBJ.
(defalias 'japanese-katakana #[(obj &optional hankaku) ";\203\302\303	#\207\304	\203\305\202\306\"\206\207" [obj hankaku japanese-string-conversion japanese-katakana-region get-char-code-property jisx0201 katakana] 4 (#$ . 6128)])
#@178 Convert argument to Hiragana and return that.
The argument may be a character or string.  The result has the same type.
The argument object is not altered--the value is a copy.
(defalias 'japanese-hiragana #[(obj) ";\203\n\301\302\"\207\303\304\"\206\207" [obj japanese-string-conversion japanese-hiragana-region get-char-code-property hiragana] 3 (#$ . 6772)])
#@254 Convert argument to `hankaku' and return that.
The argument may be a character or string.  The result has the same type.
The argument object is not altered--the value is a copy.
Optional argument ASCII-ONLY non-nil means to return only ASCII character.
(defalias 'japanese-hankaku #[(obj &optional ascii-only) ";\203\302\303	#\207	\204\304\305\"\206\304\306\"\206\207" [obj ascii-only japanese-string-conversion japanese-hankaku-region get-char-code-property jisx0201 ascii] 4 (#$ . 7148)])
#@179 Convert argument to `zenkaku' and return that.
The argument may be a character or string.  The result has the same type.
The argument object is not altered--the value is a copy.
(defalias 'japanese-zenkaku #[(obj) ";\203\n\301\302\"\207\303\304\"\206\207" [obj japanese-string-conversion japanese-zenkaku-region get-char-code-property jisx0208] 3 (#$ . 7659)])
#@56 Replace the region specified by FROM and TO to STRING.
(defalias 'japanese-replace-region #[(from to string) "b\210	c\210\303\nZ!\207" [from string to delete-char] 3 (#$ . 8033)])
#@193 Convert Japanese `hiragana' chars in the region to `katakana' chars.
Optional argument HANKAKU t means to convert to `hankaku katakana' character
of which charset is `japanese-jisx0201-kana'.
(defalias 'japanese-katakana-region #[(from to &optional hankaku) "\214	}\210\212eb\210\306\307\310\311#\205[h?\205\312\n\313\"\310\211\f\203<g\f\236\211\203<\314\315\224`TA#\210\202W\312\n\203F\316\202G\317\"\211\203V\314\315\224`#\210),\202	*\207" [from to kana hankaku composition next re-search-forward "\\cH\\|\\cK" nil t get-char-code-property kana-composition japanese-replace-region 0 jisx0201 katakana slot kata] 5 (#$ . 8222) "r\nP"])
#@70 Convert Japanese `katakana' chars in the region to `hiragana' chars.
(defalias 'japanese-hiragana-region #[(from to) "\214	}\210\212eb\210\306\307\310\311#\205Nh\312\n\313\"\310\211\2037g\236\211\2037\314\315\224`T\312
A\316\"#\210\202J\312\n\316\"\211\203I\314\315\224`#\210),\202	*\207" [from to kata composition next slot re-search-forward "\\cK\\|\\ck" nil t get-char-code-property kana-composition japanese-replace-region 0 hiragana hira] 7 (#$ . 8891) "r"])
#@251 Convert Japanese `zenkaku' chars in the region to `hankaku' chars.
`Zenkaku' chars belong to `japanese-jisx0208'
`Hankaku' chars belong to `ascii' or `japanese-jisx0201-kana'.
Optional argument ASCII-ONLY non-nil means to convert only to ASCII char.
(defalias 'japanese-hankaku-region #[(from to &optional ascii-only) "\214	}\210\212eb\210\305\306\307\310#\2053h\204\311\n\312\"\206\"\311\n\313\"\211\203/\314\315\224\315\225\f#\210*\202	*\207" [from to zenkaku ascii-only hankaku re-search-forward "\\cj" nil t get-char-code-property jisx0201 ascii japanese-replace-region 0] 5 (#$ . 9380) "r\nP"])
#@253 Convert hankaku' chars in the region to Japanese `zenkaku' chars.
`Zenkaku' chars belong to `japanese-jisx0208'
`Hankaku' chars belong to `ascii' or `japanese-jisx0201-kana'.
Optional argument KATAKANA-ONLY non-nil means to convert only KATAKANA char.
(defalias 'japanese-zenkaku-region #[(from to &optional katakana-only) "\214	}\210\212eb\210\n\203\306\307\310\311#\204\"\n?\205_\306\312\310\311#\205_h\313\314\"\310\211\f\203Hg\f\236\211\203H\315\316\224`TA#\210\202[\317!\211\203Z\315\316\224\316\225#\210),\202	*\207" [from to katakana-only hankaku composition next re-search-forward "\\ck" nil t "\\ca\\|\\ck" get-char-code-property kana-composition japanese-replace-region 0 japanese-zenkaku slot zenkaku] 5 (#$ . 9997) "r\nP"])
#@150 Read a Hiragana string from the minibuffer, prompting with string PROMPT.
If non-nil, second arg INITIAL-INPUT is a string to insert before reading.
(defalias 'read-hiragana-string #[(prompt &optional initial-input) "\302	\303#\207" [prompt initial-input read-multilingual-string "japanese-hiragana"] 4 (#$ . 10766)])
(provide 'japan-util)
