Beispiel #1
0
        public override void PrintBy(Printing.IPrinter printer)
        {
            Printing.PrinterMemento restoreStart = null;
            bool canAddEmphasisDots = CanAddEmphasisDots();

            if (canAddEmphasisDots)
            {
                restoreStart = printer.StorePositionAndFont();
            }

            _decoratee.PrintBy(printer);

            if (!canAddEmphasisDots)
            {
                return;
            }

            var restoreEnd = printer.StorePositionAndFont();

            {
                restoreStart();
                var baseFontSize = printer.FontSize;
                printer.LineFeed(-baseFontSize / 2 - correction);
                printer.Space(_decoratee.Offset);
                printer.PrintJapaneseLetter(sesami, baseFontSize);
            }
            restoreEnd();
        }
Beispiel #2
0
        public override void PrintBy(Printing.IPrinter printer)
        {
            printer.Space(_offset);
            var amount = _length - _offset;

            printer.PrintJapaneseLetter(_letter, amount);
        }