-/////////////////////////////////////////////////////////////////////////
-//
-// ScriptChanger
-//
-/////////////////////////////////////////////////////////////////////////
-
-Styles smallerScriptStyle(Styles st)
-{
- switch (st) {
- case LM_ST_DISPLAY:
- case LM_ST_TEXT:
- return LM_ST_SCRIPT;
- case LM_ST_SCRIPT:
- case LM_ST_SCRIPTSCRIPT:
- default: // shut up compiler
- return LM_ST_SCRIPTSCRIPT;
- }
-}
-
-
-ScriptChanger::ScriptChanger(MetricsBase & mb)
- : StyleChanger(mb, smallerScriptStyle(mb.style))
-{}
-
-
-/////////////////////////////////////////////////////////////////////////
-//
-// FracChanger
-//
-/////////////////////////////////////////////////////////////////////////
-
-Styles smallerFracStyle(Styles st)
-{
- switch (st) {
- case LM_ST_DISPLAY:
- return LM_ST_TEXT;
- case LM_ST_TEXT:
- return LM_ST_SCRIPT;
- case LM_ST_SCRIPT:
- case LM_ST_SCRIPTSCRIPT:
- default: // shut up compiler
- return LM_ST_SCRIPTSCRIPT;
- }
-}
-
-
-FracChanger::FracChanger(MetricsBase & mb)
- : StyleChanger(mb, smallerFracStyle(mb.style))
-{}
-
-
-/////////////////////////////////////////////////////////////////////////
-//
-// ArrayChanger
-//
-/////////////////////////////////////////////////////////////////////////
-
-ArrayChanger::ArrayChanger(MetricsBase & mb)
- : StyleChanger(mb, mb.style == LM_ST_DISPLAY ? LM_ST_TEXT : mb.style)
-{}
-
-
-/////////////////////////////////////////////////////////////////////////
-//
-// ShapeChanger
-//
-/////////////////////////////////////////////////////////////////////////
-
-ShapeChanger::ShapeChanger(FontInfo & font, FontShape shape)
- : Changer<FontInfo, FontShape>(font)
-{
- save_ = orig_.shape();
- orig_.setShape(shape);
-}
-
-
-ShapeChanger::~ShapeChanger()