Skip to content
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

Ampersands in documentation are drawn incorrectly in some browser configurations #24355

Closed
nstoddard opened this issue Apr 12, 2015 · 20 comments
Closed
Labels
A-docs Area: documentation for any part of the project, including the compiler, standard library, and tools E-easy Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.

Comments

@nstoddard
Copy link

On my system, ampersands in the documentation are drawn incorrectly in Chrome: https://i.imgur.com/FmG93G5.png. I'm using Windows 7, 64-bit. This doesn't happen in Firefox.

I'm thinking this could be a bug in Chrome, but I haven't seen it on any other site. It seems to happen on any page generated with rustdoc. Ampersands in the examples aren't affected.

@nstoddard
Copy link
Author

It looks like this is similar to #16372. I deleted the Source Code Pro font, which fixed it. Since I'm at least the second person to come across this issue, maybe we should try to find a more permanent solution. Is it possible for rustdoc to automatically download and use the most recent version of the font? If not, maybe this issue should at least be documented somewhere.

I'm still not sure why this issue was happening in Chrome but not Firefox.

@alexcrichton alexcrichton added the T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. label Apr 13, 2015
@killercup
Copy link
Member

Is there a reason why for the Source (\w*) Pro fonts the locally installed version is requested first, but not for Fira Sans (cf. rustdoc's main.css)? Are there many people who have those installed? (Even then, why not give Fira the same chance?)

If we are concerned about file sizes or compatibility, we should probably add woff2 (newer, smaller format) and eot (legacy IE format) versions of the fonts.

@ZobyTwo
Copy link

ZobyTwo commented May 9, 2015

I dont have any of those fonts installed and still have the same issue (windows, chrome). I found (https://code.google.com/p/googlefontdirectory/issues/detail?id=178) which suggests that there is a newer version of the font which might fix the problem.

@azerupi
Copy link
Contributor

azerupi commented Jun 29, 2015

It may be a good idea to use a CDN for the font's (like Google font) with a local fallback when the CDN can't be reached, for example when offline. This has a couple of advantages

  • loading the latest version from the CDN
  • parallel http request and thus faster load times
  • if the font from the CDN has been loaded on another page, it will be cached and thus speed up the page load too.

It might be interesting to do that for jQuery too since it is the most downloaded js library there is a very high probability that it will already be in the browser cache.

@jonimake
Copy link

jonimake commented Feb 6, 2016

Still happening with Chrome 48.0.2564.103 m and Windows 10.

@jonas-schievink
Copy link
Contributor

This is getting pretty annoying now, and this happens on basically the most common Windows configuration (plus, this issue is almost a year old now). Can't we just use another font for now?

@ghost
Copy link

ghost commented May 26, 2016

I have this issue too, fresh Chrome on Win8.1.

I personally use a browser plugin to change the fonts on the documentation pages, but that's not an ideal solution.

Edit: I submitted an issue on this to Google Fonts.

@sateffen
Copy link

Hey,

I've got the same problem with the ampersands, and it makes the documentation very hard to read. After some time you can get used to it, but at first this not just sucks, it tells me to leave the page and never come back.

The solution to update the font on all of my computers is not acceptable for me. I have 2 win10 and 2 win7 machines having the same problem, all in chrome browser, and to be honest: I don't want to update my computers by hand, just for one website. Even if it's a chrome problem, there is a way to work around that problem.

Why not just remove the font, and use the other ones? DejaVu Sans Mono looks very clean and good, and it's been around for quite some time, so I guess it's glitch free?

@brson brson added I-nominated A-docs Area: documentation for any part of the project, including the compiler, standard library, and tools E-easy Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue. labels Sep 13, 2016
@brson
Copy link
Contributor

brson commented Sep 13, 2016

Let's just add another similar font at a higher priority. Help wanted.

@matthew-piziak
Copy link
Contributor

The current hierarchy is already Source Code Pro > Menlo > Monaco > Consolas > DejaVu Sans Mono > Inconsolata > monospace, so removing Source Code Pro is probably sufficient.

@nagisa
Copy link
Member

nagisa commented Sep 14, 2016

For all its worth we probably should just use monospace without any of those stuffs that come before it, because if anybody cares about fonts at least a little bit, their system will have monospace equal to something that looks good and has good glyph coverage (cough… Source Code Pro… cough) anyway 😉.

@matthew-piziak
Copy link
Contributor

The disadvantage there is that we lose the ability to predict which font most people will have active (something which is useful for design). Moreover if Source Code Pro is their monospace default, this bug will continue to affect them.

@nagisa
Copy link
Member

nagisa commented Sep 16, 2016

Moreover if Source Code Pro is their monospace default, this bug will continue to affect them.

Some old version of Source Code Pro obtained from the fishy source that google fonts is, which is getting more unlikely over time.

To make it clear, I’ve never been affected by this bug and SCP is set to be the default monospace font on my system. I would like to keep reading rustdoc in SCP, and couldn’t care about design or whatnot any less.

@matthew-piziak
Copy link
Contributor

I understand your reasoning now.

@eternaleye
Copy link
Contributor

Meanwhile, I agree with @nagisa regarding just using monospace because I have mine set to Inconsolata Go, and am similarly unmoved by "design" as an argument (especially given this mostly applies to... types and signatures, which were not carefully chosen to fit some form of web-first design).

@matthew-piziak
Copy link
Contributor

Yep, I'm convinced. 👍

@nrc
Copy link
Member

nrc commented Sep 20, 2016

So looking at Rustdoc's CSS I find this : src: local('Source Code Pro'), url("SourceCodePro-Regular.woff") format('woff'); which seems to imply we'll use the local version of source code pro before the web font version. I think just removing the local clause will force using the web font and thus avoid the buggy old version of the font that some people have on their systems.

@Boddlnagg
Copy link
Contributor

I've been affected by this bug multiple times, since something on my machine (Windows) seems to keep reinstalling an old version of Source Code Pro. I haven't been able to figure out what it is. @nrc's fix sounds like the right solution to me.

@sourcefrog
Copy link
Contributor

See also /issues/34681, around a same-origin problem loading fonts from the doc tree on Firefox. It seems like just removing the local clause could make that happen more often?

@sourcefrog
Copy link
Contributor

I made the change suggested by @nrc of removing use of the local font in . The results are in https://storage.googleapis.com/mbp-rust-builds/fonts/doc/std/index.html so perhaps people who can reproduce this can try that and report how it looks.

frewsxcv added a commit to frewsxcv/rust that referenced this issue Dec 12, 2016
Avoid using locally installed Source Code Pro font (fixes rust-lang#24355).

In some versions of this font the ampersands are drawn badly.

A doc tree built with this change is at https://storage.googleapis.com/mbp-rust-builds/fonts/doc/std/index.html

I'm not seeing this problem locally so I'm not sure this fixes it, but based on the diagnosis in the bug it should.

I've made this a minimal change by only removing the one problematic font but maybe for consistency every font should be read from the Rust docs tree?
frewsxcv added a commit to frewsxcv/rust that referenced this issue Dec 12, 2016
Avoid using locally installed Source Code Pro font (fixes rust-lang#24355).

In some versions of this font the ampersands are drawn badly.

A doc tree built with this change is at https://storage.googleapis.com/mbp-rust-builds/fonts/doc/std/index.html

I'm not seeing this problem locally so I'm not sure this fixes it, but based on the diagnosis in the bug it should.

I've made this a minimal change by only removing the one problematic font but maybe for consistency every font should be read from the Rust docs tree?
@bors bors closed this as completed in bee82e8 Dec 13, 2016
fcole90 pushed a commit to fcole90/gi-docgen that referenced this issue Aug 5, 2022
Drop the last user of Google Fonts by including SourceCodePro in the
template.

We don't fall back to the installed copy of SourceCodePro because there
have been multiple instances of bad versions being distributed over the
years. See, for instance:

  - rust-lang/rust#24355
  - rust-lang/mdBook#1304
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-docs Area: documentation for any part of the project, including the compiler, standard library, and tools E-easy Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests