Fossil User Forum

monospace fonts
Login

monospace fonts

monospace fonts

(1) By smartmic on 2025-11-28 12:02:58 [source]

I have a suggestion regarding the fonts used. Your CSS contains a list of common fonts for the monospace family, with the generic entry ‘monospace’ at the very end. I have set my browser to use my preferred font for monospace, which is not included in your default list, but of course I have Courier installed system-wide – so the CSS rule overrides my preference. Wouldn't it be better to remove all fonts and just leave monospace – then let the respective browser decide? This would simplify things and move towards opt-in for custom fonts – now I would have to override the CSS for every newly instantiated repo, which is honestly annoying (i.e. opt-out).

So from

code, kbd, pre, samp, tt, var,
    div.markdown ol.footnotes > li.fn-joined > sup.fn-joined,
    table.numbered-lines > tbody > tr,
    tr.diffskip > td.chunkctrl,
    #fossil-status-bar,
    .monospace {
  font-family: "Source Code Pro", "Menlo", "Monaco", "Consolas",
               "Andale Mono", "Ubuntu Mono", "Deja Vu Sans Mono",
               "Letter Gothic", "Letter Gothic Std", "Prestige Elite Std",
               "Courier", "Courier New",
               monospace;
}

to

code, kbd, pre, samp, tt, var,
    div.markdown ol.footnotes > li.fn-joined > sup.fn-joined,
    table.numbered-lines > tbody > tr,
    tr.diffskip > td.chunkctrl,
    #fossil-status-bar,
    .monospace {
  font-family: monospace;
}

(2) By Stephan Beal (stephan) on 2025-11-28 18:32:03 in reply to 1 [link] [source]

Wouldn't it be better to remove all fonts and just leave monospace – then let the respective browser decide?

Very possibly so but i'll defer, in particular, to Warren on that, as he initially added that list and he's not known for making unconsidered changes.

(3) By Warren Young (wyoung) on 2025-11-28 19:15:44 in reply to 2 [link] [source]

he's not known for making unconsidered changes.

I did indeed spend some time thinking about that list's contents and its ordering; it wasn't haphazardly assembled.

For this type of case, one can either optimize for the individual Fossil user or for the mass of users visiting a Fossil server, but not both.

What @smartmic is asking us to accept is that the superior option is to require every solo Fossil user to go into their browser and override the platform-specific default and then also to require all the users of any of those repos that end up serving a workgroup or a company or the entire world to make the same settings change. My alternative is to provide a list of sensible options in ascending order of commonality so that if you have a rare font installed, it likely means you mean for that to be used preferentially over generics, so it should be listed earlier, to take precedence.

"Require" is an exaggeration, used for effect. We do at least live in a world where we have abandoned Courier [New] as a default, all praise Garamond. The problem is, we now have a too-rich set of choices, many arguably better than Consolas, Ubuntu/Deja Vu Mono, and Menlo/Monaco/Mono SF. Take the Nerd Fonts family — not a thing at the time I assembled the default font list1 — which currently numbers 68 different fonts under its umbrella. I'm not going to list all of those at the level of Adobe Source Code Pro, the hotness at the time I assembled the first version of that list, within an external project, thus arguably outdated by 2024 when I committed that change.

Now that we're past the wretched age of Courier, I might be talked into relenting on this stance. What I'm having trouble getting past is the idea that every visitor to the SQLite web site (prime example) would go and change their browser settings to pick their preferred monospace font. No; that's a sub-1% tweaker audience doing that. This then leaves us wondering whether the browser defaults really are good enough these days, across a wide enough selection of browser user bases to carry the question.


  1. ^ It might have existed, but it wasn't the current hotness, as now.

(4) By Florian Balmer (florian.balmer) on 2025-11-29 08:20:46 in reply to 3 [link] [source]

One argument in favor of reducing the list to just 'monospace' might be that the group of users who really care about how their fixed-width font looks may overlap significantly with the group of users who also change their default fixed-width font, and the long list gets in their way.

Anyway, I'm happy the Fossil web UI doesn't download and install their own fonts, which unfortunately seems to be common practice nowadays. Which is sad, since many websites look much better if the browser is started with the --disable-remote-fonts option.

(5) By Daniel Dumitriu (danield) on 2025-11-29 10:59:19 in reply to 4 [link] [source]

I tend to agree with Florian, in that at least the commonly installed fonts (such as the Core Font Set) should not be part of that list. That is, I can understand that Fossil (or some other site) opines that it looks best with Menlo, but less so about Courier. Hence I'd be for combing that list into a more conservative one.

