§
    Æ‡tjfœ  ã                   ó²  — d dl Z d dlZd dlZd dlmZmZmZ d dlmZ d dl	m
Z
mZmZmZ d dlmZ d dlmZmZ d dlmZmZmZmZmZmZmZ d dlmZmZ d d	lmZ d d
l m!Z!m"Z"m#Z# d dl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z, d dl-m.Z. d dl/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5 d dl6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z< e
rd dl=m>Z>  ej?        e@¦  «        ZAdeeB         deCeDeEz  eFf         fd„ZGdeeB         deCeEeHeFe8f         f         fd„ZI G d„ d¦  «        ZJ G d„ de4eE         ¦  «        ZKdZLdddœZMdeNdeCeEeOeFeEz           f         fd„ZP G d„ d¦  «        ZQ G d „ d!¦  «        ZR G d"„ d#e!¦  «        ZS G d$„ d%eS¦  «        ZT e1d&¦  «        ZU e1d'¦  «        ZVeCeEeDz  eFf         ZW G d(„ d)¦  «        ZX G d*„ d+eX¦  «        ZY G d,„ d-eY¦  «        ZZ G d.„ d/eZ¦  «        Z[ G d0„ d1eY¦  «        Z\ G d2„ d3eX¦  «        Z]dS )4é    N)ÚIterableÚIteratorÚMapping)ÚBytesIO)ÚTYPE_CHECKINGÚAnyÚBinaryIOÚcast)Úsettings)Ú
safe_floatÚsafe_rect_list)ÚCMapÚCMapBaseÚCMapDBÚ
CMapParserÚFileUnicodeMapÚIdentityUnicodeMapÚ
UnicodeMap)Ú
EncodingDBÚname2unicode©ÚFONT_METRICS)ÚPDFExceptionÚPDFKeyErrorÚPDFValueError)Ú	PDFStreamÚ
dict_valueÚ	int_valueÚ
list_valueÚ	num_valueÚresolve1Úresolve_allÚstream_value)ÚPSEOF)ÚKWDÚLITÚ	PSKeywordÚ	PSLiteralÚPSStackParserÚliteral_name)ÚMatrixÚPointÚRectÚapply_matrix_normÚchoplistÚnunpack)ÚPDFResourceManagerÚseqÚreturnc                 óÎ  — i }g }| D �]/}t          |¦  «        }t          |t          ¦  «        r=|r:|d         }t          |¦  «        D ] \  }}||t	          t
          |¦  «        |z   <   Œ!g }Œdt          |t
          t          f¦  «        r”|                     |¦  «         t          |¦  «        dk    rj|\  }}}t          |t
          ¦  «        r1t          |t
          ¦  «        rt          ||dz   ¦  «        D ]}|||<   Œnt                               d||¦  «         g }�Œt                               d|¦  «         �Œ1t	          t          t          t
          z  t          f         |¦  «        S )z;Build a mapping of character widths for horizontal writing.éÿÿÿÿé   é   z[Skipping invalid font width specification for %s to %s because either of them is not an intzUSkipping invalid font width specification for %s because it is not a number or a list)r!   Ú
isinstanceÚlistÚ	enumerater
   ÚintÚfloatÚappendÚlenÚrangeÚlogÚwarningÚdictÚstr)r2   ÚwidthsÚrÚvÚchar1ÚiÚwÚchar2s           úN/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pdfminer/pdffont.pyÚ
get_widthsrL   6   sƒ  € à!€FØ€AØð ñ ˆÝ�Q‰KŒKˆÝ�a�ÑÔð 	Øð Ø˜"œ�Ý% a™LœLð 5ð 5‘D�A�qØ34�F�4¥ UÑ+Ô+¨aÑ/Ñ0Ð0Ø�øÝ˜�C¥˜<Ñ(Ô(ð 	Ø�HŠH�Q‰KŒKˆKÝ�1‰vŒv˜Š{ˆ{Ø$%Ñ!�˜˜qÝ˜e¥SÑ)Ô)ð 	­j¸ÅÑ.DÔ.Dð 	Ý" 5¨%°!©)Ñ4Ô4ð &ð &˜Ø$%˜˜q™	˜	ð&õ —K’KðBàØñ	ô ð ð �ùå�KŠKð7àñô ð ñ õ
 ••S�3‘Y¥Ð%Ô&¨Ñ/Ô/Ð/ó    c                 ó  — i }g }| D ]ý}t          |t          ¦  «        rS|rP|d         }t          t          d|¦  «        ¦  «        D ](\  }\  }}}|||ff|t	          t
          |¦  «        |z   <   Œ)g }Œjt          |t
          t          f¦  «        rw|                     |¦  «         t          |¦  «        dk    rO|\  }}	}}}t          t	          t
          |¦  «        t	          t
          |	¦  «        dz   ¦  «        D ]}|||ff||<   Œg }Œþ|S )z9Build a mapping of character widths for vertical writing.r5   r6   é   r7   )
r8   r9   r:   r/   r
   r;   r<   r=   r>   r?   )
r2   rD   rE   rF   rG   rH   rI   ÚvxÚvyrJ   s
             rK   Úget_widths2rR   Z   s'  € à-/€FØ€AØð ð ˆÝ�a�ÑÔð 	Øð Ø˜"œ�Ý&/µ¸¸A±´Ñ&?Ô&?ð Að A‘N�A‘{˜˜2˜rØ45¸¸B°x°=�F�4¥ UÑ+Ô+¨aÑ/Ñ0Ð0Ø�øÝ˜�C¥˜<Ñ(Ô(ð 	Ø�HŠH�Q‰KŒKˆKÝ�1‰vŒv˜Š{ˆ{Ø,-Ñ)�˜˜q " bÝ�t¥C¨Ñ/Ô/µµc¸5Ñ1AÔ1AÀAÑ1EÑFÔFð .ð .�AØ!" R¨ H �F˜1‘I�IØ�øØ€MrM   c            	       ó^   — e Zd Zededeeeef         eeef         f         fd„¦   «         Z	dS )ÚFontMetricsDBÚfontnamer3   c                 ó   — t           |         S ©Nr   )ÚclsrU   s     rK   Úget_metricszFontMetricsDB.get_metricsp   s   € å˜HÔ%Ð%rM   N)
Ú__name__Ú
__module__Ú__qualname__ÚclassmethodrC   ÚtuplerB   Úobjectr;   rY   © rM   rK   rT   rT   o   s[   € € € € € Øð& 3ð &¨5°°c¸6°kÔ1BÀDÈÈcÈÄNÐ1RÔ+Sð &ð &ð &ñ „[ð&ð &ð &rM   rT   c                   óþ   — e Zd Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z	 ed¦  «        Z
 ed¦  «        Zd	ed
dfd„Zd
eeef         fd„Zdeded
dfd„ZdS )ÚType1FontHeaderParsers   begins   ends   defs   puts   dicts   arrays   readonlys   forÚdatar3   Nc                 ó>   — t          j        | |¦  «         i | _        d S rW   )r)   Ú__init__Ú_cid2unicode)Úselfrc   s     rK   re   zType1FontHeaderParser.__init__€   s#   € ÝÔ˜t TÑ*Ô*Ð*Ø,.ˆÔÐÐrM   c                 ó:  — 	 	 |                       ¦   «         \  }}n# t          $ r Y now xY w	 t          t          t          |¦  «        ¦  «        | j        |<   n># t          $ r1}t                               t	          |¦  «        ¦  «         Y d}~nd}~ww xY wŒ”| j        S )a}  Parse the font encoding.

        The Type1 font encoding maps character codes to character names. These
        character names could either be standard Adobe glyph names, or
        character names associated with custom CharStrings for this font. A
        CharString is a sequence of operations that describe how the character
        should be drawn. Currently, this function returns '' (empty string)
        for character names that are associated with a CharStrings.

        Reference: Adobe Systems Incorporated, Adobe Type 1 Font Format

        :returns mapping of character identifiers (cid's) to unicode characters
        r7   N)	Ú
nextobjectr$   r   r
   rC   rf   ÚKeyErrorr@   Údebug)rg   ÚcidÚnameÚes       rK   Úget_encodingz"Type1FontHeaderParser.get_encoding„   s¼   € ð	"ðØ"ŸošoÑ/Ô/‘��d�døÝð ð ð Ø�ðøøøð"Ý)5µd½3À±o´oÑ)FÔ)F�Ô! #Ñ&Ð&øÝð "ð "ð "Ý—	’	�#˜a™&œ&Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!øøøøð"øøøð	"ð Ô Ð s#   ƒ ›
