Celeste encoding (was: Duplicate messages in Celeste)
Richard A. O'Keefe
ok at atlas.otago.ac.nz
Thu Mar 16 04:07:08 UTC 2000
Ah, I see. So the choice only matters in the case that a page has these
control characters in it.
The only question is, aren't those control codes reserved for a reason?
Is there any risk that those codes will be actually used for something
in the future?
/* Here are the C1 controls from ECMA 48 */
#define PAD '\200' /* PADding character */
#define HOP '\201' /* High Order Preset */
#define BPH '\202' /* Break Permitted Here */
#define NBH '\203' /* No Break Here */
#define IND '\204' /* INDex */
#define NEL '\205' /* NExt Line */
#define SSA '\206' /* Start of Selected Area */
#define ESA '\207' /* End of Selected Area */
#define HTS '\210' /* character (Horizontal) Tabulation Set */
#define HTJ '\211' /* character Tabulation with Justification */
#define VTS '\212' /* line (Vertical) Tabulation Set */
#define PLD '\213' /* Partial Line forward (Down) */
#define PLU '\214' /* Partial Line backward (Up) */
#define RI '\215' /* Reverse line feed (Index) */
#define SS2 '\216' /* Single Shift 2 */
#define SS3 '\217' /* Single Shift 3 */
#define DCS '\220' /* Device Control String */
#define PU1 '\221' /* Private Use 1 */
#define PU2 '\222' /* Private Use 2 */
#define STS '\223' /* Set Transmit State */
#define CCH '\224' /* Cancel CHaracter */
#define MW '\225' /* Message Waiting */
#define SPA '\226' /* Start of guarded (Protected) Area */
#define EPA '\227' /* End of guarded (Protected) Area */
#define SOS '\230' /* Start Of String */
#define SGCI '\231' /* Single Graphic Character Introducer */
#define SCI '\232' /* Single Character Introducer */
#define CSI '\233' /* Control Sequence Introducer */
#define ST '\234' /* String Terminator */
#define OSC '\235' /* Operating System Command */
#define PM '\236' /* Privacy Message */
#define APC '\237' /* Application Program Command */
#define NBS '\240' /* No-Break Space */
As you may guess from the names, they are basically about controlling
old-fashioned terminals. They're part of a vast set of stuff that
anyone emulating a VT-100 probably wants to know about. If I remember
correctly, most if not all of them have ESC equivalents as well.
Some of the codes concern formatting; BPH and NBH are about whether
line breaking is allowed at a particular point or not. There are better
ways of doing these things.
It's important to understand that these C1 controls are *not* part of
the ISO 8859 family and *not* part of Unicode/ISO 10646. The C1 region
as such *is* part of the ISO 2022 framework. But Squeak doesn't support
2022, and doesn't support anything like the ESC based control sequences
of ECMA 48. Indeed, none of the terminal emulators I have access to
is documented as supporting them either. Unless someone decides to
remodel Squeak in terms of old fashioned character cell displays (VT-100s,
3270s, that kind of thing), there isn't much likelihood of anyone really
wanting the ECMA 48 C1 controls in Squeak, so I really don't see any
problem.
For what it's worth, ECMA 48 is available on-line at the ECMA site.
More information about the Squeak-dev
mailing list
|