(6) By Warren Young (wyoung) on 2025-11-29 16:51:35 in reply to 3 [link] [source]

I might be talked into relenting on this stance.

Okay, I've committed a manual reversion. (As opposed to a backout merge of the commit Stephan linked.)

We're early enough in the 2.28 development cycle that we'll know if this is turns out to be a terrible idea well before release.

The only reason I have at this point to suppose that might be the case is that I did have to go into my browser settings and make an adjustment as a result. The defaults were suboptimal for my aging eyes. Now we get to see how this local change works with all the other web sites; was I content because they were also overriding the default, or will my new local setting interact badly with them in turn?

We shall see.

(7) By Impossibly Stupid (droleary) on 2025-11-29 22:18:31 in reply to 3 [link] [source]

I did indeed spend some time thinking about that list's contents and its ordering; it wasn't haphazardly assembled.

At the risk of what might be beating a dead horse and this point, I'd be curious as to what that logic was. In my reality, people don't care that much about what font a web site uses, especially when it comes to some rarely encountered fixed-width text. The biggest concern for Fossil in that regard, to me, would be that it is code-centric, and so making O01lI distinctions clear would have been my primary reason to override whatever system-default font might be selected.

What @smartmic is asking us to accept is that the superior option...

This is a less than generous reading of the suggestion. Again, most people aren't going to care enough to fiddle with any settings at all, ever! If they do, the most important thing to realize is that they likely can't uninstall any system-provided fonts, so adding common fonts to the list should only be done for a very good reason.

Now that we're past the wretched age of Courier...

A strong opinion I would have agreed with before I got a 4K monitor (or similarly high DPI screens on smart phones). To my eyes, "screen-fonts" now no longer show much benefit over the old "print-fonts" that they once did.

The problem is, we now have a too-rich set of choices...

Then the trillion dollar companies should be doing a better job of letting the users make those choices. It certainly wasn't me that pushed the web to be the "everything and the kitchen sink" of technology.

(8.2) By Warren Young (wyoung) on 2025-11-30 02:47:32 edited from 8.1 in reply to 7 [link] [source]

I'd be curious as to what that logic was.

First off, the list goes back to at least 2018, within another project. I copied it over to sync my Fossil sites with the upstream version. Had I realized at that time that Courier and such weren't the prevalent options any more in 2024 when I did that sync, I might not have bothered with this element.

Beyond that, you're asking me to repeat myself, both above and in the comments within the commit's info page.

people don't care that much about what font a web site uses

Sure, which is why I don't want to make them go into their browser settings to make the Fossil UI look decent. What changed my mind on this is finding that list of defaults and deciding that these choices were at last decent. Not ideal, perhaps, but that's where we get into the <1% tweaker audience.

To my eyes, "screen-fonts" now no longer show much benefit over the old "print-fonts" that they once did.

Certainly, but there's a lot more to a modern "nerd font" than how chunky the serifs are when rendered in pixels. Adobe Source Code Pro was a big step forward when it came out in 2012, but it's been surpassed. This alone is a good reason to make a change here, since that was the prior first choice.

the trillion dollar companies should be doing a better job

Better than commissioning the design of better default fonts than the set initially designed for an early (1984) laser printer, or tasteless clones thereof?

