package fontforge-of-ocaml

  1. Overview
  2. Docs

Typography Table

Feature classification

Defines types: one for each group of lookup type. Each of them have a specific function for adding data into the tables of that group.

type unspecified_table_t
type contextual_table_t
type lookup_pos_sub_t

Defines types: one for each FontForge lookup type.

type ff_gpos_context_t
type ff_gpos_contextchain_t
type ff_gpos_cursive_t
type ff_gpos_mark2base_t
type ff_gpos_mark2ligature_t
type ff_gpos_mark2mark_t
type ff_gpos_pair_t
type ff_gpos_single_t
type ff_gsub_alternate_t
type ff_gsub_context_t
type ff_gsub_contextchain_t
type ff_gsub_ligature_t
type ff_gsub_multiple_t
type ff_gsub_reversecchain_t
type ff_gsub_single_t
type ff_kern_statemachine_t
type ff_morx_indic_t
type ff_morx_insert_t
type ff_morx_context_t

Defines types: one for each style.

type unspecified_args_t
type args_glyph_kern_t
type args_pos_t
type args_glyph_pos2_t
type _ args_t =
  1. | ARGS_gpos_pair_kern : args_glyph_kern_t -> ff_gpos_pair_t args_t
  2. | ARGS_gpos_pair_full : args_glyph_pos2_t -> ff_gpos_pair_t args_t
  3. | ARGS_gpos_single : args_pos_t -> ff_gpos_single_t args_t
  4. | ARGS_gsub_single : string -> ff_gsub_single_t args_t
  5. | ARGS_gsub_ligature : string list -> ff_gsub_ligature_t args_t
    (*

    Defines GADT: one constructor for each sub-styles.

    *)
val args_gpos_pair_kern : glyphname:string -> kerning:int -> ff_gpos_pair_t args_t
val args_gpos_pair_pos2 : glyphname:string -> xoff1:int -> yoff1:int -> xadv1:int -> yadv1:int -> xoff2:int -> yoff2:int -> xadv2:int -> yadv2:int -> ff_gpos_pair_t args_t
val args_gpos_single : xoff:int -> yoff:int -> xadv:int -> yadv:int -> ff_gpos_single_t args_t
val args_gsub_single : glyphname:string -> ff_gsub_single_t args_t
val args_gsub_ligature : glyphname1:string -> glyphname2:string -> others:string list -> ff_gsub_ligature_t args_t

Defines types: one for each lookup style.

Classified lookup type.

type _ t =
  1. | GPOS_context : gpos_context_t t
  2. | GPOS_contextchain : gpos_contextchain_t t
  3. | GPOS_cursive : gpos_cursive_t t
  4. | GPOS_mark2base : gpos_mark2base_t t
  5. | GPOS_mark2ligature : gpos_mark2ligature_t t
  6. | GPOS_mark2mark : gpos_mark2mark_t t
  7. | GPOS_pair : gpos_pair_t t
  8. | GPOS_single : gpos_single_t t
  9. | GSUB_alternate : gsub_alternate_t t
  10. | GSUB_context : gsub_context_t t
  11. | GSUB_contextchain : gsub_contextchain_t t
  12. | GSUB_ligature : gsub_ligature_t t
  13. | GSUB_multiple : gsub_multiple_t t
  14. | GSUB_reversecchain : gsub_reversecchain_t t
  15. | GSUB_single : gsub_single_t t
  16. | KERN_statemachine : kern_statemachine_t t
  17. | MORX_indic : morx_indic_t t
  18. | MORX_insert : morx_insert_t t
  19. | MORX_context : morx_context_t t
    (*

    Defines GADT: one constructor by lookup type with constraints on their style.

    *)

Lookup tables

type 'a lookup_table_t

Lookup tables are named

val mk_lookup_table : 'a t -> name:string -> 'a lookup_table_t

Constructor

val get_lookup_name : 'a lookup_table_t -> string
val get_lookup_type : 'a lookup_table_t -> 'a t
val get_lookup_typename : 'a t -> string

Lookup sub-tables

type 'a lookup_subtable_t

Lookup sub-tables are named

val mk_lookup_subtable : 'a lookup_table_t -> name:string -> 'a lookup_subtable_t

Constructor

val get_subtable_name : 'a lookup_subtable_t -> string
val get_lookup_table : 'a lookup_subtable_t -> 'a lookup_table_t