Lines Matching refs:gpi
52 static HB_Error GPOS_Do_Glyph_Lookup( GPOS_Instance* gpi,
468 static HB_Error Get_ValueRecord( GPOS_Instance* gpi,
476 HB_GPOSHeader* gpos = gpi->gpos;
487 x_ppem = gpi->font->x_ppem;
488 y_ppem = gpi->font->y_ppem;
489 x_scale = gpi->font->x_scale;
490 y_scale = gpi->font->y_scale;
503 if ( !gpi->dvi )
534 error = (gpos->mmfunc)( gpi->font, vr->XIdPlacement,
542 error = (gpos->mmfunc)( gpi->font, vr->YIdPlacement,
550 error = (gpos->mmfunc)( gpi->font, vr->XIdAdvance,
558 error = (gpos->mmfunc)( gpi->font, vr->YIdAdvance,
715 static HB_Error Get_Anchor( GPOS_Instance* gpi,
724 HB_GPOSHeader* gpos = gpi->gpos;
734 x_ppem = gpi->font->x_ppem;
735 y_ppem = gpi->font->y_ppem;
736 x_scale = gpi->font->x_scale;
737 y_scale = gpi->font->y_scale;
753 if ( !gpi->dvi )
757 if (!gpi->font->klass->getPointInOutline)
759 error = gpi->font->klass->getPointInOutline(gpi->font, glyph_index, gpi->load_flags, ap, x_value, y_value, &n_points);
776 if ( !gpi->dvi )
792 error = (gpos->mmfunc)( gpi->font, an->af.af4.XIdAnchor,
797 error = (gpos->mmfunc)( gpi->font, an->af.af4.YIdAnchor,
1011 static HB_Error Lookup_SinglePos( GPOS_Instance* gpi,
1020 HB_GPOSHeader* gpos = gpi->gpos;
1038 error = Get_ValueRecord( gpi, &sp->spf.spf1.Value,
1047 error = Get_ValueRecord( gpi, &sp->spf.spf2.Value[index],
1493 static HB_Error Lookup_PairPos1( GPOS_Instance* gpi,
1522 error = Get_ValueRecord( gpi, &pvr->Value1, format1,
1526 return Get_ValueRecord( gpi, &pvr->Value2, format2,
1535 static HB_Error Lookup_PairPos2( GPOS_Instance* gpi,
1563 error = Get_ValueRecord( gpi, &c2r->Value1, format1, POSITION( first_pos ) );
1566 return Get_ValueRecord( gpi, &c2r->Value2, format2, POSITION( buffer->in_pos ) );
1570 static HB_Error Lookup_PairPos( GPOS_Instance* gpi,
1580 HB_GPOSHeader* gpos = gpi->gpos;
1621 error = Lookup_PairPos1( gpi, &pp->ppf.ppf1, buffer,
1627 error = Lookup_PairPos2( gpi, &pp->ppf.ppf2, buffer, first_pos,
1790 static HB_Error Lookup_CursivePos( GPOS_Instance* gpi,
1799 HB_GPOSHeader* gpos = gpi->gpos;
1810 gpi->last = 0xFFFF;
1815 gpi->last won't be reset (contrary to user defined properties). */
1825 gpi->last = 0xFFFF;
1832 gpi->last = 0xFFFF;
1958 if ( gpi->last == 0xFFFF )
1964 error = Get_Anchor( gpi, &eer->EntryAnchor, IN_CURGLYPH(),
1971 if ( gpi->r2l )
1973 POSITION( buffer->in_pos )->x_advance = entry_x - gpi->anchor_x;
1978 POSITION( gpi->last )->x_advance = gpi->anchor_x - entry_x;
1979 POSITION( gpi->last )->new_advance = TRUE;
1984 POSITION( gpi->last )->cursive_chain = gpi->last - buffer->in_pos;
1985 POSITION( gpi->last )->y_pos = entry_y - gpi->anchor_y;
1989 POSITION( buffer->in_pos )->cursive_chain = buffer->in_pos - gpi->last;
1990 POSITION( buffer->in_pos )->y_pos = gpi->anchor_y - entry_y;
1994 error = Get_Anchor( gpi, &eer->ExitAnchor, IN_CURGLYPH(),
1997 gpi->last = 0xFFFF;
2000 gpi->last = buffer->in_pos;
2001 gpi->anchor_x = exit_x;
2002 gpi->anchor_y = exit_y;
2212 static HB_Error Lookup_MarkBasePos( GPOS_Instance* gpi,
2222 HB_GPOSHeader* gpos = gpi->gpos;
2302 error = Get_Anchor( gpi, mark_anchor, IN_CURGLYPH(),
2307 error = Get_Anchor( gpi, base_anchor, IN_GLYPH( j ),
2619 static HB_Error Lookup_MarkLigPos( GPOS_Instance* gpi,
2630 HB_GPOSHeader* gpos = gpi->gpos;
2729 error = Get_Anchor( gpi, mark_anchor, IN_CURGLYPH(),
2733 error = Get_Anchor( gpi, lig_anchor, IN_GLYPH( j ),
2946 static HB_Error Lookup_MarkMarkPos( GPOS_Instance* gpi,
2957 HB_GPOSHeader* gpos = gpi->gpos;
3042 error = Get_Anchor( gpi, mark1_anchor, IN_CURGLYPH(),
3046 error = Get_Anchor( gpi, mark2_anchor, IN_GLYPH( j ),
3071 static HB_Error Do_ContextPos( GPOS_Instance* gpi,
3092 error = GPOS_Do_Glyph_Lookup( gpi, pos->LookupListIndex, buffer,
3795 static HB_Error Lookup_ContextPos1( GPOS_Instance* gpi,
3805 HB_GPOSHeader* gpos = gpi->gpos;
3847 return Do_ContextPos( gpi, pr[k].GlyphCount,
3860 static HB_Error Lookup_ContextPos2( GPOS_Instance* gpi,
3873 HB_GPOSHeader* gpos = gpi->gpos;
3952 error = Do_ContextPos( gpi, pr->GlyphCount,
3970 static HB_Error Lookup_ContextPos3( GPOS_Instance* gpi,
3979 HB_GPOSHeader* gpos = gpi->gpos;
4015 return Do_ContextPos( gpi, cpf3->GlyphCount,
4022 static HB_Error Lookup_ContextPos( GPOS_Instance* gpi,
4034 return Lookup_ContextPos1( gpi, &cp->cpf.cpf1, buffer,
4038 return Lookup_ContextPos2( gpi, &cp->cpf.cpf2, buffer,
4042 return Lookup_ContextPos3( gpi, &cp->cpf.cpf3, buffer,
5003 GPOS_Instance* gpi,
5014 HB_GPOSHeader* gpos = gpi->gpos;
5117 return Do_ContextPos( gpi, igc,
5132 GPOS_Instance* gpi,
5154 HB_GPOSHeader* gpos = gpi->gpos;
5311 error = Do_ContextPos( gpi, igc,
5337 GPOS_Instance* gpi,
5347 HB_GPOSHeader* gpos = gpi->gpos;
5439 return Do_ContextPos( gpi, igc,
5448 GPOS_Instance* gpi,
5460 return Lookup_ChainContextPos1( gpi, &ccp->ccpf.ccpf1, buffer,
5465 return Lookup_ChainContextPos2( gpi, &ccp->ccpf.ccpf2, buffer,
5470 return Lookup_ChainContextPos3( gpi, &ccp->ccpf.ccpf3, buffer,
5770 static HB_Error GPOS_Do_Glyph_Lookup( GPOS_Instance* gpi,
5778 HB_GPOSHeader* gpos = gpi->gpos;
5802 error = Lookup_SinglePos ( gpi, st, buffer, flags, context_length, nesting_level ); break;
5804 error = Lookup_PairPos ( gpi, st, buffer, flags, context_length, nesting_level ); break;
5806 error = Lookup_CursivePos ( gpi, st, buffer, flags, context_length, nesting_level ); break;
5808 error = Lookup_MarkBasePos ( gpi, st, buffer, flags, context_length, nesting_level ); break;
5810 error = Lookup_MarkLigPos ( gpi, st, buffer, flags, context_length, nesting_level ); break;
5812 error = Lookup_MarkMarkPos ( gpi, st, buffer, flags, context_length, nesting_level ); break;
5814 error = Lookup_ContextPos ( gpi, st, buffer, flags, context_length, nesting_level ); break;
5816 error = Lookup_ChainContextPos ( gpi, st, buffer, flags, context_length, nesting_level ); break;
5818 error = Lookup_ExtensionPos ( gpi, st, buffer, flags, context_length, nesting_level ); break;*/
5874 static HB_Error GPOS_Do_String_Lookup( GPOS_Instance* gpi,
5879 HB_GPOSHeader* gpos = gpi->gpos;
5888 gpi->last = 0xFFFF; /* no last valid glyph for cursive pos. */
5902 error = GPOS_Do_Glyph_Lookup( gpi, lookup_index, buffer, context_length, nesting_level );
5910 gpi->last = 0xFFFF;
6035 GPOS_Instance gpi;
6044 gpi.font = font;
6045 gpi.gpos = gpos;
6046 gpi.load_flags = load_flags;
6047 gpi.r2l = r2l;
6048 gpi.dvi = dvi;
6073 error = GPOS_Do_String_Lookup( &gpi, lookup_index, buffer );