//for offset protected AtomicFragment(AtomicFragment other, float lengthIncrease) : this( new GlueProperty( other.BeforeGlue.Length + lengthIncrease, other.BeforeGlue.Stretch, other.BeforeGlue.Shrink ), other.ContentLength, other._textEmphasysDot ) { }
public BasicFragmentString Offset(float lengthIncrease) { if (_fragments.Length == 0) { //本当はおかしいが、空でないとも限らない Console.WriteLine("WARN: 空のフラグメントをオフセットしようとしました"); return(this); } var newFragments = new AtomicFragment[_fragments.Length]; newFragments[0] = _fragments[0].Offset(lengthIncrease); for (int i = 1; i < newFragments.Length; ++i) { newFragments[i] = _fragments[i]; } return(new BasicFragmentString(newFragments)); }
private static AtomicFragment PrependSpace(AtomicFragment source, float length) { return(source.Offset(length)); }