vczh-libraries / GacUI

GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features.
Other
2.35k stars 297 forks source link

Wrong insert position when editing ligatures in rich text boxes #39

Open anydream opened 5 years ago

anydream commented 5 years ago

Wrong represent by GacUI: gac

Correct represent by Windows notepad: notepad

The font is Calibri from Windows 10 system.

vczh commented 5 years ago

Will fix after the document work is done Reference

anydream commented 5 years ago

Some of OpenType fonts have ligature caret position in GDEF table: https://docs.microsoft.com/en-us/typography/opentype/processing-part2#gdef-table

anydream commented 5 years ago

And the correct way to split characters from ligatures: http://unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries