Better name for subperscripts

This commit is contained in:
Malo 2025-06-12 22:01:13 +01:00
parent 6ac77bc1d1
commit 3fd2570533
4 changed files with 9 additions and 8 deletions

View File

@ -420,7 +420,7 @@ pub fn apply_shift<'a>(
) {
let mut baseline = TextElem::baseline_in(styles);
let mut compensation = Abs::zero();
if let Some(scripts) = TextElem::subperscript_in(styles) {
if let Some(scripts) = TextElem::shift_settings_in(styles) {
let font_metrics = TextElem::font_in(styles)
.into_iter()
.find_map(|family| {

View File

@ -13,7 +13,7 @@ use typst_library::foundations::{Smart, StyleChain};
use typst_library::layout::{Abs, Dir, Em, Frame, FrameItem, Point, Size};
use typst_library::text::{
families, features, is_default_ignorable, variant, Font, FontFamily, FontVariant,
Glyph, Lang, Region, ScriptSettings, TextEdgeBounds, TextElem, TextItem,
Glyph, Lang, Region, ShiftSettings, TextEdgeBounds, TextElem, TextItem,
};
use typst_library::World;
use typst_utils::SliceExt;
@ -672,7 +672,7 @@ fn shape<'a>(
region: Option<Region>,
) -> ShapedText<'a> {
let size = TextElem::size_in(styles);
let script_settings = TextElem::subperscript_in(styles);
let script_settings = TextElem::shift_settings_in(styles);
let mut ctx = ShapingContext {
engine,
size,
@ -736,7 +736,7 @@ fn shape_segment<'a>(
base: usize,
text: &str,
mut families: impl Iterator<Item = &'a FontFamily> + Clone,
script_settings: Option<ScriptSettings>,
script_settings: Option<ShiftSettings>,
) {
// Don't try shaping newlines, tabs, or default ignorables.
if text

View File

@ -755,10 +755,11 @@ pub struct TextElem {
#[ghost]
pub smallcaps: Option<Smallcaps>,
/// The settings for superscripts or subscripts, if one of them is enabled.
/// The configuration for superscripts or subscripts, if one of them is
/// enabled.
#[internal]
#[ghost]
pub subperscript: Option<ScriptSettings>,
pub shift_settings: Option<ShiftSettings>,
}
impl TextElem {

View File

@ -153,7 +153,7 @@ fn show_script(
kind: ScriptKind,
) -> SourceResult<Content> {
let outer_text_size = TextElem::size_in(styles);
Ok(body.styled(TextElem::set_subperscript(Some(ScriptSettings {
Ok(body.styled(TextElem::set_shift_settings(Some(ShiftSettings {
typographic,
shift: baseline.map(|l| -l.to_em(outer_text_size)),
size: size.map(|t| t.0.to_em(outer_text_size)),
@ -163,7 +163,7 @@ fn show_script(
/// Configuration values for sub- or superscript text.
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
pub struct ScriptSettings {
pub struct ShiftSettings {
/// Whether the OpenType feature should be used if possible.
pub typographic: bool,
/// The baseline shift of the script, relative to the outer text size.