OpenWheels should manage text layout itself. Currently ImageSharp.Fonts is used to handle layout.
I would prefer to avoid the hard dependency on that specific library by having a data structure in OpenWheels that holds all information necessary for proper font layout. This data should be exported by the rasterizer and included in TextureFont.
This is not an issue right now because ImageSharp.Fonts is used for everything, but if we make rasterizers pluggable (#5) the layout phase would need to be aware of how rasterization is done (because rasterization might affect layout e.g. hinting).
In combination with #5 this will make it so OpenWheels.Rendering doesn't depend on OpenWheels.Fonts.
This needs some more investigation towards how feasible it is and if any shortcuts should be (optionally) taken for layout under the new scheme (e.g. for better performance or reduced memory footprint).
OpenWheels should manage text layout itself. Currently
ImageSharp.Fontsis used to handle layout.I would prefer to avoid the hard dependency on that specific library by having a data structure in OpenWheels that holds all information necessary for proper font layout. This data should be exported by the rasterizer and included in
TextureFont.This is not an issue right now because
ImageSharp.Fontsis used for everything, but if we make rasterizers pluggable (#5) the layout phase would need to be aware of how rasterization is done (because rasterization might affect layout e.g. hinting).In combination with #5 this will make it so
OpenWheels.Renderingdoesn't depend onOpenWheels.Fonts.This needs some more investigation towards how feasible it is and if any shortcuts should be (optionally) taken for layout under the new scheme (e.g. for better performance or reduced memory footprint).