freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Devel] RE: [Freetype] Pango or Freetype and some other questions!!


From: Owen Taylor
Subject: Re: [Devel] RE: [Freetype] Pango or Freetype and some other questions!!
Date: Tue, 29 Jun 2004 16:28:21 +0200

The right place to report problems with the OpenType code in
Pango is in bugzilla.gnome.org. 

Unfortunately, I only occasionally have time to work on this code,
and by the time I get another chance to work on the code, I'll
probably forget that a mail was sent here.

Thanks,
                                        Owen

On Tue, 2004-06-29 at 09:29, 786 wrote:
> //sorry for duplicate message.
> 
> Hi, 
> 
> I came across a small problem in working of the Chaining Contextual
> Substitution.
> 
> A little overview into the specification; during text processing, a lookup
> is applied to each glyph in the string before moving to the next lookup. A
> lookup say L1 is finished for a glyph after the client locates the target
> glyph satisfying the backtrack and/or lookahead context and performs a
> substitution and moves onto the next glyph in the sequence. Now the problem;
> Well in the way how it is done in freetype, the substitution output say X is
> actually copied on to the ANOTHER output array (out).  It is only after the
> same lookup is tried on the remaining input (in) string that the
> substitution output X is copied back on to the in string. 
> 
> As a result, during the time the lookup L1 is being applied on the remaining
> input string, it is in a way 'blind' to the substitution that it (itself)
> had earlier done. And in this way the chaining part of the 'chaining context
> subst table' is choked.
> 
> So here is the solution for ccsf3; same can be done for ccsf1 and ccsf2.
> In static TT_Error  Lookup_ChainContextSubst3  Instead of....
> 
> if ( bgc > in->pos || in->pos + igc + lgc > in->length )
>         return TTO_Err_Not_Covered;
>       if ( bgc )
>       {
>          curr_pos = 0;
>          s_in     = &in->string[curr_pos];
>          bc       = ccsf3->BacktrackCoverage;
> 
>       for ( i = bgc, j = in->pos - 1; i > 0; i--, j-- )
>       {
>         while ( CHECK_Property( gdef, s_in[j], flags, &property ) )
>         {
>            AND SO ON....
> 
> Only for the backtrack context, the out array should be used. That is...
> 
>              HERE
> if ( bgc > out->pos || in->pos + igc + lgc > in->length )
>         return TTO_Err_Not_Covered;
>       if ( bgc )
>       {
>           curr_pos = 0;
>           /*Earlier */ 
>           /* s_in     = &in->string[curr_pos]; */
>           /*Now */
>           s_in     = &out->string[curr_pos];
>           bc       = ccsf3->BacktrackCoverage;
> 
>                             HERE
>       for ( i = bgc, j = out->pos - 1; i > 0; i--, j-- )
>       {
>         while ( CHECK_Property( gdef, s_in[j], flags, &property ) )
>         {
>            AND SO ON....
> 
> Aamir
> 
> 
> 
> -----Original Message-----
> From: 786 
> Sent: Thursday, June 03, 2004 3:05 PM
> To: 'Owen Taylor'; 'address@hidden'
> Subject: [Freetype] Pango or Freetype and some other questions!!
> 
> 
> /duplicate. Note in previous it was not 'offline' but *offlist*
> 
> Hello,
> 
> Long long time ago there was this conversation....(read below if you have
> time).
> 
> Well I had a small question in mind. But first consider this Mr Lemberg said
> that "not aware of any parts of the substitution specification that the
> PANGO CODE (or that matter the opentype code), doesn't implement" (Note the
> capital PANGO)
> 
> " What about the new GSUB lookup type 8?  AFAIK, this is specifically
> for Urdu.  Have you added it to to PANGO?" (Note the capital PANGO)
> 
> Well what I don't understand is why are we calling it Pango code? Shouldn't
> it be freetype's code (ftxgsub.c in freetype package)? Pango uses this code
> after some initial 'script specific processing' when it actually applies the
> rules on 'tagged' input string. So this does not make it pango code. As a
> result when we talk about adding GSUB type 8 don't we actually mean in
> ftxgsub.c.
> 
> >> Have you added it to to PANGO?" 
> So shouldn't it be the freetype guys who should be thinking about adding it?
> And if it does have to be added then it's right in the OT code in pango
> where other types are implemented. 
> 
> Another question: Say for the moment 'All the GSUB tables has been
> implemented' is there a any list of which features have so far been
> implemented. Is calt implemented? I have pango-1.2.5 & Freetype-current,
> this does not?
> 
> 
> And finally Pango-1.2.5 does not implement calt, that's no problem..it can
> easily be added and tested in gedit. Calt uses the LookupType 6: Chaining
> Contextual Substitution in ftxgsub.c. But there seem to be some problem; the
> calt rules listed in the font do not seem to apply at some instances. Now
> this could either be the problem with my gedit/linux or with the lookuptype
> 6's implementation. Can Freetype's team allow me to please discuss this
> problem with them offlIST?
> 
> Thanks
> 
> Aamir
> 
> 
> -----Original Message-----
> From: Owen Taylor [mailto:address@hidden 
> Sent: Tuesday, October 07, 2003 1:57 AM
> To: address@hidden
> Cc: address@hidden
> Subject: Re: [Freetype] Add more claws to FreeType.
> 
> On Sun, 2003-10-05 at 04:54, Werner LEMBERG wrote:
> > > I'm not aware of any parts of the substitution specification that
> > > the Pango code (or that matter the opentype code), doesn't
> > > implement.  For positioning, cursive attachments of vertical text is
> > > not implemented, but even for Mongolian that probably isn't big
> > > deal.
> > 
> > What about the new GSUB lookup type 8?  AFAIK, this is specifically
> > for Urdu.  Have you added it to to Pango?
> 
> No, I wasn't aware of that.. it didn't come up in any fonts I've
> tested widh. It doesn't look that complicated to implement, if
> someone was interested.
> 
> Regards,
>                                       Owen
> 
> 
> _______________________________________________
> Freetype mailing list
> address@hidden
> http://www.freetype.org/mailman/listinfo/freetype
> 
> _______________________________________________
> Devel mailing list
> address@hidden
> http://www.freetype.org/mailman/listinfo/devel

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]