]> code.delx.au - gnu-emacs/blobdiff - lisp/international/ja-dic-cnv.el
Update copyright year to 2016
[gnu-emacs] / lisp / international / ja-dic-cnv.el
index c0fcf19d8414cf1ee9697e191180ada2d16326f0..cc2d1262b5cf1b2bbc20fa93e563a5f41e3cf19d 100644 (file)
@@ -1,5 +1,7 @@
 ;;; ja-dic-cnv.el --- convert a Japanese dictionary (SKK-JISYO.L) to Emacs Lisp
 
+;; Copyright (C) 2001-2016 Free Software Foundation, Inc.
+
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
                (cons (cons kana candidates) skkdic-okuri-nasi-entries)
                skkdic-okuri-nasi-entries-count
                (1+ skkdic-okuri-nasi-entries-count))
-         (setq ratio (floor (/ (* (point) 100.0) (point-max))))
-         (if (/= ratio prev-ratio)
+         (setq ratio (floor (* (point) 100.0) (point-max)))
+         (if (/= (/ prev-ratio 10) (/ ratio 10))
              (progn
-               (message "collected %2d%% %s ..." ratio kana)
+               (message "collected %2d%% ..." ratio)
                (setq prev-ratio ratio)))
          (while candidates
            (let ((entry (lookup-nested-alist (car candidates)
       (while l
        (let ((kana (car (car l)))
              (candidates (cdr (car l))))
-         (setq ratio (/ (* count 1000) skkdic-okuri-nasi-entries-count)
+         (setq ratio (floor (* count 100.0) skkdic-okuri-nasi-entries-count)
                count (1+ count))
-         (if (/= prev-ratio (/ ratio 10))
+         (if (/= (/ prev-ratio 10) (/ ratio 10))
              (progn
-               (message "processed %2d%% %s ..." (/ ratio 10) kana)
-               (setq prev-ratio (/ ratio 10))))
+               (message "processed %2d%% ..." ratio)
+               (setq prev-ratio ratio)))
          (if (setq candidates
                    (skkdic-reduced-candidates skkbuf kana candidates))
              (progn
@@ -330,25 +332,26 @@ The name of generated file is specified by the variable `ja-dic-filename'."
   (interactive "FSKK dictionary file: ")
   (message "Reading file \"%s\" ..." filename)
   (let* ((coding-system-for-read 'euc-japan)
-        (skkbuf(find-file-noselect (expand-file-name filename)))
+        (skkbuf (get-buffer-create " *skkdic-unannotated*"))
         (buf (get-buffer-create "*skkdic-work*")))
+    ;; Set skkbuf to an unannotated copy of the dictionary.
+    (with-current-buffer skkbuf
+      (insert-file-contents (expand-file-name filename))
+      (re-search-forward "^[^;]")
+      (while (re-search-forward ";[^\n/]*/" nil t)
+       (replace-match "/")))
     ;; Setup and generate the header part of working buffer.
     (with-current-buffer buf
       (erase-buffer)
       (buffer-disable-undo)
-      (insert ";;; ja-dic.el --- dictionary for Japanese input method"
-             " -*-coding: euc-japan; -*-\n"
+      (insert ";;; ja-dic.el --- dictionary for Japanese input method\n"
              ";;\tGenerated by the command `skkdic-convert'\n"
-             ";;\tDate: " (current-time-string) "\n"
              ";;\tOriginal SKK dictionary file: "
              (file-relative-name (expand-file-name filename) dirname)
              "\n\n"
              ";; This file is part of GNU Emacs.\n\n"
-             ";;; Commentary:\n\n"
-             ";; Do byte-compile this file again after any modification.\n\n"
              ";;; Start of the header of the original SKK dictionary.\n\n")
       (set-buffer skkbuf)
-      (widen)
       (goto-char 1)
       (let (pos)
        (search-forward ";; okuri-ari")
@@ -394,12 +397,18 @@ The name of generated file is specified by the variable `ja-dic-filename'."
        ;; Postfix
        (with-current-buffer buf
          (goto-char (point-max))
-         (insert ";;\n(provide 'ja-dic)\n\n;;; ja-dic.el ends here\n")))
+         (insert ";;\n(provide 'ja-dic)\n\n"
+                 ";; Local Variables:\n"
+                 ";; version-control: never\n"
+                 ";; no-update-autoloads: t\n"
+                 ";; coding: utf-8\n"
+                 ";; End:\n\n"
+                 ";;; ja-dic.el ends here\n")))
 
       ;; Save the working buffer.
       (set-buffer buf)
       (set-visited-file-name (expand-file-name ja-dic-filename dirname) t)
-      (set-buffer-file-coding-system 'euc-japan)
+      (set-buffer-file-coding-system 'utf-8)
       (save-buffer 0))
     (kill-buffer skkbuf)
     (switch-to-buffer buf)))
@@ -429,12 +438,7 @@ To get complete usage, invoke:
            (setq targetdir (expand-file-name (car command-line-args-left)))
            (setq command-line-args-left (cdr command-line-args-left))))
       (setq filename (expand-file-name (car command-line-args-left)))
-      (message "Converting %s to %s ..." filename ja-dic-filename)
-      (message "It takes around 10 minutes even on Sun SS20.")
-      (skkdic-convert filename targetdir)
-      (message "Do byte-compile the created file by:")
-      (message "  %% emacs -batch -f batch-byte-compile %s" ja-dic-filename)
-      ))
+      (skkdic-convert filename targetdir)))
   (kill-emacs 0))