public override void WriteFontObject(TPdfStream DataStream, TXRefSection XRef) { XRef.SetObjectOffset(FontObjId, DataStream); TIndirectRecord.SaveHeader(DataStream, FontObjId); TDictionaryRecord.BeginDictionary(DataStream); TDictionaryRecord.SaveKey(DataStream, TPdfToken.TypeName, TPdfTokens.GetString(TPdfToken.FontName)); TDictionaryRecord.SaveKey(DataStream, TPdfToken.SubtypeName, FontType()); TDictionaryRecord.SaveKey(DataStream, TPdfToken.BaseFontName, GetFontName(Embed, Subset)); TDictionaryRecord.SaveKey(DataStream, TPdfToken.EncodingName, EncodingType()); long fc = FirstChar; if (fc < 0) { fc = 0; } TDictionaryRecord.SaveKey(DataStream, TPdfToken.FirstCharName, PdfConv.LongToString(fc)); TDictionaryRecord.SaveKey(DataStream, TPdfToken.LastCharName, PdfConv.LongToString(LastChar)); XRef.SetObjectOffset(FontDescriptorId, DataStream); TDictionaryRecord.SaveKey(DataStream, TPdfToken.FontDescriptorName, TIndirectRecord.GetCallObj(FontDescriptorId)); SaveWidths(DataStream); TDictionaryRecord.EndDictionary(DataStream); TIndirectRecord.SaveTrailer(DataStream); SaveFontDescriptor(DataStream, FontDescriptorId, XRef, Embed, Subset); }
public static string ToString(int[] Source, bool AddBrackets) { StringBuilder Result = new StringBuilder(); if (AddBrackets) { Result.Append(TPdfTokens.GetString(TPdfToken.OpenArray)); } for (int i = 0; i < Source.Length; i++) { Result.Append(PdfConv.LongToString(Source[i])); if (i < Source.Length - 1) { Result.Append(" "); } } if (AddBrackets) { Result.Append(TPdfTokens.GetString(TPdfToken.CloseArray)); } return(Result.ToString()); }
public static void SaveKey(TPdfStream DataStream, TPdfToken Tk, int Value) { SaveKey(DataStream, Tk, PdfConv.LongToString(Value)); }