[HarfBuzz] Lookup 6 table applys on the result of the lookup 5 table ?

Maison en a Pecita acquadoria at gmail.com
Thu Sep 27 10:29:08 PDT 2012


Le lundi 24 septembre 2012 à 20:19 -0400, Behdad Esfahbod a écrit :
> On 09/22/2012 08:48 AM, Maison en a Pecita wrote:
> > Hello Harfbuzz list, I'm embarrassed to ask you :)
> 
> Nothing is embarrassing to ask :).
> 
> > I prepared a tutorial on contextual substitutions applied to the Latin
> > script: http://pecita.net/otfpoc/calt-en.xhtml
> > The most important sentence is:
> > "Lookup 6 table applies on the result of the lookup 5 table."
> > This sentence is the result of my experiences but not of the reading of
> > a standard that I've never found.
> 
> The standard is here:
> 
> http://www.microsoft.com/typography/otspec/TTOCHAP1.htm
> 
> In particular check the "Text processing with OpenType Layout fonts" section
> of that page, as well as the GSUB table page.
Yes, thanks,
http://partners.adobe.com/public/developer/opentype/index_table_formats1.html
gives answers about lookuptype also.
> 
> > The consequence is that the implementation of contextual alternatives
> > for Latin typeface must use these two tables together to give a correct
> > result.
> > Can you confirm it?
> 
> You seem a bit confused.
Yes, I am!
>   I'll try to explain.  There are two separate things:
> specific GSUB lookup *types*.  And lookup *indices* for lookups in a
> particular font.  I'm guessing that by "Lookup 6 table applies ..." you are
> referring to lookup type 6.  If that's the case, that sentence does not make
> much sense.
> 
> Think of it this way: each GSUB table consists of a bunch of lookups, numbers
> 0, 1, 2, ... sequentially.  Each lookup may be of any of the possible types
> (I'm simplifying here) including type 5 and type 6 among others.
> 
> Lookups for enabled features are applied in the order of their index.  Again,
> I'm simplifying here, but that's almost accurate for Latin.
> 
OK, I understand the Lookup types and the nesting of Lookups now. (TY)
Please, let me extend.
My concern originally was that, using FontForge, "contextual
substitutions" did not work as I hoped they work. Indeed, the rules of
this lookup (indice 0; lookup type 5?) applies only on pairs of letters.
To spread as it should be rules to entire word I need to create a second
lookup named in FF "chaining substitutions" (indice 1; lookup type 6?)
which the rules apply to the results of the first, between the letters
pairs modified by the lookup type 6. From your explanation I understand
now that chaining but still not well that not a single lookup type is
capable of handling the entire word alone. Bof! it is as is!
Is this a better comprehension?

Regards,
Philippe

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/harfbuzz/attachments/20120927/69817649/attachment.pgp>


More information about the HarfBuzz mailing list