private void PopulateOperators()
{
RegisterContentOperator(DEFAULTOPERATOR, new IgnoreOperatorContentOperator());
RegisterContentOperator("q", new PushGraphicsState());
RegisterContentOperator("Q", new PopGraphicsState());
RegisterContentOperator("cm", new ModifyCurrentTransformationMatrix());
RegisterContentOperator("gs", new ProcessGraphicsStateResource());
SetTextCharacterSpacing tcOperator = new SetTextCharacterSpacing();
RegisterContentOperator("Tc", tcOperator);
SetTextWordSpacing twOperator = new SetTextWordSpacing();
RegisterContentOperator("Tw", twOperator);
RegisterContentOperator("Tz", new SetTextHorizontalScaling());
SetTextLeading tlOperator = new SetTextLeading();
RegisterContentOperator("TL", tlOperator);
RegisterContentOperator("Tf", new SetTextFont());
RegisterContentOperator("Tr", new SetTextRenderMode());
RegisterContentOperator("Ts", new SetTextRise());
RegisterContentOperator("BT", new BeginTextC());
RegisterContentOperator("ET", new EndTextC());
RegisterContentOperator("BMC", new BeginMarkedContentC());
RegisterContentOperator("BDC", new BeginMarkedContentDictionary());
RegisterContentOperator("EMC", new EndMarkedContentC());
TextMoveStartNextLine tdOperator = new TextMoveStartNextLine();
RegisterContentOperator("Td", tdOperator);
RegisterContentOperator("TD", new TextMoveStartNextLineWithLeading(tdOperator, tlOperator));
RegisterContentOperator("Tm", new TextSetTextMatrix());
TextMoveNextLine tstarOperator = new TextMoveNextLine(tdOperator);
RegisterContentOperator("T*", tstarOperator);
ShowText tjOperator = new ShowText();
RegisterContentOperator("Tj", new ShowText());
MoveNextLineAndShowText tickOperator = new MoveNextLineAndShowText(tstarOperator, tjOperator);
RegisterContentOperator("'", tickOperator);
RegisterContentOperator("\"", new MoveNextLineAndShowTextWithSpacing(twOperator, tcOperator, tickOperator));
RegisterContentOperator("TJ", new ShowTextArray());
RegisterContentOperator("Do", new Do());
}