[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1029168: fonts-urw-base35: Apache pdfbox cannot load fonts. Complains "Start marker missing"



> f> $ file *
> f> NimbusRoman-BoldItalic.t1: PostScript Type 1 font text
> f> (NimbusRoman-BoldItalic 1.00)
> f> n022004l.pfb:              PostScript Type 1 font program data
> f> (NimbusMonL-Bold 1.06)

> that eans that those t1 files are pfa rather than pfb.

I think that file(1) is wrong here.  The t1 files are binary (pfb), just
look into them using less the like.  There is a text header and than a
binary blob follows.

In contrast to this, text fonts (pfa) use hex encoding instead of 8bit
binary data.

I just tried out with
$ t1binary NimbusSans-BoldItalic.t1 foo.pfb
$ t1ascii NimbusSans-BoldItalic.t1 foo.pfa

And than have a look at the file sizes:
249527 foo.pfa
123322 foo.pfb
123308 NimbusSans-BoldItalic.t1

So converting t1 to pfb implies a minimal size change, while
converting it to pfa duplicates the size.

But the minimal size change seems to make file(1) program happy:

foo.pfa:                  PostScript Type 1 font text (NimbusSans-BoldItalic 1.10)
foo.pfb:                  PostScript Type 1 font program data
NimbusSans-BoldItalic.t1: PostScript Type 1 font text (NimbusSans-BoldItalic 1.10)

since the .pfb file has this little binary header:
00000000  80 01 91 03 00 00 25 21  50 53 2d 41 64 6f 62 65  |......%!PS-Adobe|
00000010  46 6f 6e 74 2d 31 2e 30  3a 20 4e 69 6d 62 75 73  |Font-1.0: Nimbus|
00000020  53 61 6e 73 2d 42 6f 6c  64 49 74 61 6c 69 63 20  |Sans-BoldItalic |
00000030  31 2e 31 30 0a 25 25 43  72 65 61 74 69 6f 6e 44  |1.10.%%CreationD|

which is missing in the .t1 file:
00000000  25 21 50 53 2d 41 64 6f  62 65 46 6f 6e 74 2d 31  |%!PS-AdobeFont-1|
00000010  2e 30 3a 20 4e 69 6d 62  75 73 53 61 6e 73 2d 42  |.0: NimbusSans-B|
00000020  6f 6c 64 49 74 61 6c 69  63 20 31 2e 31 30 0a 25  |oldItalic 1.10.%|
00000030  25 43 72 65 61 74 69 6f  6e 44 61 74 65 3a 20 54  |%CreationDate: T|

Maybe it would be an option to use t1binary to convert all the .t1
files and add the "80 01 91 03 00 00" header to make file(1) and
pdfbox happy?

Greetings
Roland


Reply to: