public virtual void EventOccurred(IEventData data, EventType type)
 {
     if (type.Equals(EventType.RENDER_TEXT))
     {
         TextRenderInfo renderInfo = (TextRenderInfo)data;
         if (firstTextRenderInfo == null)
         {
             firstTextRenderInfo = renderInfo;
             firstTextRenderInfo.PreserveGraphicsState();
         }
         IList <TextRenderInfo> subs = renderInfo.GetCharacterRenderInfos();
         for (int i = 0; i < subs.Count; i++)
         {
             TextRenderInfo charInfo = subs[i];
             glyphWidth = charInfo.GetBaseline().GetLength();
         }
     }
 }