Skip to content

Conversation

rmkaplan
Copy link
Contributor

@rmkaplan rmkaplan commented Sep 8, 2025

Many files have changed as I have rearchitected the font interfaces, introduced the Medley font-format files, and worked to normalize to the MCCS encoding of internal data.

This PR is a draft that doesn't yet include the flood of files. For starters, it just has the documentation files that describe the strategy and new and changed features. It will be helpful to get some initial reactions so I can make adjustments before pushing everything. The code and font files will come later.

@rmkaplan rmkaplan marked this pull request as draft September 8, 2025 07:27
@pamoroso
Copy link
Contributor

On Linux Mint 22.1 Cinnamon this PR builds with no issues and I didn't notice anything unusual. I tested DInfo and NoteCards and the fonts look fine so far.

@rmkaplan rmkaplan marked this pull request as ready for review September 20, 2025 18:27
@rmkaplan
Copy link
Contributor Author

I have uploaded all of the medleyformat fonts, and removed the draft status.

I expect/hope the only issue is that filenames with underscores and carets might not look the same in Medley vs Unix. I would like to get this tested and merged, to avoid confusion with the changes to the imagefile/hardcopy interfaces.

pamoroso
pamoroso previously approved these changes Sep 21, 2025
Copy link
Contributor

@pamoroso pamoroso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On Linux Mint 22.1 Cinnamon I tested up to commit d01503c and I haven't noticed anything unusual. Names containing or in TEdit look as expected on Linux, i.e. with _ and ^.

@rmkaplan
Copy link
Contributor Author

I found that PRETTYFILEINDEX had its own compensation for underscore/arrow, at least for Interpress. Removed it.

@rmkaplan
Copy link
Contributor Author

@MattHeffron , LOADUPFULLFONTS on internal/loadups/LOADUP-FULL has some special code for building the postscript fontcache. I wonder whether this should be done when POSTSCRIPTSTREAM is loaded, as part of POSTSCRIPT.INIT.

@pamoroso
Copy link
Contributor

When setting CHAT.FONT to Terminal 10 VTCHAT works as expected with respect to the function keys for underscore and circumfles, as well as deleting with Backspace and Del.

@rmkaplan
Copy link
Contributor Author

rmkaplan commented Oct 12, 2025 via email

@pamoroso
Copy link
Contributor

However, pressing the _ and ^ keys makes the CHAT window flash with any font under DM2500 and VT100, not display the left and up arrow.

@rmkaplan
Copy link
Contributor Author

However, pressing the _ and ^ keys makes the CHAT window flash with any font under DM2500 and VT100, not display the left and up arrow.

Yes, that's to be expected, given the new LLKEY assignments. Those keys transmit the MCCS uparrow and leftarrow codes (0,255, 0,254), which the shell doesn't recognize.

