§
    £”jÑ  ã                   óœ   — d dl mZ d dlmZ d dlmZ d dlmZmZ	  G d„ de¦  «        Z
 G d„ de
¦  «        Zd	„ Zed
k    r e¦   «          dS dS )é    )Ú
Standard39)Úcolors)Úcm)Úascii_uppercaseÚdigitsc                   ó„   — e Zd ZdZdez  Zdez  Zdez  ZdZdez  Z	dez  Z
dez  ZeZd	ez  Zd	ez  Z	 	 	 	 	 	 dd„Zd„ ZdS )ÚBaseLTOLabela!  
    Base class for LTO labels.

    Specification taken from "IBM LTO Ultrium Cartridge Label Specification, Revision 3"
    available on  May 14th 2008 from :
    http://www-1.ibm.com/support/docview.wss?rs=543&context=STCVQ6R&q1=ssg1*&uid=ssg1S7000429&loc=en_US&cs=utf-8&lang=en+en
    gš™™™™™@g333333û?g333333Ã?g      @gQkšwœ¢@gÃõ(\�Âñ?g®Ø_vO¦?é
   Ú NÚ1Fc                 ó�  — t          || j        ¦  «        | _        || _        t	          |¦  «        dk    s|t
          t          z   vrt          d|z  ¦  «        ‚|st	          |¦  «        dk    s|                     ¦   «         st          d|z  ¦  «        ‚|t          |pd¦  «         
                    dt	          |¦  «        z
  ¦  «        z   dd…         ›d|›�}t	          |¦  «        dk    rt          d	|›d
|›d
|›d�¦  «        ‚|| _        t          j        | || j        | j        | j        | j        | j        | j        d|¬¦
  «
         dS )a  
           Initializes an LTO label.

           prefix : Up to six characters from [A-Z][0-9]. Defaults to "".
           number : Label's number or None. Defaults to None.
           subtype : LTO subtype string , e.g. "1" for LTO1. Defaults to "1".
           border : None, or the width of the label's border. Defaults to None.
           checksum : Boolean indicates if checksum char has to be printed. Defaults to False.
           availheight : Available height on the label, or None for automatic. Defaults to None.
        é   zInvalid subtype '%s'é   zInvalid prefix '%s'r   NÚLé   zInvalid set of parameters (z, ú)T)ÚratioÚ	barHeightÚbarWidthÚgapÚlquietÚrquietÚquietÚchecksum)ÚmaxÚCODEBARHEIGHTÚheightÚborderÚlenr   Ústring_digitsÚ
ValueErrorÚisalnumÚstrÚzfillÚlabelr   Ú__init__Ú	CODERATIOÚCODEBARWIDTHÚCODEGAPÚ
CODELQUIETÚ
CODERQUIET)ÚselfÚprefixÚnumberÚsubtyper   r   Úavailheightr%   s           úm/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/reportlab/graphics/barcode/lto.pyr&   zBaseLTOLabel.__init__   sg  € õ  ˜+ tÔ'9Ñ:Ô:ˆŒØˆŒÝ�‰LŒL˜AÒÐØ�µÑ>Ð>Ð>ÝÐ3°gÑ=Ñ>Ô>Ð>Øð 	=�c &™kœk¨Ašo˜oØ—.’.Ñ"Ô"ð .åÐ2°VÑ;Ñ<Ô<Ð<Ø"¥S¨¨°1Ñ%5Ô%5×%;Ò%;¸AÅÀFÁÄ¹OÑ%LÔ%LÑLÈbÈqÈbÔQÐQÐQØ"˜7ð$ˆåˆu‰:Œ:˜Š?ˆ?Ý�*Ø#) 6 6¨6¨6¨6°7°7°7ð<ñ =ô =ð =àˆŒ
ÝÔ˜DØ!Ø"&¤.Ø&*¤kØ%)Ô%6Ø $¤Ø#'¤?Ø#'¤?Ø"&Ø%-ð		/ñ 		/ô 		/ð 		/ð 		/ð 		/ó    c                 ó|  — |                      ¦   «          |                     ||¦  «         | j        rB|                     | j        ¦  «         |                     dd| j        | j        | j        ¦  «         t          j	        | || j        | j
        z
  dz  | j        | j        z
  ¦  «         |                     ¦   «          dS )z$Draws the LTO label onto the canvas.r   ç       @N)Ú	saveStateÚ	translater   ÚsetLineWidthÚ	roundRectÚ
