I want to use the "Segoe UI" font in a website if it is installed in the user's computer.
I have declared all the styles with @font-face
in order to use the font-weight
property to change the thickness of the font (it's a really cool feature!).
The problem is that I cannot do it work with Segoe UI Bold (I think the name is wrong). Any idea?
Here an example. (4) and (5) would be the same: http://jsfiddle.net/kxHQR/1/
@font-face {
font-family: 'Myname';
font-style: normal;
font-weight: 700;
src: local('Segoe UI Bold'), local('SegoeUI-bold'), local('segoeuib');
}
@font-face {
font-family: 'Myname';
font-style: normal;
font-weight: 600;
src: local('Segoe UI Semibold'), local('SegoeUI-Semibold');
}
@font-face {
font-family: 'Myname';
font-style: normal;
font-weight: 400;
src: local('Segoe UI'), local('SegoeUI');
}
@font-face {
font-family: 'Myname';
font-style: normal;
font-weight: 300;
src: local('Segoe UI Light'), local('SegoeUI-Light');
}
/* ... */
BODY {
font-family: 'Myname';
}
.boldtext {
font-family:'Segoe UI';
font-weight:700;
}
<p style='font-weight:300'>1. Text with font-weight:300. OK</h1>
<p>2. Here is normal text. OK</p>
<p style='font-weight:600'>3. Text with font-weight:600. OK</p>
<p style='font-weight:700' >4. Text with font-weight:700. It must be like (5), but it is like (3). :(</p>
<p class='boldtext'>5. Text with font-family:'Segoe UI' (no font-face) and font-weight:700; </p>
Download:
https://github.com/KingRider/frontcom/tree/master/css/fonts
This is from Microsoft's own stylesheet for Windows 8 (Metro) apps:
The above approach works for me and is also the approach used by Open Sans and Google fonts. However, it is the exact opposite of this approach, originally from Paul Irish:
Paul Irish's approach allows (read: requires) setting weights and italics later in the CSS, but the result is "faux": Since the browser doesn't have all the fonts in the family, it has to calculate the weight and shape of the characters on its own to make up for that. The single, and limited strength in Paul's approach is that it might reset the font across all browsers - but it does depend on the font in use - because all browsers render fonts differently!
I like Microsoft's approach better, because it allows to specify the
font-style
s andfont-weight
s you need, and the browser will display the correct font file, instead of computing faux sizes, bold and italics. However, it does require you to provide a font file for every font variation in the family you'll be using.In the end it all comes down to what font you'll be using and how you use it (different weights, italics, etc). Regardless of what approach you go for, I recommend out of my own experience (and Paul recommends too) to use FontSquirrel's font-face generator for all your web typography endeavors. FontSquirrel can significantly reduce font sizes, by leaving out unnecessary character sets, compressing the fonts, and so on.
Although the basic approach is logical, browsers seem to have difficulties with it, apparently caused by their different processing of font data. It seems that the following is the most effective way of using different weights of Segoe UI:
font-family: Segoe UI Light
font-family: Segoe UI
font-family: Segoe UI Semibold
font-family: Segoe UI; font-weight: bold
This is messy and illogical, but it works on Firefox, Chrome, IE, Opera, Safari (tested on Win 7).
On web pages, it is probably better to try and find a suitable free font with different weights and use it via
@font-face
. After all, Segoe UI is far from universal, and there is no simple way to set up suitable fallbacks for it.To use Segoe UI Light in your page use this
CSS { font-family: "Segoe UI"; font-weight: lighter; }