L i0dZddlmZdgZGddeZy)zCalculate the area of a glyph.)BasePenAreaPenc8eZdZd dZdZdZdZdZdZdZ y) rNc>tj||d|_y)Nr)r__init__value)selfglyphsets \/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/fontTools/pens/areaPen.pyrzAreaPen.__init__ sx( c |x|_|_yN)_p0 _startPoint)r p0s r _moveTozAreaPen._moveTos&((4#r c||j\}}|\}}|xj||z ||zzdzzc_||_y)Ng?)rr)r p1x0y0x1y1s r _lineTozAreaPen._lineTos?BB rBw27+c11 r c|j}|d|d}}|d|z |d|z }}|d|z |d|z } }|xj||z|| zz dz zc_|j|||_y)Nrrrr) r rp2rrrrrx2y2s r _qCurveToOnezAreaPen._qCurveToOnes XXA1BARURZBARURZB rBwb(A--  Rr c.|j}|d|d}}|d|z |d|z }}|d|z |d|z } } |d|z |d|z } } |xj|| | z z| |d| zz zz| |d| zzzzdzzc_|j|||_y)Nrrg333333?r) r rrp3rrrrrrr x3y3s r _curveToOnezAreaPen._curveToOne!s XXA1BARURZBARURZBARURZB rbS2XrAF{);;bBRK>PPTXXX  Rr cB|j|j|`|`yr)rrrr s r _closePathzAreaPen._closePath,s T%%& Hd&r cJ|j|jk7rt|`|`yr)rrNotImplementedErrorr)s r _endPathzAreaPen._endPath0s$ 88t'' '% % Hd&r r) __name__ __module__ __qualname__rrrr!r'r*r-r r rr s%)  ''r N)__doc__fontTools.pens.basePenr__all__rr1r r r5s $* ++'g+'r