Correctly using custom fonts in separate .css stylesheet - html

I have downloaded on my computer a .ttf file containing the font I want to use. What I would like to do is to apply it to my html page. I am using a separate .css stylesheet to which there's a link inside the head section of my html file.
How exactly do I apply this custom font? I tried using
#font-face and I have the following code in my .css file, but it won't work:
#font-face {
font-family: "chosenNameForCustomFont";
src: url("fonts/customFontName");
}
p {
font-family: chosenNameForCustomFont;
}
The paragraphs in the html file will still be normal, without the font.
If I put the above code inside the actual html file, within "style" tags, it works. What am I doing wrong then?

Generally when I need to do this I use the fontsquirrell generator. You need to upload the font you need to use and it will generate an example to use it.
After you generate the font kit you'll get a bundle with several files:
font_name.eot
font_name.svg
font_name.ttf
font_name.woff
font_name.woff2
font_name-demo.html <-- Open it
stylesheet.css
After you open the .html you'll see your font perfectly working in the sample page. You need to copy all those files (.eot, .svg, .ttf, .woff, .woff2) into your source folder and reference those in your .css (may be you'll need to edit the directory depending on where you put the font files) as the stylesheet.css does:
#font-face {
font-family: 'font_name';
src: url('/relative/path/font_name-webfont.eot');
src: url('/relative/path/font_name-webfont.eot?#iefix') format('embedded-opentype'),
url('/relative/path/font_name-webfont.woff2') format('woff2'),
url('/relative/path/font_name-webfont.woff') format('woff'),
url('/relative/path/font_name-webfont.ttf') format('truetype'),
url('/relative/path/font_name-webfont.svg#fontnameregular') format('svg');
font-weight: normal;
font-style: normal;
}
Remember the fonts you are using need to be legally eligible for web embedding.
Hope it helps

Related

Grails load CSS from custom URL

Using Grails version 2.4.4. and trying to load CSS resource from URL
http://myAppName.com:7777/myApp/assets/style.css
/myApp/assets/style.css
I've set in style.css:
#font-face {
font-family: 'icomoon';
src: url('../fonts/icomoon.eot?t0751g');
src: url('../fonts/icomoon.eot?t0751g#iefix') format('embedded-opentype'),
url('../fonts/icomoon.ttf?t0751g') format('truetype'),
url('../fonts/icomoon.woff?t0751g') format('woff'),
url('../fonts/icomoon.svg?t0751g#icomoon') format('svg');
font-weight: normal;
font-style: normal;
}
Beside this, I added few other options for proper icon load.
Assets structure:
/assets/fonts/icomoon.ttf (and all other icomoon files are here)
/assets/stylesheets/style.css
when I use 2. url it loads my custom icons normally but when I set the 1. url in <style> as shown above, icon loading fails.
Both url-s should point to the same file and I don't understand why this is not working. Anyone knows what I am doing wrong ?
Any help will be appreciated!
So I found out that fonts does not support cross-origin domain, and I used icomoon icons as font to import it from another domain. On the other hand, i found out you can use Fontello which generates embedded JS and automatically fixes this issues, so it is generally better to use.

Why can't I get #font-face to work on custom fonts for wordpress?

I'm using wordpress and find it impossible to get my custom fonts to work on my site. I've looked through several threads with the same problem and none of the solutions worked or I applied them wrong. I use a free theme that I'm modifying as I go along. I'm editing the style.css sheet and can't figure out what I'm doing wrong. Some fonts work that can be found on my computer (and some don't, even if they can be found on my PC), so there seems to be something really weird going on. None of the #font-face things work on other devices.
I used font squirrel to make a set of webfonts and uploaded them to my server, under the theme in a separate font folder. The files should be accessible as the permissions are granted to user, group, world for read and execute. I also now tried using the font squirrel provided code added with complete addresses to implement the fonts. Nothing happens.
Now this is my first day into coding so it might be I'm not seeing what I'm doing wrong here. I inserted this new code after the HEADING-headline (I'm not sure if the positioning in the sheet makes a difference or is it just for the user for organizational purposes, but I've tried several) in the style file and this is a strip as is on the file:
.blog-title {
font-family: "daniel_blackregular";
font-size: 2.25em;
text-align: center;
}
#font-face {
font-family: 'daniel_blackregular';
src: url('/public_html/wp-content/themes/baskerville/Fonts/danielbk.eot');
src: url('/public_html/wp-content/themes/baskerville/Fonts/danielbk.eot?#iefix') format('embedded-opentype'),
url('/public_html/wp-content/themes/baskerville/Fonts/danielbk.woff2') format('woff2'),
url('/public_html/wp-content/themes/baskerville/Fonts/danielbk.woff') format('woff'),
url('danielbk.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
Right now I'm thinking what if I'm addressing the font incorrectly, but I've tried everything there too. Please help.
To fix your issue you need to do a few things.
Move your #font-face to the top of your css file.
Update the url path in your #font-face call. Right now they are returning a 404 with the urls of:
#font-face {
font-family: 'daniel_blackregular';
src: url('/fonts/danielbk.eot');
src: url('/fonts/danielbk.eot?#iefix') format('embedded-opentype'),
url('/fonts/danielbk.woff2') format('woff2'),
url('/fonts/danielbk.woff') format('woff'),
url('/fonts/danielbk.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
Remember the urls are relative to where the call is coming from. In this case it's gettning called from your css.
When I updated the paths in the css to: src: url('/public_html/wp-content/themes/baskerville/Fonts/danielbk.eot'); the font worked.

#font-face not displaying locally or in browser

I can't seem to get my #font-face to work at all, neither locally or when previewing in browser. my CSS is as follows:
#font-face {
font-family: chopin-script.regular;
src: local('chopin-script.regular'),
url('/fonts/chopin-script.regular.ttf') format('truetype');
}
My folder structure:
HTML: Site folder > HTML files
CSS: Site folder > CSS folder > CSS files
Fonts: Site folder > Fonts folder > Font files
I have been through all the other similar questions, and as far as I know, I've done everything that's been said, and to no avail, apologies if there is something I haven't tried somewhere that I'm not seeing. I have tried this same code with an .otf version of the font too.
regards.
Edit:
I used FontSquirrel to generate the font, and installed it as so:
#font-face {
font-family: 'ChopinScript';
src: url('/fonts/ChopinScript.eot');
src: url('/fonts/ChopinScript.eot?#iefix') format('embedded-opentype'),url('/fonts/ChopinScript.woff') format('woff'), url('/fonts/ChopinScript.ttf') format('truetype'), url('/fonts/ChopinScript.svg#webfont') format('svg');
}
It now displays correctly locally, but when previewing it in Firefox and IE it still doesn't show. However, it does work in Chrome. They're the only browsers I have installed.
Sorry to post this as an answer but I can't comment. Are you allowed dots in the name of fonts without needing quotes? I usually put quotes around it if it has spaces or dots to ensure the name is alright with CSS. Try it as font-family: 'chopin-script.regular'; and see if there's any difference.

How to add new fonts in CSS for local testing

I'm currently making a webpage that imports the needed fonts from Google Fonts this way:
#import url(http://fonts.googleapis.com/css?family=Italianno);
The problem is that every time I load the page I need to be connected to the Internet and it also takes time to load the font. Is there any way I can load the font offline because while testing the page I'll be refreshing it countless number of times and I might not be connected to the internet all the time and I don't want to wait for 3-5 seconds every time for the font to be loaded.
I tried installing the font in the system and then using it in the CSS. It didn't work.
Hey make a fonts folder with css folder and put the desired font there. Then in CSS call this code as example for MeriyoUI font as mentioned below. This would load the font onto your app.
For this you just need to download the font and put that in fonts folder. (pre-requisite).Try using web safe fonts.
Hope it helps.
CSS
#font-face
{
font-family: 'Meiryo UI';
font-weight: normal;
font-style: normal;
src: url('../fonts/MeiryoUI.ttf');
}
1. create a folder in website directory and move your fonts
to it! ( .ttf , .eot , .woff )
example: directory --> webfonts
2. create a css document for that!
example: directory --> css --> webfont.css
3. use this code into webfonts.css
#font-face {
font-family: 'name';
font-style: normal;
font-weight: 400;
src: url('../webfonts/fontname.eot');
src: url('../webfonts/fontname.eot?#iefix') format('embedded-opentype'),
url('../webfonts/fontname.woff2') format('woff2'),
url('../webfonts/fontname.woff') format('woff'),
url('../webfonts/fontname.ttf') format('truetype');
}
4. and in the first line of haed element into your webpage, use bellow code:
<link rel="stylesheet" href="css/webfonts.css" type="text/css"/>
Use CSS3 #font-face. Try making font face of your fonts from any fontface generator like this http://www.fontsquirrel.com/tools/webfont-generator. And to learn how to use them take a look in here http://css-tricks.com/snippets/css/using-font-face/

Fonts not showing up #font-face 000webhost

I have set up a website. I was hosting it on webs.com, but they started to place an ad bar on html-only hosting. As it would not look good, I changed it to 000webhost. Since I uploaded everything to 000webhost, I can't make the fonts to load.
webs:
http://bluescreen-ofdeath.webs.com/
000webhost:
http://bsod.comze.com/
I have tried pointing the ttf fonts from my webs account, but it won't load.
As the 000webhost take a day to answer free accounts, I decided to ask you. Is there anything I am missing?
Edit: Here is an example of my #Font-face
#font-face {
font-family: 'fixedsys500c-webfont';
src: url('../font/fixedsys500c-webfont.eot');
src: url('../font/fixedsys500c-webfont.eot?#iefix') format('embedded-opentype'),
url('../font/fixedsys500c-webfont.woff') format('woff'),
url('../font/fixedsys500c-webfont.ttf') format('truetype'),
url('../font/fixedsys500c-webfont.svg#fixedsys500c-webfont') format('svg');
font-weight: normal;
font-style: normal;
}
The font(s) have to be imported before the stylesheet, as Google Web Fonts dictate.
Instructions: To embed your Collection into your web page, copy the
code as the first element in the <head> of your HTML document.
Don't use single quotes. Your fonts will work nicely. It's so easy, look below:
#font-face {
font-family:Arial;
src:url(Arial.ttf)format(.ttf);
}
remind it, internet explorer only works with EOT font files.
As far as I can tell, 000webhost only accepts .woff files.
.ttf and .eot do not work for me