Files
QWERTYkez.OpenXmlProcessors/QWERTYkez.ExcelProcessor/Editors/RunFormat.cs
2026-06-05 15:58:03 +07:00

70 lines
2.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
namespace QWERTYkez.ExcelProcessor.Editors;
/// <summary>
/// Определяет форматирование отдельного фрагмента (Run) внутри ячейки с богатым текстом.
/// Применяется только к тексту внутри <see cref="ICellText"/>.
/// </summary>
public readonly struct RunFormat
{
/// <summary>Жирное начертание фрагмента.</summary>
public bool? IsBold { get; init; }
/// <summary>Курсив фрагмента.</summary>
public bool? IsItalic { get; init; }
/// <summary>Стиль подчёркивания (одинарное, двойное, волнистое и т.д.).</summary>
public UnderlineStyle? Underline { get; init; }
/// <summary>Одинарное зачёркивание.</summary>
public bool? IsStrike { get; init; }
/// <summary>Цвет текста фрагмента.</summary>
public ExColor? Color { get; init; }
/// <summary>Размер шрифта фрагмента в пунктах.</summary>
public double? FontSize { get; init; }
/// <summary>Имя шрифта фрагмента (например, "Calibri").</summary>
public string? FontFamily { get; init; }
/// <summary>Вертикальное смещение (надстрочный или подстрочный).</summary>
public VerticalTextRunAlignment? Vertical { get; init; }
/*
методы для извлечения OpenXmlElement или других более удобных типов
public bool TryExtract(out List<...> elements);
или
public bool TrySetFor(InlineString str)
или
public bool TrySetFor(ExcelRun str)
*/
}
/// <summary>Определяет стиль подчёркивания текста в ячейке или в части текста (Run).</summary>
public enum UnderlineStyle
{
/// <summary>Одинарное сплошное подчёркивание.</summary>
Single,
/// <summary>Двойное сплошное подчёркивание.</summary>
Double,
/// <summary>Одинарное подчёркивание, используемое для бухгалтерских форматов (нижняя граница ячейки).</summary>
SingleAccounting,
/// <summary>Двойное подчёркивание для бухгалтерских форматов.</summary>
DoubleAccounting
}
/// <summary>Вертикальное смещение текста внутри прогона (Run) надстрочный или подстрочный.</summary>
public enum VerticalTextRunAlignment
{
/// <summary>Надстрочный текст (верхний индекс).</summary>
Superscript,
/// <summary>Подстрочный текст (нижний индекс).</summary>
Subscript
}