PDFsharp & MigraDoc Foundation https://forum.pdfsharp.net/ |
|
Debug.Assert "Bug in Checksum Algorithm" with embe https://forum.pdfsharp.net/viewtopic.php?f=3&t=410 |
Page 1 of 1 |
Author: | aule [ Mon Jun 16, 2008 6:56 pm ] |
Post subject: | Debug.Assert "Bug in Checksum Algorithm" with embe |
Hi, First of all: Thanks a lot for this great library! It works like a charm and I had up to this time just one problem which follows: I'm trying to embed a barcode font. If I do not embed the font everything works fine and the PDF is shown correctly on systems that have the barcode font installed. When I try to embed the font, I get the following Debug.Assert: Bug in checksum algorithm. at IRefFontTable.PrepareForCompilation() at FontImage.Compile() at FontImage.CreateFontSubSet(Dictionary`2 glyphs, Boolean cidFont) at PdfCIDFont.PrepareForSave() at PdfType0Font.PrepareForSave() at PdfFontTable.PrepareForSave() at PdfDocument.PrepareForSave() at PdfDocument.DoSave(PdfWriter writer) at PdfDocument.Close() // rest of stacktrace removed The relevant code: #if DEBUG // Check the checksum algorithm if (DirectoryEntry.Tag != TableTagNames.Head) { byte[] bytes = new byte[DirectoryEntry.PaddedLength]; Buffer.BlockCopy(this.irefDirectoryEntry.FontTable.fontImage.Bytes, this.irefDirectoryEntry.Offset, bytes, 0, DirectoryEntry.PaddedLength); uint checkSum1 = DirectoryEntry.CheckSum; uint checkSum2 = CalcChecksum(bytes); Debug.Assert(checkSum1 == checkSum2, "Bug in checksum algorithm."); <== THIS ASSERT FIRES } #endif It might be worth noting that TableTagNames.Head above contains "head" and DirectoryEntry.Tag contains "hhea" when this problem occurs. BTW, embedding a normal font like "Times New Roman" works fine. If you need anything more, please let me know! Regards Uwe EDIT: One more addition: If I ignore the assertion above the font seems to be embedded fine (I was able to open the PDF successfully on a system without the barcode fonts and the barcodes where visible) |
Page 1 of 1 | All times are UTC |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |