Skip to content

Conversation

@MattHeffron
Copy link
Contributor

Make the layout orientation, ColumnMajor or not, be selectable.
Fix the row/column labels to correspond to ColumnMajor selection.

Resolves #2408

Fix the row/column labels to correspond to ColumnMajor selection.
@MattHeffron MattHeffron self-assigned this Dec 9, 2025
@MattHeffron MattHeffron added the bug Something isn't working (as per documentation) label Dec 9, 2025
@MattHeffron MattHeffron added the enhancement New feature or request label Dec 9, 2025
@pamoroso
Copy link
Contributor

pamoroso commented Dec 9, 2025

I'm tested the this on Linux Mint 22.1 Cinnamon and I get the following order:

(FontSample (FONTCREATE 'MODERN 10 'MRR) 0 T 'DISPLAY)
fontsampler1
(FontSample (FONTCREATE 'MODERN 10 'MRR) 0 T 'DISPLAY NIL T)
fontsampler2

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.

Better, but when I try

(FontSample (FONTCREATE 'HELVETICA 10) 357Q NIL 'DISPLAY)

I get a completely blank window. It doesn't produce any output until I have done a (FONTCREATE 'HELVETICA 10 NIL NIL 'DISPLAY NIL 357Q) after which time the font given to FontSample doesn't require the charset specification. Even with the same (new) font code, the old FontSample produced the correct result. If you give the new FontSample a list of character sets and the character set hasn't been previously instantiated it just ignores it -- for example
image

@nbriggs
Copy link
Contributor

nbriggs commented Dec 9, 2025

(by "the old FontSample" I mean the code as it existed in 1987)

Checking for charset *known* to be EQ to the SLUG charset, didn't verify that the font *had* a SLUG charset, so was comparing to NIL, which excluded *all* unloaded charsets.
@MattHeffron
Copy link
Contributor Author

@nbriggs I believe I fixed the issue. If the font didn't have a SLUG charset, then comparing for it was eliminating unloaded charsets.

@nbriggs
Copy link
Contributor

nbriggs commented Dec 9, 2025

Why is it doing any checking for slugs? The original idea was that you gave it a font (or list of fonts) and a character set (or list of character sets), an optional printer name, and a stream type, and it lays out a sample sheet using the fonts that the system creates if those values are given to FONTCREATE and you get exactly what the printer would do if you were to use the font on output from any other program... where the "other program" is not going to be looking at slug info or anything else about the font -- just the basic font machinery. If you want to do something different how about naming it something other than FontSample and leaving my FontSample alone.

@MattHeffron
Copy link
Contributor Author

Why is it doing any checking for slugs?

My thinking was that, with the new font mechanism, a FONTDESCRIPTOR can, after all of the character coercions that import glyphs from other fonts, state definitively that some character set(s) do not, and will not, have any glyphs, just slugs.
Displaying these character sets just seemed to be pointless.

Just now, I'm realizing that I have been thinking only in terms of DISPLAY fonts. It didn't occur to me that this wasn't correct for "printer" format fonts (e.g., INTERPRESS, PDF, POSTSCRIPT).
I can add a check that the slug-only character sets are excluded only for DISPLAY fonts.
Alternatively, I could add another argument to FontSample to indicate to filter out the slug-only character sets, defaulting to keep them.

@pamoroso
Copy link
Contributor

I updated to commit 32c52cd which fixes the issue Nick reported.

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

Labels

bug Something isn't working (as per documentation) enhancement New feature or request

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

labeling of character codes in FONTSAMPLER is incorrect, order is not selectable

4 participants