From bfa9962632dd3c2e9110f9c3667d7e3cf6b133d4 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Thu, 2 Dec 2021 14:48:12 +0100 Subject: [PATCH] Remove baseline weirdness --- src/frame.rs | 24 ++++++++++++++++------- src/geom/point.rs | 9 +++------ src/geom/spec.rs | 5 +++++ src/library/flow.rs | 22 ++++++--------------- src/library/pad.rs | 1 - src/library/par.rs | 33 +++++++++++++++----------------- src/library/text.rs | 4 ++-- tests/ref/elements/circle.png | Bin 18782 -> 18873 bytes tests/ref/elements/image.png | Bin 185125 -> 211019 bytes tests/ref/elements/square.png | Bin 6565 -> 6585 bytes tests/ref/layout/aspect.png | Bin 3618 -> 3601 bytes tests/ref/layout/containers.png | Bin 5201 -> 5194 bytes tests/ref/text/baseline.png | Bin 0 -> 886 bytes tests/typ/elements/image.typ | 4 ++++ tests/typ/layout/aspect.typ | 12 ++++-------- tests/typ/text/baseline.typ | 4 ++++ 16 files changed, 60 insertions(+), 58 deletions(-) create mode 100644 tests/ref/text/baseline.png create mode 100644 tests/typ/text/baseline.typ diff --git a/src/frame.rs b/src/frame.rs index e02fdf46a..b0442a06d 100644 --- a/src/frame.rs +++ b/src/frame.rs @@ -14,8 +14,9 @@ use crate::image::ImageId; pub struct Frame { /// The size of the frame. pub size: Size, - /// The baseline of the frame measured from the top. - pub baseline: Length, + /// The baseline of the frame measured from the top. If this is `None`, the + /// frame's implicit baseline is at the bottom. + pub baseline: Option, /// The elements composing this layout. pub elements: Vec<(Point, Element)>, } @@ -25,7 +26,12 @@ impl Frame { #[track_caller] pub fn new(size: Size) -> Self { assert!(size.is_finite()); - Self { size, baseline: size.y, elements: vec![] } + Self { size, baseline: None, elements: vec![] } + } + + /// The baseline of the frame. + pub fn baseline(&self) -> Length { + self.baseline.unwrap_or(self.size.y) } /// Add an element at a position in the background. @@ -64,15 +70,19 @@ impl Frame { aligns.y.resolve(target.y - self.size.y), ); self.size = target; - self.baseline += offset.y; self.translate(offset); } } - /// Move the contents of the frame by an offset. + /// Move the baseline and contents of the frame by an offset. pub fn translate(&mut self, offset: Point) { - for (point, _) in &mut self.elements { - *point += offset; + if !offset.is_zero() { + if let Some(baseline) = &mut self.baseline { + *baseline += offset.y; + } + for (point, _) in &mut self.elements { + *point += offset; + } } } diff --git a/src/geom/point.rs b/src/geom/point.rs index 30e3f9b6b..ab8f4439f 100644 --- a/src/geom/point.rs +++ b/src/geom/point.rs @@ -35,12 +35,9 @@ impl Point { Self { x: Length::zero(), y } } - /// Convert to the generic representation. - pub const fn to_gen(self, main: SpecAxis) -> Gen { - match main { - SpecAxis::Horizontal => Gen::new(self.y, self.x), - SpecAxis::Vertical => Gen::new(self.x, self.y), - } + /// Whether both components are zero. + pub fn is_zero(self) -> bool { + self.x.is_zero() && self.y.is_zero() } /// Transform the point with the given transformation. diff --git a/src/geom/spec.rs b/src/geom/spec.rs index 5d89c894f..40d7386bb 100644 --- a/src/geom/spec.rs +++ b/src/geom/spec.rs @@ -193,6 +193,11 @@ impl Size { self.x.fits(other.x) && self.y.fits(other.y) } + /// Whether both components are zero. + pub fn is_zero(self) -> bool { + self.x.is_zero() && self.y.is_zero() + } + /// Whether both components are finite. pub fn is_finite(self) -> bool { self.x.is_finite() && self.y.is_finite() diff --git a/src/library/flow.rs b/src/library/flow.rs index 9494d6c06..98b518b71 100644 --- a/src/library/flow.rs +++ b/src/library/flow.rs @@ -214,38 +214,28 @@ impl<'a> FlowLayouter<'a> { } let mut output = Frame::new(size); - let mut before = Length::zero(); + let mut offset = Length::zero(); let mut ruler = Align::Top; - let mut first = true; // Place all frames. for item in self.items.drain(..) { match item { FlowItem::Absolute(v) => { - before += v; + offset += v; } FlowItem::Fractional(v) => { - before += v.resolve(self.fr, remaining); + offset += v.resolve(self.fr, remaining); } FlowItem::Frame(frame, aligns) => { ruler = ruler.max(aligns.y); - - // Align horizontally and vertically. let x = aligns.x.resolve(size.x - frame.size.x); - let y = before + ruler.resolve(size.y - self.used.y); + let y = offset + ruler.resolve(size.y - self.used.y); let pos = Point::new(x, y); - before += frame.size.y; - - // The baseline of the flow is that of the first frame. - if first { - output.baseline = pos.y + frame.baseline; - first = false; - } - + offset += frame.size.y; output.push_frame(pos, frame); } FlowItem::Placed(frame) => { - output.push_frame(Point::with_y(before), frame); + output.push_frame(Point::with_y(offset), frame); } } } diff --git a/src/library/pad.rs b/src/library/pad.rs index 05cc30b7f..681da73eb 100644 --- a/src/library/pad.rs +++ b/src/library/pad.rs @@ -51,7 +51,6 @@ impl Layout for PadNode { // Grow the frame and translate everything in the frame inwards. let frame = Rc::make_mut(frame); frame.size = padded; - frame.baseline += offset.y; frame.translate(offset); // Set exact and base constraints if the child had them. Also set diff --git a/src/library/par.rs b/src/library/par.rs index c29e5f9ed..6abfa7af1 100644 --- a/src/library/par.rs +++ b/src/library/par.rs @@ -466,14 +466,18 @@ impl<'a> LineLayout<'a> { // Measure the size of the line. for item in first.iter().chain(items).chain(&last) { - match *item { - ParItem::Absolute(v) => width += v, - ParItem::Fractional(v) => fr += v, - ParItem::Text(ShapedText { size, baseline, .. }) - | ParItem::Frame(Frame { size, baseline, .. }) => { - width += size.x; - top.set_max(baseline); - bottom.set_max(size.y - baseline); + match item { + ParItem::Absolute(v) => width += *v, + ParItem::Fractional(v) => fr += *v, + ParItem::Text(shaped) => { + width += shaped.size.x; + top.set_max(shaped.baseline); + bottom.set_max(shaped.size.y - shaped.baseline); + } + ParItem::Frame(frame) => { + width += frame.size.x; + top.set_max(frame.baseline()); + bottom.set_max(frame.size.y - frame.baseline()); } } } @@ -496,9 +500,9 @@ impl<'a> LineLayout<'a> { let size = Size::new(self.size.x.max(width), self.size.y); let remaining = size.x - self.size.x; - let mut output = Frame::new(size); let mut offset = Length::zero(); - output.baseline = self.baseline; + let mut output = Frame::new(size); + output.baseline = Some(self.baseline); for (range, item) in self.reordered() { let mut position = |mut frame: Frame| { @@ -510,7 +514,7 @@ impl<'a> LineLayout<'a> { } let x = offset + self.par.align.resolve(remaining); - let y = self.baseline - frame.baseline; + let y = self.baseline - frame.baseline(); offset += frame.size.x; // Add to the line's frame. @@ -633,17 +637,10 @@ impl<'a> LineStack<'a> { let mut output = Frame::new(self.size); let mut offset = Length::zero(); - let mut first = true; for line in self.lines.drain(..) { let frame = line.build(ctx, self.size.x); - let pos = Point::with_y(offset); - if first { - output.baseline = pos.y + frame.baseline; - first = false; - } - offset += frame.size.y + self.leading; output.merge_frame(pos, frame); } diff --git a/src/library/text.rs b/src/library/text.rs index aac99e8a0..0790196d5 100644 --- a/src/library/text.rs +++ b/src/library/text.rs @@ -305,9 +305,9 @@ pub struct ShapedGlyph { impl<'a> ShapedText<'a> { /// Build the shaped text's frame. pub fn build(&self) -> Frame { - let mut frame = Frame::new(self.size); let mut offset = Length::zero(); - frame.baseline = self.baseline; + let mut frame = Frame::new(self.size); + frame.baseline = Some(self.baseline); for (face_id, group) in self.glyphs.as_ref().group_by_key(|g| g.face_id) { let pos = Point::new(offset, self.baseline); diff --git a/tests/ref/elements/circle.png b/tests/ref/elements/circle.png index e5a38e280da9f8e8d0821a9bc8eaed618c02aad7..931debd07bdfaf95aa5520bbee6d3e3f4fef96ca 100644 GIT binary patch delta 18497 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 diff --git a/tests/ref/elements/image.png b/tests/ref/elements/image.png index 2385d8200c3009732bb1679419697a384c12d1d9..92c68e291056aee902729f0219b3b48915eb70f7 100644 GIT binary patch delta 35605 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 JY;!02{{W{Op*8>j diff --git a/tests/ref/elements/square.png b/tests/ref/elements/square.png index 9663015f96a05f8eb9fdd2fad992aab617a32fdb..86bc1ff5d0e9365d8d2a26d2251a60c327d1b237 100644 GIT binary patch literal 6585 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

?zoLbB5j>FH-G9!9gRt8eZz zOHdx1PtvCV97m>oz8}TLKKC5%CMZTG>Wf%vDm;#zkPylsTM{*bkSy0zN@z#D&B#2J z=4PhJ$os3yp$)Kew1zGwCUZ`<}S{Ep52&UxO=w{;#${wSAOC#zsh9EvfWK z_f+7|x&CP^I}b8vn5d6@==t-vl*dw7!oufsd`8<7U=*FyS@S7PFUx^KLOaz)jIzb) zdA@>5<>ULCZc@HRJ03ver=);0&kYO3UFRvC?qf{ki&75n!5vkfGjcJDwJPgM%bx|8 zsd^C?8d->*XyGY;8K7FX19teHWE2nbL)|{pFLp%U%kC;cTCN`31lhwzOY&%8bah)G zLkTnLd^-o8Or6F3Sh1Y&Xy*0VOl}$Q_oi?F5K<{&5J7}&=%lwkXsxx_*q$#4ux^zP z(PQX;{0C1Uw{uSP-GFz28Vp-*FY4 zyqsyEe36n=GZk!1c15S%Kiois{0yi~Z0b~i>8RJN>M^-x1gK}uDW@*C*G1y8o>@32 z>Ghamn!A2;Yv5NtP1}=?-U!I{!!bAj<}{O2ql9S9{~`*EX>mS#m37cs4OB1i$0iD= z(6nfKMMf<$bLBnb{HlKvl!g>2a6W5@OwhH8^xNx9)O{0A(`D18@#z&*HgTxq$j5L) z1Rs3YE%Yn9tnYtm2_BhN1sKON)e^t{-7Wj46!_c$*xpP)+gX~S%6LRq+UZ~CXQ0IN z_7TO(9!+27!=0nBS@W$pJoFa-g?WvU#Af@Cst1ckT><6+BBGG7gC@jPZEEbbOJjbGP&8y43Y3 zgY=)0XZvZ$1s(9IKyZpG$;1_TQmHfl?v7P9*ofE*P65P;V7ztI`ok-6{dV z3*rmmaVq#TK*2BQSZ?VryYy)+q;tYDqu7hjtYyqPUugg-P%Y3%1UsojX;Q`Z(r#Kn|W@M|!_SYHeEZ$z@ySnN7WX6#wFCDEE$f8fBd%GHYBd;Yf` z{+qLTxI-SFOlH1Ne-|1Fk#+4Dc2%$E1M+2!Fb6vu;;38Btmlm=@U76|oTkfIN@sdk zZlX)GkcM!`0A+W~6Gc0A6CRn5Hq}$ehM_2p7R}N3pYDhu_nq5>pymGhA8`wEcsBc= zp;t37RX|#eqfAzdV}&a-gf7FGV=!Fc_Sw_~3mgYDtnc-9WenT%SxjPXd61Q%1gA+| zE~rR0=8y0S9E6SsLHs!m~$z=K8gtKu`;9rFuNqL z%n3bjUZD(T-YIHX+0+^lkIZO8RmE=_byQ9z?>yNi;H4R}Wg@Av&Irs=D>uzBwV=EeJ z@Z=i21WdwYI7QJy-1-h(>o8Qv!8PP%3Gqiz8=y;Tym?lT`c(~DesrfSL5#4l`B(bT z`_35ZxFfA_PD^d#tFf+^4TDU^$!hd={(WrA;k-yGq9Z* zJ)%L0L9#(o^N2~h^6$R_amLbXQ}r39-JdlyONW@ldtH`Dn%IX7_@~A@^UZw(Np$@+ zQ|)Vi(2#c{6_j?Da$;*Gadx9|f^fSVx`jjjx( zt2CIqiyhMSyw}HlmPt)Ls_SKn{z-iBwxWRt<|}TWq%QMGYM8`Ln;a%-M*^ z!TrZa623$OY``>I3exP;=&5?DrfUf}e}%G+dn)+qB){O+CPZ8?L>xKAjNojZXn-;zkV}2GDslL^WwOB$ z_lL78alU1?^BgK5M7=GRDFNv}QSJ6XCghhkRd^ zZuJLbOx(Y2m=_T)9V0kg41iDk$6f7@)*1UZmi{)~P(p>5v~$o~MrByK4H diff --git a/tests/ref/layout/aspect.png b/tests/ref/layout/aspect.png index 62f17ba4f540655a60a115e3d11af528b4b78f11..f76b49802e1753c431f0563a4ad6ff4633c7df51 100644 GIT binary patch delta 3156 zcmY+Gc{J4PAIHDnG3sld$&zI-lci*0NVW!Jr70e4TB8HZEkfh zQX)%=WDH^M*rHH0!!Jv+%v@6v%1^(0@9%eh&p*#|p3mnz&pGe&Iq&!D4k`!5$lM?4 zvd{kK^Ka+hjhwstL`AYsFXTQ1#^Ksc>p!ov611w?FR7h7(0@Bi)>R>YC)=QqNqZ6! z86~`^OGCpkkUd01q#$}^=lU8H$UkgzP7^pi75s0mJW#s<<{{j;`Q(0wDBUWYimjCCX#j<-e32&H4;;J#;49oc8@3Z z`DNt`fybEInpgKAO@n})`j56TbXTKdNSkj59b-hj5iWcC)L!4iPh@~%LqMc!gFPG52~IeS#2btiDrilaC2Dmu5!EJ=MZ34?7k&rE z&S#nh6oJl#;2B)hgNQ5TdnmZ3q&OPRm8BK36EN_smGr1xz6P*O9bW^0IMjqLOE3w) zr!Vqh2D)6mBVqIc1=fnDtFgS6i!VB=vDu?a#E6QzK{n3K0bi}gsdd?+vUTuySUqjb z5WoRN<J=7kShA|Wj81=xSYk|PAs+M34r-iJXq>?4i{_!}CdS#kd z2xF^qo@4Y*5UL10yudDrv_D%DLgcVF3x0C$7fBGdyscLNF9BplRT*FqzzwPc+_=_P zB|x8wab{Gr?2`9-#M`0@47#~iuo~$peyjPuDR-FFKKsf|`NuR;5S-%>d)$Mm9r)Fj zq8MZhIrH5y&9dC_<&HTykb7CzTj(?HGntgThHE6^oO0c?d>3F0rCX@|HCy3m?asv1 zXU=QWc!syrGWuqt6!QU#e{sYb=I@?-JyoHMn{9*kv9wKOE14WFlfba8M93JnLbOjjefu?3F&c)N|rX$WMpsJu}R{$@Q=Ze)`!ZU zElQnzdj|B#z3`}^n?^7CkxPP~0EQ~NZm1LF2Na<*%enN8&a#K(@z5>rK0D=}*slCk zg~~0Vm^G*D`sNJ*#ZB({weS*MAs;+pPWfe;g(mrGRcwxu%8+9-^u6GgTM^JTdB8d& z{FzOY4UxV4K^HbLZGtkVhG!0`dD(}Y2Iwkra>JF)4N|vLU-g6D$xBw1f6k59Bi4f9 zJc~k4ncXBH<-08Cyc~{?u27kCdjL@*VKDHN&Wv1%I4Lfb4*WV5%3U}YHcC0UwhO-e z^}dR0JQ^QQirw9`JfG9w04?it?v%Q!9Zi@Mc|&F8>zAlS1>3uAG`$kHY48+xuxs&@ zd;SdqEo?g-7boNQ`eLmA)e0RTbhXT{kRP-dGz$U#_>9F=&mB*_yf4XtW!!~`=TZl( z7-3EI${H|WB=_B_+g)cnqILiFOW=5wdjiW3IcdXPxVv`N5+xrw8I7LVg^=VN56l8i zeO^vT@vCsHQUXO`%0i)B&EaWvVN>Oa9RK+{)TJLjufj3bnXCK9{(tycfI%9)d!w|K zvb+n9{iQR;GF*Awd$->dYu{q3ZJutUxP!ITiDaG`_&vb$oW;IY?sHR4zaU=R`{e>^ zHrZO#=CzAUt~R9A>U@iE&Tq>MlMKvO#Apxq8rm^lO>pNV$6t2&4(Ak<6}26Q2%kfO zj2VyTPL|7rVUjgd__cnUyxvL^S3b*9A_pq-A7E5y2H3AdyT1)YcZZ6i(RdkG`H4rd z8{OC|2Zg0jgtsH`F&H@nlH?!#d@&9|*RyX+#x`-Rp>u~&#YbSDI?@m)57-(?W$exr z!$FS@OANMQXBk<|qB5-t=XR(g_CDmA-ecTN{ag<5Og|}wUA%Ek0{oVHKkdx#_+KBP zm3qrLN;&u~>2(Vxw!9Fi5W~DurNXHhDFez$?OkCQ;QUgoUNF`|agexintW4pqXLcA z)V8_6x)a?Iljx%is)Z&b_Zd$(V2859bnuC=^$$0`nIjpGCpw;)j#XSOwW9=DU(AE1yYos_RvQwcYXD1(JJ915bu)TYXw&!6(-qSx<=YZ2R2MUyoqY-#;%{ z)!S9f;zW0tdVI%lO0MPw$f{yC#Ve@(y&u)E9XCu-zRK6gV zj{i6IegK1#z42M;yhF08l;%u8S6kD?*LLdB(fMdJSGfuG?#Cm$AC}`i;(HlT<~_e5bYR1+)8HBbu*dOiZjf7(UKDI|gQ*@+PrKLwS?; zbq;`~4zy$JB~%*GeWefYaqSuWqK?Di0)wE4&mSS2=FO;B;D929IOxqkW#LL(i?PgN zwJruda@_gd2u8i~&8;-Jeb!>6`%d&oSlJ4#=2fH-6MMtXkzkt5QE=4d4g-mqOw-Ho+9rHBbad zYOuRAB;!}Jhlqv2))I_IP5Zm{@7c4t`8T&FCF0piayW2JEYYZc&3*c58rZ5gQ?g;b z3^Cp>HbDN@TeIjJE7?!w8O8_hs~f_)EQPN|&Gu8O#bT|VfrOTBPx~8~!D#VexKd5J zTWi^HZ$taPj?c6{u~sTR$xUDKq|NxJ!>FIOw1Ytt2Fa72L9A`D#jMI(-8tl9hu?+h zLUYus>+DiFr(0Pl&b`)RVi0RaeeZAU_UhgZH(40A*{S$sI}|@#)6VZ`sZD}`Kt5y9 zY}CoedP*n5^Xs&z6fa(CSUG|OCNL>HY*J=4nKT|LzbBLvGZ=kKv-v6j9Gh(V@;Z48 zo;So#5>8cUxr{e`anmwvIf!_CY=f|j@_MBs~PwHb}s%0YpI#c126Zlr(q^xbzdu$ZOH=>&Sz zDPfXUd>W%_6Jy{VdLkAW#d?cM5X9S(A726#!roD|Ps!ZOeBgbE`6Fk=wbW*md`9bd z=frN#p1j!Z6tj#fFoGZ=B))5VHx(e*2}`uIb4+CWSll~zSg~kdE*P1iX|-~hXverL z+7&G^mK1WCOoeq%n96M`WHE$>%H{Fwd7gcqbDr~j&-tA5`RDsNpYuJh^ZveWY5tBHDCJ_0%|8uVoI&4>&3z z=XZ*m*eo~;1w(@lpd&m9PC9K0D6I()utdCNfS$u^Z|5Y$e z)_zPKuSXd@lejKWq@iuhleXUaMmlk|7TY?r;1D$i%OEL|CnqW={%bl5#kz_=yD&rwnp`dU!8G369sNM}hwtY>>CsG(V=A9}6{{i@l5MT6bv@)Yxqsk}j|t@B z;7J5GEI=}37NmrxC=`V}@ZBDXv`!9#AE5+rzPYyY8eYFl)B>aq`%- zz#MfVyQkmy62V5wu`a@XSge}3o3m{p~qu9V>@yo5;l&&##iWKp4-3>VDa zOUJ4CH5YgjRNvt<)fKakkTveC?Bk4DhmG$Oc98Fs#Zae^!6!34#re{h=@%)Xg*mq9 zI?hVRpofRDU+7i?5;l=GS2C~yvGN|GXoFKviRRyp@@qz=lJL=Wmx^v^NG{KUOngoK ze&apN-?Z*lsU%e}QhE3pYC;c!jZ(vJV27 zdNU#}`zjPQlUG@5-&4GbD}AzjR*VJ=^6-yIODk`{k0FU=ho6FsciI3g7~{z;lf^u@ zAKUYO@6XQtYTSJ-$-qGJS+^@*H^^gg8Hd4|72Bh#z+U5A71uqDF2Kau?@j>x(7;rJ z3|q1aXZNJ(-m3Yc$~vkH3eC{Gn_0f$r!vD4@VB(|4?GJgkPy>pX>P zj#$JyDj9wj3b=v_>K<2y24<-gbfYE~L)iIm-XDUw$O;Ll+h?RScW{rdt2?S<8q>N9 z9uIzjRLwDv5b4?Fm^5=%6}2i<3$DptjMvI!hQyN?t7(ZlNT1q3g61b%R$Jg;yei~I z#M%yfl^&|Lp>9YZ%v{_E3CTAHe(6jZ3INW&=!L(=$;4$$RL@PC8Mds;0Ur{qgX3OG ztMoA{9zPVl{&1SL*wW-jES;;g--}nHS>*%`! z=NlLYU?|%7{QU*A#Tb3OFQ}PL!iW?5w0ZKP$6?|bd!$U6)(0ilW(*Y+z4%7oaJw4- z2li!(X);y-=i{Q#mcARtFI4O|GGg$o1eKCMI_*l!sqRQMo?V*0R_hWvGLpI&OJ&wI+k)5w7T3s=q)r%I&DW?^XW~q z`5XZP6Vsy}8F+352Iz0ho0&i4*vV6cOy-xmKf|76)nZb;v(r}}db&P72NR0MK>m_L z?Czly93gFeMeY0+SMSzrf*Te+POwF4{giTckT)ZUZZVYY`s9t6L2m!tzH2FDPsxBGuaJvD^~ zEN7-I^a|%L*{rRMSyULK+4f?iaZ{Nn&G>;fAgX!Qx1R%lq1Jvbu}nJi32=@Ibe4_m zfWp;L)P1+4;?plAS)>?>SCfGEVl$r?2sKjeCw$*?wYN|YV@ofhR^(nwHkJvJEt2iESUtUjwjMLhohk*2{|)Q5Hb+)lHKP!+kG zlS+t~xQg)1P-4r*RT?XHz`tZq-u))bpWfme#MEYUxi*PT)6e?I$NE|5Wb{|UBiz5t zvJJl@#OIEl3kO}lWYAWeCM)K=h)(U1cgtx~z2(-r97iC9I8z3^sR}wCe+v;Go*U?zAGLR&b#WOZ2E)L0ylNgtf7N2CO(M`9(!!)NicarL4j`^u3H+sZNgkP`sbz|K&W4@icq}n{9tXC~opRDo}${f>dvZt6Q2R z_2CL?BIzc=jpNwjE8=^p&#H;ZPt3r}zMWPXe{L@j+2iAIaG^NX7goGl24#jCpAj4b zKZy6Q<2FtjwjKjlBY%bJ51CPdq&mI*{&J4U6o^5%a&yCnD&dOeTB*xKC4;n*=YxAD>3?E=z`|7j5a zzRA5=l#Rchg@7O#EEg=$Pjt_mespfm=gOR0b;8e1L<3T3aeRzxfI){B}d=?ZQ^&$+eFYOwqV_gniRI3ETWun_ap=wA7cowuT6v^kc+ z#NxL+44^Lz+8;-$i?5m2(RlQjRhD7pw!z`)x=&p}z&(Fm6x>2ES=VxCwZKuYXk<}< z`yan9U_6u`0Qx!5dnG?@JV;245JL{QBM`bb!FNw&qydTMa|mU^Ab#>RrO?76e}PxfeM?}Se1znH z^R&8Wn&_>ZKC)}>&@kBxUDF$r_RWheex>nf_bNQZu-dj+YZtGLv%o7q?@~~cEkGYU z^2skdy@S7bd&73U`}<&$pPdnusZ&hN3FVo7h7%V3k~MtD_|8j`bdoc`tXmxWddfN~ z$?eEOQ*Y@R+h1PN7s^8`VB-!#3L?uv!6>Um0kkCR{ts?dFRM=c&2EG=gfDUl!-96} zX+(#`apMFdaLsLb8%KQx7c*D?w~%g|FIfw!75Hy#;jKe(i{(iKy+svP@G4z7;A8>s z+lQ&zD;rvr<~sIXt3n-FExW}8#YZF8an1m|X|Ocg06OwJpZ0*3l148V=}NVfca5ru4YzF~g)^dzWo`qrGLTau+AOG-I7M2g#bN(9;uE-jfXK&G1%q&@Ia v`rW>=?r~?_wpCw6zw3}N{J&(j&Zm6~sO1}2azjTb!1i%-_HwFp3`zP2Q$Ck< diff --git a/tests/ref/layout/containers.png b/tests/ref/layout/containers.png index f8977f1dead7e7858e852cec82a39333cdfc4c4c..f6981fe55646c624808ac0f12783d28122b2aab5 100644 GIT binary patch literal 5194 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 JO3+@>e+LT!U2y;a diff --git a/tests/ref/text/baseline.png b/tests/ref/text/baseline.png new file mode 100644 index 0000000000000000000000000000000000000000..6890236fe67e18c9d2e8779ddd4016abd9b7bb72 GIT binary patch literal 886 zcmeAS@N?(olHy`uVBq!ia0y~yU}OQZ12}*L!!7QRW(EdkTTd6qkcwMxZ@w_SJ)cy5IJ_ow;<{TJ>#qApYOZ%(ad?^Y ztjUZgZpl`Tu(Ud35u^7lx%>xn9+z)g7zt5psw{M~2S-IMLN_{4{N<$x0V3sshz zJKr4L__8#J{lC_s$tn|{d<|ijHR!CDTsTd?H$Z;-4uzr;_gP|0PipU<7f@*XZa2SX zXU%S3{{|hUZoaKSE0kW}clF5Y{QK06!$;}(+0UyusxH+FFT9^H`CA}I%E!Y7Jcl35 zckZxyy(8q0-l66nELXZq_&4YtNNu)a3Sj#fp5U3OF=g|Qz1KeT7(B0yYgT3SwtTg| zMuaKSsmJh`M4a0V5yo5V1s2`Tn&S1@`|R@0OO8_ougNCHM86E@c&>Tv*4ig_j3(g= zyt3<7JuPVzXxt!Q{w{y3j0j_wQbu(`Ri)*QsU=LaLShoqm>=5EI)PaEq{ppJ=?!bioF((g8IAc+9jHmS~Q=}>DMY=YBA3_;?i=5 zjJ-d2PyCv-(((Y%r;t!d|bT(Q*hNHXVw-uju-Sm%aIs2|w> z?d6-jf(%{4g8EA9GS-Vs^n0?RrF8$qkQRZ=chb3h4)Q`fCiHy^%825eqIdb(;#=L{ zS?986PxsVgp8ms9AY-zy;LI=V>ehmVFJEwa&fg-!=%p_twZWs+bJe}#6Pn)>-4kBB zs_C}wW1q{OE7GaRocG70#lBlF&i8NO?fqZxa`&&3&p+!Mw^P0L`=?tn*N^J=ZrJzr urr@L9c9U=0$Ky)F_qY#2lKRn4CjXhOQa2wrR$8wO%21xJelF{r5}E*w{EVdl literal 0 HcmV?d00001 diff --git a/tests/typ/elements/image.typ b/tests/typ/elements/image.typ index 0fce4295c..5fd121e3a 100644 --- a/tests/typ/elements/image.typ +++ b/tests/typ/elements/image.typ @@ -42,6 +42,10 @@ Stuff \ Stuff #image("../../res/rhino.png") +--- +// Test baseline. +A #image("../../res/tiger.jpg", height: 1cm, width: 80%) B + --- // Error: 8-29 file not found #image("path/does/not/exist") diff --git a/tests/typ/layout/aspect.typ b/tests/typ/layout/aspect.typ index c0db17e09..c9b8ee41e 100644 --- a/tests/typ/layout/aspect.typ +++ b/tests/typ/layout/aspect.typ @@ -11,14 +11,10 @@ --- // Test alignment in automatically sized square and circle. #font(8pt) -#grid( - columns: 2, - gutter: 10pt, - square(padding: 4pt)[ - Hey there, #align(center + bottom, rotate(180deg, [you!])) - ], - circle(align(center + horizon, [Hey.])), -) +#square(padding: 4pt)[ + Hey there, #align(center + bottom, rotate(180deg, [you!])) +] +#circle(align(center + horizon, [Hey.])) --- // Test that maximum wins if both width and height are given. diff --git a/tests/typ/text/baseline.typ b/tests/typ/text/baseline.typ new file mode 100644 index 000000000..f22fce089 --- /dev/null +++ b/tests/typ/text/baseline.typ @@ -0,0 +1,4 @@ +// Test text baseline. + +--- +Hi #font(150%)[You], #font(75%)[how are you?]