Skip to content

Strategy for extending our XCCS to Unicode mappings #2025

@rmkaplan

Description

@rmkaplan

This is to capture the discussion that arose in the meeting 2/5/2025.

At least for the display, we now have the ability (thanks to @MattHeffron ) to convert Unicode BDF fonts to XCCS Strike fonts. This assigns the glyphs associated with a Unicode character to the corresponding XCCS code position, given our XCCS-to-Unicode mapping tables. The BDF fonts are much more complete than our current Class/Modern/Terminal fonts, and Unicode is much more complete than XCCS.

The proposal is to use the Unicodecode/glyph correspondences in the BDF fonts to extend our Unicode/XCCS mapping tables. If a BDF font has a glyph for unmapped Unicode ABCD, we can create a mapping between that Unicode and an otherwise unused code (reserved, undefined...) in the XCCS standard. We can do this cumulatively, as we read BDF fonts that are more or differently populated than fonts we have seen before.

We can start with a record that describes all the reserved/undefined XCCS character codes that we want to make available for assignment. This can be kept in a file (availablecodes, say) in a Unicode/xerox/extended directory. This file would just be a list of non-adjacent code-space intervals from which new codes can be peeled off.

The BDF font reads availablecodes file as it starts up. When it sees an unmapped unicode, it picks off the next code from the list, uses it to create a new Unicode mapping for the font being constructed, and updates the list.

After processing a given BDF font, the current availablecodes is written, and any new correspondences are also written out to new mapping files in the extended directory. ALL-UNICODE-MAPPINGS is then applied to update the cached numeric file of all the new mappings.

This would assign XCCS codes arbitrarily to otherwise unmapped Unicode codes, as driven by whatever order we happen to encounter them in the various BDF fonts. But the mappings, even if arbitrary, will be permanent: the next BDF font with a previously unmapped Unicode will get the XCCS that might have been assigned previously. And XCCS codes in Medley data structures will have stable interpretations whether or not particular fonts are loaded into a particular memory image.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions