cpdf-source/cpdfembed.mli

27 lines
1.1 KiB
OCaml
Raw Normal View History

2023-07-27 14:33:44 +02:00
(** Embed a TrueType font in a PDF *)
2022-09-20 15:54:45 +02:00
(* Embed a TrueType font for the given set of unicode codepoints in the given
2022-10-13 18:00:33 +02:00
encoding, adding the fontfiles to the PDF and returning a list of font objects,
together with a unicode codepoint --> (font number in list, charcode) table *)
type t = Pdftext.font list * (int, int * int) Hashtbl.t
2022-10-10 17:08:07 +02:00
2022-10-18 20:13:02 +02:00
type cpdffont =
PreMadeFontPack of t
2022-10-19 14:48:13 +02:00
| EmbedInfo of {fontfile : Pdfio.bytes; fontname : string; encoding : Pdftext.encoding}
2022-10-19 17:45:52 +02:00
| ExistingNamedFont
2022-10-18 20:13:02 +02:00
2023-07-27 14:33:44 +02:00
(** Build a fontpack for a Standard 14 font *)
2023-02-20 13:56:59 +01:00
val fontpack_of_standardfont : Pdftext.font -> t
2023-07-27 14:33:44 +02:00
(** Look up a unicode codepoint in a font page. Returns (charcode, fontnumber, font) *)
2022-10-19 15:47:20 +02:00
val get_char : t -> int -> (int * int * Pdftext.font) option
2023-07-27 14:33:44 +02:00
(** Build a fontpack from a TrueType font and list of codepoints, embedding its fonts in the document *)
2022-09-12 18:02:48 +02:00
val embed_truetype :
2022-09-20 15:54:45 +02:00
Pdf.t -> fontfile:Pdfio.bytes -> fontname:string -> codepoints:int list ->
2022-10-13 18:00:33 +02:00
encoding:Pdftext.encoding -> t
2023-07-27 14:33:44 +02:00
(** Collate outputs of [get_char] with like font *)
val collate_runs : ('a * 'b * 'c) list -> ('a * 'b * 'c) list list