by Michael S. Kaplan, published on 2006/05/13 03:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2006/05/13/596774.aspx
I used to be very naive about how font licensing worked.
This is going back a few years, around the time just before I started the MSLU contract. My own website was supporting several different languages, including Hindi and Tamil, but not too many people had the fonts.
I did have the Font Properties Extension, and looking at the Windows 2000 version of MANGAL.TTF and LATHA.TTF, it was hard to miss the text on the Embedding tab:
The text seemed clear enough as to the meaning of Installable embedding allowed: "fonts may be embedded in documents and permanently installed on the remote system." So, without consulting with a lawyer, I added a download link for the fonts.
I think I mentioned that I was kind of naive about this stuff, right? I think I proved it, there....
There was not too much time before it was explained to me -- I received a cease and desist letter. :-)
Of course I immediately took the fonts down (it freaked me out a bit to be even unknowingly violating the rules in a way that would upset the people who were paying the bills!).
But I was still curious, so after I had taken them down I asked the person who sent me the mail what the text meant if it did not mean that they could be installed as .TTF files? Simon passed on a link to WEFT, the Web Emedding Fonts Tool, and I learned quite a bit about font embedding, eventually culminating in the font embedding work I described in They called it the 'Surrogate IME'.
Now the actual support for using embedded fonts was never too well described, until not too long ago when it was fully documented so that anyone could make use of these items -- the Font Embedding Reference. The introduction on that page explains what the functions in t2embed.dll are used for:
The Font Embedding Services Library provides a mechanism to bundle TrueType® and Microsoft OpenType fonts into a document or file. Typically, a document containing embedded fonts needs those fonts for rendering the document on another computer. Embedding a font guarantees that a font specified in a file will be present on the computer receiving the file. Some fonts, however, cannot be moved to other computers due to copyright issues limiting distribution.
With the information there about the functions, structures, and error messages, the story on how to use the ".EOT" embedded font files is provided!
I'll be digging into these functions a bit more in the not-too-distant future, to give some real examples of making use of this functionality in your applications....
(You can consider yourself warned)
This post brought to you by "ঈ" (U+0988, a.k.a. BENGALI LETTER II)
# Tom Gewecke on 13 May 2006 7:22 PM:
# Michael S. Kaplan on 14 May 2006 12:28 PM:
# Phylyp on 15 May 2006 6:17 AM:
# John Bates on 15 May 2006 7:38 PM:
# Michael S. Kaplan on 22 May 2006 4:41 PM:
# Christoph Lindemann on 1 Aug 2006 8:05 AM:
# Michael S. Kaplan on 1 Aug 2006 10:27 AM:
# Christoph Lindemann on 8 Aug 2006 7:03 AM:
# Mark Irving on 1 Apr 2008 11:57 AM:
TTEmbedFontEx is documented as available on Windows 2000 (all of NT, 2000, XP and Vista), but a call to GetProcAddress for it which succeeds on XP and Vista fails on 2000. Have I missed something such as a redistributable for 2000, or do I have to make do with TTEmbedFont? The latter would be a shame, since it will involve special-case code which only gets exercised on the relatively little-used Windows 2000.
referenced by