-;;; internal.el --- support for PC internal terminal -*- coding: raw-text; -*-
+;;; internal.el --- support for PC internal terminal -*- coding: raw-text; no-byte-compile: t -*-
-;; Copyright (C) 1993, 1994, 1998, 1999, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1994, 1998, 1999, 2001, 2002, 2003, 2004,
+;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
;; Author: Morten Welinder <terra@diku.dk>
;; GNU Emacs 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)
+;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; 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., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
"p*" "r*" "*s" "s*" "t*" 117 "f*" "x*" "q*" "w*"
"\"i" "\"u" "'o" "'u" "'w" nil]
)
+ ;; Note: some of the characters undefined according to ISO 8859-8
+ ;; in the ranges 190..220 and 250..255 are replaced with SI 1311-1
+ ;; points (Niqud) and bidi formatting characters
(hebrew-iso8859-8
. [255 nil "|c" "Pd" "$$" "Ye" "|" "SE" "\"" "(c)"
"*x" "<<" "~" "--" "(R)" "'-" "^o" "+-" "^2" "^3"
"'" "u" ".P" "^." "'," "^1" "-:" ">>" "1/4" "1/2"
- "3/4" nil nil nil nil nil nil nil nil nil
- nil nil nil nil nil nil nil nil nil nil
- nil nil nil nil nil nil nil nil nil nil
- nil nil nil "=2" "A+" "B+" "G+" "D+" "H+" "W+"
+ "3/4" nil ":'" "v:" "-:" "-':" ".'" ".." "v'" "-'"
+ "-," "`." nil "\\." "(.)" "|'" "`-" "`=" "||" nil
+ nil "::" nil nil nil nil nil nil nil "LRO"
+ "RLO" "PDF" nil "=2" "A+" "B+" "G+" "D+" "H+" "W+"
"Z+" "X+" "Tj" "J+" "K%" "K+" "L+" "M%" "M+" "N%"
"N+" "S+" "E+" "P%" "P+" "Zj" "ZJ" "Q+" "R+" "Sh"
- "T+" nil nil nil nil nil]
+ "T+" "LRE" "RLE" "LRM" "RLM" nil]
)
(latin-iso8859-9
. [255 "!I" "|c" "Pd" "$$" "Ye" "|" "SE" "\"" "(c)"
glyph)
(while (< i veclen)
(setq glyph (aref vector i))
- (if (and glyph
- (or (not (equal chset built-in-set))
- (>= i cp-decoder-len)
- (null (aref cp-decoder i))))
+ (or glyph (setq glyph dos-unsupported-char-glyph))
+ (if (or (not (equal chset built-in-set))
+ (>= i cp-decoder-len)
+ (null (aref cp-decoder i)))
(aset disp-tab (make-char chset (+ i (logand offset 127)))
(vconcat
(if (numberp glyph)
(mule-unicode-0100-24ff ; charset
256 ; base
- 1488 1645 ; first, last
- [ "A+" "B+" "G+" "D+" "H+" "W+" "Z+" "X+" "Tj" "J+" ; Hebrew
+ 1454 1645 ; first, last
+ [ nil nil ":'" "v:" "-:" "-':" ".'" ".." "v'" "-'"
+ "-," "`." nil "\\." "(.)" "|'" "`-" nil "||" nil
+ nil "::" nil nil nil nil nil nil nil nil
+ nil nil nil nil
+ "A+" "B+" "G+" "D+" "H+" "W+" "Z+" "X+" "Tj" "J+" ; Hebrew
"K%" "K+" "L+" "M%" "M+" "N%" "N+" "S+" "E+" "P%"
"P+" "Zj" "ZJ" "Q+" "R+" "Sh" "T+" nil nil nil
nil nil "WW+" "WJ+" "JJ+" "'+" "\"+" nil nil nil
glyph)
(while (<= i (- last first))
(setq glyph (aref table i))
- (if glyph
- (aset disp-tab (make-char chset
- (+ (/ this 96) 32)
- (+ (% this 96) 32))
- (vconcat
- (if (numberp glyph)
- (char-to-string glyph)
- (if (> (length glyph) 1) (concat "{" glyph "}")
- glyph)))))
+ (or glyph (setq glyph dos-unsupported-char-glyph))
+ (aset disp-tab (make-char chset
+ (+ (/ this 96) 32)
+ (+ (% this 96) 32))
+ (vconcat
+ (if (numberp glyph)
+ (char-to-string glyph)
+ (if (> (length glyph) 1) (concat "{" glyph "}")
+ glyph))))
(setq i (1+ i) this (1+ this)))))))
(defun dos-cpNNN-setup (codepage)
(setq default-terminal-coding-system (intern (concat cp
"-unix"))))
(IT-display-table-setup cp)
+ ;; It's time: too many input methods in leim/quail produce
+ ;; Unicode characters. Let the user see them.
+ (IT-setup-unicode-display)
(prefer-coding-system (intern (concat cp "-dos")))
(if default-enable-multibyte-characters
;; We want this in multibyte version only, since unibyte version
;; which are supported on all platforms.)
(let* ((i 128)
(modify (function
- (lambda (ch sy)
+ (lambda (ch sy)
(modify-syntax-entry ch sy text-mode-syntax-table)
(if (boundp 'tex-mode-syntax-table)
(modify-syntax-entry ch sy tex-mode-syntax-table))
;; Assume they support non-ASCII Latin characters like the IBM
;; codepage 437 does.
(IT-display-table-setup "cp437")
+ ;; It's time: too many input methods in leim/quail produce
+ ;; Unicode characters. Let the user see them.
+ (IT-setup-unicode-display)
(prefer-coding-system coding-dos)
(if default-enable-multibyte-characters
(setq unibyte-display-via-language-environment t))
;; characters to arrive at our display code verbatim.
(standard-display-8bit 127 255)
+;;; arch-tag: eea04c06-7311-4b5a-b531-3c1be1b070af
;;; internal.el ends here