module Freetype: sig
.. end
type for Freetype library
type
t
type for Freetype library
val init : unit -> t
init ()
initializes the Freetype library.
The returned library is required to load fonts.
type
face
Type for face
type
face_info = {
|
num_faces : int ; |
|
num_glyphs : int ; |
|
family_name : string ; |
|
style_name : string ; |
|
has_horizontal : bool ; |
|
has_vertical : bool ; |
|
has_kerning : bool ; |
|
is_scalable : bool ; |
|
is_sfnt : bool ; |
|
is_fixed_width : bool ; |
|
has_fixed_sizes : bool ; |
|
has_fast_glyphs : bool ; |
|
has_glyph_names : bool ; |
|
has_multiple_masters : bool ; |
}
val new_face : t -> string -> int -> face * face_info
new_face library fontfile n
loads n
-th font stored
in the font file fontfile
, and returns its face and
face information.
val get_num_glyphs : face -> int
Returns number of glyphs stored in the face.
Equivalent to face_info.num_glyphs
val set_char_size : face -> float -> float -> int -> int -> unit
set_char_size face charw charh resh resv
sets the character
size of face
. charw
and charh
are the points of the characters
in width and height. resh
and resv
are the horizontal and
vertical resolution (in dpi)
val set_pixel_sizes : face -> int -> int -> unit
set_pixel_sizes face pixw pixh
also sets the character size
of face
. pixw
and pixh
are standard width and height of
characters in pixels.
type
charmap = {
|
platform_id : int ; |
|
encoding_id : int ; |
}
type
char_index
val int_of_char_index : char_index -> int
val char_index_of_int : int -> char_index
val get_charmaps : face -> charmap list
val set_charmap : face -> charmap -> unit
val get_char_index : face -> int -> char_index
type
render_mode =
| |
Render_Normal |
| |
Render_Mono |
type
load_flag =
| |
Load_no_scale |
| |
Load_no_hinting |
val load_glyph : face ->
char_index -> load_flag list -> float * float
val load_char : face -> int -> load_flag list -> float * float
val render_glyph_of_face : face -> render_mode -> unit
val render_glyph : face ->
char_index ->
load_flag list -> render_mode -> float * float
val render_char : face ->
int -> load_flag list -> render_mode -> float * float
type
matrix = {
|
ft_xx : float ; |
|
ft_xy : float ; |
|
ft_yx : float ; |
|
ft_yy : float ; |
}
matrix and vector
type
vector = {
|
ft_x : float ; |
|
ft_y : float ; |
}
val set_transform : face -> matrix -> vector -> unit
val matrix_rotate : float -> matrix
type
bitmap_info = {
|
bitmap_left : int ; |
|
bitmap_top : int ; |
|
bitmap_width : int ; |
|
bitmap_height : int ; |
}
bitmap ops
val get_bitmap_info : face -> bitmap_info
val read_bitmap : face -> int -> int -> int
glyph metrics
type
bbox = {
|
xmin : float ; |
|
ymin : float ; |
|
xmax : float ; |
|
ymax : float ; |
}
type
bearing_advance = {
|
bearingx : float ; |
|
bearingy : float ; |
|
advance : float ; |
}
type
glyph_metrics = {
}
val get_glyph_metrics : face -> glyph_metrics
size metrics
type
size_metrics = {
|
x_ppem : int ; |
|
y_ppem : int ; |
|
x_scale : float ; |
|
y_scale : float ; |
}
val get_size_metrics : face -> size_metrics
type
outline_tag =
| |
On_point |
| |
Off_point_conic |
| |
Off_point_cubic |
outline info
type
outline_contents = {
|
n_contours : int ; |
|
n_points : int ; |
|
points : (float * float) array ; |
|
tags : outline_tag array ; |
|
contours : int array ; |
}
val get_outline_contents : face -> outline_contents