h a l f b a k e r yTip your server.
add, search, annotate, link, view, overview, recent, by name, random
news, help, about, links, report a problem
browse anonymously,
or get an account
and write.
register,
|
|
|
In standard HTML and CSS, you can generally only render a page using only the fonts present on a user's machine. It is possible to embed fonts into a page, but this involves proprietary technology and can only be viewed by people with compatable browsers (shaky ground here, I know next to nothing about
embedding fonts).
As I was driving into work, this morning, the thought struck me: "Why not, in the next CSS standard include specification of font by URL?"
Instead of specifying:
font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif
(Translation: Use Trebuchet MS is present, if not work your way down the list. If you don't have any on the list use your browser's standard sans-serif font).
you would say:
font-family: "Trebuchet MS", "http://www.halfbakery.com/fonts/trebuchet.ttf", sans-serif
(Translation: Use the font stored on the machine if it's there, if not, use the copy on the web -- you could list the font in various formats, if necessary. If you don't have or cannot access any on the list use your browser's standard sans-serif font)
Although I see this being used primarily with fonts in the public domain, you could license web-sites for certain fonts, by storing the font on the font owner's website and checking the referrer URL.
Font exploits
http://xforce.iss.n...=font&Submit=Search [krelnik, Oct 05 2004, last modified Oct 17 2004]
Please log in.
If you're not logged in,
you can see what this page
looks like, but you will
not be able to add anything.
Annotation:
|
|
I've got the gun and the thousand yard stare. You got any masks? Who wants to drive? |
|
|
A person would also have to be willing to let someone else install fonts on their machine. I'm not sure I'd be willing to participate. It would only be a matter of time before someone developed a web page with 250 different fonts or developed a font called Arial which depicted scenes from the Kama Sutra. |
|
|
Picking Trebuchet as an example was probably a bad move. The easiest way for this to work would be to use a freeware font which you would copy to your own webserver. If your preferred font is unavailable then it's probably because your webserver is down... in which case, your site is not available either. |
|
|
More strictly licensed fonts would have to be dealt with by licensing the site or the user. Ensuring that only licensed sites/users get to download the font adds a layer of complexity but doesn't, I don't think, add any insurmountable obstacles. After all the font is only one in a list. If the preferred option fails, the next one is used. |
|
|
Phoenix's point is somewhat deeper. I may have said this in few words, but the implications for browser design are quite large. I have no expectation that a font downloaded in this way would be 'installed'. I'd expect it to sit in the browser cache like any other file and be used by the browser when rendering the page. Should somone copy a font from their cache and use it in a way that breaks the license under which the font was legitimately used then I would expect that to be treated in the same way as if that person had taken a copyrighted image from their browser cache and used that. |
|
|
This is good (although I have no idea whether it would work - I have to assume that it would). There must be many instances where, for example, a corporate logo uses a particular not-very-widespread font, and the page is obliged to use an image. This would permit the logo to be rendered in plain text. |
|
|
I hadn't thought about just caching the fonts. That makes a lot more sense, except for the increased overhead in bandwidth. Those people who don't cache web content between sessions will have to pull the fonts each time. Designers will have to be careful to design around those browsers that don't support this functionality and for people who keep it turned off(like the alt tag for images). |
|
|
Another problem with embedding fonts, is the possibility of someone using one to attack your machine. Modern fonts are not just data, they are basically built out of little interpreted programming languages, specialized toward drawing. (In other words they are "active content"). |
|
|
But like any programming language, they can be used for good and for evil. Previous miniature programming languages that have been exploited are the ones inside Shockwave and Acrobat. See link for several known hacker exploits involving malformed fonts. |
|
|
This is essentially how font embedding is already done, 3f. See Rods_'s TrueDoc link for more info. It works, sort of. Haven't used it for a few years but I did have some success with it. |
|
|
(If somebody already said this, ignore my comment. I started reading and the annos got bogged down into some font security thread and I fogged out, sorry.) |
|
|
[Font security thread cut. krelnik's annotation (above) seems to cover it.] |
|
|
waugs: Two different solutions to a common aim. Truedoc embeds the font then references it as if it were installed. I am proposing an extention to the way fonts are referenced. |
|
|
I can't understand why it is so difficult to make 10 fonts in all sizes and modes (italic, bold) and make them public domain. |
|
|
The costs might be a few hundred thousand dollars at most. Much less than the cost of all the W3C meetings devoted to this subject. |
|
|
Once you had this it would be much easier to define a default font that looks reasonably similar to the font that you specify in your webpage. |
|
|
Before you know it there would be a couple of million fonts out there and you'd be hit with a download for every site you visit. |
|
|
Is this any different to having to download a new set of images for each site you visit? |
|
|
A font specification could be created where it is possible to tell if a font in your cache with the same name as one being requested from another location, is actually the same font (using a digest algorithm for example), saving the unecessary download. |
|
|
Users who do not cache between sessions, expect to have to re-download content each session, this would not discrimintate against them. |
|
|
Most browsers contain options to disable images, javascript, activex, cookies etc., external fonts could be another option on the list. |
|
|
Actually, in keeping with the standards I've seen in cascading style sheets, it would be... |
|
|
font-family: "Trebuchet MS", url(http://www.halfbakery.com/fonts/trebuchet.ttf), sans-serif |
|
|
In any case, I have pondered this very same notion and agree with you 100%. |
|
|
A few points, because I actually studied this: |
|
|
This technology existed for the version 4 browsers, and there were two kinds of font standards. Both required special tools to take regular fonts, strip out characters, and create modified font files. The tools are now obsolete. |
|
|
They did this because, while the foundries want to promote greater use of fonts, they also want to make money from them. (This is what Adobe did with Acrobat, BTW.) |
|
|
There are a few free fonts, provided by Bitstream, called Bitstream Vera, similar to Verdana. They're nice. I believe that URW has also released some free fonts. Gentium is a font that's free, and looks nice. |
|
|
I don't think that there's going to be much need for a font downloading solution until there's a significant increase in screen resolution, so you can actually see the difference between Tahoma, Verdana, and Vera Sans. There are only so many pixels. |
|
|
Hope this wasn't too dry or negative. |
|
| |