(§(¬*A Á
BÁ!'BÂBÚposÚtokenc                 óü   — || j         u rn|                      d¦  «        \  \  }}\  }}t          |t          ¦  «        r=t          |t          ¦  «        r*|                      |t          |¦  «        f¦  «         d S d S d S d S )Né   )ÚKEYWORD_PUTÚpopr8   r;   r(   Úadd_resultsr*   )rg   rp   rq   Ú_ÚkeyÚvalues         rK   Ú
do_keywordz Type1FontHeaderParser.do_keyword�   s’   € Ø�DÔ$Ð$Ð$Ø%)§X¢X¨a¡[¤[Ñ"‰Xˆa�‘z˜˜5Ý˜#�sÑ#Ô#ð =­
°5½)Ñ(DÔ(Dð =Ø× Ò  #¥|°EÑ':Ô':Ð!;Ñ<Ô<Ð<Ð<Ð<ð %Ð$ð=ð =ð =ð =rM   )rZ   r[   r\   r%   ÚKEYWORD_BEGINÚKEYWORD_ENDÚKEYWORD_DEFrt   ÚKEYWORD_DICTÚKEYWORD_ARRAYÚKEYWORD_READONLYÚKEYWORD_FORr	   re   rB   r;   rC   ro   r'   rz   r`   rM   rK   rb   rb   v   sí   € € € € € Ø�C˜‘M”M€MØ�#�f‘+”+€KØ�#�f‘+”+€KØ�#�f‘+”+€KØ�3�w‘<”<€LØ�C˜‘M”M€MØ�s˜;Ñ'Ô'ÐØ�#�f‘+”+€Kð/˜Xð /¨$ð /ð /ð /ð /ð!˜d 3¨ 8œnð !ð !ð !ð !ð2=˜cð =¨)ð =¸ð =ð =ð =ð =ð =ð =rM   rb   )Ú0Ú1Ú2Ú3Ú4Ú5Ú6Ú7Ú8Ú9ú.rn   ze-Nú-z
Identity-Hz
Identity-V)z	DLIdent-Hz	DLIdent-Vrc   c                 ób  — i }t          | ¦  «        }g }	 |                     d¦  «        }|s�n�t          |¦  «        }|dk    r|||<   g }Œ7|dk    rfd}d}|rPt          |                     d¦  «        ¦  «        }|dz	  |dz  fD ]!}	|	dk    rd}Œt          |	         }
|
€J ‚||
z  }Œ"|°Pt	          |¦  «        }ná|d	k    r|d
k    r|dz
  }nÏt          |                     d¦  «        ¦  «        }|dk    r|dk    r|dz
  dz  |z   dz   }n’|dk    r|dk    r|dz
  dz   |z
  dz
  }nvt          |                     d¦  «        ¦  «        }|dk    r|dz  }|dk    r	|dz  |z  }n:|dz  |dz  z  t          j        d|                     d¦  «        ¦  «        d         z  }|                     |¦  «         �Œš|S )Nr7   é   é   Ú Té   é   Fé    éö   é‹   é÷   éú   é   él   éû   éþ   é€   é   é   é   é   ú>Hrs   r   )r   ÚreadÚordÚNIBBLESr<   ÚstructÚunpackr=   )rc   ÚdÚfpÚstackÚcÚb0ÚsÚloopÚbÚnÚnibblery   Úb1Úb2s                 rK   Úgetdictr´   ®   s
  € Ø&(€AÝ	�‰Œ€BØ!€Eð&Ø�GŠG�A‰JŒJˆØð 	ÙÝ�‰VŒVˆØ�Š8ˆ8ØˆAˆb‰EØˆEØØ�Š8ˆ8ØˆAØˆDØð $Ý˜Ÿš ™
œ
‘O”O�Ø˜q™& ! b¡&Ð)ð $ð $�AØ˜B’w�wØ$˜˜å!(¨¤˜Ø%Ð1Ð1Ð1Ø˜V™˜˜ð ð $õ ˜!‘H”HˆEˆEØ�2ŠXˆX˜" š)˜)Ø˜‘HˆEˆEå�R—W’W˜Q‘Z”Z‘”ˆBØ�SŠyˆy˜R 3šY˜YØ˜s™( q™¨BÑ.°Ñ4��Ø�s’�˜r Sšy˜yØ ™8¨™/Ð*¨RÑ/°#Ñ5��å˜Ÿš ™œ‘_”_�Ø˜’9�9Ø˜#‘I�BØ˜’8�8Ø !™G b™L�E�Eà "™H r¨R¡xÑ/µ&´-ÀÀbÇgÂgÈaÁjÄjÑ2QÔ2QÐRSÔ2TÑT�EØ�Š�UÑÔÐñM&ðN €HrM   c                   óV   — e Zd ZdZ G d„ d¦  «        Zdededdfd„Zd	edee	z  fd
„Z
dS )ÚCFFFont(‡  z.notdefÚspaceÚexclamÚquotedblÚ
numbersignÚdollarÚpercentÚ	ampersandÚ
quoterightÚ	parenleftÚ
parenrightÚasteriskÚplusÚcommaÚhyphenÚperiodÚslashÚzeroÚoneÚtwoÚthreeÚfourÚfiveÚsixÚsevenÚeightÚnineÚcolonÚ	semicolonÚlessÚequalÚgreaterÚquestionÚatÚAÚBÚCÚDÚEÚFÚGÚHÚIÚJÚKÚLÚMÚNÚOÚPÚQÚRÚSÚTÚUÚVÚWÚXÚYÚZÚbracketleftÚ	backslashÚbracketrightÚasciicircumÚ
underscoreÚ	quoteleftÚar¯   r«   r¨   rn   ÚfÚgÚhrH   ÚjÚkÚlÚmr°   ÚoÚpÚqrE   r­   ÚtÚurF   rI   ÚxÚyÚzÚ	braceleftÚbarÚ
bracerightÚ
asciitildeÚ
exclamdownÚcentÚsterlingÚfractionÚyenÚflorinÚsectionÚcurrencyÚquotesingleÚquotedblleftÚguillemotleftÚguilsinglleftÚguilsinglrightÚfiÚflÚendashÚdaggerÚ	daggerdblÚperiodcenteredÚ	paragraphÚbulletÚquotesinglbaseÚquotedblbaseÚquotedblrightÚguillemotrightÚellipsisÚperthousandÚquestiondownÚgraveÚacuteÚ
circumflexÚtildeÚmacronÚbreveÚ	dotaccentÚdieresisÚringÚcedillaÚhungarumlautÚogonekÚcaronÚemdashÚAEÚordfeminineÚLslashÚOslashÚOEÚordmasculineÚaeÚdotlessiÚlslashÚoslashÚoeÚ
germandblsÚonesuperiorÚ
logicalnotÚmuÚ	trademarkÚEthÚonehalfÚ	plusminusÚThornÚ
onequarterÚdivideÚ	brokenbarÚdegreeÚthornÚthreequartersÚtwosuperiorÚ
registeredÚminusÚethÚmultiplyÚthreesuperiorÚ	copyrightÚAacuteÚAcircumflexÚ	AdieresisÚAgraveÚAringÚAtildeÚCcedillaÚEacuteÚEcircumflexÚ	EdieresisÚEgraveÚIacuteÚIcircumflexÚ	IdieresisÚIgraveÚNtildeÚOacuteÚOcircumflexÚ	OdieresisÚOgraveÚOtildeÚScaronÚUacuteÚUcircumflexÚ	UdieresisÚUgraveÚYacuteÚ	YdieresisÚZcaronÚaacuteÚacircumflexÚ	adieresisÚagraveÚaringÚatildeÚccedillaÚeacuteÚecircumflexÚ	edieresisÚegraveÚiacuteÚicircumflexÚ	idieresisÚigraveÚntildeÚoacuteÚocircumflexÚ	odieresisÚograveÚotildeÚscaronÚuacuteÚucircumflexÚ	udieresisÚugraveÚyacuteÚ	ydieresisÚzcaronÚexclamsmallÚHungarumlautsmallÚdollaroldstyleÚdollarsuperiorÚampersandsmallÚ
AcutesmallÚparenleftsuperiorÚparenrightsuperiorÚtwodotenleaderÚonedotenleaderÚzerooldstyleÚoneoldstyleÚtwooldstyleÚthreeoldstyleÚfouroldstyleÚfiveoldstyleÚsixoldstyleÚsevenoldstyleÚeightoldstyleÚnineoldstyleÚcommasuperiorÚthreequartersemdashÚperiodsuperiorÚquestionsmallÚ	asuperiorÚ	bsuperiorÚcentsuperiorÚ	dsuperiorÚ	esuperiorÚ	isuperiorÚ	lsuperiorÚ	msuperiorÚ	nsuperiorÚ	osuperiorÚ	rsuperiorÚ	ssuperiorÚ	tsuperiorÚffÚffiÚfflÚparenleftinferiorÚparenrightinferiorÚCircumflexsmallÚhyphensuperiorÚ
GravesmallÚAsmallÚBsmallÚCsmallÚDsmallÚEsmallÚFsmallÚGsmallÚHsmallÚIsmallÚJsmallÚKsmallÚLsmallÚMsmallÚNsmallÚOsmallÚPsmallÚQsmallÚRsmallÚSsmallÚTsmallÚUsmallÚVsmallÚWsmallÚXsmallÚYsmallÚZsmallÚcolonmonetaryÚ	onefittedÚrupiahÚ
TildesmallÚexclamdownsmallÚcentoldstyleÚLslashsmallÚScaronsmallÚZcaronsmallÚDieresissmallÚ
BrevesmallÚ
CaronsmallÚDotaccentsmallÚMacronsmallÚ
figuredashÚhypheninferiorÚOgoneksmallÚ	RingsmallÚCedillasmallÚquestiondownsmallÚ	oneeighthÚthreeeighthsÚfiveeighthsÚseveneighthsÚonethirdÚ	twothirdsÚzerosuperiorÚfoursuperiorÚfivesuperiorÚsixsuperiorÚsevensuperiorÚeightsuperiorÚninesuperiorÚzeroinferiorÚoneinferiorÚtwoinferiorÚthreeinferiorÚfourinferiorÚfiveinferiorÚsixinferiorÚseveninferiorÚeightinferiorÚnineinferiorÚcentinferiorÚdollarinferiorÚperiodinferiorÚcommainferiorÚAgravesmallÚAacutesmallÚAcircumflexsmallÚAtildesmallÚAdieresissmallÚ
AringsmallÚAEsmallÚCcedillasmallÚEgravesmallÚEacutesmallÚEcircumflexsmallÚEdieresissmallÚIgravesmallÚIacutesmallÚIcircumflexsmallÚIdieresissmallÚEthsmallÚNtildesmallÚOgravesmallÚOacutesmallÚOcircumflexsmallÚOtildesmallÚOdieresissmallÚOEsmallÚOslashsmallÚUgravesmallÚUacutesmallÚUcircumflexsmallÚUdieresissmallÚYacutesmallÚ
ThornsmallÚYdieresissmallz001.000z001.001z001.002z001.003ÚBlackÚBoldÚBookÚLightÚMediumÚRegularÚRomanÚSemiboldc                   ó^   — e Zd Zdeddfd„Zdefd„Zdefd„Zdede	fd„Z
dee	         fd	„ZdS )
úCFFFont.INDEXr©   r3   Nc                 óÆ  — || _         g | _        t          j        d| j                              d¦  «        ¦  «        \  }}t          |dz   ¦  «        D ]A}| j                             t          | j                              |¦  «        ¦  «        ¦  «         ŒB| j                              ¦   «         dz
  | _	        | j          
                    | j	        | j        d         z   ¦  «         d S )Nz>HBr6   r7   r5   )r©   Úoffsetsr¦   r§   r£   r?   r=   r0   ÚtellÚbaseÚseek)rg   r©   ÚcountÚoffsizeÚ_is        rK   re   zCFFFont.INDEX.__init__h  s¼   € ØˆDŒGØ&(ˆDŒLÝ%œ}¨U°D´G·L²LÀ±O´OÑDÔDÑˆU�GÝ˜E A™IÑ&Ô&ð Dð D�Ø”×#Ò#¥G¨D¬G¯LªL¸Ñ,AÔ,AÑ$BÔ$BÑCÔCÐCÐCØœŸš™œ¨Ñ*ˆDŒIØŒG�LŠL˜œ T¤\°"Ô%5Ñ5Ñ6Ô6Ð6Ð6Ð6rM   c                 ó(   — dt          | ¦  «        › d�S )Nz<INDEX: size=ú>)r>   ©rg   s    rK   Ú__repr__zCFFFont.INDEX.__repr__q  s   € Ø/¥3 t¡9¤9Ð/Ð/Ð/Ð/rM   c                 ó0   — t          | j        ¦  «        dz
  S ©Nr7   )r>   r2  r;  s    rK   Ú__len__zCFFFont.INDEX.__len__t  s   € Ý�t”|Ñ$Ô$ qÑ(Ð(rM   rH   c                 óÈ   — | j                              | j        | j        |         z   ¦  «         | j                              | j        |dz            | j        |         z
  ¦  «        S r>  )r©   r5  r4  r2  r£   )rg   rH   s     rK   Ú__getitem__zCFFFont.INDEX.__getitem__w  sM   € ØŒG�LŠL˜œ T¤\°!¤_Ñ4Ñ5Ô5Ð5Ø”7—<’< ¤¨Q°©UÔ 3°d´lÀ1´oÑ EÑFÔFÐFrM   c                 ón   ‡ — t          ˆ fd„t          t          ‰ ¦  «        ¦  «        D ¦   «         ¦  «        S )Nc              3   ó(   •K  — | ]}‰|         V — Œd S rW   r`   )Ú.0rH   rg   s     €rK   ú	<genexpr>z)CFFFont.INDEX.__iter__.<locals>.<genexpr>|  s'   øè è € Ð:Ð: A˜˜QœÐ:Ð:Ð:Ð:Ð:Ð:rM   )Úiterr?   r>   r;  s   `rK   Ú__iter__zCFFFont.INDEX.__iter__{  s4   ø€ ÝÐ:Ð:Ð:Ð:­­s°4©y¬yÑ)9Ô)9Ð:Ñ:Ô:Ñ:Ô:Ð:rM   )rZ   r[   r\   r	   re   rC   r<  r;   r?  ÚbytesrA  r   rG  r`   rM   rK   ÚINDEXr0  g  s³   € € € € € ð	7˜xð 	7¨Dð 	7ð 	7ð 	7ð 	7ð	0˜cð 	0ð 	0ð 	0ð 	0ð	)˜Sð 	)ð 	)ð 	)ð 	)ð	G ð 	G¨ð 	Gð 	Gð 	Gð 	Gð	;˜h uœoð 	;ð 	;ð 	;ð 	;ð 	;ð 	;rM   rI  rm   r©   r3   Nc                 óœ
  — || _         || _        t          j        d| j                             d¦  «        ¦  «        \  }}}}| j                             |dz
  ¦  «         |                      | j        ¦  «        | _        |                      | j        ¦  «        | _        |                      | j        ¦  «        | _        |                      | j        ¦  «        | _	        t          | j        d         ¦  «        | _        | j                             ddg¦  «        \  }| j                             ddg¦  «        \  }| j                             ddg¦  «        \  }	| j                             t          t          |	¦  «        ¦  «         |                      | j        ¦  «        | _        t#          | j        ¦  «        | _        i | _        i | _        | j                             t          t          |¦  «        ¦  «         | j                             d¦  «        }
|
dk    r‡t          j        d	| j                             d¦  «        ¦  «        \  }t+          t          j        d	|z  | j                             |¦  «        ¦  «        ¦  «        D ]\  }}|| j        |<   || j        |<   Œn¾|
d
k    r¦t          j        d	| j                             d¦  «        ¦  «        \  }d}t-          |¦  «        D ]d}t          j        d| j                             d¦  «        ¦  «        \  }}t-          |||z   dz   ¦  «        D ]}|| j        |<   || j        |<   |dz  }ŒŒent/          d|
›�¦  «        ‚i | _        i | _        | j                             t          t          |¦  «        ¦  «         | j                             d¦  «        }
|
dk    r£| j        dz
  }t+          t          t4          t          df         t          j        dd|z  z   | j                             d|z  ¦  «        ¦  «        ¦  «        ¦  «        D ]3\  }}|dz  }|                      |¦  «        }|| j        |<   || j        |<   Œ4d S |
d
k    r¼t          j        d	| j                             d¦  «        ¦  «        \  }d}t-          |¦  «        D ]y}t          j        d| j                             d¦  «        ¦  «        \  }}t-          |||z   dz   ¦  «        D ]0}|                      |¦  «        }|| j        |<   || j        |<   |dz  }Œ1Œzd S |
dk    rt9          t;          d|
f¦  «        ¦  «        ‚t/          d|
›�¦  «        ‚)NÚBBBBr’   r   r“   r¡   é   r7   ó    rÙ   ó   ÚBBrs   zunsupported encoding format: .r:  rß   ó   Ú	Unhandledzunsupported charset format: )rm   r©   r¦   r§   r£   rI  Ú
name_indexÚ
dict_indexÚstring_indexÚ
subr_indexr´   Útop_dictÚgetr5  r
   r;   Ú
charstringr>   ÚnglyphsÚcode2gidÚgid2coder:   r?   r   Úname2gidÚgid2namer^   ÚgetstrÚAssertionErrorrC   )rg   rm   r©   Ú_majorÚ_minorÚhdrsizeÚ_offsizeÚcharset_posÚencoding_posÚcharstring_posÚformatr°   ÚcodeÚgidr8  ÚfirstÚnleftÚsidÚsidnames                      rK   re   zCFFFont.__init__~  sÛ  € ØˆŒ	ØˆŒå.4¬m¸FÀDÄGÇLÂLÐQRÁOÄOÑ.TÔ.TÑ+ˆ�˜ (ØŒ�Š�W˜q‘[Ñ!Ô!Ð!àŸ*š* T¤WÑ-Ô-ˆŒàŸ*š* T¤WÑ-Ô-ˆŒà ŸJšJ t¤wÑ/Ô/ˆÔàŸ*š* T¤WÑ-Ô-ˆŒå ¤°Ô 2Ñ3Ô3ˆŒØœ×*Ò*¨2°¨sÑ3Ô3‰ˆØœ-×+Ò+¨B°°Ñ4Ô4‰ˆØ œM×-Ò-¨b°1°#Ñ6Ô6ÑˆàŒ�Š•T�#˜~Ñ.Ô.Ñ/Ô/Ð/ØŸ*š* T¤WÑ-Ô-ˆŒÝ˜4œ?Ñ+Ô+ˆŒàˆŒØˆŒØŒ�Š•T�#˜|Ñ,Ô,Ñ-Ô-Ð-Ø”—’˜a‘”ˆØ�WÒÐå”=  d¤g§l¢l°1¡o¤oÑ6Ô6‰DˆQÝ&¥v¤}°S¸1±W¸d¼g¿lºlÈ1¹o¼oÑ'NÔ'NÑOÔOð *ð *‘	��cØ&)�”˜dÑ#Ø%)�”˜cÑ"Ð"ð*ð �wÒÐå”=  d¤g§l¢l°1¡o¤oÑ6Ô6‰DˆQØˆDÝ˜A‘h”hð ð �Ý!'¤¨t°T´W·\²\À!±_´_Ñ!EÔ!E‘�˜Ý  ¨°©¸Ñ(9Ñ:Ô:ð ð �CØ*-�D”M $Ñ'Ø)-�D”M #Ñ&Ø˜A‘I�D�Dððõ  Ð JÀÐ JÐ JÑKÔKÐKàˆŒØˆŒØŒ�Š•T�#˜{Ñ+Ô+Ñ,Ô,Ð,Ø”—’˜a‘”ˆØ�WÒÐà”˜qÑ ˆAÝ%ÝÝ�#˜s˜(”O¥V¤]°3¸¸q¹±=À$Ä'Ç,Â,ÈqÐSTÉuÑBUÔBUÑ%VÔ%Vñô ñô ð -ð -‘��Sð
 �q‘�ØŸ+š+ cÑ*Ô*�Ø),�”˜gÑ&Ø%,�”˜cÑ"Ð"ð-ð -ð �wÒÐå”=  d¤g§l¢l°1¡o¤oÑ6Ô6‰DˆQØˆCÝ˜A‘h”hð ð �Ý!'¤¨t°T´W·\²\À!±_´_Ñ!EÔ!E‘�˜Ý  ¨°©¸Ñ(9Ñ:Ô:ð ð �CØ"Ÿkšk¨#Ñ.Ô.�GØ-0�D”M 'Ñ*Ø)0�D”M #Ñ&Ø˜1‘H�C�Cð	ðð ð �wÒÐå ¥ k°6Ð%:Ñ!;Ô!;Ñ<Ô<Ð<åÐ I¸vÐ IÐ IÑJÔJÐJrM   rl  c                 ó�   — |t          | j        ¦  «        k     r| j        |         S | j        |t          | j        ¦  «        z
           S rW   )r>   ÚSTANDARD_STRINGSrT  )rg   rl  s     rK   r^  zCFFFont.getstrÎ  sF   € ð •�TÔ*Ñ+Ô+Ò+Ð+ØÔ(¨Ô-Ð-ØÔ  ¥s¨4Ô+@Ñ'AÔ'AÑ!AÔBÐBrM   )rZ   r[   r\   ro  rI  rC   r	   re   r;   rH  r^  r`   rM   rK   r¶   r¶   Ü   s¬   € € € € € ðHÐðT;ð ;ð ;ð ;ð ;ñ ;ô ;ð ;ð.NK˜Sð NK hð NK°4ð NKð NKð NKð NKð`C˜#ð C #¨¡+ð Cð Cð Cð Cð Cð CrM   r¶   c                   ó"  — e Zd Z G d„ de¦  «        Zdededdfd„Zdefd„Z	ded	e
eef         ddfd
„Zded	e
eef         ddfd„Zded	e
eef         ddfd„Zded	e
eef         ddfd„Zded	e
eef         ddfd„Zded	e
eef         ddfd„ZdS )ÚTrueTypeFontc                   ó   — e Zd ZdS )úTrueTypeFont.CMapNotFoundN©rZ   r[   r\   r`   rM   rK   ÚCMapNotFoundrs  ×  s   € € € € € ØˆrM   ru  rm   r©   r3   Nc                 ó‚  — || _         || _        i | _        |                     d¦  «        | _        	 t          j        d|                     d¦  «        ¦  «        \  }}}}t          |¦  «        D ];}t          j        d|                     d¦  «        ¦  «        \  }}	}
}|
|f| j        |<   Œ<d S # t
          j        $ r Y d S w xY w)Nr’   ú>HHHHr™   z>4sLLLr¡   )	rm   r©   Útablesr£   Úfonttyper¦   r§   r?   Úerror)rg   rm   r©   ÚntablesÚ_1Ú_2Ú_3rw   Ú
