Exemplo n.º 1
0
 internal static void Register(PDF pdf, Font font, Stream inputStream)
 {
     font.name               = DejaVuLGCSerif.name;
     font.unitsPerEm         = DejaVuLGCSerif.unitsPerEm;
     font.bBoxLLx            = (float)DejaVuLGCSerif.bBoxLLx;
     font.bBoxLLy            = (float)DejaVuLGCSerif.bBoxLLy;
     font.bBoxURx            = (float)DejaVuLGCSerif.bBoxURx;
     font.bBoxURy            = (float)DejaVuLGCSerif.bBoxURy;
     font.ascent             = (float)DejaVuLGCSerif.ascent;
     font.descent            = (float)DejaVuLGCSerif.descent;
     font.capHeight          = (float)DejaVuLGCSerif.capHeight;
     font.firstChar          = DejaVuLGCSerif.firstChar;
     font.lastChar           = DejaVuLGCSerif.lastChar;
     font.underlinePosition  = (float)DejaVuLGCSerif.underlinePosition;
     font.underlineThickness = (float)DejaVuLGCSerif.underlineThickness;
     font.compressed_size    = DejaVuLGCSerif.compressed_size;
     font.uncompressed_size  = DejaVuLGCSerif.uncompressed_size;
     font.advanceWidth       = FastFont.DecodeRLE(DejaVuLGCSerif.advanceWidth);
     font.glyphWidth         = FastFont.DecodeRLE(DejaVuLGCSerif.glyphWidth);
     font.unicodeToGID       = FastFont.DecodeRLE(DejaVuLGCSerif.unicodeToGID);
     FastFont.EmbedFontFile(pdf, font, inputStream);
     FastFont.AddFontDescriptorObject(pdf, font);
     FastFont.AddCIDFontDictionaryObject(pdf, font);
     FastFont.AddToUnicodeCMapObject(pdf, font);
     pdf.Newobj();
     pdf.Append("<<\n");
     pdf.Append("/Type /Font\n");
     pdf.Append("/Subtype /Type0\n");
     pdf.Append("/BaseFont /");
     pdf.Append(font.name);
     pdf.Append('\n');
     pdf.Append("/Encoding /Identity-H\n");
     pdf.Append("/DescendantFonts [");
     pdf.Append(font.GetCidFontDictObjNumber());
     pdf.Append(" 0 R]\n");
     pdf.Append("/ToUnicode ");
     pdf.Append(font.GetToUnicodeCMapObjNumber());
     pdf.Append(" 0 R\n");
     pdf.Append(">>\n");
     pdf.Endobj();
     font.objNumber = pdf.objNumber;
 }