public FontStyleCacheItem(ExcelCellFontStyle style)
 {
     size       = style.Size;
     color      = style.Color == null ? null : new ColorCacheItem(style.Color);
     underlined = style.Underlined;
     bold       = style.Bold;
 }
Пример #2
0
        public uint AddFont(ExcelCellFontStyle style)
        {
            if (style == null)
            {
                return(0);
            }
            var cacheItem = new FontStyleCacheItem(style);

            if (cache.TryGetValue(cacheItem, out var result))
            {
                return(result);
            }
            if (stylesheet.Fonts == null)
            {
                var fonts = new Fonts {
                    Count = new UInt32Value(0u)
                };
                if (stylesheet.NumberingFormats != null)
                {
                    stylesheet.InsertAfter(fonts, stylesheet.NumberingFormats);
                }
                else
                {
                    stylesheet.InsertAt(fonts, 0);
                }
            }
            result = stylesheet.Fonts.Count;
            stylesheet.Fonts.AppendChild(cacheItem.ToFont());
            stylesheet.Fonts.Count++;
            cache.Add(cacheItem, result);
            return(result);
        }