Fix missing_fonts for Type3
This commit is contained in:
parent
99e8d6d544
commit
fc8d119347
21
cpdffont.ml
21
cpdffont.ml
|
@ -84,18 +84,21 @@ let copy_font frompdf fontname fontpage range pdf =
|
||||||
|
|
||||||
(* Missing Fonts *)
|
(* Missing Fonts *)
|
||||||
let is_missing pdf dict =
|
let is_missing pdf dict =
|
||||||
match Pdf.lookup_direct pdf "/FontDescriptor" dict with
|
match Pdf.lookup_direct pdf "/Subtype" dict with
|
||||||
| None -> true
|
| Some (Pdf.Name "/Type3") -> false
|
||||||
| Some d ->
|
| _ ->
|
||||||
match Pdf.lookup_direct pdf "/FontFile" d with
|
match Pdf.lookup_direct pdf "/FontDescriptor" dict with
|
||||||
| Some _ -> false
|
| None -> true
|
||||||
| None ->
|
| Some d ->
|
||||||
match Pdf.lookup_direct pdf "/FontFile2" d with
|
match Pdf.lookup_direct pdf "/FontFile" d with
|
||||||
| Some _ -> false
|
| Some _ -> false
|
||||||
| None ->
|
| None ->
|
||||||
match Pdf.lookup_direct pdf "/FontFile3" d with
|
match Pdf.lookup_direct pdf "/FontFile2" d with
|
||||||
| Some _ -> false
|
| Some _ -> false
|
||||||
| None -> true
|
| None ->
|
||||||
|
match Pdf.lookup_direct pdf "/FontFile3" d with
|
||||||
|
| Some _ -> false
|
||||||
|
| None -> true
|
||||||
|
|
||||||
let missing_font ?l pdf page (name, dict) =
|
let missing_font ?l pdf page (name, dict) =
|
||||||
if is_missing pdf dict then
|
if is_missing pdf dict then
|
||||||
|
|
|
@ -977,7 +977,6 @@ let matterhorn_31_008 _ _ pdf =
|
||||||
(* NB This, for now, reports all unembedded fonts, save for Type 3 ones... *)
|
(* NB This, for now, reports all unembedded fonts, save for Type 3 ones... *)
|
||||||
let matterhorn_31_009 _ _ pdf =
|
let matterhorn_31_009 _ _ pdf =
|
||||||
let l = Cpdffont.missing_fonts_return pdf (ilist 1 (Pdfpage.endpage pdf)) in
|
let l = Cpdffont.missing_fonts_return pdf (ilist 1 (Pdfpage.endpage pdf)) in
|
||||||
let l = lose (function (_, _, "/Type3", _, _) -> true | _ -> false) l in
|
|
||||||
if l <> [] then
|
if l <> [] then
|
||||||
raise (MatterhornError (`List (map (fun (a, b, c, d, e) -> `String (Printf.sprintf "%i %s %s %s %s" a b c d e)) l)))
|
raise (MatterhornError (`List (map (fun (a, b, c, d, e) -> `String (Printf.sprintf "%i %s %s %s %s" a b c d e)) l)))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue