This commit is contained in:
John Whitington 2023-04-28 19:03:10 +01:00
parent ccd3fc01fb
commit 2f0574fdc5
3 changed files with 18 additions and 8 deletions

View File

@ -2056,17 +2056,21 @@ let addsopacity f =
let addtext s = let addtext s =
let font = match args.font with StandardFont s -> s | _ -> error "-text: not a standard font" in let font = match args.font with StandardFont s -> s | _ -> error "-text: not a standard font" in
addop (Cpdfdraw.Font (font, args.fontsize)); addop (Cpdfdraw.Font (font, args.fontsize));
addop (Cpdfdraw.SetLeading (args.fontsize *. 1.2));
addop (Cpdfdraw.Text s) addop (Cpdfdraw.Text s)
let addblock s =
addop (Cpdfdraw.Block ())
let addurl s = let addurl s =
addop (Cpdfdraw.URL s) addop (Cpdfdraw.URL s)
let addendurl () = let addendurl () =
addop Cpdfdraw.EndURL addop Cpdfdraw.EndURL
let addleading f =
addop (Cpdfdraw.SetLeading f)
let addnewline () =
addop Cpdfdraw.Newline
let setstderrtostdout () = let setstderrtostdout () =
Pdfe.logger := (fun s -> print_string s; flush stdout) Pdfe.logger := (fun s -> print_string s; flush stdout)
@ -2905,12 +2909,12 @@ and specs =
("-opacity", Arg.Float addopacity, " Set opacity"); ("-opacity", Arg.Float addopacity, " Set opacity");
("-sopacity", Arg.Float addsopacity, " Set stroke opacity"); ("-sopacity", Arg.Float addsopacity, " Set stroke opacity");
("-text", Arg.String addtext, " Draw text and move position. "); ("-text", Arg.String addtext, " Draw text and move position. ");
("-block", Arg.String addblock, " Set up text block");
("-url", Arg.String addurl, " Begin URL"); ("-url", Arg.String addurl, " Begin URL");
("-endurl", Arg.Unit addendurl, " End URL"); ("-endurl", Arg.Unit addendurl, " End URL");
("-leading", Arg.Float addleading, " Set leading");
("-nl", Arg.Unit addnewline, " New line");
(* Getting information before or whilst drawing *) (* Getting information before or whilst drawing *)
(*("-textwidth", ...., "Get width of line of text"); (*("-textwidth", ...., "Get width of line of text");*)
("-blocklines", ...., "Get number of lines of text block");*)
(* These items are undocumented *) (* These items are undocumented *)
("-debug", Arg.Unit setdebug, ""); ("-debug", Arg.Unit setdebug, "");
("-debug-crypt", Arg.Unit setdebugcrypt, ""); ("-debug-crypt", Arg.Unit setdebugcrypt, "");

View File

@ -41,7 +41,8 @@ type drawops =
| SOpacity of float | SOpacity of float
| Font of Pdftext.standard_font * float | Font of Pdftext.standard_font * float
| Text of string | Text of string
| Block of unit (* to fix *) | Newline
| SetLeading of float
| URL of string | URL of string
| EndURL | EndURL
@ -136,6 +137,10 @@ let rec ops_of_drawop pdf = function
implode (map char_of_int (option_map (Pdftext.charcode_extractor_of_font_real !current_font) (Pdftext.codepoints_of_utf8 s))) implode (map char_of_int (option_map (Pdftext.charcode_extractor_of_font_real !current_font) (Pdftext.codepoints_of_utf8 s)))
in in
[Pdfops.Op_BT; Pdfops.Op_Tj charcodes; Pdfops.Op_ET] [Pdfops.Op_BT; Pdfops.Op_Tj charcodes; Pdfops.Op_ET]
| SetLeading f ->
[Pdfops.Op_TL f]
| Newline ->
[Pdfops.Op_T']
and ops_of_drawops pdf drawops = and ops_of_drawops pdf drawops =
flatten (map (ops_of_drawop pdf) drawops) flatten (map (ops_of_drawop pdf) drawops)

View File

@ -39,7 +39,8 @@ type drawops =
| SOpacity of float | SOpacity of float
| Font of Pdftext.standard_font * float | Font of Pdftext.standard_font * float
| Text of string | Text of string
| Block of unit (* to fix *) | Newline
| SetLeading of float
| URL of string | URL of string
| EndURL | EndURL