LABELWIDTHÚLABELHEIGHTÚ
LABELROUNDr   ÚdrawOnÚCODENOMINALWIDTHr   ÚrestoreState)r,   ÚcanvasÚxÚys       r1   r<   zBaseLTOLabel.drawOnD   sË   € à×ÒÑÔÐØ×Ò˜˜AÑÔÐØŒ;ð 	)Ø×Ò ¤Ñ,Ô,Ð,Ø×Ò˜Q ØœØÔ(Øœñ)ô )ð )õ 	Ô˜$Ø Øœ?¨4Ô+@Ñ@À#ÑEØÔ*¨4¬;Ñ6ñ	8ô 	8ð 	8ð 	×ÒÑÔÐÐÐr2   )r   Nr   NFN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r9   r:   r;   r'   r=   r   r(   r)   r*   r+   r&   r<   © r2   r1   r	   r	   	   s«   € € € € € ðð ð �r‘€JØ˜‘(€KØ˜‘€JØ€IØ ‘{ÐØ˜2‘I€MØ˜B‘;€LØ€GØ�lÑ"€JØ�lÑ"€JØ Ø"Ø"Ø"Ø %Ø#'ð'/ð '/ð '/ð '/ðRð ð ð ð r2   r	   c                   óB   — e Zd ZdZdZdez  Zdez  ZdZdZ	dZ
d„ Zd	„ Zd
S )ÚVerticalLTOLabelzT
    A class for LTO labels with rectangular blocks around the tape identifier.
    )zHelvetica-Boldé   r   gÍÌÌÌÌÌÜ?çš™™™™™‰?é   )
ÚredÚyellowÚ
lightgreenÚ	lightblueÚgreyÚ	orangeredÚpinkÚ	darkgreenÚorangeÚpurplec                 óŒ   — d|v r|d         | _         |d= nd| _         | j        | j        z
  |d<   t          j        | g|¢R i |¤Ž dS )zp
        Initializes the label.

        colored : boolean to determine if blocks have to be colorized.
        ÚcoloredFr0   N)rW   r:   ÚBLOCKHEIGHTr	   r&   )r,   ÚargsÚkwargss      r1   r&   zVerticalLTOLabel.__init__h   si   € ð ˜ÐÐØ! )Ô,ˆDŒLØ�yÐ!Ð!à ˆDŒLØ $Ô 0°Ô1AÑ Aˆˆ}ÑÝÔ˜dÐ4 TÐ4Ð4Ð4¨VÐ4Ð4Ð4Ð4Ð4r2   c                 ó  — t                                | |||¦  «         |                     ¦   «          |                     | j        ¦  «         |                     ddd¦  «         |                     ||¦  «         | j        | j        | j	        z  z
  dz  }t          | j        ¦  «        D �]Ë}| j        \  }}| j        }|| j        dz
  k    r| j        |d…         }	|\  }}|dz  }||f}n| j        |         }	|                     ¦   «          |                     ||| j	        z  z   d¦  «         | j        rq|	                     ¦   «         r] |j        t!          t"          | j        t'          |	¦  «                 t#          j        ddd¦  «        ¦  «                             ¦   «         Ž  n|                     ddd¦  «         |                     dd| j	        | j        d¬¦  «         |                     | j	         |j        |	g|¢R Ž z   dz  | j        dz  ¦  «         |                     d¦  «          |j        |Ž  |                     ddd¦  «         |                     dd|	¦  «         |                     ¦   «          �ŒÍ|                     ¦   «          dS )z5Draws some blocks around the identifier's characters.r   r4   r   NT)Úfillg     €V@)r	   r<   r5   r7   Ú	LINEWIDTHÚsetStrokeColorRGBr6   r9   ÚNBBLOCKSÚ
