Safari font is rendering wrong - html

I am using Google's Open Sans Font on my website.
Firefox and Chrome display the font in the right way, but Safari is not.
I tried all -webkit-font-smoothingoptions out, but it seems that is only fix it on OS X.
4-Images -> On the top side of the image is my own website
<select class="Open-Sans-normal-400">
<option>EUW</option>
</select>
and on the bottom side the same font, but on Googles Font Website
If you need more informations, just tell me. I'll add them.
Thanks for helping.

This might help:
* {
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
Source: Same font except its weight seems different on different browsers

I just found a fix for this which worked for me with Safari on IOS and Macs.
When browsers cant find a bold version, they try to copy it which may vary in the rendering result.
You can try to disable it by adding: this CSS:
font-synthesis: none
Otherwise you can try setting the font-weight manually ie.
font-weight: 400

Related

Font appears thinner in Firefox and Safari - fine in Chrome

I'm trying to get my font look reasonably the same across mac Chrome, Safari and Firefox (will move on to IE later).
I've been playing with:
-webkit-font-smoothing: subpixel-antialiased;
The font almost looks the same, but safari and firefox it almost looks at least 1 weight thinner.
I also have tried:
-webkit-font-smoothing: antialiased;
And this for FF:
-moz-osx-font-smoothing: grayscale
Also I have this on:
text-rendering: optimizeLegibility !important;
This gets the fonts to look pretty much the same but it's not as smooth as subpixel antialiased.
Am I missing a property here? I know they are not going to look 100% the same across all browsers but you would think chrome and safari being both webkit browsers they would be the same.
I'm using Raleway from Google fonts if that's any help.
I usually use this approach with
-webkit-text-stroke: 1px rgba(0,0,0,0.1)
or
-webkit-text-stroke: 0.5px
-webkit-text-stroke-color: same color as text;
I hope this helps. Thanks!
I recently came across this problem with the same conditions as you and same font type (Raleway from Google). Apparently, safari has some issues rendering the font face Google Fonts API sends when they include it in their code.
So in any other browser this #import url(https://fonts.googleapis.com/css?family=Raleway:900);makes a call for Raleway font weight 900. Not the case for safari.
SOLUTION:
Start by opening that security by making it a regular http. This is suggested here, #import url(http://fonts.googleapis.com/css?family=Raleway:900);
And then specify the font weight on the element.
h1{
font-weight:900;
}
If you are using LESS or SCSS, you will be able to do this much easier with a simple mixin, but that's another subject.
maybe the font-weight is light or lighter in your code
try changing font-weight to normal font-weight:normal; or font-weight:400;

Same browser (Firefox), same font, different rendering on different computers

I've got a problem. I am using titillium weblight font (with standard font-face appliance - including text-rendering: optimizeLegibility, font-weight, line-height etc.). The problem is that the font renders differently on Firefox (same version 31.0) on two different computers, with similar hardware, same resolution, same OS (Windows 7).
On the first computer it renders normally:
While on the second one it lacks antialiasing as far as I can tell:
Maybe the difference is not that big that anyone should concern, but it is important for me that every detail of this project will be just fine.
Anyone has any idea? Thanks in advance.
These three properties together have always worked for me across different browsers.
html {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
}
The issue is called "antialiasing" or "subpixel rendering" and it has to do with how the browser/computer treats the edges of your text. If you're curious you can read more about it here on Wikipedia.

How to fix google font pixelation issues on safari and chrome

I have used Google font called http://fonts.googleapis.com/css?family=Merriweather:400,700,700italic on my website it looks good on Firefox and IE but not at the safari and Google chrome..... Please view the Image....
Image
I want it to be working on each of the browser without any pixelate issue
Requesting your best suggestion...........
Thanks
Just try this:
{
-webkit-text-stroke: 0.6px;
}
You cannot possibly control how a browser like Chrome renders fonts. You just have control over choosing the best font at best font-size.(Some fonts looks good only at certain font sizes - the font you are using looks good from 50px onward it seems. EDIT:Ah that is a different issue)
If you / your client is so specific you can even get help from some custom rendering like
Typeface.js
Cufon
which uses canvas/flash to render fonts. Using it extensively can cause performance issues or slowness.
There used to a font-smoothening, but I guess no longer supported, you can try it though -webkit-font-smoothing property has no effect in Chrome
you can smooth fonts by using
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
read more: https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth

How to render thin fonts more smoothly in CSS 3 on Windows?

When I've designed my web site in Adobe Flash Pro CS6, the font looks like this:
The font looks smooth and slightly thicker, and when I create HTML and CSS to render the font in a browser, it appears like these, respectively in IE, Firefox, and Chrome.
It appears thinner and pixelated in some areas. I've seen much smoother font rendering on OS X. How can I make the font appear smoother in these browsers? I'm assuming this is a problem with ClearType, which looks hideous with thin fonts like this one.
Here is the code I'm using to test, so answers can be tested before being posted:
<html>
<head>
<link href='http://fonts.googleapis.com/css?family=Lato:300' rel='stylesheet' type='text/css' />
</head>
<body>
<span style="color: #333; font-family: Lato; font-size: 32px;">Question or concern?</span>
</body>
</html>
You are never going to get sites to look the same in different browsers or operating systems, they are using different technologies etc etc.
This is something you shouldn't really care about. People who use IE are not going to switch to Firefox or Chrome or vice versa. They are used to the way fonts look and are not going to notice.
Browsers inconsistencies is a thing front end developers have to live with (sadly). Its great if they all look the same but that's not going to happen
Things you can try, you will probably need different fixes for different browsers.:
text-shadow: 1px 1px 1px rgba(0,0,0,0.004);
text-rendering: optimizeLegibility !important;
-webkit-font-smoothing: antialiased !important;
Edit 1: DirectWrite is now on chrome for windows which will improve the rendering.
Edit 2 (2017): System UI fonts
Another thing you can try is use system fonts for improved UX.
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
Readup - smashingmagazine
Readup - booking.com
Readup - medium
I find that in Google Chrome you can add -webkit-text-stoke to improve the appearance of fonts.
for example:
-webkit-text-stroke: .025em rgba(51,51,51,0.50);
--
Note this answer was from 2014 and is probably not a good solution today.
text-rendering: optimizeLegibility applies kerning to the font, wich can improve readability, but only if the resolution of the display and font-size is high enough. It doesn't make the font any bolder if it was too thin before.
The problem here could be font-families that have one or more faces that are lighter than normal (font-weight:400) – like Googles Lato.
If you load all light to regular faces of Lato like this
#import url(http://fonts.googleapis.com/css?family=Lato:100,200,300,400);
I made the observation that most Windows browsers and Chrome OSX use font-weight:100 if you specify anything lighter than 400 – (or normal, regular). Changing the font-weight: to 200 or 300 doesn't render any different, although the inspector tools insist the machine is displaying e.g. font-weight:200. Which it isn't.
Removing the lighter weights (100 in my case) solves the problem, and lets me at least use font-weight:200, respectively. Rendering isn't absolutely identical across browsers but similar at least.
#import url(http://fonts.googleapis.com/css?family=Lato:200,300,400);
This of course doesn't solve the actual problem not being able to access light font weights as specified.
There's no single fix for this, as far as I'm aware. It's multiple fixes implemented to suit each browser, except IE. Give these a shot:
For Chrome, and any other browser using webkit:
-webkit-font-smoothing:antialiased !important;
Place that in your html CSS, or for whatever elements you see fit. You can also add this along with the above:
text-shadow:1px 1px 1px rgba(0,0,0,0.005);
Experiment with different alpha values, but you should keep the shadow sizes as they are.
I'm unaware of anything else you can do, but this should address the biggest problem with Chrome at the very least (plus other webkit browsers).
I use this on all sites and it covers most issues with font rendering.
text-rendering: optimizeLegibility !important;
-webkit-font-smoothing: antialiased !important;
-moz-osx-font-smoothing: grayscale !important;
I ran into a similar issue recently, same font family and size looked differently on Chrome, safari and Firefox. The chrome and firefox look especially thicker. This might not be the best way but worked for me
-webkit-font-smoothing: antialiased;
-moz-font-smoothing: unset;
-moz-osx-font-smoothing: grayscale;
font-smoothing: antialiased;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
backface-visibility: hidden;
Also, its worth a while to checkout different rendering engines.
CSS What are -moz- and -webkit-?
I think this is more a Windows problem than a browser problem. The same browsers render the same fonts much more smoothly on other operating systems such as Linux or Mac.
In Chrome, and by extension any webkit browser, you can use the following code to smooth your fonts:
-webkit-font-smoothing: antialiased;
or
-webkit-font-smoothing: antialiased !important;
Typically, I find that this doesn't do a whole lot. I think we'll just have to wait for Microsoft to do something about it.
You may be able to fix this using the css property text-rendering.
Example:
text-rendering: auto
text-rendering: optimizeSpeed
text-rendering: optimizeLegibility
text-rendering: geometricPrecision
text-rendering: inherit
You would probably want to use text-rendering:optimizeLegibilty.
More information here: MDN Text-Rendering
Im going to prefix this with its a hack and i dont like it, but it works
transform: rotate(-0.0002deg)
It makes fonts noticeably smooth, albeit slightly thinner
It's late but did you ever try hint the font files?
Go transfonter site and upload your font files. Then the options area check the auto hint option.

Safari font-weight issue, text is too bold

I am using one custom font. When I use font-weight: bold it is getting more bold in Safari web browser, but everything works fine in all other web browsers.
I have tried the following, but none of them worked.
-webkit-font-smoothing: antialiased;
and
text-shadow: #000000 0 0 0px;
If you're using a custom font this is likely happening because the font set doesn't proved a bold weight, which means your browser must synthesize it- this creates discrepancies between browser outputs.
This kind of behaviour can also be replicated if you try to use Tahoma or Lucida Grande with e.g. font-style:italic:, which neither font is supplied with.
If you're using Google webfonts (or other) you may want to check a bold version of the font is provided.
See this answer on SO for additional information such a the use of text-rendering: optimizeLegibility;