View Issue Details

IDProjectCategoryView StatusLast Update
0004058NoesisGUIC# SDKpublic2026-10-16 12:09
ReporterARPP3 Assigned Tojsantos  
PrioritynormalSeverityminor 
Status assignedResolutionopen 
Product Version3.2.7 
Target Version4.0.3 
Summary0004058: Feature Request: Vertical Offset for TextBlock inline
Description

Hello,

I am currently working on extending the RichText extension class and this is a feature required for feature-parity with the legacy system our studio had before with TextMeshPro in Unity.

I have an example of one way I imagine this being possible. The ability to do this within a <Run> or a <Span>, within the TextBlock.Inlines collection would be the perfect solution for my use-case! The end-result ideally is similar to the image attached. I also gave some code of how I believe this could be implemented using current noesis extensions, since this is not something I think WPF supports. This feature feels more "video-game" centric and less "WPF desktop application", so there's no direct equivalent I could find to do this in WPF either.

<TextBlock TextWrapping="Wrap">
  <Run xml:space="preserve" Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit,"/>
  <Run xml:space="preserve" noesis:Element.Transform3D="{noesis:CompositeTransform3D TranslateY=-15}" Text="sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."/>
  <Run xml:space="preserve" Text="Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."/>
</TextBlock>

The way I envision it, a vertical offset would not change the line-height. It would simply be an offset after the line height and bounds of text has been calculated. Clipping and overlapping of text elements would be on the user to handle. This feature would also facilitate superscript and subscript options for fonts that don't support the Typography, by allowing the user to set an offset and size adjustment to meet their needs. If multiple spans have this property nested, it would be nice if the transforms stacked as well, rather than resetting values,

So I understand this request is a bit "out of the box" but, for our studio's current title, this is an incredibly important feature request, if it's possible!

Thanks,
David

Attached Files
image.png (23,094 bytes)   
image.png (23,094 bytes)   
PlatformAny

Activities

jsantos

jsantos

2025-04-08 20:00

manager   ~0010489

@sfernandez I would love to hear your opinion about this

sfernandez

sfernandez

2025-04-08 20:40

manager   ~0010491

Looking at WPF's TextBlock and Inlines I don't see anything that can be used for that purpose. There is a TextBlock.BaselineOffset, but it seems it only works in a very specific scenario: a TextBlock inside another TextBlock (using InlineUIContainer), which makes it not practical for the RichText case.

I guess we will need to create an extension for this, a new property that can be set either in TextBlocks or Inlines.

Issue History

Date Modified Username Field Change
2025-04-08 11:54 ARPP3 New Issue
2025-04-08 11:54 ARPP3 File Added: image.png
2025-04-08 19:58 jsantos Assigned To => sfernandez
2025-04-08 19:58 jsantos Status new => assigned
2025-04-08 19:58 jsantos Target Version => 3.2.8
2025-04-08 19:58 jsantos Assigned To sfernandez => jsantos
2025-04-08 20:00 jsantos Note Added: 0010489
2025-04-08 20:40 sfernandez Note Added: 0010491
2025-04-09 08:03 jsantos Description Updated
2025-05-28 10:39 jsantos Target Version 3.2.8 => 3.2.9
2025-10-02 00:49 jsantos Target Version 3.2.9 => 3.2.10
2025-10-20 18:25 jsantos Target Version 3.2.10 => 3.2.11
2026-01-20 19:32 jsantos Target Version 3.2.11 => 3.2.12
2026-03-04 00:39 jsantos Target Version 3.2.12 => 3.2.13
2026-04-27 12:16 jsantos Target Version 3.2.13 => 3.2.14
2026-10-16 12:09 jsantos Target Version 3.2.14 => 4.0.3