name_bytesÚ_tsumÚoffsetÚlengths               rK   re   zTrueTypeFont.__init__Ú  s×   € ØˆŒ	ØˆŒØ46ˆŒØŸš ™
œ
ˆŒð	Ý$*¤M°'¸2¿7º7À1¹:¼:Ñ$FÔ$FÑ!ˆW�b˜"˜bÝ˜7‘^”^ð ;ð ;�Ý6<´mØ˜bŸgšg b™kœkñ7ô 7Ñ3�˜U F¨Fð ,2°6Ð*:�”˜JÑ'Ð'ð	;ð ;øõ
 Œ|ð 	ð 	ð 	ð ˆDˆDð		øøøs   ±A8B+ Â+B>Â=B>c           	      ó´  — d| j         vrt          j        ‚| j         d         \  }}| j        }|                     |¦  «         t          t          t          t          f         t          j	        d| 
                    d¦  «        ¦  «        ¦  «        \  }}g }t          |¦  «        D ]=}|                     t          j	        d| 
                    d¦  «        ¦  «        ¦  «         Œ>i }|D �]%\  }	}
}|	dk    s|	dk    r|
dv sŒ|                     ||z   ¦  «         t          j	        d	| 
                    d
¦  «        ¦  «        \  }|dk    r|                      ||¦  «         Œw|d
k    r|                      ||¦  «         Œ”|dk    r|                      ||¦  «         Œ±|dk    r|                      ||¦  «         ŒÎ|dk    r|                      ||¦  «         Œë|dk    r|                      ||¦  «         �Œ	t'          t)          d|f¦  «        ¦  «        ‚|st          j        ‚t+          ¦   «         }|                     ¦   «         D ]\  }}|                     ||¦  «         Œ|S )Ns   cmapú>HHr’   z>HHLr™   r   r6   )r7   é
   r¢   rs   é   r…  é   rQ  )rx  rq  ru  r©   r5  r
   r^   r;   r¦   r§   r£   r?   r=   Úparse_cmap_format_0Úparse_cmap_format_2Úparse_cmap_format_4Úparse_cmap_format_6Úparse_cmap_format_10Úparse_cmap_format_12r_  rC   r   ÚitemsÚadd_cid2unichr)rg   Úbase_offsetÚ_lengthr©   Ú_versionÚ
