|
| ikesau wrote:
| Super. Will keep this in mind for future projects.
|
| Is there a way to get a sense for how well supported each font is
| at each level? Like caniuse.com - "80% of users will see Cambria"
| or whatever.
| VPenkov wrote:
| Sort of but not really. Operating systems usually come with a
| mostly-known set of fonts, however major updates sometimes
| change or iterate on fonts. Also, installing certain Office
| and/or design software adds more fonts. But this is why people
| use such lengthy font stacks that look alike.
| [deleted]
| andrewmcwatters wrote:
| It seems blatantly wrong to me that anything other than
| traditional or old style typography would use lower case numbers.
|
| Who are these people designing typefaces in the neo-grotesk
| family with old style numerics?
| adamc wrote:
| What are "lower case numbers"?
| vanderZwan wrote:
| I presume numbers with the top aligned with the x-height[0].
| Corbel and Candara both have them if you look at the
| screenshots on the GH page[1].
|
| [0] https://en.wikipedia.org/wiki/X-height
|
| [1] https://github.com/system-fonts/modern-font-
| stacks#classical...
| latexr wrote:
| Numbers with varying heights, ascenders, and descenders (like
| lowercase letters).
|
| https://en.wikipedia.org/wiki/Text_figures
| vanderZwan wrote:
| I don't see any lower-case numbers on neo-grotesk, nor do any
| of the screenshots on the GH page show it so it's not just my
| machine. Could you maybe have an incomplete font with some
| weird font-substitution quirks?
|
| [0] https://github.com/system-fonts/modern-font-stacks#neo-
| grote...
| crazygringo wrote:
| Lower case numbers fit in the best with body text. They're used
| in the same way small caps are used for acronyms -- so you
| don't get ugly blocks of characters larger than their neighbors
| that call attention to themselves. It's a feature, not a bug.
|
| In contrast, you use standard numerals for mathematics,
| spreadsheets, next to uppercase letters, etc. Anywhere where
| the context is numerical or technical or calling attention.
|
| There's nothing "blatantly wrong" about it. Ultimately it's a
| stylistic choice (most people don't bother, same as most people
| don't bother with small caps), but it's a really nice one. I
| think it's cool to see it in neo-grotesque personally.
|
| There's nothing inherent to the aesthetic principles of sans-
| serif that precludes them. From my understanding, the
| historical reason why they weren't used in the mid 1900's was
| for technical reasons with phototypesetting, needing to limit
| the character set. Now that it's all digital and Unicode we're
| able to repopularize them.
| andrewmcwatters wrote:
| No, but there is historical precedence and coherence. It's
| like putting Greek columns on a Walmart. Or rapping in Old
| English.
|
| There's "nothing inherent to the aesthetic principles" of
| rotary phones, but you don't use a smart phone with a rotary
| phone interface do you?
|
| Taste is formed with the times in which they are developed
| in. And there are those who have taste coherence and those
| who do not.
|
| "Nothing inherent to the aesthetic principles" of emo hair
| fringe or disco attire, but you wouldn't wear either to a
| historical reenactment of the American Civil War, either.
|
| When people use Humanist typography they are invoking a
| specific feel.
| crazygringo wrote:
| I guess I just find myself disagreeing. I don't find
| lowercase numerals any different from extending a Latin
| font to Cyrillic or Greek. In my view, they're just extra
| characters, rather than an aesthetic choice of the font.
| Ideally, good body text fonts will have both types of
| numerals to choose from.
| andrewmcwatters wrote:
| I think it's just OK to disagree. But among designers, it
| does standout. It's like whitewalls on a contemporary
| supercar.
|
| But you know what, there are plenty of out of place
| things that can still just be appealing sometimes. /shrug
| JonathonW wrote:
| Microsoft's font designers, apparently. (Corbel and Candara
| both have them, despite it being kind of weird for a sans-serif
| font-- those were MS-commissioned fonts launched as part of the
| ClearType Font Collection with Windows Vista and Office 2007.)
|
| None of the fonts here have lowercase figures by default on
| Mac.
|
| (If Neo-Grotesque is showing lowercase figures on your machine,
| I think something funky is going on with your font stack--
| pretty sure none of those fonts should have them by default.)
| olah_1 wrote:
| Old style numerals are my favorite actually.
|
| There aren't that many descenders in lowercase English, but in
| a script like Shavian where there are many, the old style
| figures feel really "at home".
| yowzadave wrote:
| It would be nice if there were a convenient way to test the way
| these fonts will render on a variety of different systems. I.e.,
| BrowserStack but you can specify the installed fonts on the
| system you are testing.
| noneeeed wrote:
| The repo actually has png/gif comparisons for them.
| https://github.com/system-fonts/modern-font-stacks#industria...
|
| But yeah, I'd love some way to preview a custom piece of text.
| nati0n wrote:
| Limitations based on copyrights significantly hinder the
| helpfulness of this site, although the design is top notch.
| hobofan wrote:
| What do you mean? This only includes fonts already present as
| standard font on the operating system, so presumably they are
| all permissively licensed.
|
| Either way, you as the website owner are not responsible for
| whatever font ends up being chosen by the browser to render the
| website.
| ar9av wrote:
| Love this! I've been using system fonts for the past couple years
| to avoid the usual font load glitch, and also to make the apps
| feel a little bit more at home for users that are used to their
| OS fonts. For mobile, this seems like the ideal scenario.
| aimor wrote:
| That dot background causes a distracting strobing effect when I
| scroll.
| corywatilo wrote:
| This is really well done. Paragraph view really helps to
| visualize it.
|
| CSS Font Stack [1] used to be the place for this, but that site
| hasn't changed in decades.
|
| The one piece missing for me is the percentage adoption by
| platform (like in the above referenced site). Regardless, this is
| still replacing CSS Font Stack for me.
|
| The irony is that they were both created by people named Dan.
|
| [1] https://www.cssfontstack.com
| wbobeirne wrote:
| Came here to post this as well. I was going to start making a
| replacement for cssfontstack, so I'm glad to see this here. But
| also feel that the percentage adoption was a huge value to me,
| as it helped me prioritize fonts in my chosen stack to maximize
| consistency. I'd love to see stats that include popular mobile
| OS's as well.
| starik36 wrote:
| This is awesome. One improvement would be to have a preview of
| what it looks like on the all the major OSes. Bonus for mixing in
| non-English versions of the OSes.
| conaclos wrote:
| A preview is available on the GitHub README [0]
|
| [0] https://github.com/system-fonts/modern-font-stacks#system-
| ui
| FooBarWidget wrote:
| I don't get it. Why not just use "serif", "sans-serif" and
| "monospace"? What's the value of specifying specific fonts such
| as "Charter" or "Dejavu Sans"?
| danielvaughn wrote:
| Just wanted to say that I love the dot-pattern background. Very
| subtle, nicely done.
| wiradikusuma wrote:
| Sorry I don't understand how to use this?
|
| Is the _website_ supposed to be like Google Fonts _website_ where
| I select a font and it will give me code snippets to paste in my
| HTML?
| tomhanlon wrote:
| Instead of loading a font from Google Fonts you would just use
| the font-family property for the given typeface:
| font-family: Charter, 'Bitstream Charter', 'Sitka Text',
| Cambria, serif;
|
| for instance.
| anamexis wrote:
| I think it's suggesting font families which have similar
| characteristics and for which at least one is likely to be
| installed for a given OS/browser.
| aakash_test wrote:
| Test
| pimlottc wrote:
| Please stop using green vs red like this, it's very difficult for
| many people, including me. Especially for thin lines.
| coreyp_1 wrote:
| I didn't even realize that the red/green was present until you
| mentioned it!
|
| I do actually perceive it, now that you draw attention to its
| existence, and can tell the difference, but you are correct:
| thin lines are aggravating to deal with!
|
| And it's not just the red/green issue: it's also in
| distinguishing them from grey when the lines are thin.
|
| Side issue: when I was a kid, my math teacher insisted on
| grading using those thin BIC red pens. The problem is that it
| was indistinguishable from my own writing (at a glance), and it
| took forever to find my mistakes that were "clearly marked" by
| the teacher. Thin red lines are pointless to me. I guess it's a
| good thing that I'm naturally good at math!
| gketuma wrote:
| So is the fix to remove the underlines? Or to stop using
| red/green color combination? Trying to learn as well. Thanks
| capableweb wrote:
| Depends on the use case. If you want to signal deletion,
| strikethrough can be more appropriate than coloring. If you
| really have to use color, I've heard brown-blue combo
| should be easier, or at least blue-yellow color blindness
| is a lot rarer than red-green, so it'll be more accessible.
|
| But the most accessible would be to use appropriate
| structure (together with appropriate semantic structure for
| those that cannot see at all) rather than appropriate
| coloring.
| heisenbit wrote:
| Make color areas bigger and use higher contrast light/dark
| versions to keep some distance between red and green.
| Generally avoid thin red to signal anything important.
| yuchi wrote:
| The solution from literature is "use color as much as you
| want (within the limits of sufficient contrast for
| readability) but nether rely exclusively on it, always add
| some other visual device, such as icons or (even better)
| textual additions".
| [deleted]
| coreyp_1 wrote:
| For me, it's not just an "underline" issue. In my case,
| it's a "thin line" issue, and letters are usually made up
| of thin lines, especially the monospace font used here. But
| that's just me. (Side note: I still use monospace fonts in
| programming, I just choose one that has thicker lines in
| relation to the character size.)
|
| For example, when I saw the website in question, I did not
| notice the red or green text color at all. I did see the
| underline, though. I didn't know it's significance,
| however, because the key is at the bottom of the examples
| (5 rows of blocks of text examples) rather than the top.
| Oddly enough, in this particular instance, the green of the
| text looks more like a light grey, and I can see the red
| better than the green. Normally it's the other way around,
| but it might have something to do with the particular
| shades involved.
|
| Importantly, there are different forms of red/green
| colorblindness. For some people, the colors are literally
| indistinguishable. They look exactly the same.
|
| Mine is a form of reduced sensitivity. I can see it if it's
| a large area. E.g., if you're wearing a red shirt, then I
| know it's red, and it looks completely different from a
| green shirt. If it's just a thin line of red, though, then
| I might not pick up on it unless I concentrate. It just
| doesn't stand out when the lines are thin.
|
| Fabric can be weird for me. Some fabrics cause issue
| because they will use red threads interspersed throughout
| the cloth in order to achieve a red/pinkish overtone, and I
| won't notice it at all (unless I really concentrate on it).
| It's because the red is coming from thin lines. I have to
| be careful with tweed, for example.
|
| But again, that's just my experience.
| messe wrote:
| I have the same kind (IIRC it's called deuteranomaly).
|
| I find increasing the brightness of the display helps,
| but it's still a pain in the arse to distinguish the two
| when the lines are thin in this example.
|
| Just for fun, can you make out the lettering in this
| image posted to the fediverse:
| https://mathstodon.xyz/@csk/109786201604517074
|
| If you have deuteranopia or deuteranomaly, you should be
| able to just about make it out. With normal colour
| vision, on the other hand, it's meant to be nearly
| impossible to see.
| coreyp_1 wrote:
| LOL, that's great!
| illiarian wrote:
| > because the key is at the bottom of the examples (5
| rows of blocks of text examples) rather than the top.
|
| It's worse in mobile. It's several screens of example
| blocks before you get to the key.
| MisterTea wrote:
| The fix is "designers" need to understand that there are
| people with visual disabilities and take steps to stop
| discriminating against them.
| 323 wrote:
| Maybe a browser extension should exists which automatically
| replaces colors with more accessible ones.
| nielsbot wrote:
| I think you can do this with system accessibility settings?
| At least on macOS and iOS.
| Pr0ject217 wrote:
| 100%. I can _barely_ read it. Perhaps changing the _background_
| of the text to red and green (and the text to white) would
| improve its legibility. There are likely better ideas, though!
| danklammer wrote:
| This is great feedback. I will update to be more accessible.
| peterfirefly wrote:
| You might be able to get away with changing your reds and
| greens so (most) colour blind people can see the difference
| between them.
| scns wrote:
| https://colorhexa.com shows how each color "is perceived by
| people affected by a color vision deficiency".
| Matheus28 wrote:
| You could add a strikethrough on the red ones, and keep the
| color. .nope { text-decoration: line-
| through; }
| nielsbot wrote:
| Someone filed an issue already https://github.com/system-
| fonts/modern-font-stacks/issues/1
| Narushia wrote:
| These look all very solid! There's one thing that bugs me,
| though: I would imagine that a "system font _stack_ " would
| support characters for multiple scripts, since operating systems
| are commonly localised into many different languages. However,
| none of the fonts presented seem to support any CJK characters,
| for instance.
| amelius wrote:
| It would be even better if the fonts were just the same across
| platforms.
| yowzadave wrote:
| What if you're building a web app, and your goal is to emulate
| the system font appearance (whatever it may be) of the client?
| tasuki wrote:
| I think the comment you're replying to still applies?
| SquareWheel wrote:
| Then your default font stack should look something like this.
|
| https://github.com/twbs/bootstrap/blob/adf7b8dc4083b6ddc318e.
| ..
| airstrike wrote:
| Not sure if it's just me behind a draconian firewall but Neo-
| Grotesque doesn't load Inter for me, even though it's on Google
| Fonts. Why not download it from there?
| joe5150 wrote:
| The site doesn't load any webfonts. It only attempts to use
| already-installed "default" fonts from various systems. The
| GitHub readme[1] says Inter is a "user-installed" font, so I'm
| not really sure it should count here.
|
| 1: https://github.com/system-fonts/modern-font-stacks#neo-
| grote...
| hLineVsLineH wrote:
| Inter is the default font on elementary OS, if I recall
| correctly.
| airstrike wrote:
| Sure, but realistically who doesn't deploy webfonts these
| days? Might as well include them on this site to reflect the
| current state of the world
| prewett wrote:
| Maybe I should know what this is about, but after reading the web
| page and the Github site, it's unclear to me if this is a set of
| fonts I download, or a useful set of font CSS settings, or a font
| renderer or what. What problem is this solving? Why does this
| work better than just using good quality fonts in the browser?
| The examples look great, I just don't know what I'm looking at.
| [deleted]
| nielsbot wrote:
| I think these are fonts that are generally available on common
| OSes, so no webfonts needed, in order of
| preference/specificity. You often (for me, an amateur, anyway)
| don't know which list of fonts and fallbacks ("stack") to
| specify if you want a "industrial" font for example. This site
| has done that research for you.
| [deleted]
| azatom wrote:
| Why is the smallest font size is the largest of what I actually
| would like to test? The range 0.7-1.5em is what needs tests,
| above that all looks good.
| hypertexthero wrote:
| Excellent work, and thank you for introducing me to the lovely
| Seravek - https://en.wikipedia.org/wiki/Seravek
|
| I did not know it was a default font in macOS.
| DyslexicAtheist wrote:
| very nice. been looking at the "system-ui" font saying "damn that
| looks great I must try it", then as I continued to browse further
| down got confused. Why does every font look the same? It must be
| my design-ignorant brain not picking up on the subtle differences
| in these fonts? They're clearly brilliant though.
|
| as I couldn't spot any differences in any of them (and all of
| them looking fantastic and really similar or same as the rest of
| my system) ...
|
| Then it hit me, so went to Firefox ->
| settings -> Fonts -> Advanced ->
| "Allow pages to choose their own fonts, instead of your
| selections above"
|
| problem solved :) I was no longer staring at "DejaVu Sans" in
| every box.
| foxandmouse wrote:
| Most of the fonts listed here are premium fonts, the complete DIN
| typeset costs nearly 2k. If we're going that route, then it's
| safe to say most of these are lesser than the best in class for
| each category. popular fonts like Futura, Century Gothic,
| Baskerville, and Univers are just a few that are omitted..
|
| While there's no objective truth in design, these fonts are not
| suitable for designers who prioritize typography. However, if
| you're looking for a quick solution for a side project and don't
| care much about typography, this list could be helpful. Can't see
| why it belongs on the front page though.
| joe5150 wrote:
| The type named, DIN Alternate, is included with MacOS (bold and
| condensed bold only). The GitHub page has some notes about
| this, along with more info about what systems support which
| typefaces.
|
| https://github.com/system-fonts/modern-font-
| stacks#industria....
| foxandmouse wrote:
| Thanks! the GitHub page includes a lot of (imo) essential
| information that should be included on the site. The
| developer clearly did a lot more research than I assumed.
|
| That said, one thing to consider if you're using this stack
| is that this implementation will produce OS specific designs.
| The fonts in each stack differ significantly between
| operating systems, which means that testing for each OS will
| be necessary. I already have an issue with the same fonts
| looking different due to different rendering methods in each
| browser/ OS.
| joe5150 wrote:
| I think it's helpful to keep in mind that any design will
| be to some extent "OS-specific" for a lot of different
| reasons, available fonts being only one factor.
|
| I also think OS-specific design is perfectly appropriate
| for a lot of use cases. I use "font-family: system-ui,
| sans-serif" on my resume page, for example, because I know
| that the default system fonts look fine (by design) on any
| screen and a fast, lightweight page is more important to me
| than a specific font presentation. If you're creating a
| user interface with really tight tolerances on element size
| or appearance, different strategies might be more
| appropriate.
| hLineVsLineH wrote:
| > I use "font-family: system-ui, sans-serif" on my resume
| page [...] If you're creating a user interface with
| really tight tolerances on element size or appearance,
| different strategies might be more appropriate.
|
| Shouldn't it be the opposite? It literally has "UI" in
| the name, and according to the the spec, "The purpose of
| system-ui is to allow web content to integrate with the
| look and feel of the native OS."
|
| The text on a resume is not UI, and it has no need to fit
| the look and feel of the native OS. In this case you
| should just use `serif` or `sans-serif`. If you're
| creating a user interface, then it would be appropriate
| to use `system-ui`.
| joe5150 wrote:
| > The text on a resume is not UI, and it has no need to
| fit the look and feel of the native OS
|
| My resume has no need to look any particular way at all;
| this is just my preference. You should design your
| webpages however you like!
| jfk13 wrote:
| You may happen to like how system-ui looks on _your_
| system (macOS? Windows?); but do you have any idea what
| it looks like for the person reading your resume, perhaps
| on Linux with a custom theme, or on an Android device
| where the vendor chose to ship some brand-specific UI
| font? Or on a 5-yr old version of the OS, or on the
| version that 'll be current 5 years in the future?
|
| IMO system-ui is hardly ever a wise choice for content.
| deckard1 wrote:
| I'm going to be slightly more blunt and say, if you're using a
| font "stack" then you don't care about typography at all. A
| large segment of HN seems to hate web fonts with a passion. And
| I get that. But let's not pretend you can have your cake and
| eat it too. You may as well just do "serif" or "sans-serif" and
| be done with it.
|
| For the same amount of effort it takes to research a font stack
| you could implement a web font loader that uses browser fonts
| based on prefers-reduced-motion.
| jraph wrote:
| > if you're using a font "stack" then you don't care about
| typography at all
|
| Why?
|
| If I want to display a document with some atmosphere for
| which several fonts could be suitable, and it's not so
| important if a default generic font is used, but I care more
| about performance and resource usage, it's a good solution,
| no?
|
| The default generic font will probably be a well designed
| font that the user is used to, so, typographically, it's very
| good. I like this "best effort" approach.
|
| A custom font will probably be worse for many users: users
| have to download it, there can be flashes, reflows, rerenders
| or a long time where stuff is blank, and the user might not
| be familiar with this font. Since fonts are mostly a matter
| of taste anyway, it's not clear the user will prefer this
| custom font over the ones that are already on their computer
| and that they are more likely to be familiar with.
|
| So, in the end, it might as well be the better solution,
| typographically speaking.
| deckard1 wrote:
| > that the user is used to
|
| That's not the point of typography or design. People are
| used to Comic Sans. That doesn't make it a good choice.
| Some designs call for something that stands out in a unique
| way.
|
| If you are going to the trouble of finding an "atmosphere"
| for your site and researching the fonts you are using then
| why just throw that all out with a "stack" and sort of kind
| of but not really getting it right?
|
| Here's the bigger problem. No two fonts have the same font
| metrics. Go to the Github page: https://github.com/system-
| fonts/modern-font-stacks#css-font-.... These fonts are all
| using the same font size, weight, etc. but they are
| drastically different. Calibri and DejaVu do not render
| remotely the same. DejaVu might be readable at a certain
| size where Gill Sans Nova is going to be rather awful.
| These are all within the same font stack. Even in the
| "Preview Rendering" you can see it cheated by having the
| footnote that says "These fonts have been size-adjusted for
| easier comparison." How are you planning to do that in CSS?
| You can't.
|
| All this effort is wasted. You can just pick "sans-serif"
| and let the user use whatever they have set in the browser.
| That's better anyway, especially for a blog type layout
| which is the only layout that would make sense and not
| completely break with a font stack.
| hLineVsLineH wrote:
| The say, "then you don't care about typography at all." You
| say, "If [...] it's not so important [...]" To me, it
| sounds like you two are in agreement. If it's not
| important, i.e. if you don't care about it, then it's fine.
|
| > If I want to display a document with some atmosphere for
| which several fonts could be suitable
|
| There's no such thing as "several fonts could be suitable".
| All the fonts in these stacks have different metrics, so
| you can't even set appropriate values for something as
| basic as the font size and line spacing.
|
| If you design your page using Gill Sans Nova, for example,
| and someone views it with DejaVu Sans -- congratulations,
| the text now looks something like 50% bigger than you
| intend it to be. And if you set a sensible size for DejaVu
| Sans, someone will get unreadable text with some other
| font. This is not "very good". It's bad.
|
| It _might_ be okay to use these font stacks as fallback
| when the custom font doesn 't work, but it's not "the
| better solution" if you care about typography.
|
| > I care more about performance and resource usage
|
| It's a valid concern but fonts aren't really that big. Some
| people are shipping favicons that are like 40kB. That's
| enough to fit a font.
|
| > The default generic font will probably be a well designed
| font that the user is used to
|
| System fonts aren't necessarily well designed. And I'm not
| sure why "the user is used to it" is a good thing. It seems
| to be the opposite. People complain when a font is familiar
| to the point that it feels tired and overused.
|
| > Since fonts are mostly a matter of taste anyway, it's not
| clear the user will prefer this custom font
|
| The user is always in control. They can always choose what
| to load and what styles to apply. That doesn't mean people
| should stop designing webpages that looks good.
| joe5150 wrote:
| > congratulations, the text now looks something like 50%
| bigger than you intend it to be
|
| Some of these "stacks" do make poor choices with respect
| to matching the overall metrics of the fonts, but there
| are any number of reasons why a font might display bigger
| or smaller than you "intend it to be" in a web browser.
| Web design fundamentally has to account for this.
| hLineVsLineH wrote:
| Yes, and that's exactly the problem with this approach.
| There's no accounting for the different metrics of the
| fonts.
|
| Font size and font family should ideally always be set
| together. If you're setting a font-size, then you should
| force a font-family, and vice versa. Otherwise, you
| should set neither and let the user agent decide. This
| ensures that you would never get a broken combination
| that's uncomfortable or unusable.
|
| It's similar to the idea that whenever you're setting a
| foreground color, you should always set the background
| color as well.
| pitaj wrote:
| Is it just me or on Android do like 90% of these not really work
| right? Firefox is especially sparse, but Chrome isn't much
| better.
|
| Does Android just not ship with many fonts? I'm on a Pixel 6 with
| Android 13.
|
| For instance on Firefox:
|
| - Transitional, Old Style, Slab Serif, Antique, and Didone fall
| back to serif
|
| - all Humanist variants, Industrial, and Rounded Sans fall back
| to sans-serif
|
| - nothing for Handwritten (so just shows up as sans serif)
|
| And Chrome is better but still not great:
|
| - Transitional, Old Style, Slab Serif, and Didone fall back to
| serif
|
| - all Humanist variants and Rounded Sans fall back to source-
| sans-pro
| cantSpellSober wrote:
| I've never had a designer tell me "if _x_ typeface isn 't
| available, fallback to _y_. " Simply fall back to the generic
| name unless specified.
|
| Why does "Monospace Code" _begin_ with a generic name (`ui-
| monospace`) instead of _ending_ with one?
|
| (Well done demo, thanks for sharing!)
| danklammer wrote:
| `ui-monospace` is an extended system font property [1] similar
| to `system-ui` that is currently only supported in Safari. This
| will render SF Mono on macOS and iOS [2].
|
| [1] https://caniuse.com/extended-system-fonts
|
| [2] https://github.com/system-fonts/modern-font-
| stacks#monospace...
| giraffe_lady wrote:
| It's a good default approach and the one I use most of the time.
|
| If you're setting a _lot_ of text, or mixed text especially that
| has both prose and graphs or data you run into the limitation of
| the system fonts just not having the full set of characters.
|
| Using text figures and tabular figures correctly for example is
| one of the main things that makes those complex mixed texts read
| well and look "professional" and afaik none of the system fonts
| include all three sets of numbers, even if they're available in
| that font from other sources. They also mostly don't support
| small caps, which is better looking than most other ways you can
| emphasize text for titles or diagram labels. The CSS auto-
| conversion fallback is not a good substitute imo.
|
| Anyway again it's a great approach for basic text and still a
| good start for more complex stuff, but not a full solution
| depending on how much you care about text presentation. But since
| most websites are mostly text I think you should care a lot.
| [deleted]
| chrismorgan wrote:
| https://github.com/system-fonts/modern-font-stacks explains each
| stack and which fonts are expected to be used where, with
| screenshots. This information makes it (mildly bizarrely, and
| quite disappointingly) generally more useful than
| https://modernfontstacks.com/.
|
| --***--
|
| A few remarks (not all that I could make, but I should sleep).
|
| _System UI:_ risky, it's a trap, there's basically _no_
| legitimate scenario for these semantics on the public web. See
| https://github.com/w3c/csswg-drafts/issues/3658 (skim through a
| bit, I've got a comment near the end too).
|
| _Monospace Slab Serif:_ _every one_ of the fonts named here is a
| bad font:
|
| (a) Nimbus Mono PS mangles things like the two-column `fi`,
| ligating them to a single-column `fi`. See
| https://github.com/ArtifexSoftware/urw-base35-fonts/issues/3....
|
| (b) Courier New is unreasonably thin due to bad digitisation
| techniques which used to be worked around by hinting and
| ClearType special-casing, but it's common for neither of those to
| work to make it tolerable any more. Its 400 weight is more like a
| 250 (if even that), and painful to read in many common
| configurations. Never use it.
|
| (c) Cutive Mono apparently _copied Courier New's known-awful
| thinness!?_ What were they thinking?
|
| _Monospace Code:_ seriously, just go `monospace, monospace`
| these days. Firefox 98 on Windows was the last browser where this
| wasn't at the very least perfectly adequate. (The doubling is to
| work around the stupid probably-13px font size misfeature that
| I'd like to try to convince browser makers to ditch, but haven't
| tried yet.)
|
| > _Emoji Support_
|
| Does adding these fonts to the end of the stack actually achieve
| anything useful? I don't _recall_ these being necessary or
| useful. (I vaguely recall some sort of priority issue related to
| text /graphical representations, but that was quite a few years
| back and I'd _expect_ it to have been dealt with now, though it's
| _possible_ some U+FE0F might be needed if you omit this?--though
| frankly that'd be needed anyway for universal support. Anyway,
| I'd like concrete explanation of what this stuff does, if
| anything.)
|
| > _Anti-Aliasing_
|
| If I recall correctly, these tweaks are largely Apple-specific,
| grossly misleading in name, highly controversial, and probably a
| waste of time. I invite correction or further education, because
| I haven't thought about them for maybe a decade and don't use a
| platform where they do anything.
|
| --***--
|
| This is much better-thought out than most sets of suggestions,
| but I'd honestly still suggest dropping nuance in most cases, and
| just using `serif`, `sans-serif` or `monospace, monospace`. But
| if you want a certain general sort of character, this is pretty
| good stuff. I've definitely done `font-family: Georgia, serif`
| where I wanted to express a preference for a wider sort of serif,
| and I'd do it again1.
|
| --***--
|
| 1 Even if I personally will get my own chosen serif font, since
| I've unticked Firefox's _Settings - Fonts - Advanced - Allow
| pages to choose their own fonts, instead of your selections
| above_. Try it yourself, you might be pleasantly surprised at how
| much the consistency improves the web, like I was. You might also
| develop a still-deeper hatred of non-zero letter-spacing on body
| text, which is absurdly common for something that has _absolutely
| no legitimate use case in English text_.
| hLineVsLineH wrote:
| > _System UI_ : risky, it's a trap, there's basically _no_
| legitimate scenario for these semantics on the public web.
|
| How else would you style things with the system's UI font? User
| interfaces on the web can be designed to fit in the native
| system UI. It's a legitimate and useful thing to do.
|
| I don't see how you can make a meaningful distinction between
| what's "online" or "on the public web" or not. A lot of web
| apps can run both online and offline, installed or uninstalled.
| In all cases it uses the same web technology.
|
| Just because some legacy system makes a bad choice, doesn't
| mean everyone can't have nice things. I mean, did Windows
| _seriously_ make all their UI use a _single_ font? Do they just
| assume all the UI on Windows would be monolingual...?
|
| I mean, it's standard practice to use a Latin font and fallback
| to other fonts for complex scripts such as CJK, because it's
| universally acknowledged that the Latin glyphs in these fonts
| are terrible and unfit even for the purpose of using it _with_
| the CJK characters.
|
| Instead of discouraging or even removing it, how about actually
| _encouraging_ people to use `system-ui` to force Microsoft and
| other companies to fix their systems?
| thrdbndndn wrote:
| Everytime "System UI" is mentioned on HN I feel obligated to post
| this: Be careful about it.
|
| The intent of "System UI" is great. However, the actual
| implementations across multiple platforms and especially with
| different international languages, not so much.
|
| The main issues are:
|
| 1. On Chinese and Japanese Windows, it would end up using MS
| Yahei and Yu Gothic UI. The former isn't optimized to show
| English-only (or Latin alphabet only) content, while the latter
| isn't even suitable to display _Japanese_ content, let alone
| English ones. As the name suggests, it 's intended to be a "UI"
| font - it's extremely narrow to accommodate long Japanese
| characters in UI elements such as context menu, button etc.
| You're supposed to use "Yu Gothic" to show normal text in
| Japanese.
|
| And because these two fonts are unicode (include almost every
| glyphs), it won't fallback to other fonts either. English Windows
| does not suffer from this issue the other way precisely because
| its default UI font, "Segoe UI", not only great to show English
| characters, it also does not contain any CJK glyphs so these
| would fallback to proper fonts.
|
| 2. Unlike "sans serif", system-ui overrides "default fonts" that
| user can tweak in (any) browser settings. Users can even change
| fonts for each written script/language to make they have the
| fonts that suits them best too (and browsers usually have
| sensible default for them). This means you can use ,
| , to specify language of HTML elements to
| ask the browsers to use specific fonts for each language. System-
| ui overrides all these: once you have assigned "system-ui" it
| will just use system font regardless of any language context.
| Again, this is particularly bad for CJK users because of problem
| 1 ("system-ui" fonts have all the glyphs). So end result: Chinese
| paragraphs use Japanese characters (they're different but have
| the same Unicode point), and vice versa.
|
| 3. In lots of platforms, including MacOS (I didn't test newest
| version yet), Android, iOS, using "system-ui" will end up using
| exactly the same font as just use "sans serif" anyway. So it
| really has little benefit.
|
| One of the only benefit of using "system-ui" is on _English_
| Windows: lots of browsers including Firefox and Chrome still use
| Arial as sans-serif 's default for Latin content for backward
| compatibility (you can change it yourself in browser settings,
| though). So by using system-ui, on English Windows, fonts would
| become Segoe UI, which is indeed better. But you can "fix" this
| without messing over Chinese/Japanese users by just apply "Segoe
| UI" directly. It does not affect other platform either because
| they simply don't have this font. Actually, this is exactly what
| most of major websites (GitHub, SO, Twitter, etc.) currently are
| doing, after they rolled back from using "system-ui" due to
| issues and backlash mentioned above. Wikipedia also tried, but
| they now choose to continue rocking "sans-serif" without any
| fancy "stack".
|
| (I'm not a Linux guy so feel free to chime in about situations
| there.)
| alwillis wrote:
| > 3. In lots of platforms, including MacOS (I didn't test
| newest version yet), Android, iOS, using "system-ui" will end
| up using exactly the same font as just use "sans serif" anyway.
| So it really has little benefit.
|
| Certainly on my Mac, which has been the case for quite some
| time, sans-serif defaults to Helvetica.
|
| Since Apple was the organization that proposed "system-ui", it
| doesn't make sense that it would default to a font that already
| existed.
|
| Apple created San Francisco as a family of fonts for macOS,
| iOS, iPadOS, etc., which is why Apple proposed to the W3C the
| concept of a system-ui font that differs from sans-serif.
|
| Android, newer Windows and macOS has specific fonts for system-
| ui.
| [deleted]
| glogla wrote:
| I like it.
|
| It works for English, but sadly the selected fonts don't always
| have all the national characters. Sometimes there are similar
| enough replacements (e.g. Charis instead of Charter) but not
| always.
| reaperducer wrote:
| I agree, since I build multi-lingual web sites. I hope this
| will be helpful.
|
| There is a little box at the top that allows you to replace the
| default text with the text of your choice to test whether your
| specific non-ASCII characters will work.
| yawpitch wrote:
| Ahh, thanks for noticing that, I've got a ludicrous number of
| Vietnamese accents to deal with, and have been looking for
| just such a tool!
| lagrange77 wrote:
| Nice. It would be really useful, if the site could preview the
| system fonts of those systems you aren't using, though.
| pseudonymcoward wrote:
| The github page has screen grabs of all the fonts in each
| stack: https://github.com/system-fonts/modern-font-stacks
| lagrange77 wrote:
| Nice, thanks.
| partyguy wrote:
| Similar: https://systemfontstack.com
|
| Either way, it's the best way to go these days if you don't need
| any fancy external fonts on your website.
| javajosh wrote:
| This is valuable.
|
| But the value is hidden because the "key" is at the bottom, not
| at the top. This page's value is that it shows you what device
| fonts are available (and in use), but that's not clear (enough).
| (And this value is further reduced by the color scheme, which
| many people cannot distinguish.)
|
| I'd also like to see a discussion of where you got these stacks.
| fouronnes3 wrote:
| I really like "font-family: system-ui, sans-serif;". Life is
| short, let's go on with our lives!
| creativenolo wrote:
| But a short life is to be relished with delights.
| SquareWheel wrote:
| Great website. There's really no concept of "web safe" fonts
| today when you mix in mobile operating systems. At best you can
| choose similar-looking fonts and hope for the best, and this site
| seems useful in that aim.
|
| One tool I'd love, though would clearly be out of scope here,
| would be a way to find safe fallbacks for popular webfonts. For
| example I recently created a site in Montserrat. After some
| testing I found a close fallback font was Verdana, with a size-
| adjust[1] of about 99.5%. That resulted in minimal document
| reflows when the font was slow to load.
|
| Picking the top 10 or 20 popular Google Fonts and finding nearby
| fonts with good scaling tweaks would be very useful. I could see
| a sister project to this site offering something like that.
|
| [1] https://developer.mozilla.org/en-US/docs/Web/CSS/@font-
| face/...
| ZeroGravitas wrote:
| https://meowni.ca/font-style-matcher/
|
| Is a tool that lets you play around to discover good fallback
| settings.
| SquareWheel wrote:
| Thanks for the link. I've actually used this one before, but
| it's not quite what I was hoping for.
|
| These settings (font-size, line-height) are defined in the
| content CSS, not the @font-face rule, so they won't be
| automatically applied when the font is swapped. Properties
| like size-adjust or ascent-override are better for matching
| like-fonts as it's all automatic.
|
| Also, while it is very useful to have a tool to come up with
| your own pairings, I think a list that covers some of the
| most popular fonts and creates perfect settings would be very
| useful for quick implementations. Something like the
| submitted site above that has done the legwork for you.
| corny wrote:
| Maybe this is more what you're looking for?
| https://screenspan.net/fallback
| SquareWheel wrote:
| Much closer to what I had in mind! Thanks, this one is
| new to me. It would've saved me time in my previous
| testing.
|
| Hopefully one day the existing CSS properties like
| letter-spacing can be supported in @font-face to allow
| for even better matching. That would make techniques like
| this even more powerful.
| airstrike wrote:
| Loved this, thanks for sharing
| toastal wrote:
| Bold of you to assume I'd want Arial or Ubuntu before the one I
| set as my user agent default in any stack
| webmasterfish wrote:
| Correct me if I'm wrong but is this basically just advicing on
| using web-safe fonts?
| stefncb wrote:
| Every operating system has different fonts installed by
| default. Unless you use custom fonts, you can't be fully
| consistent, but the website has some groups of similar fonts
| that should get you the same style regardless of operating
| system.
___________________________________________________________________
(page generated 2023-03-15 23:00 UTC) |