home *** CD-ROM | disk | FTP | other *** search
- ;;; -*- Mode: Emacs-Lisp -*-
- ;;;
- ;;; The contents of this file are subject to the Netscape Public License
- ;;; Version 1.0 (the "NPL"); you may not use this file except in
- ;;; compliance with the NPL. You may obtain a copy of the NPL at
- ;;; http://www.mozilla.org/NPL/
- ;;;
- ;;; Software distributed under the NPL is distributed on an "AS IS" basis,
- ;;; WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
- ;;; for the specific language governing rights and limitations under the
- ;;; NPL.
- ;;;
- ;;; The Initial Developer of this code under the NPL is Netscape
- ;;; Communications Corporation. Portions created by Netscape are
- ;;; Copyright (C) 1998 Netscape Communications Corporation. All Rights
- ;;; Reserved.
- ;;;
-
- (defun html-to-pc (name input output)
- (save-excursion
- (set-buffer (let ((font-lock-mode nil))
- (find-file-noselect output)))
- (fundamental-mode)
- (erase-buffer)
- (insert-file-contents input)
- (goto-char (point-min))
- (while (search-forward "x_cbug" nil t)
- (goto-char (match-beginning 0))
- (delete-char 1)
- (insert "win"))
- (goto-char (point-min))
-
- ;; refill the paragraphs for small PC screens...
- (if (equal name "LICENSE")
- (let ((fill-column 67))
- (save-restriction
- (goto-char (point-max))
- (forward-paragraph -1) ; skip last one
- (narrow-to-region (point-min) (point))
- (goto-char (point-min))
- (while (not (eobp))
- (fill-paragraph nil)
- (forward-paragraph 1)))))
-
- (goto-char (point-min))
- (let ((line 0)
- (char 0))
- (while (not (eobp))
- (cond ((= char 0)
- (if (= line 0)
- (insert "STRINGTABLE DISCARDABLE\nBEGIN\n")
- ;else
- (insert "\"\n"))
- (insert (upcase (format "IDS_%s_%x\t\"!" name line)))
- (setq line (1+ line))))
- (cond ((= (following-char) ?\")
- (setq char (1+ char))
- (insert "\"")
- (forward-char 1))
- ((= (following-char) ?\n)
- (delete-char 1)
-
- (insert "\\r\\n")
-
- ; (cond ((= (following-char) ?\n)
- ; (delete-char 1)
- ; (insert "\\r\\n\\r\\n"))
- ; (t
- ; (insert " ")))
- )
- (t
- (forward-char 1)))
- (setq char (1+ char))
- (if (> char 190)
- (setq char 0))))
- (insert "\"\nEND\n")
- (forward-line -2)
- (search-forward "\"" nil t)
- (delete-char 1)
- (save-buffer)
- ))
-
- (defun batch-html-to-pc ()
- (defvar command-line-args-left) ;Avoid 'free variable' warning
- (if (not noninteractive)
- (error "batch-html-to-pc is to be used only with -batch"))
- (let ((name (nth 0 command-line-args-left))
- (in (expand-file-name (nth 1 command-line-args-left)))
- (out (expand-file-name (nth 2 command-line-args-left)))
- (version-control 'never))
- (or (and in out)
- (error
- "usage: emacs -batch -f batch-html-to-pc input-file output-file"))
- (setq command-line-args-left (cdr (cdr command-line-args-left)))
- (let ((auto-mode-alist nil))
- (html-to-pc name in out))))
-