1 ;;; mypaedia.el --- supplement file for
\e$B!V%^%$%Z%G%#%"#9#7!W
\e(B
2 ;; Copyright (C) 1999 Lookup Development Team <lookup@ring.gr.jp>
4 ;; Author: Keisuke Nishida <kei@psn.net>
5 ;; Target: ndtp 1.0, ndeb 1.0
7 ;; Version: $Id: mypaedia.el,v 1.1 1999-07-23 07:17:35 steveb Exp $
9 ;; This program is free software; you can redistribute it and/or
10 ;; modify it under the terms of the GNU General Public License
11 ;; as published by the Free Software Foundation; either version 2
12 ;; of the License, or (at your option) any later version.
14 ;; This program is distributed in the hope that it will be useful,
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 ;; GNU General Public License for more details.
19 ;; You should have received a copy of the GNU General Public License
20 ;; along with this program; if not, write to the Free Software Foundation,
21 ;; Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 (require 'lookup-package)
27 (defconst mypaedia-gaiji-table
28 (lookup-new-gaiji-table
29 '(("ha121" "
\e,A4
\e(B") ("ha122" "
\e,0,
\e(B") ("ha123" "
\e,07
\e(B") ("ha124" "
\e,0#
\e(B") ("ha125" "
\e,0'
\e(B")
30 ("ha126" "
\e,0I
\e(B") ("ha127" "
\e,0U
\e(B") ("ha128" "
\e,0M
\e(B") ("ha129" "
\e,0r
\e(B") ("ha12a" "`")
31 ("ha12b" nil "1/2") ("ha12c" nil "1/3") ("ha12d" "
\e,AA
\e(B") ("ha12e" "
\e,Aa
\e(B")
32 ("ha12f" "
\e,A@
\e(B") ("ha130" "
\e,A`
\e(B") ("ha133" "
\e,AB
\e(B") ("ha134" "
\e,Ab
\e(B") ("ha136" "
\e,AD
\e(B")
33 ("ha137" "
\e,Ad
\e(B") ("ha138" "
\e,AC
\e(B") ("ha139" "
\e,Ac
\e(B") ("ha13a" "
\e,AE
\e(B") ("ha13b" "
\e,Ae
\e(B")
34 ("ha13c" "
\e,AF
\e(B") ("ha13d" "
\e,Af
\e(B") ("ha154" "
\e,Aj
\e(B") ("ha157" "
\e,AK
\e(B") ("ha158" "
\e,Ak
\e(B")
35 ("ha161" "
\e,Am
\e(B") ("ha162" "
\e,AL
\e(B") ("ha168" "
\e,AO
\e(B") ("ha169" "
\e,Ao
\e(B") ("ha16a" "
\e,0!
\e(B")
36 ("ha16b" "
\e,0Z
\e(B") ("ha16e" "
\e,B#
\e(B") ("ha17a" "
\e,AS
\e(B") ("ha17b" "
\e,As
\e(B") ("ha17c" "
\e,AR
\e(B")
37 ("ha17d" "
\e,Ar
\e(B") ("ha222" "
\e,AT
\e(B") ("ha223" "
\e,At
\e(B") ("ha224" "
\e,AV
\e(B") ("ha225" "
\e,Av
\e(B")
38 ("ha226" "
\e,AU
\e(B") ("ha227" "
\e,Au
\e(B") ("ha228" "
\e,AX
\e(B") ("ha229" "
\e,Ax
\e(B") ("ha22e" "
\e,01
\e(B")
39 ("ha22f" "
\e,00
\e(B") ("ha242" "
\e,Az
\e(B") ("ha243" "
\e,AY
\e(B") ("ha244" "
\e,Ay
\e(B") ("ha247" "
\e,A\
\e(B")
40 ("ha248" "
\e,A|
\e(B") ("ha25b" "
\e,0H
\e(B") ("ha25c" "
\e,0L
\e(B")
41 ("za121" nil "
\e,A4
\e(B") ("za122" nil "
\e,0,
\e(B") ("za123" nil "
\e,07
\e(B") ("za124" nil "
\e,0#
\e(B")
42 ("za125" nil "
\e,0'
\e(B") ("za126" nil "
\e,0I
\e(B") ("za127" nil "
\e,0U
\e(B") ("za128" nil "
\e,0M
\e(B")
43 ("za129" nil "
\e,0r
\e(B") ("za12a" nil "`") ("za12b" nil "1/2")
44 ("za12c" nil "1/3") ("za12d" nil "
\e,AA
\e(B") ("za12e" nil "
\e,Aa
\e(B") ("za12f" nil "
\e,A@
\e(B")
45 ("za130" nil "
\e,A`
\e(B") ("za133" nil "
\e,AB
\e(B") ("za134" nil "
\e,Ab
\e(B") ("za136" nil "
\e,AD
\e(B")
46 ("za137" nil "
\e,Ad
\e(B") ("za138" nil "
\e,AC
\e(B") ("za139" nil "
\e,Ac
\e(B") ("za13a" nil "
\e,AE
\e(B")
47 ("za13b" nil "
\e,Ae
\e(B") ("za13c" nil "
\e,AF
\e(B") ("za13d" nil "
\e,Af
\e(B") ("za154" nil "
\e,Aj
\e(B")
48 ("za157" nil "
\e,AK
\e(B") ("za158" nil "
\e,Ak
\e(B") ("za161" nil "
\e,Am
\e(B") ("za162" nil "
\e,AL
\e(B")
49 ("za168" nil "
\e,AO
\e(B") ("za169" nil "
\e,Ao
\e(B") ("za16a" nil "
\e,0!
\e(B") ("za16b" nil "
\e,0Z
\e(B")
50 ("za16e" nil "
\e,B#
\e(B") ("za17a" nil "
\e,AS
\e(B") ("za17b" nil "
\e,As
\e(B") ("za17c" nil "
\e,AR
\e(B")
51 ("za17d" nil "
\e,Ar
\e(B") ("za222" nil "
\e,AT
\e(B") ("za223" nil "
\e,At
\e(B") ("za224" nil "
\e,AV
\e(B")
52 ("za225" nil "
\e,Av
\e(B") ("za226" nil "
\e,AU
\e(B") ("za227" nil "
\e,Au
\e(B") ("za228" nil "
\e,AX
\e(B")
53 ("za229" nil "
\e,Ax
\e(B") ("za22e" nil "
\e,01
\e(B") ("za22f" nil "
\e,00
\e(B") ("za242" nil "
\e,Az
\e(B")
54 ("za243" nil "
\e,AY
\e(B") ("za244" nil "
\e,Ay
\e(B") ("za247" nil "
\e,A\
\e(B") ("za248" nil "
\e,A|
\e(B")
55 ("za25b" nil "
\e,0H
\e(B") ("za25c" nil "
\e,0L
\e(B"))))
57 (defconst mypaedia-arranges
58 '(lookup-arrange-gaijis
59 mypaedia-arrange-references
60 lookup-arrange-default-headings
61 lookup-arrange-fill-lines))
63 (setq lookup-package-dictionary-options
64 (list (cons ':gaiji-table mypaedia-gaiji-table)
65 (cons ':arranges mypaedia-arranges)))
67 (defconst mypaedia-reference-regexp
68 (cond ((eq lookup-package-agent 'ndtp)
69 "
\e$B"*
\e(B\\(.*\\)<\\([0-9a-f:]+\\)>\n")
70 ((eq lookup-package-agent 'ndeb)
71 "<reference>
\e$B"*
\e(B\\(.*\\)</reference=\\([0-9a-f:]+\\)>\n")))
73 (defun mypaedia-arrange-references (entry)
74 ;;
\e$B$3$N<-=q$O%j%s%/$,%F%-%9%H$N:G8e$K$^$H$a$i$l$F$$$k$N$@$,!"
\e(B
75 ;;
\e$BB>$N<-=q$K9g$o$;$F!"%F%-%9%H$NESCf$K:n$k!#
\e(B
76 (let ((dictionary (lookup-entry-dictionary entry))
77 heading code start end)
78 (while (re-search-forward mypaedia-reference-regexp nil t)
79 (setq start (match-beginning 0) end (match-end 0))
80 (setq heading (match-string 1) code (match-string 2))
81 (setq entry (lookup-make-entry dictionary code heading))
82 (delete-region start end)
83 (if (search-backward (concat "
\e$B"M
\e(B" heading) nil t)
84 (setq start (match-beginning 0) end (match-end 0))
85 (insert "
\e$B"*
\e(B" heading "\n")
86 (setq end (1- (point))))
87 (lookup-set-link start end entry))))
89 ;;; mypaedia.el ends here