/**
* Gets the width of a <CODE>char</CODE> in normalized 1000 units.
* @param char1 the unicode <CODE>char</CODE> to get the width of
* @return the width in normalized 1000 units
*/
public override int GetWidth(int char1)
{
if (isType0)
{
if (hMetrics != null && cjkMirror != null && !cjkMirror.IsVertical())
{
int c = cjkMirror.GetCidCode(char1);
int v = hMetrics[c];
if (v > 0)
{
return(v);
}
else
{
return(defaultWidth);
}
}
else
{
int[] ws = null;
metrics.TryGetValue(char1, out ws);
if (ws != null)
{
return(ws[1]);
}
else
{
return(0);
}
}
}
if (cjkMirror != null)
{
return(cjkMirror.GetWidth(char1));
}
return(base.GetWidth(char1));
}