Lines Matching refs:hint

85     PSH_Hint  hint  = table->hints;
88 for ( ; count > 0; count--, hint++ )
90 psh_hint_deactivate( hint );
91 hint->order = -1;
96 /* internal function to record a new hint */
101 PSH_Hint hint = table->hints + idx;
106 FT_TRACE0(( "psh_hint_table_record: invalid hint index %d\n", idx ));
111 if ( psh_hint_is_active( hint ) )
114 psh_hint_activate( hint );
116 /* now scan the current active hint set to check */
117 /* whether `hint' overlaps with another hint */
124 hint->parent = 0;
129 if ( psh_hint_overlap( hint, hint2 ) )
131 hint->parent = hint2;
138 table->sort_global[table->num_hints++] = hint;
214 /* activate the hints that are given by the initial hint masks */
233 FT_TRACE0(( "psh_hint_table_init: missing/incorrect hint masks\n" ));
269 PSH_Hint hint = &table->hints[idx];
272 if ( !psh_hint_is_active( hint ) )
284 if ( psh_hint_overlap( hint, hint2 ) )
294 psh_hint_activate( hint );
296 table->sort[count++] = hint;
409 PSH_Hint hint = table->hints + count;
412 hint->cur_pos = FT_MulFix( hint->org_pos, scale ) + delta;
413 hint->cur_len = FT_MulFix( hint->org_len, scale );
416 ps_debug_hint_func( hint, dimension );
439 psh_hint_align( PSH_Hint hint,
449 if ( !psh_hint_is_fitted( hint ) )
451 FT_Pos pos = FT_MulFix( hint->org_pos, scale ) + delta;
452 FT_Pos len = FT_MulFix( hint->org_len, scale );
459 /* ignore stem alignments when requested through the hint flags */
463 hint->cur_pos = pos;
464 hint->cur_len = len;
466 psh_hint_set_fitted( hint );
476 hint->cur_len = fit_len = len;
484 hint->org_pos + hint->org_len,
485 hint->org_pos,
492 hint->cur_pos = align.align_top - fit_len;
497 hint->cur_pos = align.align_bot;
502 hint->cur_pos = align.align_bot;
503 hint->cur_len = align.align_top - align.align_bot;
508 PSH_Hint parent = hint->parent;
526 cur_org_center = hint->org_pos + ( hint->org_len >> 1 );
532 hint->cur_pos = pos;
533 hint->cur_len = fit_len;
607 hint->cur_pos = pos + psh_hint_snap_stem_side_delta( pos, len );
608 hint->cur_len = len;
614 pos = hint->cur_pos;
615 len = hint->cur_len;
625 hint->cur_pos = align.align_top - len;
626 hint->cur_len = len;
630 hint->cur_len = len;
639 hint->cur_len = len;
645 hint->cur_pos = pos - ( len >> 1 );
646 hint->cur_len = len;
650 psh_hint_set_fitted( hint );
654 ps_debug_hint_func( hint, dimension );
667 psh_hint_align_light( PSH_Hint hint,
677 if ( !psh_hint_is_fitted( hint ) )
679 FT_Pos pos = FT_MulFix( hint->org_pos, scale ) + delta;
680 FT_Pos len = FT_MulFix( hint->org_len, scale );
687 /* ignore stem alignments when requested through the hint flags */
691 hint->cur_pos = pos;
692 hint->cur_len = len;
694 psh_hint_set_fitted( hint );
700 hint->cur_len = fit_len;
708 hint->org_pos + hint->org_len,
709 hint->org_pos,
716 hint->cur_pos = align.align_top - fit_len;
721 hint->cur_pos = align.align_bot;
726 hint->cur_pos = align.align_bot;
727 hint->cur_len = align.align_top - align.align_bot;
732 PSH_Hint parent = hint->parent;
747 cur_org_center = hint->org_pos + ( hint->org_len / 2 );
831 hint->cur_pos = pos;
835 psh_hint_set_fitted( hint );
839 ps_debug_hint_func( hint, dimension );
853 PSH_Hint hint;
877 hint = table->hints;
880 for ( ; count > 0; count--, hint++ )
881 psh_hint_align( hint, globals, dimension, glyph );
1195 point->hint = NULL;
1550 PSH_Hint hint = sort[nn];
1551 FT_Pos d = org_u - hint->org_pos;
1558 point->hint = hint;
1570 PSH_Hint hint = sort[nn];
1571 FT_Pos d = org_u - hint->org_pos - hint->org_len;
1578 point->hint = hint;
1607 PSH_Hint hint = sort[nn];
1608 FT_Pos d = org_u - hint->org_pos;
1614 point->hint = hint;
1624 PSH_Hint hint = sort[nn];
1625 FT_Pos d = org_u - hint->org_pos - hint->org_len;
1631 point->hint = hint;
1638 if ( point->hint == NULL )
1642 PSH_Hint hint = sort[nn];
1645 if ( org_u >= hint->org_pos &&
1646 org_u <= hint->org_pos + hint->org_len )
1648 point->hint = hint;
1673 /* has an `in' or `out' tangent parallel to the hint's direction */
1735 /* now, certain points may have been attached to a hint and */
1743 if ( point->hint && !psh_point_is_strong( point ) )
1839 PSH_Hint hint = point->hint;
1842 if ( hint )
1848 point->cur_u = hint->cur_pos;
1851 point->cur_u = hint->cur_pos + hint->cur_len;
1855 delta = point->org_u - hint->org_pos;
1858 point->cur_u = hint->cur_pos + FT_MulFix( delta, scale );
1860 else if ( delta >= hint->org_len )
1861 point->cur_u = hint->cur_pos + hint->cur_len +
1862 FT_MulFix( delta - hint->org_len, scale );
1864 else /* hint->org_len > 0 */
1865 point->cur_u = hint->cur_pos +
1866 FT_MulDiv( delta, hint->cur_len,
1867 hint->org_len );