CSS | Web Fonts

Web fonts are used to allow the use of fonts in CSS, which are not installed on the local system. After choosing the not installed font, just include the font file on the web server and it will be automatically downloaded when needed.

Syntax:

@font-face {
    font details
}

Types of Font Formats: There are many types of font formats which are listed below:



  • TrueType Fonts (TTF): Whether one uses Microsoft Operating Systems or Mac Operating System, the most commonly used font format is TrueType. This is a font standard developed by Microsoft and Apple in the late 1980’s. TrueType fonts describe each glyph as a set of paths. A path means a closed curve specified using points and particular mathematics. For Example, a lower case ‘i’ has two paths, one for the dot and one for the rest of it. Pixels are used to fill the path to create the final letter form. The advantage of TrueType font format is that the glyphs are scalable, meaning that it can be set to any scale and at any point size.
  • OpenType Fonts (OTF): OpenType is a font format that was built on TrueType. The OpenType font format was developed by Microsoft and Adobe, but is a registered trademark of Microsoft. Layout features within OpenType fonts are organized by scripts and languages, which allows a single font to support multiple writing systems, within the same script. The OpenType font format addresses the goals of better protection for font data, broader multi-platform support to name a few.
  • The Web Open Font Format (WOFF): WOFF is a font format is used in web pages developed in 2009 by Mozilla in concert with Type Supply, LettError, and other organizations. WOFF is basically an OpenType or TrueType with compression and additional metadata. The goal of WOFF to support font distribution from a server to a client over a network with bandwidth constraints. There are two versions of WOFF, which are WOFF and WOFF2, they mostly differ in regard to the compression algorithm used. They are described by the ‘woff’ and ‘woff2’ format descriptor respectively.
  • SVG Fonts/Shapes: SVG stands for Scalable Vector Graphics. When SVG was first specified most of the web browsers did not fully support web fonts. But in order to render text correctly, a font description technology had later been added to SVG to provide this ability. It provide the means of embedding glyph information into SVG when rendered.
  • Embedded OpenType Fonts (EOT): The Embedded OpenType File Format was developed by Microsoft. EOT fonts are a compact form of OpenType fonts to use as embedded fonts on web pages. It was designed with the purpose of enabling TrueType and OpenType fonts to be linked to web pages for download to render the web page with the font as required by the user.

Font Descriptors: Descriptors can be defined inside the @font-face rule. We shall now explain the different types of font descriptors.

  • font-family: It is used to define the name of font. It is required for web fonts to function.
  • src: It is used to define the URL from which we get the font. Like font-family the src is also required. Except these two fields the rest of the descriptors are optional.
  • font-stretch: It is used to find, how font should be stretched. Normal is the value taken by default. The different font stretch values are normal, condensed, semi-condensed, ultra-condensed, extra-condensed, expanded, semi-expanded, extra-expanded and lastly ultra-expanded.
  • font-style: It is used to define the font different styles. The different styles that can be set are oblique and the default style is normal.
  • font-weight: The weight of the font can be defined using this descriptor. Default value of font-weight is “normal”. The different values for the boldness are normal, bold, and we can also give numerical values ranging from 100-900 in increments of 100.

Example 1: This example illustrates the use of web-fonts.

filter_none

edit
close

play_arrow

link
brightness_4
code

<!DOCTYPE html>
<html>
      
<head>
    <style
        @font-face{
            font-family: monospace;
            src:url(sansation_light.woff);
        }
          
        /* Sets  font family to monospace */
        * {
        font-family: monospace; 
        }
    </style>
</head>
  
<body>
    <div>
        <h1>GeeksForGeeks</h1>
          
        <p>A computer science portal for geeks.</p>
    </div>
      
    <h1>Great Geek's font face example.</h1>
</body>
  
</html>                    

chevron_right


Output:

Example 2: This example illustrates the use of web-fonts.

filter_none

edit
close

play_arrow

link
brightness_4
code

<!DOCTYPE html>
<html>
      
<head>
    <style
        @font-face{
                  
            /* Set font family to monospace */
            font-family:monospace; 
            src:url(sansation_light.woff);
        }
          
        * {
            font-family:monospace;
              
            /** font style to italic */
            font-style:italic;
            font-weight:bold; 
        }
    </style>
</head>
  
<body>
    <div>
        <h1>GeeksForGeeks</h1>
        <p>A computer science portal for geeks.</p>
    </div>
      
    <h1>Great Geek's font face example.</h1>
</body>
  
</html>                    

chevron_right


Output:



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.