-
-
Notifications
You must be signed in to change notification settings - Fork 27
READ-BDF initial changes for XCCS to MCCS #2360
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Various renaming for consistency with XCCS -> MCCS changes. Use IL:FONTSPEC record instead of using FIRST, SECOND, etc. Fix the parsing of IL:FONTSPEC to use COMPRESSED instead of incorrect CONDENSED. Zero-width "image" with zero-width "escapement" GLYPHS get put into NOMAPPINGCHARSET. Add (FILES (SYSLOAD) SYSEDIT) under existing (DECLARE: EVAL@COMPILE DONTCOPY ...)
|
I tried this, converting various Noto Sans, Noto Sans Mono, and Noto Serif ttf fonts to bdf and then to original-style @hjellinek Did you determine a good set of google fonts to get good coverage of the MCCS glyphs? Anyone else |
|
On the fontdescriptor, if you've loaded all the character sets and if these are now MCCS-coded fonts, you may only just need to say that MCCS is the font charencoding. You won't be doing any further coercions, and you won't be indirecting to the charsets of other fonts/faces, so probably no need to maintain the charset source info. But I'll look more carefully. But turns out that the prc Compare function doesn't work on your new file, the function LISPSOURCEFILEP seems to return NIL |
Yes, take a look at the "font stacks" (that's Google/CSS terminology) that I defined in my WebFontMetrics project. The Java source file |
|
One other field to set: FONTCOMPLETEP. If you have installed all possible characters in all possible character sets in the fontdescriptor before you write it out, setting this flag indicates that there are no further possible coercions ever to consider--your fonts are complete. |
|
On the prc LISPSOURCEFILEP problem, I think I was running in a system that hadn't been upgraded to the LLPACKAGE changes. It now works. |
Herb, you claim there that Noto Sans Mono has all 4 styles, but it appears to me that it has only Regular and Bold, but neither Italic form. Am I missing something? |
I put the finishing touches on that code back in February, so I could be wrong about this explanation, but I implemented Noto Sans Mono as a meaning "Give it the descriptive name 'Noto Sans Mono', base it on the Noto Sans Mono web font, and get any missing characters from plain old Noto Sans," which I defined earlier and stuck in a local variable. |
|
@hjellinek (I have no experience with java...) I've downloaded the WebFontMetrics project from github (as the .zip, and unpacked it).
I get the error: What's wrong? |
Hi @MattHeffron, Java is a compiled language like C, so you need to compile (build) the application before running it. |
If you pull the project now you'll find build instructions in You will probably still run into trouble because you downloaded the JRE (Java Runtime Environment), which doesn't include the Java compiler, Instead, I suggest you remove |
|
Replaced java: Following README.md. |
Oh, there was a pair of typos (fixed) in Because |
|
@hjellinek Thanks.
Seems to be working. It ran with no errors. |
|
They are MCCS-encoded. I'll change that keyword. |
|
@rmkaplan This is ready, essentially. Next, (probably in a separate PR) will be constructing complete (mostly) fonts from complementary sets of @hjellinek (The above discussion should have been in an issue, not in this PR.) |
|
As displayfont files, are these single-charset AC format or Strike, or Medleyfont format? Or are the charsets already combined into a single file?
… On Nov 10, 2025, at 1:56 PM, Matt Heffron ***@***.***> wrote:
MattHeffron
left a comment
(Interlisp/medley#2360)
<#2360 (comment)>
This is ready, essentially.
This will read BDF files and create MCCS encoded DISPLAYFONT files.
Next, (probably in a separate PR) will be constructing complete (mostly) fonts from complementary sets of BDF files.
(Which may mean figuring out how to identify which glyphs need to be taken from which .ttf file into BDF, etc., and providing the additional Medley Font Format properties in the created FONTDESCRIPTOR instances.)
—
Reply to this email directly, view it on GitHub <#2360 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AQSTUJJOMVM4XTHKLHVGSGD34ECXXAVCNFSM6AAAAACLQJDGV6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTKMJUGA2DONBQGQ>.
You are receiving this because you were mentioned.
|
|
They're single-charset Strike strike format. |
|
OK, I think the next step is only to assert that those particular strike files are MCCS-encoded, since the strike files themselves can't keep that information.
I could extend \READCHARSET to look at a variable MCCSFONTFAMILIES, and then you would push your family names on that list. That's the way it deals with NS fonts and Alto fonts.
Or define a special READBDF.CHARSET that reads the strike file and smashes in the charencoding.
After that, the code I already have will assemble all the charsets into a single medleyfont file.
And then we have to put entries on the list DISPLAYFONTCHARCOERCIONS that give the back-up mappings from our existing fonts to the corresponding bdf fonts, e.g. to specify that Gacha and Terminal can be filled in from the mono font. And finally, remake Gacha.
… On Nov 11, 2025, at 12:14 AM, Matt Heffron ***@***.***> wrote:
MattHeffron
left a comment
(Interlisp/medley#2360)
<#2360 (comment)>
They're single-charset Strike strike format.
In this PR there are no Medley Font Format related changes except XCCS to MCCS encoding.
(And bug fixes and code cleanup.)
—
Reply to this email directly, view it on GitHub <#2360 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AQSTUJNI7I2WH57FBC6VLUL34GLEVAVCNFSM6AAAAACLQJDGV6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTKMJVGQ3DSOBTGI>.
You are receiving this because you were mentioned.
|
|
@rmkaplan I'm looking at @hjellinek 's Web Font project to see if I can use that process to (help) get "complete" fonts from |
Verbose mode implemented incorrectly.
Cleanup DEFPACKAGE using :IMPORT-FROM, and fewer imports.
Various renaming for consistency with XCCS -> MCCS changes.
Use IL:FONTSPEC record instead of using FIRST, SECOND, etc.
Fix the parsing of IL:FONTSPEC to use COMPRESSED instead of incorrect CONDENSED.
Zero-width "image" with zero-width "escapement" GLYPHS get put into NOMAPPINGCHARSET.
Add (FILES (SYSLOAD) SYSEDIT) under existing (DECLARE: EVAL@COMPILE DONTCOPY ...)