Page 1 of 1

GD library of PHP?

Posted: Fri Sep 13, 2019 7:20 pm
by heathert
Hi there! I made a font recently and submitted it to dafont.com, but got this as an answer:

The kerning is set in a way that doesn't work at dafont (we use the GD library of PHP)

To make the font kerning, I used the resident (supplied) kerning pairs that came with the program, and I kind of discovered those by mistake. Then I added a few of my own because for some reason most of the "f" + [whatever] didn't manifest, and they needed to.

Is this an easy fix? I have no idea what the response actually means. =)

If I can attach the font project file I'll do that. Thanks in advance for any advice you can give!

Heather
=)
Inkster.fcp
(110.74 KiB) Downloaded 276 times

Re: GD library of PHP?

Posted: Fri Sep 13, 2019 10:13 pm
by Erwin Denissen
Before we put time and effort into this, could you please let us know if the font is generated with the latest version of FontCreator?

Over the years we've improved our font editor, so it might be an issue with an older version.

Re: GD library of PHP?

Posted: Sat Sep 14, 2019 12:01 am
by heathert
Good point! I'm working with 9.1. I know you're up to 12 now-- do you know if my issue would be resolved by the newest version? Thanks!

Re: GD library of PHP?

Posted: Sat Sep 14, 2019 2:06 am
by heathert
Well, I got v. 12 today, and ran Inkster through the new version. I did notice that there was an option to include (?) a "legacy kern table", so I did that. Maybe that will fix the issue? Again, I'm just a designer, not a programmer... ;)

Re: GD library of PHP?

Posted: Sat Sep 14, 2019 10:05 am
by Erwin Denissen
We strongly recommend to forget about that legacy kern table, unless the font has been around for a decade and therefor some of the users might rely on the old kerning.

According to the official OpenType specification:
If compatibility with legacy environments is not a concern, font vendors are encouraged to record kerning in the GPOS table’s 'kern' feature and not in the 'kern' table.

We suggest you generate a font without the old kern table through FontCreator 12, and then provide that to dafont. Let us know your results.

Re: GD library of PHP?

Posted: Tue Sep 17, 2019 12:26 pm
by Erwin Denissen
I've further looked into this and can only come to the conclusion that dafont requires you to provide an outdated kern table. This old kern table is supported by the FreeType library which is most likely used to display the fonts through their web site.

FreeType Tutorial
Not all font formats contain kerning information, and not all kerning formats are supported by FreeType; in particular, for TrueType fonts, the API can only access kerning via the ‘kern’ table. OpenType kerning via the ‘GPOS’ table is not supported! You need a higher-level library like HarfBuzz, Pango, or ICU, since GPOS kerning requires contextual string handling.
This kern table has been superseded with the OpenType kern feature, and should only be included with fonts that were released at least 10 years ago. So Arial, Verdana, Calibri, Candara, and Segoe contain both old and new kerning as they were all released before 2010. Sitka (2013) and Bahnschrift (2018) only contain the GPOS kern feature, as recommended by the OpenType specifications:

Recommendations for OpenType Fonts
If compatibility with legacy environments is not a concern, font vendors are encouraged to record kerning in the GPOS table’s 'kern' feature and not in the 'kern' table.
So the dafont review team should reconsider their validation process, as the OpenType kern feature should be mandatory, not the old kern table.