nsubtablesÚ	subtablesr8  Úchar2gidÚplatform_idÚencoding_idÚ	st_offsetÚfmttypeÚunicode_mapÚcharri  s                   rK   Úcreate_unicode_mapzTrueTypeFont.create_unicode_mapì  st  € Ø˜$œ+Ð%Ð%ÝÔ+Ð+Ø!%¤¨WÔ!5Ñˆ�gØŒWˆØ
�Š�ÑÔÐÝ!%¥e­Cµ¨H¤oµv´}ÀUÈBÏGÊGÐTUÉJÌJÑ7WÔ7WÑ!XÔ!XÑˆ�:Ø02ˆ	Ý˜
Ñ#Ô#ð 	@ð 	@ˆBØ×Ò�Vœ]¨6°2·7²7¸1±:´:Ñ>Ô>Ñ?Ô?Ð?Ð?Ø#%ˆà3<ð 	Bñ 	BÑ/ˆK˜ ið   1Ò$Ð$¨¸Ò)9Ð)9¸kÈWÐ>TÐ>TØØ�GŠG�K )Ñ+Ñ,Ô,Ð,Ýœ t¨R¯WªW°Q©Z¬ZÑ8Ô8‰JˆWØ˜!Š|ˆ|Ø×(Ò(¨¨XÑ6Ô6Ð6Ð6Ø˜A’�Ø×(Ò(¨¨XÑ6Ô6Ð6Ð6Ø˜A’�Ø×(Ò(¨¨XÑ6Ô6Ð6Ð6Ø˜A’�Ø×(Ò(¨¨XÑ6Ô6Ð6Ð6Ø˜B’�Ø×)Ò)¨"¨hÑ7Ô7Ð7Ð7Ø˜B’�Ø×)Ò)¨"¨hÑ7Ô7Ð7Ñ7å$¥S¨+°wÐ)?Ñ%@Ô%@ÑAÔAÐAØð 	,ÝÔ+Ð+å$Ñ&Ô&ˆØ!ŸšÑ)Ô)ð 	2ð 	2‰IˆD�#Ø×&Ò& s¨DÑ1Ô1Ð1Ð1ØÐrM   r•  c           
      ó$  — t          j        d|                     d¦  «        ¦  «        \  }}t                               d||¦  «         |                     t          t          j        d|                     d¦  «        ¦  «        ¦  «        ¦  «         dS )zParse cmap subtable format 0r„  r’   ú(parse_cmap_format: fmtlen=%s, fmtlang=%sz>256Brž   N)r¦   r§   r£   r@   rk   Úupdater:   )rg   r©   r•  ÚfmtlenÚfmtlangs        rK   rˆ  z TrueTypeFont.parse_cmap_format_0  sn   € å œ-¨¨r¯wªw°q©z¬zÑ:Ô:‰ˆ�Ý�	Š	Ð<¸fÀgÑNÔNÐNØ�Š�	¥&¤-°¸¿ºÀ¹¼Ñ"FÔ"FÑGÔGÑHÔHÐHÐHÐHrM   c           	      ó:  — t          j        d|                     d¦  «        ¦  «        \  }}t                               d||¦  «         t          j        d|                     d¦  «        ¦  «        }dgdz  }t          |¦  «        D ]\  }}|||dz  <   Œt          |¦  «        dz  d	z   }	g }
t          |	¦  «        D ]a}t          j        d
|                     d¦  «        ¦  «        \  }}}}|
                     ||||| 	                    ¦   «         dz
  |z   f¦  «         Œb|
D ]}\  }}}}}|sŒ|||         dz  z   }| 
                    |¦  «         t          |¦  «        D ]?}t          j        d|                     d¦  «        ¦  «        d         }|r||z  }||||z   <   Œ@Œ~dS )zParse cmap subtable format 2r„  r’   rž  z>256Hi   r   i    r™   r7   z>HHhHrs   r¢   N)r¦   r§   r£   r@   rk   r:   Úmaxr?   r=   r3  r5  )rg   r©   r•  r   r¡  ÚsubheaderkeysÚ
