/// <summary> /// Try to append a special element on the line /// </summary> /// <param name='o'> /// o : the special character /// </param> public void AppendSpecialChar(PseudoCharacter o) { char [] escapechar = System.Text.ASCIIEncoding.ASCII.GetChars(new byte [] { 0x1b }); int l0 = linetext.Length; linetext += escapechar[0]; SetCharStyle(l0, l0 + 1, tm.currentStyleIdx); charadvances [l0] = o.width * tm.CurrentTextStyle.Size; charheights [l0] = o.height * tm.CurrentTextStyle.Size; // maybe be better for incremental layout ?? //charmetadata [l0] = System.Text.ASCIIEncoding.ASCII.GetString(TTFTextInternal.SerializeObject(o)); charmetadata [l0] = o; if (float.IsNaN(XmaxN) || float.IsInfinity(XmaxN)) { XmaxN = 0; } if (float.IsNaN(Xmin0) || float.IsInfinity(Xmin0)) { Xmin0 = 0; } }
/// <summary> /// Try to append a special element on the line /// </summary> /// <param name='o'> /// o : the special character /// </param> public void AppendSpecialChar(PseudoCharacter o) { char [] escapechar =System.Text.ASCIIEncoding.ASCII.GetChars(new byte [] { 0x1b}); int l0 = linetext.Length; linetext += escapechar[0]; SetCharStyle (l0, l0+1, tm.currentStyleIdx); charadvances [l0] = o.width*tm.CurrentTextStyle.Size; charheights [l0 ] = o.height*tm.CurrentTextStyle.Size; // maybe be better for incremental layout ?? //charmetadata [l0] = System.Text.ASCIIEncoding.ASCII.GetString(TTFTextInternal.SerializeObject(o)); charmetadata [l0] = o; if (float.IsNaN (XmaxN) || float.IsInfinity (XmaxN)) { XmaxN = 0; } if (float.IsNaN (Xmin0) || float.IsInfinity (Xmin0)) { Xmin0 = 0; } }