public override void Act() { _sut = new FontObject(_objectNumber, _fontName, _fontProperties.Name); _fontWidths = new Fontwidths(521, _sut); _sut.FontWidths = _fontWidths; _fontDescriptor = new FontDescriptor(621, _sut); _sut.FontDescriptor = _fontDescriptor; }
public FontObject AddFont(string name, Func<int> getNextObjectNumber) { var hash = name.GetHashCode(); FontObject font; if (!_fonts.ContainsKey(hash)) { font = FontFactory.CreateFont(getNextObjectNumber(), _nextFontNumber++, name); var fontDescriptor = new FontDescriptor(getNextObjectNumber(), font); font.FontDescriptor = fontDescriptor; var fontWidths = new Fontwidths(getNextObjectNumber(), font); font.FontWidths = fontWidths; _fonts.Add(hash, font); } else font = _fonts[hash]; return font; }