У меня есть приложение, которое отображает шрифты истинного типа. Мне нужно несколько раз объединить два символа (например, хинди), которые могут перекрываться. Мне нужен алгоритм, чтобы определить, когда два контура шрифта перекрываются, и объединить два контура в один.
Обнаружение перекрытия контура шрифта True Type и слияние C#
Ответы (1)
Если шрифт OpenType, то у него уже может быть контур, представляющий эти «перекрывающиеся» контуры. В шрифтовой терминологии это называется лигатурой; классическим примером является строка «ffi». /а>.
Хитрость заключается в том, чтобы определить правильную последовательность кодов символов и заменить ее соответствующим контуром глифа. Я не уверен, есть ли у С# API для этого, но библиотека Pango (http://www.pango.org/) должна справиться с этим.
person
wschang
schedule
12.07.2011