|Description||provides interface for dictionary lookup.|
|Author||name of author|
|Maintainer||Roland Mas, Debian package mainainer|
|Source||SUSE and Debian packages are available|
|Part of Emacs||no|
The elisp package edict.el is an instance of Lookup. It is often referred to simply as edict, which is confusing because it is associated with Edict, the Japanese dictionary. The lisp package can work with other dictionaries.
edict.el allows searching a local dictionary (e.g. Edict, Kanjidic) for character at point or a region. Search results are displayed in an Emacs buffer.
It is not clear who the code maintainer is, as searches point to former maintainers. The most recent info suggests that Roland Mas is the current Debian package maintainer, but it does not look like the elisp code is under development.
- M-x edict-search-english (prompts for word to search for)
- M-x edict-search-kanji (first highlight a character or sequence)
There are SUSE Linux RPMs for both edict.el and EDICT (the Japanese-English dictionary). Note: You can create your own dictionary, or use other dictionaries.
- edict-emacs-0.9.8-972.2 edict.el, an Emacs Front-end for EDICT
- edict-20060807-136.2 The Japanese Dictionary Files for Jim Breen's EDICT Project
There is also a Debian package edict-el and an Ubuntu package.
The Suse RPMs can also be used on Windows XP. Use 7-Zip on the RPM, and then the enclosed cpio archive. It will create a usr/share/emacs/site-lisp/edict hierarchy, but you can move the edict folder or just its contents to anywhere, then add to load-path.
Add to .emacs:
; set a variable edictdir to location of edict.el and the other package elisp files (add-to-list 'load-path edictdir) ; variable edict-dictionaries points to your dictionaries. It is in suse-start.el (load "suse-start")
The elisp files are in package edict-emacs-xxx.rpm. It is not necessary to get the edict-xxx.rpm which contains dictionaries, but suse-start.el notes that:
;; the following dictionaries should be available when you ;; have installed edict.rpm: (setq edict-dictionaries (list "/usr/share/edict/4jwords" "/usr/share/edict/aviation" "/usr/share/edict/classical" "/usr/share/edict/compdic" "/usr/share/edict/compverb" "/usr/share/edict/concrete" "/usr/share/edict/edict" "/usr/share/edict/edicth" "/usr/share/edict/enamdict" "/usr/share/edict/findic" "/usr/share/edict/geodic" "/usr/share/edict/j_places" "/usr/share/edict/jddict.v02" (cons "/usr/share/edict/kanjd212" 'euc-jp) "/usr/share/edict/kanjidic" "/usr/share/edict/lingdic" "/usr/share/edict/mktdic" "/usr/share/edict/pandpdic" ))
I prefer to define dictionary variables in .emacs before loading suse-start. That way I never have to find suse-start.el again, just change the dictionary variable in .emacs. So a possible modification in suse-start.el is:
(setq edict-dictionaries (list kanjidict foodict bardict))
You can also save entries to your private dictionary. The location is specified in suse-start.el, so modify it if the default is not to your liking:
(setq edict-user-dictionary "~/edict/private-edict")
- edict-search-english is on M-+
- edict-search-kanji is on M-_
but these can be set with:
(global-set-key (kbd "C-c j") 'edict-search-english) (global-set-key (kbd "C-c k") 'edict-search-kanji)
If you are using edict (the Japanese dictionary, not edict.el), you might need to change the value of edict-default-coding-system. It was utf-8 by default, and I had to set it to euc-jp in edict.el:
(defvar edict-default-coding-system 'euc-jp "Default coding system for reading dictionary files. On SuSE Linux >= 9.0, EDICT is distributed as an 'utf-8 encoded file. For SuSE Linux <= 8.2 or other Linux like systems, 'euc-jp may be used for EDICT. For Windows systems 'shift_jis is may be preferable.")
If you see blocks for missing glyphs, try another font. This worked for the edict file included in edict-20060807-136.2.rpm:
M-x set-default-font font: -outline-HAN NOM A-normal-normal-normal-*-*-*-*-*-p-*-jisx0208-sjis