コード例 #1
0
 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;
     }
 }