firstbytesrH   rý   ÚnhdrsÚhdrsÚ	firstcodeÚentcountÚdeltar�  rp   rj  r«   ri  s                      rK   r‰  z TrueTypeFont.parse_cmap_format_2  sÀ  € å œ-¨¨r¯wªw°q©z¬zÑ:Ô:‰ˆ�Ý�	Š	Ð<¸fÀgÑNÔNÐNÝœ g¨r¯wªw°s©|¬|Ñ<Ô<ˆØ�S˜4‘Zˆ
Ý˜mÑ,Ô,ð 	#ð 	#‰DˆAˆqØ!"ˆJ�q˜A‘vÑÐÝ�MÑ"Ô" aÑ'¨!Ñ+ˆØ57ˆÝ�u‘”ð 	Qð 	QˆAÝ39´=ÀÈ"Ï'Ê'ÐRSÉ*Ì*Ñ3UÔ3UÑ0ˆY˜ %¨Ø�KŠK˜˜I x°¸¿º¹	¼	ÀA¹ÈÑ8NÐOÑPÔPÐPÐPØ26ð 		*ð 		*Ñ.ˆAˆy˜( E¨3Øð ØØ ¨A¤°!Ñ!3Ñ4ˆEØ�GŠG�C‰LŒLˆLÝ˜8‘_”_ð *ð *�Ý”m D¨"¯'ª'°!©*¬*Ñ5Ô5°aÔ8�Øð !Ø˜5‘L�CØ&)�˜ ™Ñ#Ð#ð	*ð		*ð 		*rM   c                 ó  — t          j        d|                     d¦  «        ¦  «        \  }}t                               d||¦  «         t          j        d|                     d¦  «        ¦  «        \  }}}}|dz  }t          j        d|› d�|                     d|z  ¦  «        ¦  «        }	|                     d¦  «         t          j        d|› d�|                     d|z  ¦  «        ¦  «        }
t          j        d|› d	�|                     d|z  ¦  «        ¦  «        }|                     ¦   «         }t          j        d|› d�|                     d|z  ¦  «        ¦  «        }t          |	|
||d
¬¦  «        D ]’\  }}}}|rh|                     ||z   ¦  «         t          ||dz   ¦  «        D ];}t          j        d|                     d¦  «        ¦  «        d         }||z   dz  ||<   Œ<Œqt          ||dz   ¦  «        D ]}||z   dz  ||<   ŒŒ“dS )zParse cmap subtable format 4r„  r’   rž  rw  r™   rs   r:  rß   rû   F)Ústrictr7   r¢   r   iÿÿ  N)	r¦   r§   r£   r@   rk   r3  Úzipr5  r?   )rg   r©   r•  r   r¡  Úsegcountr|  r}  r~  ÚecsÚscsÚiddsrp   ÚidrsÚecÚscÚiddÚidrr«   r¯   s                       rK   rŠ  z TrueTypeFont.parse_cmap_format_43  s  € å œ-¨¨r¯wªw°q©z¬zÑ:Ô:‰ˆ�Ý�	Š	Ð<¸fÀgÑNÔNÐNÝ!'¤¨w¸¿ºÀ¹
¼
Ñ!CÔ!CÑˆ�2�r˜2Ø�Q‰ˆÝŒm˜O ˜O˜O˜O¨R¯WªW°Q¸±\Ñ-BÔ-BÑCÔCˆØ
�Š�‰
Œ
ˆ
ÝŒm˜O ˜O˜O˜O¨R¯WªW°Q¸±\Ñ-BÔ-BÑCÔCˆÝŒ}˜_ ˜_˜_˜_¨b¯gªg°a¸(±lÑ.CÔ.CÑDÔDˆØ�gŠg‰iŒiˆÝŒ}˜_ ˜_˜_˜_¨b¯gªg°a¸(±lÑ.CÔ.CÑDÔDˆÝ # C¨¨d°DÀÐ GÑ GÔ Gð 	5ð 	5ÑˆB��C˜Øð 5Ø—’˜˜c™	Ñ"Ô"Ð"Ý˜r 2¨¡6Ñ*Ô*ð 5ð 5�AÝœ d¨B¯GªG°A©J¬JÑ7Ô7¸Ô:�AØ#$ s¡7¨fÑ"4�H˜Q‘K�Kð5õ ˜r 2¨¡6Ñ*Ô*ð 5ð 5�AØ#$ s¡7¨fÑ"4�H˜Q‘K�Kð5ð	5ð 	5rM   c                 óˆ  — t          j        d|                     d¦  «        ¦  «        \  }}t                               d||¦  «         t          j        d|                     d¦  «        ¦  «        \  }}t          j        d|› d�|                     d|z  ¦  «        ¦  «        }t          |¦  «        D ]}||         |||z   <   ŒdS )zParse cmap subtable format 6r„  r’   rž  r:  rß   rs   N©r¦   r§   r£   r@   rk   r?   )	rg   r©   r•  r   r¡  r¨  r©  ÚgidsrH   s	            rK   r‹  z TrueTypeFont.parse_cmap_format_6I  sµ   € å œ-¨¨r¯wªw°q©z¬zÑ:Ô:‰ˆ�Ý�	Š	Ð<¸fÀgÑNÔNÐNÝ$œm¨E°2·7²7¸1±:´:Ñ>Ô>Ñˆ	�8ÝŒ}˜_ ˜_˜_˜_¨b¯gªg°a¸(±lÑ.CÔ.CÑDÔDˆÝ�x‘”ð 	.ð 	.ˆAØ&*¨1¤gˆH�Y ‘]Ñ#Ð#ð	.ð 	.rM   c                 óŒ  — t          j        d|                     d¦  «        ¦  «        \  }}}t                               d|||¦  «         t          j        d|                     d¦  «        ¦  «        \  }}t          j        d|› d�|                     d|z  ¦  «        ¦  «        }t          |¦  «        D ]}	||	         |||	z   <   Œd	S )
zParse cmap subtable format 10ú>HIIr…  ú0parse_cmap_format: rsv=%s, fmtlen=%s, fmtlang=%sz>IIr™   r:  rß   rs   Nr¸  )
rg   r©   r•  Úrsvr   r¡  Ú	startcodeÚnumcharsr¹  rH   s
             rK   rŒ  z!TrueTypeFont.parse_cmap_format_10R  sÂ   € å%œ}¨V°R·W²W¸R±[´[ÑAÔAÑˆˆV�WÝ�	Š	Ø>ÀÀVÈWñ	
ô 	
ð 	
õ %œm¨E°2·7²7¸1±:´:Ñ>Ô>Ñˆ	�8ÝŒ}˜_ ˜_˜_˜_¨b¯gªg°a¸(±lÑ.CÔ.CÑDÔDˆÝ�x‘”ð 	.ð 	.ˆAØ&*¨1¤gˆH�Y ‘]Ñ#Ð#ð	.ð 	.rM   c                 ó°  — t          j        d|                     d¦  «        ¦  «        \  }}}t                               d|||¦  «         t          j        d|                     d¦  «        ¦  «        d         }t          |¦  «        D ]N}t          j        d|                     d¦  «        ¦  «        \  }}	}
t          ||	d	z   ¦  «        D ]}|
||<   |
d	z  }
ŒŒOd
S )zParse cmap subtable format 12r»  r…  r¼  z>Ir’   r   z>IIIr‡  r7   Nr¸  )rg   r©   r•  r½  r   r¡  Ú	numgroupsr8  r´  r³  Úsgidrh  s               rK   r�  z!TrueTypeFont.parse_cmap_format_12]  sÝ   € å%œ}¨V°R·W²W¸R±[´[ÑAÔAÑˆˆV�WÝ�	Š	Ø>ÀÀVÈWñ	
ô 	
ð 	
õ ”M $¨¯ª°©
¬
Ñ3Ô3°AÔ6ˆ	Ý˜	Ñ"Ô"ð 	ð 	ˆBÝ!œ=¨°·²¸±´Ñ=Ô=‰LˆB��DÝ˜b " q¡&Ñ)Ô)ð ð �Ø!%�˜‘Ø˜‘	��ðð	ð 	rM   )rZ   r[   r\   r   ru  rC   r	   re   r   rœ  rB   r;   rˆ  r‰  rŠ  r‹  rŒ  r�  r`   rM   rK   rq  rq  Ö  s°  € € € € € ðð ð ð ð �|ñ ô ð ð˜Sð  hð °4ð ð ð ð ð$' Nð 'ð 'ð 'ð 'ðRI hð I¸$¸sÀC¸x¼.ð IÈTð Ið Ið Ið Ið* hð *¸$¸sÀC¸x¼.ð *ÈTð *ð *ð *ð *ð05 hð 5¸$¸sÀC¸x¼.ð 5ÈTð 5ð 5ð 5ð 5ð,. hð .¸$¸sÀC¸x¼.ð .ÈTð .ð .ð .ð .ð	. xð 	.¸4ÀÀSÀ¼>ð 	.Èdð 	.ð 	.ð 	.ð 	.ð xð ¸4ÀÀSÀ¼>ð Èdð ð ð ð ð ð rM   rq  c                   ó   — e Zd ZdS )ÚPDFFontErrorNrt  r`   rM   rK   rÄ  rÄ  k  ó   € € € € € Ø€DrM   rÄ  c                   ó   — e Zd ZdS )ÚPDFUnicodeNotDefinedNrt  r`   rM   rK   rÇ  rÇ  o  rÅ  rM   rÇ  ÚStandardEncodingÚType1Cc            	       ó<  — e Zd Z	 ddeeef         dededz  ddfd„Zdefd„Z	de
fd„Zde
fd	„Zd
edee         fd„Zdefd„Zdefd„Zdefd„Zdefd„Zdedefd„Zdedeeedz  ef         z  fd„Zdedefd„Zdedefd„Zedeeef         defd„¦   «         ZdS )ÚPDFFontNÚ
descriptorrD   Údefault_widthr3   c                 óœ  — || _         t          |¦  «        | _        t          |                     dd¦  «        ¦  «        | _        t          | j        t          ¦  «        rt          | j        ¦  «        | _        t          |                     dd¦  «        ¦  «        | _
        t          |                     dd¦  «        ¦  «        | _        t          |                     dd¦  «        ¦  «        | _        t          |                     dd¦  «        ¦  «        | _        |€)t          |                     dd¦  «        ¦  «        | _        n|| _        t          | j        ¦  «        | _        t          |                     d	d¦  «        ¦  «        | _        |                      |¦  «        | _        d
