-
-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make back arrow character "←" different from underscore character "_" #1854
Comments
I like the idea of changing what we mean by "XCCS" in an external format, to define the code rewrites so that "_" is left arrow and "^" is up-arrow. This is nominally an incompatible change but I think it would be better. We'd have to change the NS fonts to swap the glyphs. |
In particular
Not needed. There already is support. The keyboard when you type a "_" gives you the old-tty-character which prints as a left arrow in Medley. There's another XNS character for underscore and circumflex that don't ordinarily have keyboard assignments.
Not really needed. Pretty much all medley sources can be used without conversion.
not needed
not needed though not a bad idea
just modify the NS fonts, leave alto fonts like GACHA and HELVETICA etc alone
not sure there are any
This is a matter of undoing the patch to substitute |
To clarify: my preference would be that character code
would be necessary; so that there is still some way to type the "←" character. Re: changes to fonts, I looked only at HELVETICA's font character bitmap. So from @nbriggs comment:
it appears that NS fonts already show |
I just wanted to mention in passing that MIT's ITS and Stanford's WAITS operating systems have the same ambivalence about the "_" or "←" character (and also "^"/"↑"). They both got started on PDP-6 computers (the immediate precursor to the PDP-10 and DEC-10, DEC-20) in the mid-60s before ASCII finalized on _ and ^. |
The representation of character code
0x5F
as "←" instead of "_" dates back to the 1963 ASCII standard, and Interlisp/Medley preserved that interpretation for backward compatibility with earlier systems which had Lisp implementations (e.g. DEC-10).(This seems not to match the XCCS encoding; as that, according to the Wikipedia XCCS article, has character code
0x005F
as "_", with "←" at character code0x00AC
. Standard Medley fonts seem to have an encoding for character set 0 that differs from XCCS.)Medley is a bit schizophrenic in how it treats character code
0x5F
.In general, it is a character that can be used to construct LITATOMs.
However, in CLISP constructs in the Interlisp world it may also be interpreted as an operator character.
Simply changing the glyph for that character code to "_" would render the older CLISP code a bit less readable. (This might be acceptable!)
Leaving it as "←" makes Common Lisp code look odd, and it can frustrate new users as that glyph isn't on modern keyboards. (This would keep all Interlisp/Medley documentation and publications correct.)
The modernization of Medley for modern keyboards and support for Common Lisp that use the Unicode glyph encoding suggests splitting these into two independent first class characters.
There seem to be a few strategies for this:
0x005F
to "_" (matches Unicode, XCCS, current ASCII), set "←" at character code0x00AC
(XCCS, not Unicode, but it leaves "←" in character set 0).0x005F
to "_" (matches Unicode, XCCS, current ASCII), set "←" at character code0x2190
(Unicode, not XCCS, and it moves "←" to character set 0x21 = 041).The above 3 strategies (and any others that I didn't think of) would require:
0x5F
as "←", to instead use the new character code for "←" functionality. (This may be a bit of chicken-and-egg issue with implementing the conversion utilities.)WIDTHS
,OFFSETS
, andIMAGEWIDTHS
information.#1 clearly would be a huge effort, but also would be most desirable (for the full Unicode support).
#2 is comparatively simplest of the three, (but only because it leaves "←" in character set 0).
As mentioned above, simply changing the glyph for that character code to "_" might be acceptable, and would be the simplest. All that would be required would be updating of fonts and PostScript/PDF printing.
(Interpress and Press could be modified for completeness, but seem to be less useful. IMHO.)
The text was updated successfully, but these errors were encountered: