Unable to load ttf fonts - html

I have a CSS file that attempts to import Open Sans. I'm using ttf fonts downloaded from Google Fonts. I can't seem to get the font to work. It's still displaying the regular Times font.
fonts.css
#font-face {
font-family: "Open Sans";
src: url("fonts/OpenSans-Regular.ttf") format("ttf");
}
app.css
body {
font-family: "Open Sans";
}
index.html
<link rel="stylesheet" href="dist/fonts.css" />
<link rel="stylesheet" href="dist/app.css" />
My directory structure is like so:
/app
- dist
- fonts
app.css
app.js
fonts.css
index.html
I've used Chrome's inspector to check if the font file is being pulled in, but it isn't. There's also no error. If I include the css file directly from Google then it works. I also notice that Google serves a different font format that isn't ttf.
Note that I am developing a desktop application using Electron. Electron is powered by Chrome. My application is intended to run offline, hence why I am not linking directly to Google.
Any idea what's going on?

The following worked:
#font-face {
font-family: "Open Sans";
src: url(fonts/OpenSans-Regular.ttf) format("truetype");
}

The following code worked for me. Using JavaScript to load the font
let openSans= new FontFace('Open Sans', 'url(./fonts/mem8YaGs126MiZpBA-UFUZ0bbck.woff2)');
openSans.load().then(function(loaded_face) {
document.fonts.add(loaded_face);
document.body.style.fontFamily = '"Open Sans", Arial';
}).catch(function(error) {
// error occurred
console.error(error);
});

If you want to use google fonts you don't need to upload fonts files into your website folder, just add this url to your file html (
)
and use font family in css : font-family: 'Open Sans', sans-serif;

Related

Vue 2 - Importing google font does not work on build

In a project I'm trying to import the font 'Encode Sans', this seems to work on localhost, but when build, font is not working.
I have a global stylesheet with the following:
#import url('https://fonts.googleapis.com/css2?family=Encode+Sans:wght#400;600;700;800&display=swap');
body {
font-family: 'Encode Sans', sans-serif;
background: $backgroundColor;
}
I've tried to import throught creating a public/index.html file with <link>, but that did not solve it either and I would prefer to not have to font locally.
To make my question more clear, this is the result:
Build:
Localhost:
Eventually I went with downloading the font and adding it to the project, replacing the #import with #font-face for desired changes. This solved my issues

I don't know how to refer to fonts on my ftp server

I am creating some text in html and I've tried using #fontface, which of course work.
The problem is how could I import fonts from my ftp server. I don't really get what path or something like this should be in url in #fontface
The simplest way is to add your fonts somewhere in the path of your web server (where html pages are located) so your font-face will be something like:
#font-face {
font-family: "Open Sans";
src: url("/path/to/fonts/OpenSans-Regular-webfont.woff2") format("woff2"),
url("/path/to/fonts/OpenSans-Regular-webfont.woff") format("woff");
}

Using fonts in a webpage

When I use fonts on my webpage, I either use Google Fonts or fonts that are installed on my system. I wanted to know, if it's possible to have a folder with fonts saved in the same folder as the index file, and use those fonts in the webpage without having to install them on the system.
You can use webfonts that live on your server alongside your html and css by referencing them in your css file:
#font-face {
font-family: "myFont";
src: url("myFont.ttf");
}
then you can use it as you would a google web font:
html {
font-family: "Bitstream Vera Serif Bold", serif;
}
More information and examples (including the ones I used) can be found on MDN.

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/

Text display in html (firefox) shows different in ubuntu and windows 7, why?

The html+css for Firefox in windows, looks fine, but same looks out of place in Firefox in Ubuntu. Please do let me know, as to how it can corrected, what should i do?
More info 1: The css code for the text in the attached image:
style="font-family:'Museo 300';
font-size:11px;
text-align:left;
color:#636466;
padding-top:3px;"
Although am changing Museo 300 to font to Arial, Helvetica, sans-serif, so it can load in any browser with these default fonts, but still i see the this problem.
image attached
Most likely the font you are using is not installed on the Ubuntu machine. To get around this you must supply the font yourself. Google Fonts is a great way to do just this.
You can search their site for a suitable font, and then link it in your site <head>.
<link href='http://fonts.googleapis.com/css?family=Roboto:300' rel='stylesheet' type='text/css'>
And then use it in your CSS
font-family: 'Roboto', sans-serif;
Sadly, Google Fonts does not have the Museo font you are trying to use. However, you can use the #font-face CSS At-Rule to link to a font file which you are hosting on your site. Make sure that you only host the languages and font weight/style that you plan to use, and that your font file is limited to those same parameters. This will allow the file to be loaded much faster.
#font-face {
font-family: 'My Custom Font';
src: url('http://yoursite.com/yourfontfile.ttf') format('truetype');
}
p.customfont {
font-family: 'My Custom Font', Verdana, Tahoma;
}
(See this answer for more information)