546 hb_bool_t replace);
547
548
549 HB_EXTERN void *
550 hb_font_get_user_data (hb_font_t *font,
551 hb_user_data_key_t *key);
552
553 HB_EXTERN void
554 hb_font_make_immutable (hb_font_t *font);
555
556 HB_EXTERN hb_bool_t
557 hb_font_is_immutable (hb_font_t *font);
558
559 HB_EXTERN void
560 hb_font_set_parent (hb_font_t *font,
561 hb_font_t *parent);
562
563 HB_EXTERN hb_font_t *
564 hb_font_get_parent (hb_font_t *font);
565
566 HB_EXTERN hb_face_t *
567 hb_font_get_face (hb_font_t *font);
568
569
570 HB_EXTERN void
571 hb_font_set_funcs (hb_font_t *font,
572 hb_font_funcs_t *klass,
573 void *font_data,
574 hb_destroy_func_t destroy);
575
576 /* Be *very* careful with this function! */
577 HB_EXTERN void
578 hb_font_set_funcs_data (hb_font_t *font,
579 void *font_data,
580 hb_destroy_func_t destroy);
581
582
583 HB_EXTERN void
584 hb_font_set_scale (hb_font_t *font,
585 int x_scale,
586 int y_scale);
587
588 HB_EXTERN void
589 hb_font_get_scale (hb_font_t *font,
590 int *x_scale,
591 int *y_scale);
592
593 /*
594 * A zero value means "no hinting in that direction"
595 */
596 HB_EXTERN void
597 hb_font_set_ppem (hb_font_t *font,
598 unsigned int x_ppem,
599 unsigned int y_ppem);
600
601 HB_EXTERN void
602 hb_font_get_ppem (hb_font_t *font,
603 unsigned int *x_ppem,
604 unsigned int *y_ppem);
605
606
607 HB_EXTERN void
608 hb_font_set_var_coords_normalized (hb_font_t *font,
609 int *coords, /* XXX 2.14 normalized */
610 unsigned int coords_length);
611
612 HB_END_DECLS
613
614 #endif /* HB_FONT_H */
|
546 hb_bool_t replace);
547
548
549 HB_EXTERN void *
550 hb_font_get_user_data (hb_font_t *font,
551 hb_user_data_key_t *key);
552
553 HB_EXTERN void
554 hb_font_make_immutable (hb_font_t *font);
555
556 HB_EXTERN hb_bool_t
557 hb_font_is_immutable (hb_font_t *font);
558
559 HB_EXTERN void
560 hb_font_set_parent (hb_font_t *font,
561 hb_font_t *parent);
562
563 HB_EXTERN hb_font_t *
564 hb_font_get_parent (hb_font_t *font);
565
566 HB_EXTERN void
567 hb_font_set_face (hb_font_t *font,
568 hb_face_t *face);
569
570 HB_EXTERN hb_face_t *
571 hb_font_get_face (hb_font_t *font);
572
573
574 HB_EXTERN void
575 hb_font_set_funcs (hb_font_t *font,
576 hb_font_funcs_t *klass,
577 void *font_data,
578 hb_destroy_func_t destroy);
579
580 /* Be *very* careful with this function! */
581 HB_EXTERN void
582 hb_font_set_funcs_data (hb_font_t *font,
583 void *font_data,
584 hb_destroy_func_t destroy);
585
586
587 HB_EXTERN void
588 hb_font_set_scale (hb_font_t *font,
589 int x_scale,
590 int y_scale);
591
592 HB_EXTERN void
593 hb_font_get_scale (hb_font_t *font,
594 int *x_scale,
595 int *y_scale);
596
597 /*
598 * A zero value means "no hinting in that direction"
599 */
600 HB_EXTERN void
601 hb_font_set_ppem (hb_font_t *font,
602 unsigned int x_ppem,
603 unsigned int y_ppem);
604
605 HB_EXTERN void
606 hb_font_get_ppem (hb_font_t *font,
607 unsigned int *x_ppem,
608 unsigned int *y_ppem);
609
610 /*
611 * Point size per EM. Used for optical-sizing in CoreText.
612 * A value of zero means "not set".
613 */
614 HB_EXTERN void
615 hb_font_set_ptem (hb_font_t *font, float ptem);
616
617 HB_EXTERN float
618 hb_font_get_ptem (hb_font_t *font);
619
620 HB_EXTERN void
621 hb_font_set_variations (hb_font_t *font,
622 const hb_variation_t *variations,
623 unsigned int variations_length);
624
625 HB_EXTERN void
626 hb_font_set_var_coords_design (hb_font_t *font,
627 const float *coords,
628 unsigned int coords_length);
629
630 HB_EXTERN void
631 hb_font_set_var_coords_normalized (hb_font_t *font,
632 const int *coords, /* 2.14 normalized */
633 unsigned int coords_length);
634
635 HB_EXTERN const int *
636 hb_font_get_var_coords_normalized (hb_font_t *font,
637 unsigned int *length);
638
639 HB_END_DECLS
640
641 #endif /* HB_FONT_H */
|