Wednesday, June 10, 2026

Implementing and testing the overtyping behavior in the 1052 Emulator - part 3

METHODOLOGY FOR OVERTYPING

Since the Putty terminal program does not combine the characters into a single composite, the original design was abandoned. The older design kept up to five characters buffered for each column, issuing the Zero Width Joiner character between them in a futile request to have the terminal program overlay the pixels into a single displayed character. 

The line buffer now saves only one character for a column or is zero if that column has not yet been type onto. Each time we perform at carrier return or line feed, the buffer is zeroed out again. When the 1053 backspaces, we move back to the prior column. The terminal program goes back and erases the column, so we retype what was saved in the line buffer.

When a character is typed at a column, the code looks to see if there was a previous character that had been typed there. If so, and only if the APL (988) typeball is being used, we will look for the eighteen cases where APL on the 1130 overtypes pairs of characters to form a composite. When we find a pair, in either order of typing, we replace it with the Unicode character that is the composite glyph. 

One pair in the table is for the ∇ (del) and ∣ (stile) characters, which combine to form the composite ⍒. Another example is the ∩ (cup) and ∘ (degree) which when overtyped form the composite ⍝ .

FINAL TESTING OF THE 1053 EMULATOR SHOWS IT IS READY FOR PRIME TIME

I put the emulator through its paces, testing as much as I could including many edge cases. As far as I can determine, this is working exactly as intended and ready to be used for any purpose as a substitute for the 1053 Console Printer. 

No comments:

Post a Comment