internal virtual Object[] ConvertToBytesGid(String gids) { if (fontType != BaseFont.FONT_TYPE_TTUNI) { throw new ArgumentException("GID require TT Unicode"); } try { StringBuilder sb = new StringBuilder(); int totalWidth = 0; foreach (char gid in gids.ToCharArray()) { int width = ttu.GetGlyphWidth(gid); totalWidth += width; int vchar = ttu.GetCharFromGlyphId(gid); if (vchar != 0) { sb.Append(Utilities.ConvertFromUtf32(vchar)); } int gl = gid; if (!longTag.ContainsKey(gl)) { longTag[gl] = new int[] { gid, width, vchar } } ; } return(new Object[] { Encoding.GetEncoding(CJKFont.CJK_ENCODING).GetBytes(gids), sb.ToString(), totalWidth }); } catch (Exception e) { throw; } }