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(); } } }