x| _        | _        | j        dk    r| j         | _        d S d S )NÚFontNameÚunknownÚFlagsr   ÚAscentÚDescentÚItalicAngleÚMissingWidthÚLeadinggü©ñÒMbP?)rÌ  r"   rD   r!   rW  rU   r8   r(   r*   r   Úflagsr    ÚascentÚdescentÚitalic_anglerÍ  ÚleadingÚ_parse_bboxÚbboxÚhscaleÚvscale)rg   rÌ  rD   rÍ  s       rK   re   zPDFFont.__init__|  sy  € ð %ˆŒÝ%0°Ñ%8Ô%8ˆŒÝ  §¢°
¸IÑ!FÔ!FÑGÔGˆŒÝ�d”m¥YÑ/Ô/ð 	8Ý(¨¬Ñ7Ô7ˆDŒMÝ˜zŸ~š~¨g°qÑ9Ô9Ñ:Ô:ˆŒ
Ý 
§¢¨x¸Ñ ;Ô ;Ñ<Ô<ˆŒÝ  §¢°	¸1Ñ!=Ô!=Ñ>Ô>ˆŒÝ% j§n¢n°]ÀAÑ&FÔ&FÑGÔGˆÔØÐ Ý!*¨:¯>ª>¸.È!Ñ+LÔ+LÑ!MÔ!MˆDÔÐà!.ˆDÔÝ% dÔ&8Ñ9Ô9ˆÔÝ  §¢°	¸1Ñ!=Ô!=Ñ>Ô>ˆŒØ×$Ò$ ZÑ0Ô0ˆŒ	Ø$)Ð)ˆŒ�d”kð Œ<˜!ÒÐØ œL˜=ˆDŒLˆLˆLð ÐrM   c                 ó   — dS )Nz	<PDFFont>r`   r;  s    rK   r<  zPDFFont.__repr__›  s   € Øˆ{rM   c                 ó   — dS ©NFr`   r;  s    rK   Úis_verticalzPDFFont.is_verticalž  ó   € ØˆurM   c                 ó   — dS râ  r`   r;  s    rK   Úis_multibytezPDFFont.is_multibyte¡  rä  rM   rH  c                 ó    — t          |¦  «        S rW   )Ú	bytearray©rg   rH  s     rK   ÚdecodezPDFFont.decode¤  s   € Ý˜ÑÔÐrM   c                 ó    — | j         | j        z  S )z.Ascent above the baseline, in text space units)rØ  rß  r;  s    rK   Ú
get_ascentzPDFFont.get_ascent§  s   € àŒ{˜Tœ[Ñ(Ð(rM   c                 ó    — | j         | j        z  S )z@Descent below the baseline, in text space units; always negative)rÙ  rß  r;  s    rK   Úget_descentzPDFFont.get_descent«  s   € àŒ|˜dœkÑ)Ð)rM   c                 óh   — | j         d         | j         d         z
  }|dk    r| j         }|| j        z  S )Nrs   r   )rÝ  rÍ  rÞ  )rg   rI   s     rK   Ú	get_widthzPDFFont.get_width¯  s8   € ØŒI�aŒL˜4œ9 Qœ<Ñ'ˆØ�Š6ˆ6ØÔ#Ð#ˆAØ�4”;‰ÐrM   c                 óv   — | j         d         | j         d         z
  }|dk    r| j        | j        z
  }|| j        z  S )Nr6   r7   r   )rÝ  rØ  rÙ  rß  )rg   rû   s     rK   Ú
get_heightzPDFFont.get_heightµ  s;   € ØŒI�aŒL˜4œ9 Qœ<Ñ'ˆØ�Š6ˆ6Ø”˜dœlÑ*ˆAØ�4”;‰ÐrM   rl   c                 ó:  — t          | j                             |¦  «        ¦  «        }|�
|| j        z  S 	 |                      |¦  «        }t          | j                             |¦  «        ¦  «        }|�
|| j        z  S n# t
          $ r Y nw xY w| j        | j        z  S rW   )r   rD   rW  rÞ  Ú	to_unichrrÇ  rÍ  )rg   rl   Ú	cid_widthÚstr_cids       rK   Ú
char_widthzPDFFont.char_width»  s¯   € õ ˜tœ{Ÿš¨sÑ3Ô3Ñ4Ô4ˆ	ØÐ Ø˜tœ{Ñ*Ð*ð	Ø—n’n SÑ)Ô)ˆGÝ" 4¤;§?¢?°7Ñ#;Ô#;Ñ<Ô<ˆIØÐ$Ø  4¤;Ñ.Ð.ð %øõ $ð 	ð 	ð 	ØˆDð	øøøð Ô! D¤KÑ/Ð/s   µAA> Á>
BÂ
Bc                 ó   — dS )úDReturns an integer for horizontal fonts, a tuple for vertical fonts.r   r`   ©rg   rl   s     rK   Ú	char_dispzPDFFont.char_dispÍ  s   € àˆqrM   r­   c                 ó`   ‡ — t          ˆ fd„‰                      |¦  «        D ¦   «         ¦  «        S )Nc              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S rW   )r÷  )rD  rl   rg   s     €rK   rE  z'PDFFont.string_width.<locals>.<genexpr>Ò  s/   øè è € ÐBÐB¨C�4—?’? 3Ñ'Ô'ÐBÐBÐBÐBÐBÐBrM   )Úsumrê  )rg   r­   s   ` rK   Ústring_widthzPDFFont.string_widthÑ  s0   ø€ ÝÐBÐBÐBÐB°4·;²;¸q±>´>ÐBÑBÔBÑBÔBÐBrM   c                 ó   — t           ‚rW   )ÚNotImplementedErrorrú  s     rK   rô  zPDFFont.to_unichrÔ  s   € Ý!Ð!rM   c                 ó¦   — t          |                      d¦  «        ¦  «        }t          |¦  «        }|€t                               d|¦  «         dS |S )z(Parse FontBBox from the fonts descriptorÚFontBBoxNzSCould not get FontBBox from font descriptor because %r cannot be parsed as 4 floats)ç        r  r  r  )r"   rW  r   r@   rA   )rÌ  Ú	font_bboxrÝ  s      rK   rÜ  zPDFFont._parse_bbox×  sZ   € õ   
§¢¨zÑ :Ô :Ñ;Ô;ˆ	Ý˜iÑ(Ô(ˆØˆ<Ý�KŠKð2àñô ð ð
 &Ð%ØˆrM   rW   )rZ   r[   r\   r   rC   r   ÚFontWidthDictr<   re   r<  Úboolrã  ræ  rH  r   r;   rê  rì  rî  rð  rò  r÷  r^   rû  rÿ  rô  Ústaticmethodr-   rÜ  r`   rM   rK   rË  rË  {  s   € € € € € ð
 '+ð	)ð )à˜C ˜HÔ%ð)ð ð)ð ˜t‘|ð	)ð
 
ð)ð )ð )ð )ð>˜#ð ð ð ð ð˜Tð ð ð ð ð˜dð ð ð ð ð ˜Eð   h¨s¤mð  ð  ð  ð  ð)˜Eð )ð )ð )ð )ð*˜Uð *ð *ð *ð *ð˜5ð ð ð ð ð˜Eð ð ð ð ð0˜cð 0 eð 0ð 0ð 0ð 0ð$˜Sð  U¨U°5¸4±<ÀÐ3FÔ-GÑ%Gð ð ð ð ðC˜eð C¨ð Cð Cð Cð Cð"˜Sð " Sð "ð "ð "ð "ð ð ¨¨S¨Ô 1ð °dð ð ð ñ „\ðð ð rM   rË  c                   óV   — e Zd Zdeeef         dedeeef         ddfd„Zdedefd„Z	dS )	ÚPDFSimpleFontrÌ  rD   Úspecr3   Nc                 ó  — t           }t          |                     d¦  «        ¦  «        dk    rt          d¦  «        }|}d|v rt	          |d         ¦  «        }t          |t          ¦  «        rat          |                     d|¦  «        ¦  «        }t          |                     dg ¦  «        ¦  «        }t          j	        ||¦  «        | _
        n&t          j	        t          |¦  «        ¦  «        | _
        d | _        d|v rnt          |d         ¦  «        }t          ¦   «         | _        t          | j        t          |                     ¦   «         ¦  «        ¦  «                             ¦   «          t$                               | ||¦  «         d S )NÚSubtypeÚTrueTypeÚWinAnsiEncodingÚEncodingÚBaseEncodingÚDifferencesÚ	ToUnicode)ÚLITERAL_STANDARD_ENCODINGr*   rW  r&   r!   r8   rB   r   r   ro   Úcid2unicoderš  r#   r   r   r   Úget_dataÚrunrË  re   )	rg   rÌ  rD   r  Údefault_encodingÚencodingrm   ÚdiffÚstrms	            rK   re   zPDFSimpleFont.__init__ç  sW  € õ 5ÐÝ˜Ÿš Ñ+Ô+Ñ,Ô,°
Ò:Ð:å"Ð#4Ñ5Ô5Ðà#ˆØ˜ÐÐÝ  ZÔ 0Ñ1Ô1ˆHå�h¥Ñ%Ô%ð 	OÝ §¢¨^Ð=MÑ NÔ NÑOÔOˆDÝ˜hŸlšl¨=¸"Ñ=Ô=Ñ>Ô>ˆDÝ)Ô6°t¸TÑBÔBˆDÔÐå)Ô6µ|ÀHÑ7MÔ7MÑNÔNˆDÔà.2ˆÔØ˜$ÐÐÝ  [Ô 1Ñ2Ô2ˆDÝ-Ñ/Ô/ˆDÔÝ�tÔ'­°·²±´Ñ)AÔ)AÑBÔB×FÒFÑHÔHÐHÝ×Ò˜˜z¨6Ñ2Ô2Ð2Ð2Ð2rM   rl   c                 óÈ   — | j         r+	 | j                              |¦  «        S # t          $ r Y nw xY w	 | j        |         S # t          $ r}t	          d |¦  «        |‚d }~ww xY wrW   )rš  Ú
get_unichrrj   r  rÇ  ©rg   rl   Úerrs      rK   rô  zPDFSimpleFont.to_unichr  s�   € ØÔð 	ðØÔ'×2Ò2°3Ñ7Ô7Ð7øÝð ð ð Ø�ðøøøð	;ØÔ# CÔ(Ð(øÝð 	;ð 	;ð 	;Ý& t¨SÑ1Ô1°sÐ:øøøøð	;øøøs#   ‰# £
0¯0´A Á
A!ÁAÁA!)
rZ   r[   r\   r   rC   r   r  re   r;   rô  r`   rM   rK   r
  r
  æ  sƒ   € € € € € ð3à˜C ˜HÔ%ð3ð ð3ð �c˜3�hÔð	3ð
 
ð3ð 3ð 3ð 3ðB	;˜Sð 	; Sð 	;ð 	;ð 	;ð 	;ð 	;ð 	;rM   r
  c                   ó>   — e Zd Zdddeeef         ddfd„Zdefd„ZdS )ÚPDFType1FontÚrsrcmgrr1   r  r3   Nc                 óü  ‡
— 	 t          |d         ¦  «        | _        n3# t          $ r& t          j        rt          d¦  «        d ‚d| _        Y nw xY w	 t                               | j        ¦  «        \  }}t          t          t          t          z  t          f         |¦  «        }n˜# t          $ r‹ t          |                     di ¦  «        ¦  «        }t          |                     dd¦  «        ¦  «        Š
t!          |                     ddgdz  ¦  «        ¦  «        }ˆ
fd	„t#          |¦  «        D ¦   «         }Y nw xY wt$                               | |||¦  «         d
|vr�d|v r›t)          |                     d¦  «        ¦  «        | _        t          | j        d         ¦  «        }| j                             ¦   «         d |…         }t/          t1          |¦  «        ¦  «        }	|	                     ¦   «         | _        d S d S d S )NÚBaseFontúBaseFont is missingrÐ  ÚFontDescriptorÚ	FirstCharr   ÚWidthsrž   c                 ó<   •— i | ]\  }}|‰z   t          |¦  «        “ŒS r`   )r!   ©rD  rH   rI   Ú	firstchars      €rK   ú
<dictcomp>z)PDFType1Font.__init__.<locals>.<dictcomp>&  s)   ø€ ÐUÐUÐU±V°a¸�a˜)‘m¥X¨a¡[¤[ÐUÐUÐUrM   r  ÚFontFileÚLength1)r*   Úbasefontrj   r   ÚSTRICTrÄ  rT   rY   r
   rB   rC   r;   r<   r   rW  r   r   r:   r
  re   r#   Úfontfiler  rb   r   ro   r  )rg   r"  r  rÌ  Ú
int_widthsrD   Ú
width_listÚlength1rc   Úparserr+  s             @rK   re   zPDFType1Font.__init__  sò  ø€ ð	&Ý(¨¨jÔ)9Ñ:Ô:ˆDŒMˆMøÝð 	&ð 	&ð 	&ÝŒð DÝ"Ð#8Ñ9Ô9¸tÐCØ%ˆDŒMˆMˆMð	&øøøð	VÝ'4×'@Ò'@ÀÄÑ'OÔ'OÑ$ˆZ˜Ý�$�s¥S™y­%Ð/Ô0°*Ñ=Ô=ˆFˆFøÝð 	Vð 	Vð 	VÝ# D§H¢HÐ-=¸rÑ$BÔ$BÑCÔCˆJÝ! $§(¢(¨;¸Ñ":Ô":Ñ;Ô;ˆIå# D§H¢H¨X¸°s¸S±yÑ$AÔ$AÑBÔBˆJØUÐUÐUÐU½yÈÑ?TÔ?TÐUÑUÔUˆFˆFˆFð	Vøøøõ 	×Ò˜t Z°¸Ñ>Ô>Ð>Ø˜TÐ!Ð! j°JÐ&>Ð&>å(¨¯ª¸
Ñ)CÔ)CÑDÔDˆDŒMÝ ¤¨iÔ 8Ñ9Ô9ˆGØ”=×)Ò)Ñ+Ô+¨H¨W¨HÔ5ˆDÝ*­7°4©=¬=Ñ9Ô9ˆFØ%×2Ò2Ñ4Ô4ˆDÔÐÐð "Ð!Ð&>Ð&>s#   ƒ ž-AÁAÁAB$ Â$BD9Ä8D9c                 ó   — d| j         ›d�S )Nz<PDFType1Font: basefont=r:  ©r/  r;  s    rK   r<  zPDFType1Font.__repr__0  s   € Ø<¨$¬-Ð<Ð<Ð<Ð<rM   ©rZ   r[   r\   r   rC   r   re   r<  r`   rM   rK   r!  r!    sc   € € € € € ð5Ð 4ð 5¸GÀCÈÀHÔ<Mð 5ÐRVð 5ð 5ð 5ð 5ð6=˜#ð =ð =ð =ð =ð =ð =rM   r!  c                   ó   — e Zd Zdefd„ZdS )ÚPDFTrueTypeFontr3   c                 ó   — d| j         ›d�S )Nz<PDFTrueTypeFont: basefont=r:  r7  r;  s    rK   r<  zPDFTrueTypeFont.__repr__5  s   € Ø?¨T¬]Ð?Ð?Ð?Ð?rM   N)rZ   r[   r\   rC   r<  r`   rM   rK   r:  r:  4  s6   € € € € € ð@˜#ð @ð @ð @ð @ð @ð @rM   r:  c                   ó>   — e Zd Zdddeeef         ddfd„Zdefd„ZdS )ÚPDFType3Fontr"  r1   r  r3   Nc           
      óV  ‡— t          |                     dd¦  «        ¦  «        Št          |                     ddgdz  ¦  «        ¦  «        }ˆfd„t          |¦  «        D ¦   «         }d|v rt	          |d         ¦  «        }ndd|d         dœ}t
                               | |||¦  «         t          t          t          t          |                     d	¦  «        ¦  «        ¦  «        ¦  «        | _
        | j        \  }| _        }| _        t          | j
        d
