Rodrigo Cano | 26 Mar 21:46 2015

[ft] Building for x64 only on mac.


Another application I'm using requires that I have free type built as a 64bit dylib for mac. Following the standard way of configuring then building its creating either a 32bit library or possibly a universal library. Is there any easy way to direct make to build a 64bit library?

Thanks for your time.
Freetype mailing list
Freetype <at>
Lawrence D'Oliveiro | 25 Mar 03:52 2015

[ft] Multiple Masters In A TTF File?

Hunting around for Multiple Master fonts, I came across the name
“ImpossibleMM”, which in turn led me to this page
<>, which has this one and a
whole bunch of others.

So I downloaded, but the files are in .ttf format,
unlike the others I have found elsewhere in .pfb format. And trying to
get info from all the .ttf files in this archive using
FT_Get_Multi_Master returns nothing, unlike those .pfb ones where it did

Any suggestions on what I should try?


Freetype mailing list
Freetype <at> | 22 Mar 16:35 2015

[ft] Opentype support of specual characters


is it possible to use the special characters like ö, ü, ö, ß from opentype (otf) fonts in PHP?

I tried to that and it was not possible. I only get a square output.
I used this: 

ImageTTFText ($image, 30, 0, 0, 40, $font,"tmp/AnieneNuovaEF-Regular.otf",$text);
With TTF fonts it was possible.


Freetype mailing list
Freetype <at>
Oliver Marks | 22 Mar 15:35 2015

[ft] Cross compiling for arm (python for android)

I am trying to build the freetype library for android currently it seems to build correctly but i do not get the files i am expecting.

if i run ./configure --host=arm-eabi i get the files below


if i run just ./configure i get


so basically the .so files that are required are missing, can anyone expain why and how i may rectify this ?

the output from ./configure --host=arm-eabi is here

Any help would be appreciated i am a bit out of my depth :/

Freetype mailing list
Freetype <at>
Markus Trippelsdorf | 21 Mar 23:22 2015

[ft] update on gamma correction and freetype

As a quick follow up on the interesting discussion from 2013 here is how
you can enable gamma 1.8 for text blending in qt5 and the Chromium
browser on Linux. It will look best with fonts that use freetype's CFF
rasterizer and of course one could play with different gamma values (1.8
just looks best to me).

For qt5 you need to patch qtbase:

diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp
index 258359d20f28..8181aeaf5c8b 100644
--- a/src/plugins/platforms/xcb/qxcbintegration.cpp
+++ b/src/plugins/platforms/xcb/qxcbintegration.cpp
 <at>  <at>  -357,7 +357,7  <at>  <at>  QVariant QXcbIntegration::styleHint(QPlatformIntegration::StyleHint hint) const
         break; // Not implemented, use defaults
     case QPlatformIntegration::FontSmoothingGamma:
         // Match Qt 4.8 text rendering, and rendering of other X11 toolkits.
