View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000979 | luatex | luatex bug | public | 2016-06-20 19:24 | 2016-07-19 16:47 |
Reporter | oberdiek | Assigned To | Hans Hagen | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Fixed in Version | 0.97.0 | ||||
Summary | 0000979: Invalid PDF file, if font name contains spaces | ||||
Description | The font din1415e.ttf (http://www.modell-bahn-tipps.de/DIN1451.zip) does not contain a PostScript name: $ otfinfo –i din1451e.ttf: Family: DIN 1451 Engschrift Subfamily: Regular Full name: DIN 1451 Engschrift Unique ID: DIN 1451 Engschrift and the font name contains spaces. Then LuaTeX $ luatex --version This is LuaTeX, Version 0.95.0 (TeX Live 2016/Cygwin) creates an invalid PDF file. The test file for LuaTeX and format plain: % arara: luatex \nopagenumbers \protected\edef\pdfcompresslevel {\pdfvariable compresslevel} \protected\edef\pdfobjcompresslevel {\pdfvariable objcompresslevel} \pdfcompresslevel=0 \pdfobjcompresslevel=0 \input luaotfload.sty \font\foo = file:din1451e.ttf \foo Hello World\bye Evince (Windows port, 2.32) complains with lots of error messages like: Error (5457): Dictionary key must be a name object Sumatra 3.1.1 reports: - pdf-parse.c:436: skipping invalid key in dict warning: ... repeated 6 times ... The invalid dictionary object is: 9 0 obj <</Type/FontDescriptor/FontName/QXQAAR+DIN 1451 Engschrift/Flags 4/FontBBox[0 -190 1000 667]/Ascent 667/CapHeight 667/Descent -190/ItalicAngle 0/StemV 86/XHeight 476/FontFile2 8 0 R/CIDSet 7 0 R>> endobj Reformatted: 9 0 obj << /Type/FontDescriptor /FontName/QXQAAR+DIN 1451 Engschrift /Flags 4 ... >> endobj The value for key "/FontName" should be "/QXQAAR+DIN1451Engschrift" or "/QXQAAR+DIN#201451#20Engschrift" without explicit spaces. Also the font stream contains an error: %!PS-Adobe-3.0 Resource-CMap ... /CMapName /TeX-Identity-QXQAAR-DIN 1451 Engschrift def Again, there should be one name token between "/CMapName" and "def" and the two spaces removed or replaced by "0000020". If the font file is passed through fontforge, then fontforge sets the PostScript name with the font name, where the the spaces are removed. | ||||
Steps To Reproduce | 1. Font download: http://www.modell-bahn-tipps.de/DIN1451.zip 2. The the font archive is unpacked: unzip DIN1451.zip 3. Test file 'test.tex' as already given in the description is created. 4. Running LuaTeX: luatex test => test.pdf is generated without error or warning, but invalid dictionary object. | ||||
Tags | No tags attached. | ||||
|
|
|
Confirmed. |
|
will be fixed in the font loader (which is supposed to pass a valid psname and we don't want to end up in double escaping mes) |
|
fixed in (otf) font loader |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-06-20 19:24 | oberdiek | New Issue | |
2016-06-20 19:24 | oberdiek | File Added: test.tex | |
2016-06-20 20:31 | luigi scarso | Note Added: 0001620 | |
2016-06-20 21:10 | Hans Hagen | Note Added: 0001621 | |
2016-07-19 16:46 | Hans Hagen | Note Added: 0001622 | |
2016-07-19 16:46 | Hans Hagen | Status | new => closed |
2016-07-19 16:47 | Hans Hagen | Assigned To | => Hans Hagen |
2016-07-19 16:47 | Hans Hagen | Resolution | open => fixed |
2016-07-19 16:47 | Hans Hagen | Fixed in Version | => 0.97.0 |