Hi Hans, Pablo, et al.

I'm the admin of GNU FreeFont.  I'll respond to some of these points.

1) I have yet to reproduce Pablo's output PDF on either of two systems.  As I am unfamiliar with ConTeXt, I can only guess how it was built.  I tried the file quoted here as input to the 'context' command, but it chokes on the \showfontkerns line.  It would help very much to have a working example with the proper command line to build it.

2) I understood that ConTeXt only uses the old-style TrueType 'kern' table, rather than the OpenType 'kern' GPOS lookup.  If that is the case, I would suggest that you consider to change the  logic to first use the OpenType lookup, and if it doesn't exist, fall back to the TrueType table. Several applications are already complaining that both exist; the plan is to drop support for the TrueType table in FreeFont.

3) In most applications, the script of a run of text is determined from the Unicode.  This is the assumption made in FreeFont.  The GNU FreeFont policy starts from its essence as a Unicode font, in which no particular script is default. (Some generic features that are not specific to any script, are in {dflt,dflt}.)

There was a suggestion that Latin kerns should be activated by {script,lang}={dflt,dflt}.  Let me ask, should Devanagari kerns also be activated by {dflt, dflt}?  If not, why?

It appears that there maybe some conflict her with TeX implementaions.  I don't completely understand this.  Maybe we can find a solution.

4) I have written something like Pablo's test using XeTeX and fontspec.  Kerning works very well with GNU FreeFont.  Find attached. 

5) There was also a report that OpenType kerning doesn't work in some E-Book readers (I know this isn't the forum for that, but ...) .  My iriver Story kerns very nicely text in FreeSerif.  Can I get an example of an E-reader for which kerning fails?  (I really don't doubt that they exist!)


On Fri, Nov 30, 2012 at 10:13 AM, Hans Hagen <pragma@wxs.nl> wrote:
On 11/30/2012 8:06 AM, Pablo Rodríguez wrote:
Hi there,

sorry for bothering again with this issue, but I need to be sure in
order to properly report to the font developer of FreeSerif.

I have the following file:


The first line has no GPOS kern enabled and the second line has it.

In order to report it to the font developer (I have the problem not with
ConTeXt, but with my ereader [I used ConTeXt to check the font
features), I have the following questions:

-In the example above, is the old TrueType kern enabled on the first line?

-If not, how can I enable it, without enabling the liga or kern OpenType

I need this to see the actual kerning form the old TrueType kern table
(I suspect it hasn't the same values as the OpenType kern feature).

We don't really make a distinction. Kerns are either a property of a character (truetype method) or are organized as lookups. Both are driven by 'kern' and it's not possible to choose a specific method as it's font driven. In the first case, enabling the kern feature will also enable the kerns and there is no dependency on language and script. In the second case a language script combination drives the injection of kerns. So, for each combination there can be different kerns (won't happen often).

Now, if a font designer decides to group kerns according to languages (makes less sense than for instance grouping ligatures which do have a dependency on languages) he/she has to make sure that it's done in such a way that it doesn't lock out.

For instance, you can have kerns (optionally in your font organized in classes) that kerns latin characters and group them in latn/dflt and do something similar for latn/<anylanguage>  but then you expect the user to choose the right combination. So, choosing latn/dflt can lock out greek or whatever. This means that when one defines kerns for say devanagari but also wants to have mixed in latin/* scripts supported, one could best also enable latn/* kerns there (just add lookups to the feature specification).

As the serif font you use has support for many scripts, extra care has to be taken for mixed usage. Also, normally a dflt/dflt combination is defined (read: no script or language chosen) which should work out okay for most cases. Anyhow, in the serif font (1) a dflt/dflt combination has to be supported (added) and (2) you/someone needs to check if when you choose greek, you still got kerning for latin.


                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
    tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net