-        return qreal(1.0);
+        return qreal(1.8);
     case QPlatformIntegration::StartDragDistance: {
         // The default (in QPlatformTheme::defaultThemeHint) is 10 pixels, but
         // on a high-resolution screen it makes sense to increase it.

For Chromium, src/third_party/skia needs to be patched:

diff --git a/include/core/SkPostConfig.h b/include/core/SkPostConfig.h
index d08f68a1d91c..97fec8b47826 100644
--- a/include/core/SkPostConfig.h
+++ b/include/core/SkPostConfig.h
 <at>  <at>  -389,12 +389,9  <at>  <at> 


-#if defined(SK_GAMMA_EXPONENT) && defined(SK_GAMMA_SRGB)
-#  error "cannot define both SK_GAMMA_EXPONENT and SK_GAMMA_SRGB"
-#elif defined(SK_GAMMA_SRGB)
-#  define SK_GAMMA_EXPONENT (0.0f)
-#elif !defined(SK_GAMMA_EXPONENT)
-#  define SK_GAMMA_EXPONENT (2.2f)
+#  define SK_GAMMA_EXPONENT (1.8f)
+#  define SK_GAMMA_CONTRAST (0.0f)

 #endif // SkPostConfig_DEFINED


Lawrence D'Oliveiro | 21 Mar 05:43 2015

[ft] python_freetype Now Supports Multiple Masters

I have added Multiple Masters/TrueType GX support to my Python3 wrapper
for FreeType <>.

In the process, I discovered an interesting gotcha with the Cairo
graphics library: Cairo doesn’t expect you to be changing font
parameters in this way. This means you must load a new copy of the
FT_Face for each set of design coordinates you want to set before
passing it to Cairo.

Freetype mailing list
Freetype <at>
Werner LEMBERG | 18 Mar 15:09 2015

[ft] simplified installation of ttfautohint with Homebrew

An updated formula for installing ttfautohint *and* ttfautohintGUI has
just been committed to Homebrew.  This greatly simplifies installation
on OS X.  The updated installation instructions can be found at

Freetype mailing list
Freetype <at>
Vincent Torri | 13 Mar 11:17 2015

[ft] about CVE4s


I would like to know the status of the fixes for the CVE reported here :

thank you

Vincent Torri
John Found | 12 Mar 23:42 2015

[ft] Faster computation of text width?

According to the FreeType documentation, the fastest way to compute the width of some text string is to use
FT_Get_Advance function that returns the advance values without loading and rendering the glyphs.

But working on this task, I figured out, that using the cache sub-system and loading the whole images with
"FTC_ImageCache_Lookup" and using the advance from the loaded image is faster than the above function. 

And faster at least 5..10 times!

Is it expected behaviour or I am using FT_Get_Advance not properly?


John Found <johnfound <at>>
Lawrence D'Oliveiro | 8 Mar 04:36 2015

[ft] Correct TrueType Checksums

The TrueType font format is full of checksums: the directory entry for
each table includes a checksum of the table contents, and in addition
the checksum for the entire font is supposed to come out to a fixed
value. To make the necessary adjustment to the font checksum, there is
a longword field in the 'head' table that can be set to any desired

Unfortunately, this field gets counted in the font checksum twice, so
it can only adjust its value by ±2. So if you have an odd number of
tables with odd content checksums, there seems to be no way to get the
overall font checksum to come out right. Back when I was mucking around
with Macintosh fonts, I used to come across a lot of ones with bad
checksums--seems like font creators couldn’t even be bothered to get
them right.

But there is a way to do this: what I did in my font-hacking tools was,
where necessary, add an extra longword to the font that was not part of
any table. This way, it didn’t get counted in any table checksum, but
only in the overall font checksum. Setting this field to 1 served to
even out the odd content checksums, so the overall font checksum could
be made to come out correct.

Freetype mailing list
Freetype <at>
Martin Štrympl | 6 Mar 17:34 2015

[ft] use of FT_New_Library function

I am using  FT_New_Library function with a pointer to filled FT_Memory  object.

It starts working good, but if I call FT function FT_Open_Face, it
fails (SIGSEG) during calling ft_mem_qalloc function. GNU Debugger
say, it call bad function from this function.

My initialization code is:

      // set library instance with own memory manager
        FT_MemoryRec d_memory;

        d_memory.user = ps_pack;
        d_memory.alloc = ESEM_Font_Font_FreeType2_FT_Alloc_Func; = ESEM_Font_Font_FreeType2_FT_Free_Func;
        d_memory.realloc = ESEM_Font_Font_FreeType2_FT_Realloc_Func;

        d_error = FT_New_Library(&d_memory, &ps_ext->d_library);
        if (d_error!=0)


Can be a problem, that FT_Memory object isn't exist for all time I am
using the library? I check the documentation of FT_New_Library, but
there is not written, that I have to keep FT_Memory object in memory.
But it looks like it can be a problem.