Embedding Fonts

The CSS 2.0 standard included a way of embedding fonts into your web page using font files stored on the server rather than relying on your visitor having it installed on their computer.

The standard gives the following example of how it was proposed to be used.

@font-face {
font-family: "Robson Celtic";
src: url("http://site/fonts/rob-celt")
H1 { font-family: "Robson Celtic", serif }

Unfortunately there were a number of issues with this proposal and it was removed as part of the range of corrections made to the standards in the 2.1 release. Due to the problems with embedding fonts no web browser had actually implemented this method for embedding fonts into web pages.

This same specification has been added back into the draft CSS 3.0 specification with identical wording to the original CSS 2.0 specification wording. The problem with this is that little appears to have been done to resolve the problems that this idea had in the first place that led to its original removal.

The problem is one of copyright.

Like all programs, articles, and images, fonts are also subject to copyright and the copyright owner gets to decide what use can be made of them. With most of the fonts on your computer the font will have been licenced for specific uses. Only a small fraction of the fonts that you are likely to have will actually be in the public domain allowing you to do with them whatever you like.

In many instances the fonts on your computer are licenced for you to use on your computer and for producing hard copy printed output. Some fonts may also allow embedding within documents such as PDF or Flash while others will not. Programs that embed fonts into these types of document are required to determine whether the licence for a given font actually allows it to be embedded and to deny your ability to embed those fonts that do not include that in the licence. I know that Adobe Acrobat will actually refuse to embed some fonts for licencing reasons.

Even where a program does allow a font to be embedded into such a document and that is not permitted by the licence at least the copyright violation is limited to that single document and the copyright holder doesn't have to be cocerned at their font being made available for use by people other than those who hold the appropriate licence.

The issue when it comes to the web is that web pages are made up of many separate files linked together by the browser to create the web page. It is not possible to embed a font into a single web page in a way that doesn't also make that font available to embed into any other web page. Where one person has a licence giving them permission to embed a given font into their web page there is nothing to stop someone else who doesn't have that permission from simply copying the font file in order to use that font without permission or even just linking to the font file on that other site if hotlink protection is not enabled for the font folder.

The other aspect to this is how to control whether the font is even licenced for anyone to be able to use it on the web. It was to try to provide that level of control that Microsoft and Netscape introduced proprietary font formats in the proprietary font embedding methods that were trialled in IE4 and Netscape 4. The program tat converted to the proprietary format would only do so if the font identified that it was licenced for such use. This doesn't prevent someone who doesn't hold a licence for the font from taking a copy from someone who does but at least it prevents fonts that do not allow such use from being converted. The problem with coming up with a standard font format for this purpose in place of those experimentat proprietary ones is that while the programs to do the conversion that are initially released will check for permission before converting the file, it will not be long before someone who doesn't care about stealing fonts creates a conversion program that will do the conversion even for fonts where such a conversion is prohibited.

Regardless of how font embedding for web pages is implemented there is not going to be any way to properly control the use of fonts without building something into the web browsers themselves that can check whether the font is allowed to be embedded into web pages and which refuses to display such fonts if someone does try to use them and gets so far as to get them linked properly into their web page. That of course will also only work if the font format that browser use is one that is specific to web browsers and which can't be used anywhere else. As with most things that seem like a good idea at the time font embedding is something that isn't really going to work out all that well. If it does actually survive long enough to make it into the final recommendations for CSS 3.0 then there will probably be a CSS 3.1 amendment to remove it again after enough issues arise between font owners and browser companies that result in the browsers having to remove whatever support for the standard that they added in order to avoid ongoing copyright issues.


This article written by Stephen Chapman, Felgall Pty Ltd.

go to top

FaceBook Follow
Twitter Follow