From: Julien Rioux Date: Sat, 13 Jul 2013 14:10:27 +0000 (+0200) Subject: Fix JPEG format detection X-Git-Tag: 2.1.0beta1~12 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=096204e23fb9a366e7508d93432a70efcd56e212;p=features.git Fix JPEG format detection Detect JPEG files using the magic number FF D8 (so-called SOI marker) instead of the string JFIF, which does not appear in all JPEG files. --- diff --git a/src/Format.cpp b/src/Format.cpp index 485715b6e3..1ee64116ff 100644 --- a/src/Format.cpp +++ b/src/Format.cpp @@ -206,7 +206,7 @@ string guessFormatFromContents(FileName const & fn) // FIG #FIG... // FITS ...BITPIX... // GIF GIF... - // JPG JFIF + // JPG \377\330... (0xFFD8) // PDF %PDF-... // PNG .PNG... // PBM P1... or P4 (B/W) @@ -280,6 +280,9 @@ string guessFormatFromContents(FileName const & fn) } else if (stamp == "BM") { format = "bmp"; + } else if (stamp == "\377\330") { + format = "jpg"; + } else if (stamp == "\001\332") { format = "sgi"; @@ -335,9 +338,6 @@ string guessFormatFromContents(FileName const & fn) else if (contains(str, "Grace")) format = "agr"; - else if (contains(str, "JFIF")) - format = "jpg"; - else if (contains(str, "%PDF")) // autodetect pdf format for graphics inclusion format = "pdf6";