Обнаружение перекрытия контура шрифта True Type и слияние C#

У меня есть приложение, которое отображает шрифты истинного типа. Мне нужно несколько раз объединить два символа (например, хинди), которые могут перекрываться. Мне нужен алгоритм, чтобы определить, когда два контура шрифта перекрываются, и объединить два контура в один.


person Mike    schedule 20.07.2010    source источник


Ответы (1)


Если шрифт OpenType, то у него уже может быть контур, представляющий эти «перекрывающиеся» контуры. В шрифтовой терминологии это называется лигатурой; классическим примером является строка «ffi». /а>.

Хитрость заключается в том, чтобы определить правильную последовательность кодов символов и заменить ее соответствующим контуром глифа. Я не уверен, есть ли у С# API для этого, но библиотека Pango (http://www.pango.org/) должна справиться с этим.

person wschang    schedule 12.07.2011