Friday, April 11, 2014

Tip: Embed open type font (otf) with CSS.

Recently got some font files from the web designer and those files are in otf format. When i tried to embed the font files into CSS i receive the following error from IE10:

         CSS3114: @font-face failed OpenType embedding permission check. Permission must be Installable.

As far i have gathered some information from Google, I need to convert the format to true type (ttf) font. I used the web site http://everythingfonts.com/otf-to-ttf to convert the font files and use the "embed" program from http://carnage-melon.tom7.org/embed/ to change the embed level of the font files so that IE can use them. I used VS2012 to do the code compilation because the original embed.exe does not work on my 64 bit machine.

 Attached here the working program. https://drive.google.com/file/d/0B0QLqsRA_p4pYWhtV2c2Z1FnaWs/edit?usp=sharing

5 comments:

Anonymous said...

Hi,

I get "msvcr110d.dll" is missing.

Can you compile without the debug flag and provide a release version.

Thanks
Shyam

Phobes said...

Thank you very much Leon, I haven't used a 32bit OS in forever and wasn't about to install one just to change the embedding permissions for a font!

For anyone having the same issue as Shyam, the easiest way I found to fix this was to install Visual Studio Express 2012, link is below

http://www.microsoft.com/en-us/download/details.aspx?id=34673

Anonymous said...

I installed Visual Studio Pro. 2013 - but I'm still getting the missing DLL error.
I downloaded the dlls and moved next to the exe. After starting exe the error message: The application was unable to start correctly (0x000007b)

could you please help and suggest what else you setup? Or is this only working with 2012?

Phobes said...

I'm fairly certain this particular DLL isn't included in Visual Studio 2013, give the 2012 link I posted above a try. The standard 2012 redistributables also won't work because the DLL in question is a debug version (hence the *D.dll) and is only included with an IDE, like Visual Studio Express 2012.

Anonymous said...

Yeah, I installed the VS2012 and copied the dll next to the exe and removed VS2012 - running fine. I moved it onto another server - just the exe and that DLL - works fine still.

Thank you!