L i ddlmZmZddgZGddeZGddeZedk(r\ddlmZeedd Z e jd e jd e jd d dd e jyy)) FilterPenFilterPointPen TransformPenTransformPointPencReZdZdZfdZdZdZdZdZdZ dZ d Z d Z xZ S) rzkPen that transforms all coordinates using a Affine transformation, and passes them to another pen. ctt| |t|ds ddlm}||}||_|j|_g|_ y)zThe 'outPen' argument is another pen object. It will receive the transformed coordinates. The 'transformation' argument can either be a six-tuple, or a fontTools.misc.transform.Transform object. transformPointr TransformN) superr__init__hasattrfontTools.misc.transformr _transformationr _transformPoint_stack)selfoutPentransformationr __class__s a/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/fontTools/pens/transformPen.pyr zTransformPen.__init__ sI lD*62~'78 :&7N--<< cX|jj|j|yN)_outPenmoveTorrpts rrzTransformPen.moveTo D0045rcX|jj|j|yr)rlineTorrs rr!zTransformPen.lineTorrcT|jj|j|yr)rcurveTo_transformPointsrpointss rr#zTransformPen.curveTo s! d33F;>> from fontTools.pens.recordingPen import RecordingPointPen >>> rec = RecordingPointPen() >>> pen = TransformPointPen(rec, (2, 0, 0, 2, -10, 5)) >>> v = iter(rec.value) >>> pen.beginPath(identifier="contour-0") >>> next(v) ('beginPath', (), {'identifier': 'contour-0'}) >>> pen.addPoint((100, 100), "line") >>> next(v) ('addPoint', ((190, 205), 'line', False, None), {}) >>> pen.endPath() >>> next(v) ('endPath', (), {}) >>> pen.addComponent("a", (1, 0, 0, 1, -10, 5), identifier="component-0") >>> next(v) ('addComponent', ('a', ), {'identifier': 'component-0'}) ct||t|ds ddlm}||}||_|j |_y)zThe 'outPointPen' argument is another point pen object. It will receive the transformed coordinates. The 'transformation' argument can either be a six-tuple, or a fontTools.misc.transform.Transform object. r rr N)r r rrr rr r)r outPointPenrr rs rr zTransformPointPen.__init__Ts@ %~'78 :&7N--<<rc b|jj|j||||fi|yr)raddPointr)rr segmentTypesmoothnamekwargss rr?zTransformPointPen.addPointbs2    $k64 CI rc v|jj|}|jj||fi|yrr1)r baseGlyphNamerrCs rr3zTransformPointPen.addComponentgs3--77G! !!-J6Jr)NFN)r5r6r7r8r r?r3r9r:s@rrr9s4 = Kr__main__)_TestPenN)rg?rHir)rr)rd)2K)<rJ)rJ)fontTools.pens.filterPenrr__all__rrr5fontTools.pens.basePenrGpenrr!r#r,rrrSs> . //=9/=d0K0Kf z/ x~'= >CJJvJJxKK(Hf5MMOr