# Candera Text Engine

<div class="contents" id="bkmrk-several-text-render-"><div class="textblock">- Several text render cache related issues were fixed. This includes upload count and upload/unload call fixes for textures (CGI1-30284).
- Fixed issues when building Monotype on Integrity systems (CGI1-39895).
- Fixed Monotype cache item as custom width have not always been cached correctly (CGI1-34207).
- Removed differences between alignment handling between [TextNode2D](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_text_node2_d.html "TextNode2D is a RenderNode that renders text using the attached BitmapBrush effect.") and [CanvasText](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_canvas_text.html "CanvasText represents a text node within a 3D Canvas object.") (CGI1-34241 - 10093).
- [CanvasText](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_canvas_text.html "CanvasText represents a text node within a 3D Canvas object.") rendering changes parts of the scene tree which triggered a continuous layout invalidation. This has been fixed (CGI1-35915).
- Improvements have been done on unloading [CanvasText](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_canvas_text.html "CanvasText represents a text node within a 3D Canvas object.") (CGI1-35925).
- Blending text with RGBA bitmap renderer has been changed (CGI1-29181 - 9946).
- Outline in texture was not cleared correctly in all cases. This has been fixed (CGI1-36032 - 10119).
- Reworks have been done on the way truncation is handled by [TextNode2D](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_text_node2_d.html "TextNode2D is a RenderNode that renders text using the attached BitmapBrush effect.") and [CanvasText](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_canvas_text.html "CanvasText represents a text node within a 3D Canvas object.") (CGI1-38325).
- The HarfBuzz font cache led to position issues when two equal characters with different font sizes have been rendered consecutively. This has been fixed (CGI1-37985 - 10149).
- Improved building with Monotype under integrity systems. Interpretation of datatypes is platform dependent. The improvement matches Monotypes requirements in most use cases (CGI1-39895).
- A negative bearing in glyph data lead to render fragments outside of the boundaries. Text has been moved inside the boundaries in case a size has been set. (CGI1-38325)

</div></div><p class="callout info">This might lead to a pixel movement in some cases by the value of negative bearing.</p>

---