cpdf-source/cpdfembed.mli

23 lines
974 B
OCaml
Raw Normal View History

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 *)
2022-10-19 16:34:19 +02:00
(* FIXME: Really we want to create an interactive fontpack which creates fonts
when needed, but delays the actual production of the subset truetype data
until later. This will mean we don't need to pre-calculate the USED set. For
now, we just hack Cpdftoc, cpdfaddtext and cpdftextofpdf to pre-calculate
the subset. *)
2022-10-13 18:00:33 +02:00
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
2022-10-19 15:47:20 +02:00
val get_char : t -> int -> (int * int * Pdftext.font) option
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