As per a previous note, it may be more intuitive, especially for new users, to have those transmit according their labels, as they used to. Users would then have to know that the function keys are available if they want to type those particular arrows (and that they do need to type F-10 when they want the left-arrow in a create expression (unless someone fixes DWIM).

@rmkaplan
Copy link
Contributor Author

BTW, none of these Chat/font/backspace problems are new: same behavior in the Venue sysout. Also in the Venue sysout, Tedit mode doesn't work by clicking the TeditMode button in the Chat menu. Something probably needed to be done earlier to set up the textstream.

@nbriggs
Copy link
Contributor

nbriggs commented Oct 12, 2025

The CHAT.FONT must be a monospace font. It's never going to work with Classic. The underlying shell may be using what it knows about the terminal emulator to move the cursor before erasing the character, and it can directly address each character cell on the (typically 24 x 80 character) display. If the emulator didn't put the characters in that grid you're going to get garbage.

@rmkaplan
Copy link
Contributor Author

rmkaplan commented Oct 13, 2025 via email

@nbriggs
Copy link
Contributor

nbriggs commented Oct 13, 2025

I'd expect TITAN, LETTERGOTHIC, and BOLDPS to work - they're printwheel fonts and I think they're monospace. TITANLEGAL perhaps too. But the character mappings in those may not really be XCCS.

@nbriggs
Copy link
Contributor

nbriggs commented Oct 13, 2025

Actually, they do look like XCCS encoding at least in FontSample for character set C0. They really don't work well in a CHAT window though, with what looks like mis-mapped characters.

@rmkaplan
Copy link
Contributor Author

rmkaplan commented Oct 13, 2025 via email

@pamoroso
Copy link
Contributor

Part of issue #1157 is that the Calendar application displays some black boxes in the message editor window, so I tried to reproduce the issue on this branch where MCCS is supposed to take care of the boxes.

Now I no longer get black boxes in the message editor but the window content still looks off. And the error is different:

END-OF-FILE

In \EOSERROR:
End of file #<IO Tedit Stream/167, 64700>
calendar-error

Get F6/F10 to show/transmit characters
@fghalasz
Copy link
Member

Running on this PR branch, the following files in docs/medley-irm fail when trying to hardcopy to PDf file:
14-ERRORS.TEDIT
16-SEDIT.TEDIT
25-USERIO-PACKAGES.TEDIT.

All fail with Invalid argument: (NIL NIL REGULAR) inside \FONTFACE underneath POSTSCRIPT.FONTCREATE where the FONTSPEC argument is (SYMBOL 1 (BOLD REGULAR REGULAR) 0 POSTSCRIPT)

@rmkaplan
Copy link
Contributor Author

@pamoroso The Calendar bug is independent of the fonts. Calendar fills in its template from a string, using OPENSTRINGSTREAM to first convert the string to a stream before giving it to Tedit (because we changed Tedit a long time ago to treat strings as file names). OPENSTRINGSTREAM produces a fat (2-byte) stream even if the characters are only in charset 0. Unlike thin files and thin streams, fat-stream pieces are not binnable at the stream level, so the subr falls out to the textbin code. And there appears to be an extra SUB1 in that code. The effect is that you were seeing every other character.

Removing that SUB1 makes it work, but I want to do some more testing to see whether any other piece types somehow depended on that. And I won't install this fix in the font PR, the code in the TEDIT-STREAM file may already have things that depend on the next hardcopy/imagefile changes that are waiting on the sidelines.

@rmkaplan
Copy link
Contributor Author

@fghalasz , I updated POSTSCRIPTSTREAM (variables were set in the wrong order). Those 3 files now work for me, but I did see a message flash by in the USERIO hardcopy saying that page 19 was complete full of headings. The page didn't look odd to me, but I didn't investigate.

@pamoroso
Copy link
Contributor

I tested up to commit 016a716 and I have nothing unusual to report. I'm still using this branch as my daily driver.

Copy link
Contributor

@nbriggs nbriggs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you make it MONOSPACEFONTP rather than mixing "fixed pitch" (from typewriter terminology) and "monospace" (more modern font terminology) in the name?

@rmkaplan
Copy link
Contributor Author

rmkaplan commented Oct 18, 2025 via email

@pamoroso
Copy link
Contributor

I updated to commit c727386, still looking good.

@masinter masinter requested a review from nbriggs October 20, 2025 17:11
Copy link
Contributor

@nbriggs nbriggs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The requested change looks fine. Go ahead and merge.

@rmkaplan rmkaplan merged commit 82fc95c into master Oct 21, 2025
@rmkaplan
Copy link
Contributor Author

Forgot to mention: this PR addresses issues raised in #2178 #2135 #2124 #2120 #2040 #2025 #1971 #1854 #1403

@pamoroso
Copy link
Contributor

Can all the issues addressed by this PR be closed? Any to leave open?

@rmkaplan
Copy link
Contributor Author

@pamoroso , I suspect that all of those issues can be closed, but I think they probably need to be scanned to make sure that there aren't some additional comments that still need to be addressed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants