Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!bu-cs!purdue!decwrl!sun!pitstop!sundc!seismo!uunet!mcvax!enea!zyx!arndt From: arndt@zyx.SE (Arndt Jonasson) Newsgroups: comp.emacs Subject: non-ASCII support Message-ID: <2641@zyx.SE> Date: 21 Jun 88 13:26:39 GMT Reply-To: arndt@zyx.SE (Arndt Jonasson) Organization: ZYX Sweden AB, Stockholm, Sweden Lines: 55 Suggestions for how Gnu Emacs can be made to handle non-ASCII. ["non-ASCII characters" below refer to those characters in the set of 8-bit characters (of which set ASCII is a subset) that have codes > 127. Thus, they don't include EBCDIC or 16-bit characters.] With the advent of the ISO Latin-1 standard, non-ASCII characters in text files are going to be increasingly common, and already there are manufacturers who support non-ASCII characters in their operating systems. Therefore, a few suggestions on how support for them can be accomplished in Gnu Emacs with only minor effort. 1) Display. With fairly minor changes to the C code, Emacs can be made to display characters with codes > 127 not in the usual way (e.g. \314), but as themselves, assuming that the virtual terminal can handle such characters. The changes involve a half dozen tests in xdisp.c and indent.c, including a Lisp flag to toggle the new functionality on and off. 2) Input. Assuming that the virtual terminal possesses the capability to let the user enter non-ASCII characters from the keyboard, support for easy input of them in Emacs (easy = without needing C-Q) can be implemented in Lisp alone, with no C changes. 3) Character syntax. This is affected by the Lisp function 'modify-syntax-entry' and presents no problems. 4) Upper/lower-case conversion. This is not available as a user-settable table. I suggest that it be made user-settable, either by making the tables available as strings, or through Lisp functions. These are the areas that have come to my mind; are there any that I have forgotten? I am using Gnu Emacs 18.49. If there is interest among the Gnu Emacs developers to implement the above suggestions, I will gladly supply the code that I have (which implements 1 and 2). -- Arndt Jonasson, ZYX Sweden AB, Styrmansgatan 6, 114 54 Stockholm, Sweden email address: arndt@zyx.SE or!mcvax!enea!zyx!arndt