I have a WOFF file I downloaded from a website that I want to convert for use in Microsoft Word documents and such. Is there any free way to do this? After much searching I have not found a way, so I am turning to Super User for help.
6 Answers
Yes, the WOFF format is a container for the table-based sfnt structure (used by TrueType and OpenType). It adds some meta data to the TTF/OTF font and can also compress the actual font data.
If you want to convert from WOFF to the wrapped TTF/OTF font, you can use the woff2sfnt-tool created by Jonathan Kew at Mozilla. He provides pre-compiled binaries for the sfnt2woff-tool (convert from TTF/OTF to WOFF) for OS X and Windows, but not for the woff2sfnt-tool (convert from WOFF to TTF/OTF), so you have to compile from the source. Easily done if you have a working compiler toolchain — just download the source-zip-file and run make
.
When you have a working woff2sfnt binary, you just do:
$ ./woff2sfnt font.woff > font.otf
The resulting font is an ordinary TTF/OTF font that you can use, but please note that if you download a WOFF font from a web site, you are supposed to comply with the license of this font. Licensing information can be included in the WOFF meta data.
-
5
-
1
-
2Excuse me? The links I provided (over a year ago) still works. I also clearly state you have to compile the tool yourself. Please read before down voting. Aug 17, 2014 at 21:07
-
8For Ubuntu Linux and similar systems, the package containing
woff2sfnt
andsfnt2woff
is calledwoff-tools
– yuvilioDec 31, 2014 at 20:04 -
2
Following Erik Tjernlund's link, I downloaded the source and compiled a i386 executable of woff2sfnt
and sfnt2woff
for Windows. You can download it from my Dropbox here.
(Note that this works on x86-64 machines as well. In fact, you can't build it for x86-64 because the binary object provided by Jonathan Kew is for the i386 architecture type.)
-
-
@MuhammadUmer Evidently you need to install Cygwin in order to get it working. Dec 22, 2013 at 18:05
-
For those reading with no Cygwin experience, you need cygwin1.dll (from 'cygwin'), cygz.dll (from 'zlib0') and cyggcc_s-1.dll (from 'libgcc1'). Once these are in the same directory it will work fine.– seagullApr 19, 2016 at 14:57
to convert WOFF2 files to ttf on macOS, try
brew install fonttools
ttx font.woff
ttx font.ttx
ttx font.woff
will convert your .woff
file to a .ttx
file (an XML font file format). Then ttx font.ttx
will convert the .ttx
to a .ttf
.
If the file you get out of ttx font.ttx
can't be imported you can try dragging font.ttf
into Font Book, reading what the errors are (click the drop down arrow next to the font name) and fixing them in the .ttx
file. For example, I had to add a namerecord
.
For batch conversion try
for f in *.woff; do ttx $f; done
for f in *.ttx; do ttx $f; done
I also tried google's woff2 from this repo
brew tap bramstein/webfonttools
brew install woff2
woff2_decompress font.woff
but that didn't create any .ttf
or .otf
files.
In the end I googled "fontname otf" and installed that instead.
-
Works the same at Ubuntu Linux (20.10):
sudo apt-get install fonttools
, thenttx font.woff2
and finallyttx font.ttx
.– S. DoeJun 2, 2021 at 6:20
You can use FontForge to convert it - it is an application that can create and edit font files.
You install it, and then you can right click on the Font file and select 'Properties'. Next to 'Open With' click 'Change', then go to 'Browse':
You then need to find the location of the FontForge executable - on Windows 7 64bit it is located here:
C:\Program Files (x86)\FontForge\run_fontforge.exe
Once you have opened the font, you ignore most errors about wrong table types and stuff, and click 'Generate Fonts':
Select the save location, and ttf
or otf
as the export format. OTF fonts sometimes can have higher quality depending on the font you are importing.
Fontforge can use a variety of export and imported font types, so it can be used to conver other fonts as well. It is also very useful for making or recreating your own fonts. There is a guide here with other uses of FontForge.
i got the woff2sfnt source to compile for windows 10 x64 with the following steps cobbled together from other references (i.e. i'm not claiming any original thought here)
- the mozilla source host appears to be dead, found it here: https://github.com/wget/sfnt2woff... extracted all that to a working folder
- used http://tdm-gcc.tdragon.net/ as a friendly gcc compiler stack installer
- added #include <fcntl.h> at the top of woff2sfnt.c under #ifdef WIN32, in addition to io.h already there
- downloaded the zlib source from http://www.zlib.net/ and copied all its root .c and .h files into my working folder
- my gcc command line:
gcc -o woff2sfnt.exe woff2sfnt.c woff.c compress.c uncompr.c deflate.c inflate.c adler32.c inffast.c crc32.c trees.c zutil.c inftrees.c
i realize this is all very brute force, for i'm a mere C# programmer with the soft underbelly afforded by modern tools, uninitiated with doing gcc the right way.