Comments (23)
Thanks @eric-ja !
Here's a quick shot of DeskTop with the Catalyst font - the special glyphs are different so lots of things are wacky, but you can get a taste
(I need to fix MGTK to paint the updated title bars paint properly with an 8px font.)
from a2d.
Can you post a link to the catalyst font? I'll give a go at converting it.
from a2d.
FWIW the current system font is 7 pixels wide including the kerning. MGTK supports "normal" fonts (up to 7 pixels) and "wide" fonts (up to 14 pixels). Using a wider font would slow rendering and double the memory size of the font. Also, I don't think optimizing for color displays is worth the time.
That said, if you build DeskTop yourself I can provide pointers for how to swap the font. It's not easy - the font width and height are hardcoded in more places than I'd like, and dialog layouts are all authored assuming a particular font size. I've always wanted to see A2D running with something like Susan Kare's Chicago, though!
As far as creating a font (thanks @eric-ja !), the easiest thing to do is create a text file illustrating the glyphs and use the bin/make_font.pl
tool to create the binary version. I've attached dumps (via bin/dump_font.pl
) of some examples:
Font-MousePaint.txt
Font-System-EN.txt
Font-Toronto.txt
from a2d.
If the glyphs can be 7px wide, then there's room to widen out the interior of these narrow letters by one more pixel.
The dialogs have some slop because localized strings are usually longer. I don't relish a full pass to fix widths, but it is doable. I am partial to the current quirky appearance, though.
I did a quick pass to make some of the 1px interiors 2px just to see how it looks. Before:
from a2d.
Here's the catalyst font in MGTK format - use it in place of a2d.font (or whatever).
It's nice but noticeably less space-efficient.
catalyst.font.zip
from a2d.
Here's the Catalyst font - looks like the conversion ran into some issues, @eric-ja
from a2d.
Oops! Some of the chars are 9 pixels wide, which requires that the MGTK font be structured as double-width.
Try this one.
catalyst-dw.font.zip
from a2d.
Yeah, I changed my a2d desktop to blue.
from a2d.
I've extracted what I imagine to be Catalyst's system font because I found a file on the disk called just that. I'll add the disk image here too.
from a2d.
@inexorabletash Very interesting, okay, although the drawing speed in Catalyst seems pretty fast to me, and it does some drawing optimizations like not using the painters algorithm to redraw windows. Overall, it is the speed champ.
from a2d.
@inexorabletash looking at the Font-System.EN.txt file that you shared, I can see that there is space to widen out a lot of the narrow interiors of some of the lowercase fonts, like the o:
== 0x6f ==
......
......
.###..
##.##.
##.##.
##.##.
.###..
......
......
If the glyphs can be 7px wide, then there's room to widen out the interior of these narrow letters by one more pixel. But as you say, it's a pointless exercise at this moment because as you say, "dialog layouts are all authored assuming a particular font size".
from a2d.
@inexorabletash "I did a quick pass to make some of the 1px interiors 1px just to see how it looks."... I really like the fonts in the "after" screen, it's much more readable to my eyes. The letters, like the o don't look so vertically compressed.
@eric-ja Wow! Cool!
from a2d.
I am partial to the current quirky appearance, though.
Could we put it to a community vote to see what the overall feeling is on this?
from a2d.
Still, I really like how the glyphs look, it's very readable to my eyes. Lots of interior "light" in the enclosed loops. I even like their Apple glyph.
I could imagine that the borked glyphs be manually tweaked based on looking at the video of Catalyst.
from a2d.
The lowercase a has a more appealing form as well.
from a2d.
I rather like it; but isn't some of the advance a bit wonkyu? I'm looking a Q-uit for example -- seems the 'advance' should be one pixel less than the width of that glyph, perhaps it is not supported by the drawing code?
from a2d.
I didn't see anything that was obviously a kerning table in the file xandark uploaded. It could be hard-coded in the catalyst code (haven't looked at all at that.)
from a2d.
This was a glitch in @eric-ja 's conversion - I fixed the version that was checked in, after I made the screenshot.
MGTK fonts are quirky. They can be one or two bytes wide, but only 7 bits of each byte are used, and the width is off-by-one for double-wide fonts. So e.g. if a character is 7 pixels wide it will be encoded as "11111110" (LSB on the left) and the width table contains 7, but if it's 8 pixels wide it will be encoded as "11111110 10000000" and the width table contains 8 not 9 even though it looks like 9 bits are used.
The latter quirk caused any characters wider than 7 pixels (like the Q) to have an extra pixel of padding.
from a2d.
I love this, this is fascinating, bringing a font from one rival desktop to another, ha. And I also really like the readability of the font as well; there's plenty of "daylight" in the interior of the lowercase glyphs. I'm thinking that if the unnecessary control-code glyphs are removed, then the file size would be reduced.
from a2d.
if the unnecessary control-code glyphs are removed
It doesn't work that way, alas - MGTK fonts have glyphs from 0 to some maximum index, so you'll always have 0..31 for the CC range.
But also: DeskTop uses many of those for rendering things like menu check marks, Apple modifiers, arrows, and so on, so they're not "free".
from a2d.
Here's a screenshot with the corrected Catalyst font (but still without the symbol glyphs):
In the other extreme, here's a screenshot with standard font, but with the b
and d
glyphs made skinny like e
, o
, p
, q
and so on:
from a2d.
I mean, it's close in these synthetic emulation screenshots where every pixel is perfect, but I keep coming back to the rounder, more open quality of the Catalyst font, it's more readable to me.
from a2d.
it's close in these synthetic emulation screenshots where every pixel is perfect
FWIW, I find the current system font very readable on real displays as well, either monochrome CRT or color LCD with monochrome via one of many options (Laser 128 mono switch, IIgs mono composite output, IIc w/ VGA adapter, IIe with A2VidGA adapter).
But typography is very, very subjective.
from a2d.
Related Issues (20)
- Display corrupted when returning from //GS Apps HOT 3
- Image preview causes crash to monitor HOT 1
- Disk Copy causes A2Stream not to work HOT 1
- Add Dutch localization HOT 2
- CD Remote shouldn't play on track up/down unless it's already playing HOT 13
- Rectangle inverted after dismissing alert HOT 1
- Previous lines of text disappears while scrolling down a text file in "Fixed" font HOT 3
- Monochrome mode broken on IIe Card HOT 7
- OpenApple-O not opening folder
- Scroll position adjusts even if thumb not moved HOT 4
- v1.4-alpha builds hang at startup in Crossrunner HOT 5
- Options control panel causes basic.system to crash HOT 1
- Sounds DA causes BASIC.SYSTEM to hang HOT 1
- Show.Text.File's Proportional/Fixed label baseline is 1px too high
- Replace thin apple glyph in menu bar with a fatter, more realistic Apple logo HOT 1
- Selector crash when loading with ProDos 2.4.3 HOT 13
- List view items paint as NON / 32,768 / No Date after showing/closing Shortcuts dialogs HOT 1
- horizontal scroll viewable area is too large in file type view HOT 3
- Suggestion: reduce the vertical spacing of fonts in menu and item spacers HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from a2d.