(Yeah, I'm lookin’ at you, Arial!)

(10.1) By Impossibly Stupid (droleary) on 2025-11-30 19:25:01 edited from 10.0 in reply to 8.2 [link] [source]

Beyond that, you're asking me to repeat myself, both above and in the comments within the commit's info page.

My intent was to get to some underlying logic I wasn't seeing expressed. Something I hoped that spoke to some inherent structure of the Fossil site, and thus might guide those of us who skin Fossil for our sites and/or otherwise have sites for similar tech-oriented projects. If it really was nothing more than "fonts that suit my taste on the screens I was using at the time", fair enough.

Certainly, but there's a lot more to a modern "nerd font" than how chunky the serifs are when rendered in pixels.

Which might represent an underlying dependency for a site's rendering that makes it important to highlight as the reason why the browser default wasn't used. I mean, it's all good and fine to use a font that provides extra glyphs for whatever convenience they provide, but then the design must be much more intentional about its use as more than just a monospace (or whatever) replacement.

Better than commissioning the design of better default fonts than the set initially designed for an early (1984) laser printer, or tasteless clones thereof?

Yes; quite a lot more can be done with quite a bit less than a trillion dollars. Again, these are all problems they have pushed on us. I don't think my main browser (Safari) even has a way to change fonts other than user-defined style sheets, which means anybody who doesn't know CSS (and is willing to pour over every site's CSS to figure out the selectors to target) is screwed. The mobile version probably doesn't even support that.

Make no mistake, I'm very happy that Fossil supports a web interface I can skin out of the box. It's a major reason I chose to use it! But the modern web has become such a mess of options that I have very much become a proponent of a backend/API that provides just the data to a frontend/UI that almost entirely independent. I doubt there's much desire to put that kind of effort into refactoring Fossil's web interface, though, so I'll just say I appreciate this change, even if I don't yet know how my browser(s) will end up displaying O01lI by default (edit: the change appears to be live, so I am seeing it, and I actually do prefer whatever other font I have installed that matched the old list (I think it was Menlo; 1l aren't distinct enough for my tastes in the default, which appears to be Courier), but that is a Safari problem for me, not Fossil, to deal with).

(11.2) By Warren Young (wyoung) on 2025-11-30 21:05:29 edited from 11.1 in reply to 10.1 [link] [source]

If it really was nothing more than "fonts that suit my taste on the screens I was using at the time",

It wasn't purely a matter of taste, unless what you mean by that is sensible graphic design awareness, which I do have and have employed to Fossil's benefit more than once. In this instance, it meant collecting a set of fonts deemed fit-to-purpose such that at least one of them should pop up as close to everywhere as we can reasonably hope without attempting to account for the long-tail effect.

We now have two problems:

  1. Nerd Fonts: The explosion of new options tempting the audience primarily targeted by Fossil means the long tail has gone from a sub-1% group to something much larger. 10%, perhaps, and growing due to the rising popularity of things like Ghostty, Universal Blue, VSCode, etc.

  2. Safari: Mea culpa, I didn't actually check the list I posted above when making this decision, thus failed to discover that the blog's claim that they'd moved from Menlo to Mono SF for this was outdated once more.

    Further digging turned up the reason for it: to foil the malefactors using the available font set as a fingerprinting source! Apple is now purposefully exposing only that ancient Postscript 1 inspired font list to be as generic as possible, producing yet another "This is why we can't have nice things" situation. 🤬

I am therefore on the verge of reverting this change.

Given that the prior plan of falling back on plain monospace turns out to be a lame option in 2025, what should we do instead?

I've taken the suggestion up-thread to remove Courier [New] from this list on the theory that one or the other will be installed approximately everywhere, so the only way it should end up being used is via the monospace fallback. I have also removed the OS defaults on the same basis: Consolas, Ubuntu Mono and Deja Vu Mono. These last are not bad options; explicitly listing them is merely redundant.

That then leaves the matter of how to deal with the vast choice space available to the Fossil user base. My personal preference has been the Meslo nerd font family for a while, but there is not anything objective about it that I can point to. At least with the prior top choice, I could say "Adobe" and end the argument among a certain cognoscenti class.

At risk of inviting a bikeshedding discussion, I now solicit fonts that should also appear high on this list, with the intent of bringing Fossil back into a ~99% audience coverage state. It will help if you can show that there is a significant population of users backing that choice, especially if they overlap with the user base Fossil tries to capture attention within.

(13) By Impossibly Stupid (droleary) on 2025-12-01 19:04:30 in reply to 11.2 [link] [source]

It wasn't purely a matter of taste, unless what you mean by that is sensible graphic design awareness

I do mean that, because the dynamics of the modern browsing experience are a hostile users/sites/browsers triangle. However good your skills are, you are inevitably going to be at odds with what some individual users prefer and what some trillion dollar companies want to allow.

Apple is now purposefully exposing only that ancient Postscript 1 inspired font list to be as generic as possible, producing yet another "This is why we can't have nice things" situation.

Which is a sad reflection on them as a trillion dollar company. They are absolutely in control of Safari and could add sandboxing controls for site fingerprinting of fonts (or any other hostility) if they wanted to.

Given that the prior plan of falling back on plain monospace turns out to be a lame option in 2025, what should we do instead?

At the site level, Fossil currently supports skins. Personally, I would create a skin with zero CSS and sarcastically call it "Trillion", allowing the browser to give its default render for everything. A user could then fiddle with their browser settings to their heart's content (including user-defined style sheets, if supported). A real power user, I suppose, could also skin their own local Fossil repo, too.

That then leaves the matter of how to deal with the vast choice space available to the Fossil user base.

I don't think there is a win to be had, no matter how much effort is expended. The modern web is broken because it tries to be everything to everybody. The best you can do is pick your design philosophy and stick to it.

(14) By Warren Young (wyoung) on 2025-12-01 21:08:54 in reply to 13 [link] [source]

you are inevitably going to be at odds with what some individual users prefer and what some trillion dollar companies want to allow.

The problem here is that the user base's collective desires are secondary to the fighting between a few of those trillion-dollar companies. If it wasn't for Alphabet and Meta trying to do everything they can to flay every last vestige of privacy away, Apple would not have felt pressured to resort to a poor default to foil them. Microsoft tends to be a late follower of Apple on things like this, but now that they're getting their browser from Google, I find myself uncertain how much longer the current default of Consolas will last.

I would create a skin with zero CSS

The CSS in question is not part of any skin. Fossil delegates things it believes all skins will want to src/default.css, which is where this thread's change is landing.

Setting that pickiness aside, I cannot believe you are serious in expecting Fossil to succeed by shipping without any styling at all, making it a prerequisite that every user standing it up as a server first style it to taste.

(15.1) By Stephan Beal (stephan) on 2025-12-01 21:57:30 edited from 15.0 in reply to 14 [link] [source]

The CSS in question is not part of any skin.

Just for the curious, this reveals essentially what's in the default style:

~/f/fossil/skins]$ mkdir none; cp default/*.txt none/.; rm none/css.txt
~/f/fossil/skins]$ cd ..
~/f/fossil]$ ./fossil ui -skin skins/none

If you use "ui" frequently you may need to force-reload that to see the effect (shift+reload-button in most browsers).

That retains the header/footer from the default skin, because the site is useless without a navigation widget, but it doesn't contain any CSS other than what comes from src/default.css.

(16) By Impossibly Stupid (droleary) on 2025-12-02 04:44:56 in reply to 14 [link] [source]

The problem here is that the user base's collective desires are secondary to the fighting between a few of those trillion-dollar companies.

I'm less certain there's any real "fighting" amongst the big players. As I said, Apple should be perfectly able and willing to tell Google or Facebook or the W3C itself that abusive "features" will be sandboxed or not supported. I don't actually know if there are any browsers left that are aimed at users, where I could, say, left-click on some block of code and have the pop-up allow me to select a new font with options to save my preference for the block or page or site or app default (bonus points: then lie to anyone asking and say no, really, it's still set to Courier!).

The CSS in question is not part of any skin.

Well, that certainly puts a wrinkle in the idea. Still, there are !important overrides that could be done. Point being, there are ways of addressing the problem without changing Fossil's core code. Though Fossil might benefit from such a change...

I cannot believe you are serious in expecting Fossil to succeed by shipping without any styling at all

Maybe think less about the CSS specifically and more about increasing the flexibility of the UI rendering pipeline. As another example, when I first started using Fossil I was hoping it came with support for an OpenSearch link. When I saw that it didn't, I went looking for an easy way to add it. Do I need to tell you I did not find it? I can't say what will make Fossil more of a success, but I can say that just changing a font shouldn't be this much of a fuss.

(9) By smartmic on 2025-11-30 13:46:17 in reply to 3 [link] [source]

So my idea was more that I wanted to achieve a consistent web browsing experience. Unless there is no deeper artistic or philosophical reason for presenting content in a specific font (which could not be the case in Fossil given the long list of various options), I am a big fan of sensible defaults. And it makes also sense to configure those in the front end, the browser, if one is not happy with what comes out-of-the-box.

In Firefox, there is a setting called “Allow pages to choose their own fonts, instead of your selections above” – I disabled that. All monospace renderings look the same to me in my favorite font, which I personally like. In Edge (which I am forced to use at work), I couldn't find that setting and always ended up with Courier in my Fossil repos.

I would argue that the “mass of users visiting a Fossil server” is not the same as the “mass of Internet users,” but rather belongs to a technical niche. And as far as I've gotten to know them, their members are already largely inclined to optimize and configure their computer experience. In this regard, I believe that browser font settings are even one-time, shoot-and-forget.

Anyway, I welcome the change, say thank you, and will remain a loyal Fossil user either way!

(12) By Warren Young (wyoung) on 2025-12-01 07:12:24 in reply to 9 [link] [source]

In Edge…I always ended up with Courier in my Fossil repos.

In Windows 11 25H2 here, Edge uses Consolas with the current CSS, provided you do not have any of the ones we now list ahead of monospace.