namespace QWERTYkez.ExcelProcessor.Editors; /// /// Определяет форматирование отдельного фрагмента (Run) внутри ячейки с богатым текстом. /// Применяется только к тексту внутри . /// public readonly struct RunFormat { /// Жирное начертание фрагмента. public bool? IsBold { get; init; } /// Курсив фрагмента. public bool? IsItalic { get; init; } /// Стиль подчёркивания (одинарное, двойное, волнистое и т.д.). public UnderlineStyle? Underline { get; init; } /// Одинарное зачёркивание. public bool? IsStrike { get; init; } /// Цвет текста фрагмента. public ExColor? Color { get; init; } /// Размер шрифта фрагмента в пунктах. public double? FontSize { get; init; } /// Имя шрифта фрагмента (например, "Calibri"). public string? FontFamily { get; init; } /// Вертикальное смещение (надстрочный или подстрочный). public VerticalTextRunAlignment? Vertical { get; init; } /* методы для извлечения OpenXmlElement или других более удобных типов public bool TryExtract(out List<...> elements); или public bool TrySetFor(InlineString str) или public bool TrySetFor(ExcelRun str) */ } /// Определяет стиль подчёркивания текста в ячейке или в части текста (Run). public enum UnderlineStyle { /// Одинарное сплошное подчёркивание. Single, /// Двойное сплошное подчёркивание. Double, /// Одинарное подчёркивание, используемое для бухгалтерских форматов (нижняя граница ячейки). SingleAccounting, /// Двойное подчёркивание для бухгалтерских форматов. DoubleAccounting } /// Вертикальное смещение текста внутри прогона (Run) – надстрочный или подстрочный. public enum VerticalTextRunAlignment { /// Надстрочный текст (верхний индекс). Superscript, /// Подстрочный текст (нижний индекс). Subscript }