(Download): Renamed from "Anonymous FTP"; modify for
[elisp/apel.git] / emu-mule.el
index 2fd7140..154cd39 100644 (file)
@@ -1,46 +1,61 @@
+;;; emu-mule.el --- emu module for Mule 1.* and Mule 2.*
+
+;; Copyright (C) 1995,1996,1997,1998 MORIOKA Tomohiko
+
+;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;;         Katsumi Yamaoka <yamaoka@jpl.org>
+;; Keywords: emulation, compatibility, Mule
+
+;; This file is part of emu.
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 2, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Code:
+
+(require 'poem)
+
+
+;;; @ regulation
 ;;;
-;;; emu-mule: Mule 2.* emulation module for Mule
-;;;
-;;; $Id: emu-mule.el,v 6.1 1995/08/26 18:07:55 morioka Exp $
+
+(defun regulate-latin-char (chr)
+  (cond ((and (<= ?\e$B#A\e(B chr)(<= chr ?\e$B#Z\e(B))
+        (+ (- chr ?\e$B#A\e(B) ?A))
+       ((and (<= ?\e$B#a\e(B chr)(<= chr ?\e$B#z\e(B))
+        (+ (- chr ?\e$B#a\e(B) ?a))
+       ((eq chr ?\e$B!%\e(B) ?.)
+       ((eq chr ?\e$B!$\e(B) ?,)
+       (t chr)))
+
+(defun regulate-latin-string (str)
+  (let ((len (length str))
+       (i 0)
+       chr (dest ""))
+    (while (< i len)
+      (setq chr (sref str i))
+      (setq dest (concat dest
+                        (char-to-string (regulate-latin-char chr))))
+      (setq i (+ i (char-bytes chr))))
+    dest))
+
+
+;;; @ end
 ;;;
 
-(defun some-element (pred seq)
-  "Return the first element of sequence SEQ
-whose return value applied function PRED is not nil.
-[emu-mule; tl-list function]"
- (let ((i 0)(len (length seq)) element)
-   (catch 'tag
-     (while (< i len)
-       (if (funcall pred (setq element (elt seq i)))
-          (throw 'tag element)
-        )
-       (setq i (+ i 1))
-       ))
-   ))
-
-(defun get-lc (chr)
-  "Return leading character of CHAR or LEADING-CHARACTER."
-  (if (< chr 128)
-      lc-ascii
-    chr))
-
-
-(if (not (boundp 'emacs-major-version))
-    (defconst emacs-major-version (string-to-int emacs-version))
-  )
-
-(cond ((>= emacs-major-version 19)
-       (defun fontset-pixel-size (fontset)
-        (elt
-         (get-font-info
-          (some-element
-           (function
-            (lambda (n)
-              (not (= n -1))
-              ))
-           (cdr (get-fontset-info fontset))
-           )) 5))
-       )
-      (t (require 'emu-18)))
-
-(provide 'emu-mule)
+(require 'product)
+(product-provide (provide 'emu-mule) (require 'apel-ver))
+
+;;; emu-mule.el ends here