From f59f0d598ece6381d3befa0ec0daae296a25fd4b Mon Sep 17 00:00:00 2001 From: uGyomm Date: Fri, 10 Jul 2026 13:23:40 +0200 Subject: [PATCH] compare type(...) to data type to compare type to a string, use repr(type(....)) == "..." https://typst.app/docs/changelog/0.13.0#removals leads to 'style' removal , a context must be now defined explicitely --- ruby.typ | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/ruby.typ b/ruby.typ index 9b62d12..26d9e62 100644 --- a/ruby.typ +++ b/ruby.typ @@ -16,13 +16,13 @@ } } - let rb_array = if type(rb) == "content" { + let rb_array = if type(rb) == content { let (inner, func) = extract_content(rb) inner.split(delimiter).map(func) - } else if type(rb) == "string" { + } else if type(rb) == string { rb.split(delimiter) } else {(rb,)} - assert(type(rb_array) == "array") + assert(type(rb_array) == array) let rt_array = rt.split(delimiter) @@ -37,14 +37,15 @@ h(1fr) } - box(style(st=> { + context{ + box({ let sum_body = [] let sum_width = 0pt let i = 0 while i < rb_array.len() { let (body, ruby) = (rb_array.at(i), rt_array.at(i)) - let bodysize = measure(body, st) - let rt_plain_width = measure(text(size: size, ruby), st).width + let bodysize = measure(body) + let rt_plain_width = measure(text(size: size, ruby)).width let width = if rt_plain_width > bodysize.width {rt_plain_width} else {bodysize.width} let chars = if(alignment=="around") { h(0.5fr) + ruby.clusters().join(gutter) + h(0.5fr) @@ -52,7 +53,7 @@ ruby.clusters().join(gutter) } let rubytext = box(width: width, align(if(alignment=="start"){left}else{center}, text(size: size, chars))) - let textsize = measure(rubytext, st) + let textsize = measure(rubytext) let dx = textsize.width - bodysize.width let (t_dx, l_dx, r_dx) = if(alignment=="start"){(0pt, 0pt, dx)}else{(-dx/2, dx/2, dx/2)} let (l, r) = (i != 0, i != rb_array.len() - 1) @@ -69,7 +70,7 @@ i += 1 } sum_body - })) + })} } #let get_ruby(