1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-24 07:20:37 +00:00

Add a new footnote style unicode

See also the discussion thread in:
http://thread.gmane.org/gmane.emacs.devel/139221
This commit is contained in:
Leo Liu 2011-05-10 16:20:21 +08:00
parent 9e2dd53f16
commit b404486913
2 changed files with 29 additions and 1 deletions

View File

@ -1,6 +1,10 @@
2011-05-10 Leo Liu <sdl.web@gmail.com>
* mail/footnote.el: Convert to utf-8 encoding.
(footnote-unicode-string, footnote-unicode-regexp): New variable.
(Footnote-unicode): New function.
(footnote-style-alist): Add unicode style to the list.
(footnote-style): Doc fix.
2011-05-10 Glenn Morris <rgm@gnu.org>
Stefan Monnier <monnier@iro.umontreal.ca>

View File

@ -291,6 +291,25 @@ Use a range of Latin-1 non-ASCII characters for footnoting."
(string (aref footnote-latin-string
(mod (1- n) (length footnote-latin-string)))))
;; Unicode
(defconst footnote-unicode-string "⁰¹²³⁴⁵⁶⁷⁸⁹"
"String of unicode footnoting characters.")
(defconst footnote-unicode-regexp (concat "[" footnote-unicode-string "]+")
"Regexp for unicode footnoting characters.")
(defun Footnote-unicode (n)
"Unicode footnote style.
Use unicode characters for footnoting."
(let (modulus result done)
(while (not done)
(setq modulus (mod n 10)
n (truncate n 10))
(and (zerop n) (setq done t))
(push (aref footnote-unicode-string modulus) result))
(apply #'string result)))
;;; list of all footnote styles
(defvar footnote-style-alist
`((numeric Footnote-numeric ,footnote-numeric-regexp)
@ -298,7 +317,8 @@ Use a range of Latin-1 non-ASCII characters for footnoting."
(english-upper Footnote-english-upper ,footnote-english-upper-regexp)
(roman-lower Footnote-roman-lower ,footnote-roman-lower-regexp)
(roman-upper Footnote-roman-upper ,footnote-roman-upper-regexp)
(latin Footnote-latin ,footnote-latin-regexp))
(latin Footnote-latin ,footnote-latin-regexp)
(unicode Footnote-unicode ,footnote-unicode-regexp))
"Styles of footnote tags available.
By default only boring Arabic numbers, English letters and Roman Numerals
are available.
@ -313,8 +333,12 @@ english-upper == A, B, C, ...
roman-lower == i, ii, iii, iv, v, ...
roman-upper == I, II, III, IV, V, ...
latin == ¹ ² ³ º ª §
unicode == ¹, ², ³, ...
See also variables `footnote-start-tag' and `footnote-end-tag'.
Note: some characters in the unicode style may not show up
properly if the default font does not contain those characters.
Customizing this variable has no effect on buffers already
displaying footnotes. To change the style of footnotes in such a
buffer use the command `Footnote-set-style'."