ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <pragma@wxs.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Cc: "Pablo Rodríguez" <oinos@web.de>
Subject: Re: 'kern': TrueType table and GPOS lookup feature
Date: Fri, 30 Nov 2012 10:13:43 +0100	[thread overview]
Message-ID: <50B878C7.8080607@wxs.nl> (raw)
In-Reply-To: <50B85B0E.1060703@web.de>

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:
>
> \usemodule[simplefonts][size=25pt]
> \definefontfeature[latins][default][script=latn]
> \setmainfont[FreeSerif]
> \starttext
> \showfontkerns
> dadedidodufafefifofufrflftlalelilolutatetitotu\par
> \addfs{latins}
> dadedidodufafefifofufrflftlalelilolutatetitotu\par
> \stoptext
>
> 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
> features?
>
> 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

-----------------------------------------------------------------
                                           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
___________________________________________________________________________________


  reply	other threads:[~2012-11-30  9:13 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-30  7:06 Pablo Rodríguez
2012-11-30  9:13 ` Hans Hagen [this message]
2012-11-30  9:58   ` Steve White
2012-11-30 10:18     ` luigi scarso
2012-11-30 11:40       ` Steve White
2012-11-30 12:24         ` luigi scarso
2012-11-30 14:25           ` Steve White
2012-11-30 15:30             ` luigi scarso
2012-11-30 15:38               ` Hans Hagen
2012-11-30 18:12                 ` Steve White
2012-11-30 18:22                   ` Hans Hagen
2012-11-30 19:37                   ` luigi scarso
2012-11-30 21:25                     ` Steve White
2012-11-30 22:02                       ` Hans Hagen
2012-11-30 23:57                         ` Pablo Rodríguez
2012-12-01 16:22                       ` Steve White
2012-12-01 19:22                         ` luigi scarso
2012-12-01 19:38                           ` Aditya Mahajan
2012-12-01 19:46                             ` luigi scarso
2012-12-01 19:58                               ` Aditya Mahajan
2012-12-01 21:09                                 ` luigi scarso
2012-12-02  9:58                                   ` Steve White
2012-12-02 13:12                                     ` Khaled Hosny
2012-12-02 14:32                                       ` Steve White
2012-12-02 14:49                                         ` Khaled Hosny
2012-12-02 10:10                           ` Steve White
2012-12-02 10:24                             ` luigi scarso
2012-12-02 10:43                               ` Wolfgang Schuster
2012-12-02 11:08                               ` Steve White
2012-12-02 11:48                                 ` luigi scarso
2012-11-30 15:43         ` Hans Hagen
2012-11-30 14:13     ` Khaled Hosny
2012-11-30 15:41       ` Hans Hagen
2012-11-30 16:05     ` Hans Hagen
2012-11-30 16:39       ` Bill Meahan
2012-11-30 18:08         ` Steve White
2012-11-30 19:07           ` Bill Meahan
2012-11-30 21:24             ` Steve White
2012-11-30 18:34       ` Steve White

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50B878C7.8080607@wxs.nl \
    --to=pragma@wxs.nl \
    --cc=ntg-context@ntg.nl \
    --cc=oinos@web.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).