footnote / footnote-hebrew.el

;;; footnote-hebrew.el --- Hebrew lettering for footnote mode

;; Copyright (C) 1997 by Free Software Foundation, Inc.

;; Author: Steven L Baur <steve@xemacs.org>
;; Keywords: mule, news, mail
;; Version: 0.17

;; This file is part of XEmacs.

;; XEmacs 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.

;; XEmacs 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 XEmacs; see the file COPYING.  If not, write to the Free
;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
;; 02111-1307, USA.

;;; Synched up with: Not in FSF

;;; Commentary:

;; This file provides support for Hebrew lettering in footnote mode.
;; It requires an Emacs or XEmacs with MULE internationalization.

;;; Change Log:

;; Apr-05-1997:	Replicate letters when footnote numbers hit the end of
;;		the alphabet.
;; Apr-18-1997:	Added regexp to the footnote style alist.

;;; Code:

(require 'footnote)

(defconst footnote-hebrew "�2]-H����������������������������0]"-A
  "Hebrew alphabet.")

(defconst footnote-hebrew-regexp
  (concat "[" footnote-hebrew "]")
  "Regexp for hebrew.")

(defun Footnote-hebrew (n)
  "Return a letter of Hebrew.
Wrapping around the alphabet implies successive repetitions of letters."
  (let* ((ltr (mod (1- n) (length footnote-hebrew)))
	 (rep (/ (1- n) (length footnote-hebrew)))
	 (chr (char-to-string (aref footnote-hebrew ltr)))
	 rc)
    (while (>= rep 0)
      (setq rc (concat rc chr))
      (setq rep (1- rep)))
    rc))

(setq footnote-style-alist
      (append (list `(hebrew
		      Footnote-hebrew
		      ,footnote-hebrew-regexp)) footnote-style-alist))

(provide 'footnote-hebrew)

;;; footnote-hebrew.el ends here
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.