From 8bb895d2fe85e61a911a74f25d43faa205fcb3db Mon Sep 17 00:00:00 2001 From: John Whitington Date: Tue, 27 Sep 2022 15:24:02 +0100 Subject: [PATCH] more --- cpdfaddtext.ml | 43 +++++-------------------------------------- 1 file changed, 5 insertions(+), 38 deletions(-) diff --git a/cpdfaddtext.ml b/cpdfaddtext.ml index ab30827..2686353 100644 --- a/cpdfaddtext.ml +++ b/cpdfaddtext.ml @@ -172,44 +172,11 @@ let rec string_of_encoding = function | _ -> error "unknown encoding" let make_font embed encoding fontname = - let font = unopt (Pdftext.standard_font_of_name ("/" ^ fontname)) in - let header, width_data, _, chars_and_widths = Pdfstandard14.afm_data font in - let widths = extract_widths (list_of_hashtbl chars_and_widths) in - let flags = Pdfstandard14.flags_of_standard_font font in - let fontbbox = extract_fontbbox header "FontBBox" in - let italicangle = extract_num header "ItalicAngle" in - let ascent = try extract_num header "Ascender" with _ -> Pdf.Integer 0 in - let descent = try extract_num header "Descender" with _ -> Pdf.Integer 0 in - let capheight = try extract_num header "CapHeight" with _ -> Pdf.Integer 0 in - let stemv = Pdfstandard14.stemv_of_standard_font font in - let fontdescriptor = - Pdf.Dictionary - [("/Type", Pdf.Name "/FontDescriptor"); - ("/FontName", Pdf.Name ("/" ^ fontname)); - ("/Flags", Pdf.Integer flags); - ("/FontBBox", Pdf.Array fontbbox); - ("/ItalicAngle", italicangle); - ("/Ascent", ascent); - ("/Descent", descent); - ("/CapHeight", capheight); - ("/StemV", Pdf.Integer stemv)] - in - if embed then - Pdf.Dictionary - [("/Type", Pdf.Name "/Font"); - ("/Subtype", Pdf.Name "/Type1"); - ("/BaseFont", Pdf.Name ("/" ^ fontname)); - ("/Encoding", Pdf.Name "/WinAnsiEncoding"); - ("/FirstChar", Pdf.Integer 0); - ("/LastChar", Pdf.Integer 255); - ("/Widths", Pdf.Array (map (fun x -> Pdf.Integer x) widths)); - ("/FontDescriptor", fontdescriptor)] - else - Pdf.Dictionary - [("/Type", Pdf.Name "/Font"); - ("/Subtype", Pdf.Name "/Type1"); - ("/Encoding", Pdf.Name "/WinAnsiEncoding"); - ("/BaseFont", Pdf.Name ("/" ^ fontname))] + Pdf.Dictionary + [("/Type", Pdf.Name "/Font"); + ("/Subtype", Pdf.Name "/TrueType"); + ("/Encoding", Pdf.Name ("/" ^ string_of_encoding encoding)); + ("/BaseFont", Pdf.Name ("/" ^ fontname))] let extract_page_text only_fontsize pdf _ page = let text_extractor = ref None in