Как обозначаются точки глифа шрифтом НЛО? - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь захватить точки глифа / пути (не используя шрифт). Я преобразовал глиф в НЛО .

<contour>
  <point x="281" y="646" type="qcurve"/>
  <point x="273" y="599"/>
  <point x="225" y="411"/>
  <point x="216" y="363" type="qcurve"/>
  <point x="320" y="382"/>
  <point x="426" y="445" type="qcurve"/>
  <point x="603" y="552"/>
  <point x="603" y="626" type="qcurve"/>
  <point x="603" y="676"/>
  <point x="502" y="676" type="qcurve"/>
  <point x="420" y="676"/>
</contour>

Согласно руководству , qcurve означает quadratic curves, полученное из TrueType. Таким образом, мы можем вычислить две контрольные точки Безье из одной квадратной c контрольной точки по

CP1 = QP0 + 2/3 *(QP1-QP0)
CP2 = QP2 + 2/3 *(QP1-QP2)

В этом случае у нас должна быть одна контрольная точка между двумя точками (см. Первые четыре строки; имеется две контрольные точки).

Как преобразовать квадратичную кривую c с двумя контрольными точками в кривую Безье?

1 Ответ

2 голосов
/ 06 февраля 2020

Нет такой вещи, как квадратичная c кривая с двумя контрольными точками. По определению у него есть только один. Тем не менее, TryeType имеет представление сгущенных точек, которое удаляет точки на кривой, которые находятся точно между точками контроля * * * * * * *, а точные кривые c, поэтому список точек, который вы видите в файле UFO, просто отображается на собственный TrueType "на кривой Определение "и" кривой "для точек.

Как объясняется в документации по НЛО, для этого требуется специальная обработка , поэтому см. " Почему существует несколько последовательных точек вне кривой? появляются в контуре глифа? " Пост Stackoverflow и ответьте, как интерпретировать последовательности, подобные этой.

...