Function: text-mode--get-fullwidth-table

text-mode--get-fullwidth-table is a byte-compiled function defined in text-mode.el.gz.

Signature

(text-mode--get-fullwidth-table)

Documentation

Return translation table for converting half-width characters to fullwidth.

Source Code

;; Defined in /usr/src/emacs/lisp/textmodes/text-mode.el.gz
(defun text-mode--get-fullwidth-table ()
  "Return translation table for converting half-width characters to fullwidth."
  (or (and (char-table-p text-mode--fullwidth-table)
           text-mode--fullwidth-table)
      ;; Create the translation table.
      (let ((tbl (make-char-table 'translation-table))
            (rev-tbl (make-char-table 'translation-table))
            (ch ?!))
        (while (<= ch ?~)
          ;; ! -> !, 0 -> 0, A -> A, etc.
          (aset tbl ch (+ ch #xFEE0))
          (aset rev-tbl (+ ch #xFEE0) ch)
          (setq ch (1+ ch)))
        ;; SPC -> U+3000 IDEOGRAPHIC SPACE
        (aset tbl ?\  #x3000)
        (aset rev-tbl #x3000 ?\ )
        (set-char-table-extra-slot tbl 0 rev-tbl)
        (set-char-table-extra-slot tbl 1 1)
        (set-char-table-extra-slot rev-tbl 1 1)
        (put 'text-mode--fullwidth-table 'translation-table tbl)
        (setq text-mode--fullwidth-table tbl)
        tbl)))