-
windows direct write:
you can use
IDWriteTextLayout::HitTestTextPosition IDWriteTextLayout::GetClusterMetrics IDWriteTextLayout::GetLineMetricsand so on ,
if you want complete working example: take a look https://github.com/vczh-libraries/GacUI/blob/master/Source/GraphicsElement/WindowsDirect2D/GuiGraphicsLayoutProviderWindowsDirect2D.cpp -
windows gdi:
you can use
ScriptGetFontProperties
if you want complete working example: take a look https://github.com/vczh-libraries/GacUI/blob/master/Source/GraphicsElement/WindowsGDI/GuiGraphicsUniscribe.cpp -
mac os :
you can use
NSTextStorage NSLayoutManager NSTextContainer
if you want complete working example: take a look iGac/Mac/GraphicsElement/CoreGraphics/GuiGraphicsLayoutProviderCoreText.mm at master · vczh-libraries/iGac · GitHub -
linux :
use pango
if you want complete working example: take a look XGac/X11Cairo/GraphicsElement/Renderers/GuiSolidLabelElementRenderer.cpp at master · vczh-libraries/XGac · GitHub
I can not get a big picture of the whole juce architecture, maybe someone help to implement on windows first or mac, and I can get start!