BLOCKWIDTHÚrangeÚ	LABELFONTr%   rW   ÚisdigitÚsetFillColorRGBÚgetattrr   ÚCOLORSCHEMEÚintÚColorÚrgbÚrectrX   ÚstringWidthÚrotateÚsetFontÚdrawCentredStringr>   )
r,   r?   r@   rA   ÚxblocksÚiÚfontÚsizeÚnewfontÚparts
             r1   r<   zVerticalLTOLabel.drawOnv   s®  € å×Ò˜DØ"ØØñ	ô 	ð 	ð 	×ÒÑÔÐØ×Ò˜DœNÑ+Ô+Ð+Ø× Ò   A qÑ)Ô)Ð)Ø×Ò˜˜AÑÔÐØ”? D¤M°$´/Ñ$AÑBÀCÑGˆÝ�t”}Ñ%Ô%ð 	"ñ 	"ˆAØœ>‰LˆT�4Ø”nˆGØ�T”] QÑ&Ò'Ð'Ø”z ! " "”~�Ø&‘��tØ˜‘�Ø ˜,��à”z !”}�Ø×ÒÑÔÐØ×Ò˜W a¨¬Ñ&7Ñ8¸!Ñ<Ô<Ð<ØŒ|ð 0 §¢¡¤ð 0Ø&�Ô&­µØ04Ô0@ÅÀTÁÄÔ0KÝ06´¸QÀÀ1Ñ0EÔ0Eñ)Gô )GçGJÂsÁuÄuðNð Nð Nð ×&Ò& q¨!¨QÑ/Ô/Ð/Ø�KŠK˜˜1˜dœo¨tÔ/?ÀdˆKÑKÔKÐKØ×Ò˜dœoÐ.@¨fÔ.@ÀÐ.PÈÐ.PÐ.PÐ.PÑPÐRUÑUØ"Ô.¨sÑ2ñ5ô 5ð 5à�MŠM˜$ÑÔÐØˆFŒN˜GÐ$Ð$Ø×"Ò" 1 a¨Ñ+Ô+Ð+Ø×$Ò$ Q¨¨4Ñ0Ô0Ð0Ø×ÒÑ!Ô!Ð!Ñ!Ø×ÒÑÔÐÐÐr2   N)rB   rC   rD   rE   rb   r   r`   rX   r]   r_   rf   r&   r<   rF   r2   r1   rH   rH   T   sf   € € € € € ðð ð '€IØ�2‘€JØ�r‘'€KØ€IØ€Hð	€Kð5ð 5ð 5ð%ð %ð %ð %ð %r2   rH   c                  ó¶  — ddl m}  ddlm}  | d|j        ¬¦  «        }|                     dd¦  «         |j        \  }}|                     |dz  |d	t          z  z
  d
¦  «         dt          z  x}}dt          z  x}}dt          z  }	dt          z  }
d}t          d|d¦  «         	                    |||¦  «         ||
z  }|dz  }t          d|dd¬¦  «         	                    |||¦  «         ||
z  }|dz  }t          d|d¦  «         	                    |||¦  «         ||
z  }|dz  }t          d|dd¬¦  «         	                    |||¦  «         ||
z  }|dz  }t          d|dd¬¦  «         	                    |||¦  «         ||
z  }|dz  }t          d|ddd¬¦  «         	                    |||¦  «         |                     ¦   «          |                     ¦   «          dS )z
Test this.r   )ÚCanvas)Ú	pagesizesz
labels.pdf)ÚpagesizeÚ	Helveticaé   r4   é   zSample LTO labelsé   r
   g333333@iÒ  ÚRLÚ3r   rJ   )r   T)rW   )r   rW   N)Úreportlab.pdfgen.canvasrv   Úreportlab.librw   ÚA4rm   rn   r   r	   r<   rH   ÚshowPageÚsave)rv   rw   r?   Úwidthr   ÚxposÚxorigÚyposÚyorigÚcolwidthÚ
lineheightÚcounts               r1   ÚtestrŒ   �   s9  € à.Ð.Ð.Ð.Ð.Ð.Ø'Ð'Ð'Ð'Ð'Ð'àˆV�L¨9¬<Ð8Ñ8Ô8€FØ
‡N‚N�; Ñ#Ô#Ð#Ø”l�O€UˆFØ
×Ò˜U 3™Y¨¨qµ©t©Ð5HÑIÔIÐIØ•r‘6Ð€Dˆ5Ø•r‘6Ð€Dˆ5Ø•B‰w€HØ•r‘€JØ€EÝ��u˜cÑ"Ô"×)Ò)¨&°$¸Ñ=Ô=Ð=ØˆJÑ€DØ	ˆQ�J€EÝ��u˜cØð ñ  ô  ß &¢ v¨t°TÑ :Ô :Ð :ØˆJÑ€DØ	ˆQ�J€EÝ�T˜5 #Ñ&Ô&×-Ò-¨f°d¸DÑAÔAÐAØˆJÑ€DØ	ˆQ�J€EÝ�T˜5 #Ø!ð#ñ #ô #ß#)¢6¨&°$¸Ñ#=Ô#=Ð#=ØˆJÑ€DØ	ˆQ�J€EÝ�T˜5 #Ø ð"ñ "ô "ß"(¢&¨°°tÑ"<Ô"<Ð"<ØˆJÑ€DØ	ˆQ�J€EÝ�T˜5 #Ø!¨4ð1ñ 1ô 1ß17²¸ÀÀdÑ1KÔ1KÐ1KØ
‡O‚OÑÔÐØ
‡K‚K�M„M€M€M€Mr2   Ú__main__N)Ú!reportlab.graphics.barcode.code39r   r€   r   Úreportlab.lib.unitsr   Ústringr   r   r    r	   rH   rŒ   rB   rF   r2   r1   ú<module>r‘      sï   ðð 9Ð 8Ð 8Ð 8Ð 8Ð 8Ø  Ð  Ð  Ð  Ð  Ð  Ø "Ð "Ð "Ð "Ð "Ð "Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;ðIð Ið Ið Ið I�:ñ Iô Ið IðVGð Gð Gð Gð G�|ñ Gô Gð GðR#ð #ð #ðJ ˆzÒÐØ€D�F„F€F€F€Fð Ðr2   