home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / editors / jdic14.arj / JDIC14.DOC < prev    next >
Text File  |  1991-09-02  |  12KB  |  271 lines

  1.  
  2. J D I C 
  3.  
  4. Simple English Japanese Dictionary Display 
  5. ========================================== 
  6.  
  7. Version 1.4 (August 1991) 
  8.  
  9. Introduction 
  10. ------------ 
  11.  
  12. This program provides a simple  English/Japanese  (kana  &  kanji)  display  of 
  13. selected  entries of a dictionary file.  While it will work (more or less) with 
  14. any text file containing a mix of Japanese  and  English  words,  it  has  been 
  15. designed  specifically to operate on a dictionary in the "EDICT" format used by 
  16. the MOKE (Mark's Own Kanji Editor) Japanese text editor. 
  17.  
  18. The executable code and documentation of JDIC is hereby released to the "public 
  19. domain".  All usage of this program is at the user's  risk,  and  there  is  no 
  20. warranty on its performance. 
  21.  
  22. All the Japanese displayed is in kana and kanji, so if you cannot read at least 
  23. hiragana and katakana, this is not the program for you. 
  24.  
  25. Installation
  26. ------------
  27.  
  28. This program is distributed as a  "zoo"  archive  (jdic14.zoo)  containing  the 
  29. following files: 
  30.  
  31.     jdic.exe    (the executable)
  32.     jdic14.doc  (this documentation file)
  33.     edictj      (a Japanese/English dictionary file)
  34.     *.bgi       (Borland Graphics drivers for various cards)
  35.  
  36. The files will need to be unpacked and copied into a  directory  on  your  hard 
  37. disk.  If  you  are storing them in the same directory as your MOKE files (e.g. 
  38. \kanji) be careful not to overwrite  MOKE's  "edict"  file.  In  addition,  the 
  39. 16-bit  JIS  font  files  "k16jis1.fnt"  and  "k16jis2.fnt"  must  be  in  this 
  40. directory.  These latter files are not included in this  distribution.  If  you 
  41. use  MOKE,  you  have them already.  If not you will need to track them down at 
  42. one of the FTP sites.  In the MOKE1.1 distribution they are in the  MK11K16.ZIP 
  43. archive file. Another source is kd100.arc, the KD distribution file.
  44.  
  45. The executable (jdic.exe) will need to be stored in a directory on your path if 
  46. you  wish  to invoke JDIC from any directory.  The  simplest approach is to add 
  47. \kanji to your path. 
  48.  
  49. The  following  environment  variables  may be set (note that they are the same 
  50. environment variables used by MOKE.) 
  51.  
  52.     bgi  (the directory containing the bgi files.  E.g.  c:\tc or c:\kanji.  If 
  53.         this is not present,  the bgi files must be in the directory  in  which 
  54.         JDIC is invoked.) 
  55.  
  56.     mokerc (the directory containing the moke.rc file.  E.g. c:\kanji.  If this 
  57.            is  not  present,  the current directory will be searched for a file 
  58.            called moke.rc, and the directory details extracted.) 
  59.  
  60.     jgraphic (set this to ATT400 if you  have  an  AT&T  high-resolution  card. 
  61.               Otherwise  it  will  default to CGA.  NB:  MOKE does not use this 
  62.               variable.) 
  63.  
  64. If you wish to operate JDIC from  other  directories,  you  must  have  a  file 
  65. "moke.rc" containing the following line: 
  66.  
  67.     kanjipath    directory-path    (e.g. C:\KANJI)
  68.  
  69. to  tell  the  program  the  location  of  the  control  and  font  files.  The 
  70. environment variable "mokerc" must be used to specify the directory  containing 
  71. "moke.rc". (If you use MOKE, you will have a moke.rc file already.) 
  72.  
  73. Operation
  74. ---------
  75.  
  76. JDIC  must  operate  on  a  PC or AT with a graphics card.  It has been written 
  77. using Turbo C 2.0,  and has been tested  on  VGA,  CGA,  ATT  and  HERC  cards. 
  78. Auto-detection is used to determine the type of graphics card. 
  79.  
  80. The invocation of JDIC is: 
  81.  
  82.     jdic               [uses a dictionary called "edict"]
  83.  
  84. or
  85.  
  86.     jdic dicname       [where dicname is the name of your dictionary]
  87.  
  88. The   default   dictionary   "edict"  is,   of  course,   the  name  of  MOKE's 
  89. English/Japanese  dictionary  file.   It  will  be  located  in  the  directory 
  90. specified  in your moke.rc file.  If you use an alternative dictionary,  it can 
  91. be in any directory. 
  92.  
  93. JDIC also needs an index file "<dicname>.jdx".  If is not present  it  will  be 
  94. created.  JDIC  saves the length of the dictionary file and the JDIC version in 
  95. the .jdx file,  and if it detects that either have changed,  it will insist  on 
  96. recreating the index file.  Otherwise the dictionary look-up will be useless. 
  97.  
  98. Operation is very simple.  After loading the dictionary,  index and font files, 
  99. the full-screen working window is displayed with  the  "Enter  Search  String:" 
  100. prompt.  Type  a  few  letters from the *start* of the word(s) you are seeking. 
  101. JDIC  does  not  match  on  strings  in  the  middle  of  words.  The  scan  is 
  102. case-insensitive. 
  103.  
  104. A  multi-line  display is produced for all the matches against the string.  The 
  105. display format is: 
  106.  
  107.      matched_word [kanji] (yomikata) english_1, english_2, etc 
  108.  
  109. where "matched_word" is either ascii or kana,  depending on the search  string. 
  110. If  the  search  string  was  kana  (i.e.  the match was on the yomikata),  the 
  111. separate yomikata display is omitted. 
  112.  
  113. A line is only displayed once per search, regardless of the number of hits. 
  114.  
  115. After a search,  a further prompt occurs at the bottom of the screen giving you 
  116. the option of quitting (Q), requesting another search (A) or, if there is still 
  117. more information to display, requesting the next screen-full (M). 
  118.  
  119. You  will notice an "(A)" in the bottom lefthand corner of the screen.  This is 
  120. to indicate you are entering search strings in ascii (i.e. in English).  If you 
  121. press F3 before entering a string,  you toggle between (A)scii,  (H)iragana and 
  122. (K)atakana. (Why F3?, well that is the key that MOKE uses for this function.) 
  123.  
  124. To enter a search string in kana, type it in romaji and it will be converted to 
  125. kana as you type.  The romaji->kana translation is  almost  identical  to  that 
  126. used  in MOKE,  i.e.  for a small "tsu" you can type either a double consonant, 
  127. e.g.  "shippai",  or "t-",  e.g.  shit-pai,  and for "n" you can type  "n'"  if 
  128. necessary  (e.g.  as  in  "kon'yaku").  Most  of  the time just typing ordinary 
  129. Hepburn or kunrei romaji works.  Note that the  romaji  must  follow  the  kana 
  130. style for long vowels. Tokyo must be toukyou, NOT tookyoo. 
  131.  
  132. The matching of kana strings is insensitive to whether  they  are  katakana  or 
  133. hiragana.  The  ONE  difference  between  them is that typing a "-" in hiragana 
  134. gets a "u", and in katakana gets a "-", just as in MOKE. 
  135.  
  136. The display is in "dictionary" order for the words matched,  i.e.  alphabetical 
  137. for  the  ascii  search,  and EUC order for the kana search.  EUC order is very 
  138. close to the "gojuu"  kana  order  in  Japanese  dictionaries  except  that  it 
  139. separates the syllables with nigori and maru. 
  140.  
  141. There  is  also  an  "Unlimited  Display  Mode" which is invoked by pressing F1 
  142. before or during the entering of the search string.  In this mode you will just 
  143. keep scrolling through the dictionary instead for stopping when you run out  of 
  144. matching  strings.  Also in this mode entries are displayed every time there is 
  145. a match in the index table (normally an entry is  displayed  once  only.)  This 
  146. mode is useful for doing maintenance on the dictionary,  and for just browsing. 
  147. If you use this mode you may get some strange displays for entries which  begin 
  148. with kana and continue with kanji, e.g. ocha. 
  149.  
  150. Dictionary 
  151. ---------- 
  152.  
  153. Clearly to be of any use, JDIC must have a reasonably good dictionary. Included 
  154. with this  distribution  is  the  EDICTJ  dictionary,  which  is  the  author's 
  155. extension  of  MOKE's  EDICT.  MOKE's  EDICT  was  about 1800 entries,  and was 
  156. compiled by Mark Edwards with help from Spencer Green.  EDICTJ  is  about  4600 
  157. entries.  (You  can rename it `EDICT' and use it with MOKE;  it has been called 
  158. EDICTJ to reduce the chance of accidental clobbering.) 
  159.  
  160. EDICTJ  and  edictj.doc  are  available  separately  at  monu6  and  some other 
  161. archives. 
  162.  
  163. The dictionary file must use the "EUC" coding for Japanese  characters.  MOKE's 
  164. EDICT  does  this,  so  that  was  the coding adopted in JDIC.  Files using JIS 
  165. codings can be converted to EUC using  MOKE  itself,  or  Ken  Lunde's  "JIS.C" 
  166. program. 
  167.  
  168. The format each entry of EDICT is: 
  169.  
  170. Japanese [yomikata] /english_1/english_2/..../ 
  171.  
  172. If the word is in kana alone, the yomikata is omitted. 
  173.  
  174. Technical
  175. ---------
  176.  
  177. JDIC holds the complete dictionary in RAM, along with the first 3490 bitmaps of 
  178. the  JIS  character set and the index table.  The index table contains an entry 
  179. for each word in the dictionary,  sorted in alpha/kana order.  This  enables  a 
  180. fast  search  to  be  done,  and for the display to be in alphabetical order by 
  181. keyword.  Common words like:  "of",  "to",  "the",  etc.  and grammatical terms 
  182. like: "adj", "vi", "vt", etc. are not indexed. 
  183.  
  184. If  a  kanji is required that is not in the ~3000 most common ones,  it is read 
  185. from disk into a circular cache buffer. This happens rarely. 
  186.  
  187. JDIC can cope with dictionaries up to about 200 kbytes.  If a larger dictionary 
  188. ever comes available,  another version could operate  with  the  dictionary  on 
  189. disk.  The parsing and sort to set up the index table would be slower,  but the 
  190. searching will still be quite fast. 
  191.  
  192. With  release  1.4 the .jdx file can be larger than 64k bytes.  To handle this, 
  193. JDIC has to use far pointer arithmetic,  so the parsing and sorting  is  a  lot 
  194. slower  than  in  earlier  versions.  Also  all  kana and kanji strings are now 
  195. indexed  as  the  author  is  working  on  another  program  which   uses   the 
  196. edict/edict.jdx files. 
  197.  
  198. Changes in Version 1.1
  199. ----------------------
  200.  
  201. o ATT graphics card handling.
  202. o fixes to the parsing of kanji/kana strings.  The result is that the .jdx file 
  203.   is about 20% larger than in V1.0. 
  204.  
  205. Changes in Version 1.2
  206. ----------------------
  207.  
  208. o fixes to the kana->romaji code to handle "nyu" properly.
  209. o facility to use dictionaries other than "edict".
  210. o Unlimited Display Mode.
  211.  
  212. Changes in Version 1.3
  213. ----------------------
  214.  
  215. o immediate romaji->kana conversion (suggested by David Cowhig).
  216. o  examination  of  the  "bgi"  and  "mokerc"  environment  variables,  and the 
  217. "moke.rc" control file. 
  218.  
  219. Changes in Version 1.4
  220. ----------------------
  221.  
  222. o reformatting the output to start with the `hit' word,  and to put parentheses 
  223.   around the kanji and kana, and to position the ascii text better with respect 
  224.   to the kana/kanji. 
  225. o handling of an index table greater than 64k bytes.
  226.  
  227. It Doesn't Work!
  228. ----------------
  229.  
  230. Oh  dear.  If  you  do  not  get the introductory message,  you probably have a 
  231. corrupted .exe.  Try and get a clean copy.  Also your  environment  might  have 
  232. trouble with the output of a Turbo C 2.0 compilation/link. 
  233.  
  234. If you actually get started,  but cannot find any thing,  even when you put "a" 
  235. as a search key,  delete your .jdx file and start again.  If it  still  doesn't 
  236. work, mail the author a sample of your dictionary. 
  237.  
  238. Acknowledgements
  239. ----------------
  240.  
  241. A message from the author: 
  242.  
  243. I wrote this program to gain experience in handling and displaying the Japanese 
  244. character set, and to exploit the dictionary that came with my copy of MOKE.  I 
  245. also wanted to brush up my C skills.  I make no claims for it, but I am pleased 
  246. how it turned out.  I will consider releasing the source (if anyone is actually 
  247. interested in it) at a later date. 
  248.  
  249. I welcome suggestions, comments and constructive criticism. 
  250.  
  251. I  wrote  about two-thirds of this program.  Great lumps of it were lifted with 
  252. minor modifications from "KD" (Kanji Driver), which was written by Izumi Ohzawa 
  253. at Berkeley, in particular the JIS handling module (kjis.c) which was a port of 
  254. "jis.pas" by Seiichi Nomura and Seke Wei. 
  255.  
  256. Ken Lunde's "japan.inf" and his elegant "jis.c" explained the workings  of  EUC 
  257. and old/new JIS codes. 
  258.  
  259. Mark Edwards' MOKE remains the tour de force in this field,  and an inspiration 
  260. for us all.  I regard JDIC as a humble and minor  accessory  to  MOKE.  (I  use 
  261. tables  lifted  from  two of the ".hlp" files in MOKE to drive the romaji->kana 
  262. code.) 
  263.  
  264. Jim Breen
  265. Department of Robotics & Digital Technology
  266. Monash University
  267. Melbourne, Australia
  268. (jwb@monu6.cc.monash.edu.au)
  269.  
  270. May-August 1991
  271.