¦  «        \  | _        | _        d S )Nr'  r   r(  rž   c                 ó"   •— i | ]\  }}|‰z   |“ŒS r`   r`   r*  s      €rK   r,  z)PDFType3Font.__init__.<locals>.<dictcomp>>  s0   ø€ ð *
ð *
ð *
Ù!' ! QˆA�	‰M˜1ð*
ð *
ð *
rM   r&  r  )rÒ  rÓ  r  Ú
FontMatrix)r7   r7   )r   rW  r   r:   r   r
  re   r
   r+   r^   ÚmatrixrÝ  rÙ  rØ  r.   rÞ  rß  )rg   r"  r  r3  rD   rÌ  rw   r+  s          @rK   re   zPDFType3Font.__init__:  s  ø€ Ý˜dŸhšh {°AÑ6Ô6Ñ7Ô7ˆ	å §¢¨°A°3¸±9Ñ =Ô =Ñ>Ô>ˆ
ð*
ð *
ð *
ð *
Ý+4°ZÑ+@Ô+@ð*
ñ *
ô *
ˆð ˜tÐ#Ð#Ý# DÐ)9Ô$:Ñ;Ô;ˆJˆJà$%°!ÀÀjÔAQÐRÐRˆJÝ×Ò˜t Z°¸Ñ>Ô>Ð>Ý�6¥5­°D·H²H¸\Ñ4JÔ4JÑ)KÔ)KÑ#LÔ#LÑMÔMˆŒØ,0¬IÑ)ˆˆDŒL˜!˜Tœ[Ý%6°t´{ÀFÑ%KÔ%KÑ"ˆŒ�d”k�k�krM   c                 ó   — dS )Nz<PDFType3Font>r`   r;  s    rK   r<  zPDFType3Font.__repr__J  s   € ØÐrM   r8  r`   rM   rK   r=  r=  9  sj   € € € € € ðLÐ 4ð L¸GÀCÈÀHÔ<Mð LÐRVð Lð Lð Lð Lð  ˜#ð  ð  ð  ð  ð  ð  rM   r=  c            	       ó@  — e Zd ZU eeedz  ef         z  ed<   ej        fdddee	e
f         deddfd„Zdee	e
f         dedefd	„Zedee	e
f         dede	fd
„¦   «         Zde	fd„Zdefd„Zdefd„Zdedee         fd„Zdedeeedz  ef         z  fd„Zdede	fd„ZdS )Ú
PDFCIDFontNÚdefault_dispr"  r1   r  r¬  r3   c                 ój	  — 	 t          |d         ¦  «        | _        n)# t          $ r |rt          d¦  «        d ‚d| _        Y nw xY wt	          |                     di ¦  «        ¦  «        | _        t          | j                             dd¦  «        ¦  «                             d¦  «        }t          | j                             dd¦  «        ¦  «                             d¦  «        }| 	                    ¦   «         › d	| 	                    ¦   «         › �| _
        |                      ||¦  «        | _        	 t	          |d
         ¦  «        }n$# t          $ r |rt          d¦  «        d ‚i }Y nw xY wd }d|v r`t          |                     d¦  «        ¦  «        | _        t          | j        t!          | j                             ¦   «         ¦  «        ¦  «        }d | _        d|v rÕt'          |d         t(          ¦  «        rpt          |d         ¦  «        }t+          ¦   «         | _        t-          | j        t!          |                     ¦   «         ¦  «        ¦  «                             ¦   «          �nt          |d         ¦  «        }	t          |d         ¦  «        }
d|v sd|	v sd|
v rt1          ¦   «         | _        nÇ| j
        dv rR|rOt3          j        t          j        ¦  «        5  |                     ¦   «         | _        d d d ¦  «         n# 1 swxY w Y   nlt3          j        t:          j        ¦  «        5  t;          j        | j
        | j                             ¦   «         ¦  «        | _        d d d ¦  «         n# 1 swxY w Y   | j                             ¦   «         | _         | j         r¥tC          tE          |                     dg ¦  «        ¦  «        ¦  «        }d„ | #                    ¦   «         D ¦   «         | _$        t          |                     dddg¦  «        ¦  «        \  }}d |f| _%        d„ | #                    ¦   «         D ¦   «         }|}nTi | _$        d| _%        tM          tE          |                     dg ¦  «        ¦  «        ¦  «        }|                     dd¦  «        }tN           (                    | |||¬¦  «         d S )Nr$  r%  rÐ  ÚCIDSystemInfoÚRegistrys   unknownÚlatin1ÚOrderingr�   r&  zFontDescriptor is missingÚ	FontFile2r  r  ÚIdentity)zAdobe-Identityz	Adobe-UCSÚW2c                 ó*   — i | ]\  }\  }\  }}|||f“ŒS r`   r`   )rD  rl   rw   rP   rQ   s        rK   r,  z'PDFCIDFont.__init__.<locals>.<dictcomp>�  s+   € ÐTÐTÐTÑ,@¨S±-°1±h°r¸2˜#  B˜xÐTÐTÐTrM   ÚDW2ip  iüÿÿc                 ó    — i | ]\  }\  }}||“ŒS r`   r`   )rD  rl   rI   rw   s       rK   r,  z'PDFCIDFont.__init__.<locals>.<dictcomp>’  s/   € ð .ð .ð .Ù(˜C¡ ! Q��Qð.ð .ð .rM   r   rî   ÚDWiè  )rÍ  ))r*   r/  rj   rÄ  r   rW  Úcidsysteminfor!   rê  ÚstripÚ	cidcodingÚget_cmap_from_specÚcmapr#   r1  rq  r   r  rš  r8   r   r   r   r  r   Ú
contextlibÚsuppressru  rœ  r   Úget_unicode_maprã  ÚverticalrR   r   rŽ  ÚdispsrE  rL   rË  re   )rg   r"  r  r¬  Úcid_registryÚcid_orderingrÌ  Úttfr  Ú	cmap_namer  Úwidths2rQ   rI   rD   rÍ  s                   rK   re   zPDFCIDFont.__init__Q  s  € ð	&Ý(¨¨jÔ)9Ñ:Ô:ˆDŒMˆMøÝð 	&ð 	&ð 	&Øð DÝ"Ð#8Ñ9Ô9¸tÐCØ%ˆDŒMˆMˆMð	&øøøõ (¨¯ª°À"Ñ(EÔ(EÑFÔFˆÔÝ Ô 2× 6Ò 6°zÀ:Ñ NÔ NÑOÔO×VÒVØñ
ô 
ˆõ   Ô 2× 6Ò 6°zÀ:Ñ NÔ NÑOÔO×VÒVØñ
ô 
ˆð )×.Ò.Ñ0Ô0ÐIÐI°<×3EÒ3EÑ3GÔ3GÐIÐIˆŒØ"×5Ò5°d¸FÑCÔCˆŒ	ð	Ý# DÐ)9Ô$:Ñ;Ô;ˆJˆJøÝð 	ð 	ð 	Øð JÝ"Ð#>Ñ?Ô?ÀTÐIØˆJˆJˆJð	øøøð ˆØ˜*Ð$Ð$Ý(¨¯ª¸Ñ)DÔ)DÑEÔEˆDŒMÝ˜tœ}­g°d´m×6LÒ6LÑ6NÔ6NÑ.OÔ.OÑPÔPˆCØ.2ˆÔØ˜$ÐÐÝ˜$˜{Ô+­YÑ7Ô7ð <Ý# D¨Ô$5Ñ6Ô6�Ý#1Ñ#3Ô#3�Ô Ý˜4Ô+­W°T·]²]±_´_Ñ-EÔ-EÑFÔF×JÒJÑLÔLÐLÑLå(¨¨kÔ):Ñ;Ô;�	Ý'¨¨ZÔ(8Ñ9Ô9�à ,Ð.Ð.Ø! YÐ.Ð.Ø! XÐ-Ð-å'9Ñ';Ô';�DÔ$øØŒ^Ð>Ð>Ð>Øð @ÝÔ(­Ô)BÑCÔCð @ð @Ø'*×'=Ò'=Ñ'?Ô'?�DÔ$ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @øõ Ô$¥VÔ%8Ñ9Ô9ð ð Ý#)Ô#9Ø”NØ”I×)Ò)Ñ+Ô+ñ$ô $�Ô ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð œ	×-Ò-Ñ/Ô/ˆŒØŒ=ð 	1å!¥*¨T¯XªX°d¸BÑ-?Ô-?Ñ"@Ô"@ÑAÔAˆGØTÐTÀGÇMÂMÁOÄOÐTÑTÔTˆDŒJÝ˜tŸxšx¨°°U¨|Ñ<Ô<Ñ=Ô=‰GˆR�Ø!% r 
ˆDÔð.ð .Ø,3¯MªM©O¬Oð.ñ .ô .ˆFð ˆMˆMð ˆDŒJØ !ˆDÔÝ¥
¨4¯8ª8°C¸Ñ+<Ô+<Ñ =Ô =Ñ>Ô>ˆFØ ŸHšH T¨4Ñ0Ô0ˆMÝ×Ò˜˜z¨6ÀÐÑOÔOÐOÐOÐOsE   ‚ �#AÁAÄ0E ÅE'Å&E'ËK?Ë?LÌLÌ)7M,Í,M0Í3M0c                 óÐ   — |                       ||¦  «        }	 t          j        |¦  «        S # t          j        $ r*}|rt	          |¦  «        |‚t          ¦   «         cY d}~S d}~ww xY w)an  Get cmap from font specification

        For certain PDFs, Encoding Type isn't mentioned as an attribute of
        Encoding but as an attribute of CMapName, where CMapName is an
        attribute of spec['Encoding'].
        The horizontal/vertical modes are mentioned with different name
        such as 'DLIdent-H/V','OneByteIdentityH/V','Identity-H/V'.
        N)Ú_get_cmap_namer   Úget_cmapru  rÄ  r   )rg   r  r¬  r_  rn   s        rK   rU  zPDFCIDFont.get_cmap_from_specž  sy   € ð ×'Ò'¨¨fÑ5Ô5ˆ	ð	Ý”? 9Ñ-Ô-Ð-øÝÔ"ð 	ð 	ð 	Øð -Ý" 1‘o”o¨1Ð,Ý‘6”6ˆMˆMˆMˆMˆMˆMøøøøð	øøøs   ˜, ¬A%»A ÁA%Á A%c                 óÀ  — d}	 | d         }t          |d¦  «        rt          | d         ¦  «        }nt          |d         ¦  «        }n"# t          $ r |rt          d¦  «        d‚Y nw xY wt	          |¦  «        t
          u rEt          t
          |¦  «        }d|v r|                     d¦  «        j        }n|rt          d¦  «        ‚t                               ||¦  «        S )z%Get cmap name from font specificationrÐ  r  rm   ÚCMapNamezEncoding is unspecifiedNz!CMapName unspecified for encoding)
Úhasattrr*   rj   rÄ  Útyper   r
   rW  rm   ÚIDENTITY_ENCODER)r  r¬  r_  Úspec_encodingÚcmap_name_streams        rK   rb  zPDFCIDFont._get_cmap_name°  s  € ð ˆ	ð	HØ  Ô,ˆMÝ�} fÑ-Ô-ð DÝ(¨¨jÔ)9Ñ:Ô:�	�	å(¨°zÔ)BÑCÔC�	øøÝð 	Hð 	Hð 	HØð HÝ"Ð#<Ñ=Ô=À4ÐGðHð Hð	Høøøõ �	‰?Œ?�iÐ'Ð'Ý*.­y¸)Ñ*DÔ*DÐØÐ-Ð-Ð-Ø,×0Ò0°Ñ<Ô<ÔA�	�	Øð HÝ"Ð#FÑGÔGÐGå×#Ò# I¨yÑ9Ô9Ð9s   „AA ÁA'Á&A'c                 ó(   — d| j         ›d| j        ›d�S )Nz<PDFCIDFont: basefont=z, cidcoding=r:  )r/  rT  r;  s    rK   r<  zPDFCIDFont.__repr__È  s   € ØX¨¬ÐXÐXÀTÄ^ÐXÐXÐXÐXrM   c                 ó   — | j         S rW   )rZ  r;  s    rK   rã  zPDFCIDFont.is_verticalË  s
   € ØŒ}ÐrM   c                 ó   — dS )NTr`   r;  s    rK   ræ  zPDFCIDFont.is_multibyteÎ  s   € ØˆtrM   rH  c                 ó6   — | j                              |¦  «        S rW   )rV  rê  ré  s     rK   rê  zPDFCIDFont.decodeÑ  s   € ØŒy×Ò Ñ&Ô&Ð&rM   rl   c                 óB   — | j                              || j        ¦  «        S )rù  )r[  rW  rE  rú  s     rK   rû  zPDFCIDFont.char_dispÔ  s   € àŒz�~Š~˜c 4Ô#4Ñ5Ô5Ð5rM   c                 ó´   — 	 | j         st          |¦  «        ‚| j                              |¦  «        S # t          $ r}t	          | j        |¦  «        |‚d }~ww xY wrW   )rš  r   r  rj   rÇ  rT  r  s      rK   rô  zPDFCIDFont.to_unichrØ  so   € ð	EØÔ#ð 'Ý! #Ñ&Ô&Ð&ØÔ#×.Ò.¨sÑ3Ô3Ð3øÝð 	Eð 	Eð 	EÝ& t¤~°sÑ;Ô;ÀÐDøøøøð	Eøøøs   ‚/2 ²
A¼AÁA)rZ   r[   r\   r<   r^   Ú__annotations__r   r0  r   rC   r   r  re   r   rU  r  rb  r<  rã  ræ  rH  r   r;   rê  rû  rô  r`   rM   rK   rD  rD  N  sâ  € € € € € € Ø˜% ¨¡¨eÐ 3Ô4Ñ4Ð4Ð4Ñ4ð  ”ð	KPð KPà%ðKPð �c˜3�hÔðKPð ð	KPð
 
ðKPð KPð KPð KPðZ w¨s°C¨xÔ'8ð À$ð È8ð ð ð ð ð$ ð:˜W S¨# XÔ.ð :¸ð :Àð :ð :ð :ñ „\ð:ð.Y˜#ð Yð Yð Yð Yð˜Tð ð ð ð ð˜dð ð ð ð ð'˜Eð ' h¨s¤mð 'ð 'ð 'ð 'ð6˜Sð 6 U¨U°5¸4±<ÀÐ3FÔ-GÑ%Gð 6ð 6ð 6ð 6ðE˜Sð E Sð Eð Eð Eð Eð Eð ErM   rD  )^rW  Úloggingr¦   Úcollections.abcr   r   r   Úior   Útypingr   r   r	   r
   Úpdfminerr   Úpdfminer.castingr   r   Úpdfminer.cmapdbr   r   r   r   r   r   r   Úpdfminer.encodingdbr   r   Úpdfminer.fontmetricsr   Úpdfminer.pdfexceptionsr   r   r   Úpdfminer.pdftypesr   r   r   r   r    r!   r"   r#   Úpdfminer.psexceptionsr$   Úpdfminer.psparserr%   r&   r'   r(   r)   r*   Úpdfminer.utilsr+   r,   r-   r.   r/   r0   Úpdfminer.pdfinterpr1   Ú	getLoggerrZ   r@   r_   rB   rC   r;   r<   rL   r^   rR   rT   rb   r¥   rh  rH  r9   r´   r¶   rq  rÄ  rÇ  r  ÚLITERAL_TYPE1Cr  rË  r
  r!  r:  r=  rD  r`   rM   rK   ú<module>rƒ     s¿  ðØ Ð Ð Ð Ø €€€Ø €€€Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 9Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø -Ð -Ð -Ð -Ð -Ð -Ø KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ Kð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð (Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð UÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ Tàð 6Ø5Ð5Ð5Ð5Ð5Ð5à€gÔ˜Ñ!Ô!€ð!0�H˜VÔ$ð !0¨¨c°C©i¸Ð.>Ô)?ð !0ð !0ð !0ð !0ðH�X˜fÔ%ð ¨$¨s°E¸%À¸,Ô4GÐ/GÔ*Hð ð ð ð ð*&ð &ð &ð &ð &ñ &ô &ð &ð+=ð +=ð +=ð +=ð +=˜M¨#Ô.ñ +=ô +=ð +=ð\ X€ð
 Øðð Ð ð+�%ð +˜D  d¨5°3©;Ô&7Ð!7Ô8ð +ð +ð +ð +ð\wCð wCð wCð wCð wCñ wCô wCð wCðtRð Rð Rð Rð Rñ Rô Rð Rðj	ð 	ð 	ð 	ð 	�<ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	˜<ñ 	ô 	ð 	ð  ˜CÐ 2Ñ3Ô3Ð Ø��X‘”€ð �S˜3‘Y Ð%Ô&€ðhð hð hð hð hñ hô hð hðV+;ð +;ð +;ð +;ð +;�Gñ +;ô +;ð +;ð\=ð =ð =ð =ð =�=ñ =ô =ð =ð@@ð @ð @ð @ð @�lñ @ô @ð @ð
 ð  ð  ð  ð  �=ñ  ô  ð  ð*PEð PEð PEð PEð PE�ñ PEô PEð PEð PEð PErM   