+
    ŒvjeI  ã                   ó”  € R t Rt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RI	H
t
HtHtHtHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHtHt RtR tR t ! R R]P8                  4      t ! R R]P<                  4      t ! R R]P@                  4      t! ! R R]!4      t"R t#R t$]%R8X  d   ^ RI&t&^ RIH't' ]&PP                  ! ]'4       R# R# )z3.3.0zªCID (Asian multi-byte) font support.

This defines classes to represent CID fonts.  They know how to calculate
their own width and how to write themselves into PDF files.N)Úmd5)Ú
pdfmetrics)ÚallowedTypeFacesÚallowedEncodingsÚCIDFontInfoÚdefaultUnicodeEncodingsÚwidthsByUnichar)ÚCanvas)Úpdfdoc©Ú	escapePDF)ÚCMapSearchPath)ÚisSeqÚisBytesTc                óÎ   € \          FJ  pV\        P                  ,           V ,           p\        P                  P	                  V4      '       g   KH  Vu # 	  \        RV ,          4      h)z&Returns full filename, or raises errorz'CMAP file for encodings "%s" not found!)r   ÚosÚsepÚpathÚisfileÚIOError)ÚnameÚdirnameÚcmapfiles   &  Ú^/var/www/html/daimler-pipeline/venv/lib/python3.14/site-packages/reportlab/pdfbase/cidfonts.pyÚfindCMapFiler      sJ   € ç!ˆØœRŸV™VÕ# dÕ*ˆÜ�7‰7�>‰>˜(×#Ô#àŠOñ	 "ô
 Ð;¸dÕBÓ
CÐCó    c                óF  € \        V \        4      '       d?   / pV P                  4        F  w  r#\        V4      W&   K  	  \        P
                  ! V4      # \        V 4      '       d<   . pV  F  pVP                  \        V4      4       K  	  \        P                  ! V4      # V # )zCConverts deeply nested structure to PDFdoc dictionary/array objects)	Ú
isinstanceÚdictÚitemsÚstructToPDFr
   ÚPDFDictionaryr   ÚappendÚPDFArray)Ú	structureÚnewDictÚkÚvÚnewListÚelems   &     r   r    r    '   sƒ   € ä�)œD×!Ò!ØˆØ—O‘OÖ%‰DˆAÜ$ Q›ˆG‹Jñ &ä×#Ò# GÓ,Ð,Ü	ˆy×	Ò	ØˆÛˆDØ�N‰Nœ; tÓ,Ö-ñ ä�Š˜wÓ'Ð'àÐr   c                   óR   a € ] tR t^6t o RtRR ltR tR tR tR t	R t
R tR	tV tR
# )ÚCIDEncodingzÀMulti-byte encoding.  These are loaded from CMAP files.

A CMAP file is like a mini-codec.  It defines the correspondence
between code points in the (multi-byte) input data and Character
IDs. c                ó0  € Wn         R V n        . V n        . V n        / V n        R V n        \        '       gá   V'       dÆ   ^ RIHp V! R4      p\        P                  P                  V\        P                  ,           V,           R,           4      '       d>   V P                  V4       V\        P                  ,           V,           R,           V n        R # V P                  V4       RV,           V n        V P                  V4       R # V P                  V4       R # R # )N)Úget_rl_tempdirÚ	FastCMAPSú.fastmapzCMAP: )r   Ú_mapFileHashÚ_codeSpaceRangesÚ_notDefRangesÚ_cmapÚsourceÚDISABLE_CMAPÚreportlab.lib.utilsr-   r   r   r   r   ÚfastLoadÚparseCMAPFileÚfastSave)Úselfr   ÚuseCacher-   Ú
fontmapdirs   &&&  r   Ú__init__ÚCIDEncoding.__init__B   sÆ   € ØŒ	Ø ˆÔØ "ˆÔØˆÔØˆŒ
ØˆŒß‹|ßÝ>Ù+¨KÓ8�
Ü—7‘7—>‘> *¬r¯v©vÕ"5¸Õ"<¸zÕ"I×JÒJØ—M‘M *Ô-Ø",¬r¯v©vÕ"5¸Õ"<¸zÕ"I�D–Kà×&Ñ& tÔ,Ø"*¨T¥/�D”KØ—M‘M *Ö-à×"Ñ" 4Ö(ñ r   c                ó\   € \        R R7      pVP                  V4       VP                  4       # )F)Úusedforsecurity)r   ÚupdateÚdigest)r:   ÚtextÚhashers   && r   Ú_hashÚCIDEncoding._hashW   s$   € Ü UÔ+ˆØ�‰�dÔØ�}‰}‹Ðr   c                ó�  € \        V4      p\        VR4      P                  4       pV P                  V4      V n        VP                  R4      pVR8”  d0   V^ V pVP                  4       pVR,          pV P                  V4       VP                  4       pV. 8w  Ed¬   V^ ,          R8X  dp   VR,          pV^ ,          R8w  dW   V^ ,          V^,          VR,          rip\        V^R ^4      p
\        V	^R ^4      pV P                  P                  W«34       Kd  K…  V^ ,          R8X  dx   VR,          pV^ ,          R8w  d^   VR	,          w  r‰p\        V^R ^4      p
\        V	^R ^4      p\        V4      pV P                  P                  W«V34       VR
,          pKk  EK
  V^ ,          R8X  d�   VR,          pV^ ,          R8w  dv   VR	,          w  r‰p\        V^R ^4      p
\        V	^R ^4      p\        V4      p^ pW®,           V8:  d'   WÞ,           V P                  W®,           &   V^,           pK3  VR
,          pKƒ  EK§  VR,          pEK³  R# )zfThis is a tricky one as CMAP files are Postscript
ones.  Some refer to others with a 'usecmap'
commandÚrÚusecmapÚbegincodespacerangeºé   NNÚendcodespacerangeºé   NNÚbeginnotdefrangeÚendnotdefrange:é    é   N:rS   NNÚbegincidrangeÚendcidrangeNéÿÿÿÿ)r   ÚopenÚreadrE   r0   ÚfindÚsplitr8   Úintr1   r"   r2   r3   )r:   r   r   ÚrawdataÚusecmap_posÚchunkÚwordsÚotherCMAPNameÚstrStartÚstrEndÚstartÚendÚstrValueÚvalueÚoffsets   &&             r   r8   ÚCIDEncoding.parseCMAPFile\   s9  € ô
   Ó%ˆä�x Ó%×*Ñ*Ó,ˆà ŸJ™J wÓ/ˆÔð —l‘l 9Ó-ˆØ˜"Ôð ˜A˜kÐ*ˆEØ—K‘K“MˆEØ! "�IˆMà×Ñ˜}Ô-ð
 —‘“ˆØ�r�kØ�Q�xÐ0Ô0Ø˜b�	�Ø˜A•hÐ"5Ô5Ø.3°A­h¸¸a½À%ÈÅ) e�HÜ ¨¨2 °Ó3�EÜ˜f Q r˜l¨BÓ/�CØ×)Ñ)×0Ñ0°%°Ö?ñ	 6ð
 �q•Ð/Ô/Ø˜b�	�Ø˜A•hÐ"2Ô2Ø16°sµÑ.�H hÜ ¨¨2 °Ó3�EÜ˜f Q r˜l¨BÓ/�CÜ ›M�EØ×&Ñ&×-Ñ-¨u¸5Ð.AÔCØ! "�I’Eò 3ð �q•˜_Ô,Ø˜b�	�Ø˜A•h -Ô/Ø16°sµÑ.�H hÜ ¨¨2 °Ó3�EÜ˜f Q r˜l¨BÓ/�CÜ ›M�Eð �FØ�.¨CÔ/Ø5:µ^˜Ÿ
™
 5¥>Ñ2Ø!'¨!¥šØ! "�I’Eò 0ð ˜b�	“ñE r   c                óÒ  € . pV P                   pRpV F�  pVR8w  d$   \        V4      R,          \        V4      ,           pM\        V4      pTp^ pV P                   F5  w  r‰Y†u;8  d
   V	8  g   K  M K   W6,          p
TP                  T
4       ^p M	  V'       d   RpK�  TpK‘  	  V#   \         d4    ^ p
T P                   F  w  r¼pY¶u;8  d
   T8  g   K  M K  Tp
  Kd  	   Lhi ; i)z$Convert a string into a list of CIDsÚ é   )r3   Úordr1   ÚKeyErrorr2   r"   )r:   rC   ÚoutputÚcmapÚlastCharÚcharÚnumÚfoundÚlowÚhighÚcidÚlow2Úhigh2Únotdefs   &&            r   Ú	translateÚCIDEncoding.translate�   sî   € àˆØ�z‰zˆØˆÛˆDØ˜2Œ~ä˜(“m cÕ)¬C°«IÕ5‘ô ˜$“i�ØˆHØˆEØ!×2Ô2‘	�ØÖ#˜t×#Ò#ð&Ø"�i˜ð —M‘M #Ô&Ø�EÙñ! 3÷" Ø’à’ñ; ð< ˆøô! $ô &ð  ˜Ø37×3EÔ3EÑ/˜D¨Ø#Ö1¨E×1Ò1Ø&, Û %ó 4Fð&ús   Á5B(Â(*C&ÃC&Ã!C&Ã%C&c                ó¢  € \        \        P                  P                  WP                  R ,           4      R4      p\
        P                  ! V P                  V4       \
        P                  ! V P                  V4       \
        P                  ! V P                  V4       \
        P                  ! V P                  V4       VP                  4        R# )r/   ÚwbN)rW   r   r   Újoinr   ÚmarshalÚdumpr0   r1   r2   r3   Úclose)r:   Ú	directoryÚfs   && r   r9   ÚCIDEncoding.fastSaveÂ   s{   € Ü”—‘—‘˜i¯©°ZÕ)?Ó@À$ÓGˆÜ�Š�T×&Ñ&¨Ô*Ü�Š�T×*Ñ*¨AÔ.Ü�Š�T×'Ñ'¨Ô+Ü�Š�T—Z‘Z Ô#Ø	�‰Ž	r   c                óÆ  € \         P                  ! 4       p\        \        P                  P                  WP                  R ,           4      R4      p\        P                  ! V4      V n	        \        P                  ! V4      V n
        \        P                  ! V4      V n        \        P                  ! V4      V n        VP                  4        \         P                  ! 4       pR# )r/   ÚrbN)ÚtimeÚclockrW   r   r   r~   r   r   Úloadr0   r1   r2   r3   r�   )r:   r‚   Ústartedrƒ   Úfinisheds   &&   r   r7   ÚCIDEncoding.fastLoadÊ   s‚   € Ü—*’*“,ˆÜ”—‘—‘˜i¯©°ZÕ)?Ó@À$ÓGˆÜ#ŸLšL¨›OˆÔÜ '§¢¨Q£ˆÔÜ$Ÿ\š\¨!›_ˆÔÜ—\’\ !“_ˆŒ
Ø	�‰Œ	Ü—:’:“<Šr   c                óf   € RV P                   RV P                  RV P                  RV P                  /# )z@Simple persistence helper.  Return a dict with all that matters.ÚmapFileHashÚcodeSpaceRangesÚnotDefRangesro   )r0   r1   r2   r3   )r:   s   &r   ÚgetDataÚCIDEncoding.getDataÕ   s8   € ð ˜4×,Ñ,Ø˜t×4Ñ4Ø˜D×.Ñ.Ø�D—J‘Jð	ð 	r   )r3   r1   r0   r2   r   r4   N)rL   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r=   rE   r8   rz   r9   r7   r‘   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r+   r+   6   s4   ø‡ € ñô)ò*ò
="òB#òJò ÷ð r   r+   c                   ó<   a € ] tR t^Þt o RtR tR tR tR tRt	V t
R# )ÚCIDTypeFacez›Multi-byte type face.

Conceptually similar to a single byte typeface,
but the glyphs are identified by a numeric Character
ID (CID) and not a glyph name. c                óf   € \         P                  P                  W4       V P                  V4       R# )zeInitialised from one of the canned dictionaries in allowedEncodings

Or rather, it will be shortly...N)r   ÚTypeFacer=   Ú_extractDictInfo)r:   r   s   &&r   r=   ÚCIDTypeFace.__init__ä   s&   € ô 	×Ñ×$Ñ$ TÔ0Ø×Ñ˜dÖ#r   c                ód  €  \         V,          pTR,          ^ ,          pTR,          R,          T n        TR,          R,          T n        TR,          T n        T P                  TR,          4      T n        R#   \         d/    \        R T,          R,           \        \        4      ,           4      hi ; i)	z/Unable to find information on CID typeface '%s'z#Only the following font names work:ÚDescendantFontsÚFontDescriptorÚAscentÚDescentÚDWÚWN)	r   rm   Úreprr   ÚascentÚdescentÚ_defaultWidthÚ_expandWidthsÚ_explicitWidths)r:   r   ÚfontDictÚdescFonts   &&  r   r    ÚCIDTypeFace._extractDictInfoê   s­   € ð	\Ü" 4Õ(ˆHð Ð-Õ.¨qÕ1ˆØÐ/Õ0°Õ:ˆŒØÐ 0Õ1°)Õ<ˆŒØ% d�^ˆÔØ#×1Ñ1°(¸3µ-Ó@ˆÖøô ô 	\ÜÐLÈtÕSØAõBÜDHÔIYÓDZõ[ó \ð \ð	\ús   ‚A6 Á69B/c                ón  € VR,          p/ pV'       d¢   V^ ,          VR,          r$\        V^ ,          4      '       d@   V^ ,          VR,          r%\        \        V4      4       F  pWV,          W4V,           &   K  	  Kp  V^ ,          V^,          VR,          r(p\        WG^,           4       F  p	WƒV	&   K	  	  K©  V# )a8  Expands Adobe nested list structure to get a dictionary of widths.

Here is an example of such a structure.::

    (
    # starting at character ID 1, next n  characters have the widths given.
    1,  (277,305,500,668,668,906,727,305,445,445,508,668,305,379,305,539),
    # all Characters from ID 17 to 26 are 668 em units wide
    17, 26, 668,
    27, (305, 305, 668, 668, 668, 566, 871, 727, 637, 652, 699, 574, 555,
         676, 687, 242, 492, 664, 582, 789, 707, 734, 582, 734, 605, 605,
         641, 668, 727, 945, 609, 609, 574, 445, 668, 445, 668, 668, 590,
         555, 609, 547, 602, 574, 391, 609, 582, 234, 277, 539, 234, 895,
         582, 605, 602, 602, 387, 508, 441, 582, 562, 781, 531, 570, 555,
         449, 246, 449, 668),
    # these must be half width katakana and the like.
    231, 632, 500
    )

:NNNrK   rN   )r   ÚrangeÚlen)
r:   ÚcompactWidthArrayÚdataÚwidthsrc   r   rg   rd   ÚwidthÚidxs
   &&        r   r­   ÚCIDTypeFace._expandWidthsú   sš   € ð* ! Õ#ˆØˆßØ˜q�' 4¨¥8�4Ü�T˜!•W�~Š~Ø" 1�g t¨B¥x�tÜ#¤C¨£JÖ/�FØ-2­]�F 6�>Ó*ó 0ð $(¨¥7¨D°­G°T¸"µX˜D�Ü  ¨A­Ö.�CØ"'˜3“Kó /àˆr   c                óL   € V P                   P                  WP                  4      # ©N)r®   Úgetr¬   )r:   ÚcharacterIds   &&r   ÚgetCharWidthÚCIDTypeFace.getCharWidth  s   € Ø×#Ñ#×'Ñ'¨×5GÑ5GÓHÐHr   )r¬   r®   rª   r«   N)r“   r”   r•   r–   r—   r=   r    r­   r¿   r˜   r™   rš   s   @r   r�   r�   Þ   s'   ø‡ € ñ'ò
$ò
Aò !÷FIð Ir   r�   c                   óD   a € ] tR tRt o Rt^tR tR tR	R ltR t	Rt
V tR# )
ÚCIDFonti   z%Represents a built-in multi-byte fontc                óŽ  € V\         9   g   Q R V: R\         : 24       hWn        \        V4      V n        V\        9   g   Q RV: R\        : 24       hW n        \        V4      V n        V P                  R,           V P
                  ,           V n        V P                  V n	        V P
                  R,          R8H  V n
        . V n        R# )z
TypeFace 'z+' not supported! Use any of these instead: z
Encoding 'z,' not supported!  Use any of these instead: Ú-ÚVNrV   )r   ÚfaceNamer�   Úfacer   ÚencodingNamer+   ÚencodingÚfontNamer   Ú
isVerticalÚsubstitutionFonts)r:   rÇ   rÉ   s   &&&r   r=   ÚCIDFont.__init__$  s³   € àÔ'Ô'ÑÓhlÖn~Ð)ÓÐ'ØŒä Ó%ˆŒ	àÔ+Ô+ñ  	IÓmuö  xHð  .Ió  	IÐ+Ø$ÔÜ# HÓ-ˆŒð Ÿ™¨Õ+¨d×.?Ñ.?Õ?ˆŒØ—M‘MˆŒ	ð  ×,Ñ,¨RÕ0°CÑ7ˆŒð "$ˆÖr   c                ó   € \        V4      pV# r¼   r   )r:   rC   Úencodeds   && r   ÚformatForPdfÚCIDFont.formatForPdf9  s   € Ü˜D“/ˆàˆr   Nc                óø   € V P                   P                  V4      pV P                  '       d   \        V4      V,          # ^ pV F$  pWPP                  P                  V4      ,           pK&  	  RV,          V,          # )zJThis presumes non-Unicode input.  UnicodeCIDFont wraps it for that contextçü©ñÒMbP?)rÉ   rz   rË   r´   rÇ   r¿   )r:   rC   ÚsizerÉ   ÚcidlistÚwrv   s   &&&&   r   ÚstringWidthÚCIDFont.stringWidth>  se   € à—-‘-×)Ñ)¨$Ó/ˆØ�?�?ˆ?ô �w“< $Õ&Ð&àˆAÛ�ØŸ	™	×.Ñ.¨sÓ3Õ3’ñ à˜1•9˜tÕ#Ð#r   c                óž  € R\        \        VP                  4      ^,           4      ,           p\        V P                  P
                  ,          pRV,           VR&   RV P                  ,           VR&   \        V4      pVP                  WB4      pVP                  R,          P                  pWVV&   RV,           VP                  V P
                  &   R# )z—The explicit code in addMinchoObjects and addGothicObjects
will be replaced by something that pulls the data from
_cidfontdata.py in the next few days.ÚFÚ/ÚNameÚEncodingÚ
BasicFontsN)r©   r´   ÚfontMappingr   rÇ   r   rÈ   r    Ú	ReferenceÚ
idToObjectr   )r:   ÚdocÚinternalNameÚbigDictÚcidObjrH   r¯   s   &&     r   Ú
addObjectsÚCIDFont.addObjectsL  s¥   € ð œT¤# c§o¡oÓ"6°qÕ"8Ó9Õ9ˆä˜dŸi™iŸn™nÕ-ˆØ Õ,ˆ�‰Ø! D×$5Ñ$5Õ5ˆ�
Ñô ˜WÓ%ˆð �M‰M˜&Ó/ˆØ—>‘> ,Õ/×4Ñ4ˆØ!"�ÑØ%(¨<Õ%7ˆ�‰˜Ÿ	™	Ó"r   )rÉ   rÈ   rÇ   rÆ   rÊ   rË   r   rÌ   r¼   )r“   r”   r•   r–   r—   Ú
_multiByter=   rÐ   r×   ræ   r˜   r™   rš   s   @r   rÂ   rÂ      s&   ø‡ € Ù+Ø€Jò$ò*ô
$÷8ð 8r   rÂ   c                   ó>   a € ] tR tRt o RtRR ltR tR	R ltRtV t	R# )
ÚUnicodeCIDFonti`  uF  Wraps up CIDFont to hide explicit encoding choice;
encodes text for output as UTF16.

lang should be one of 'jpn',chs','cht','kor' for now.
if vertical is set, it will select a different widths array
and possibly glyphs for some punctuation marks.

halfWidth is only for Japanese.


>>> dodgy = UnicodeCIDFont('nonexistent')
Traceback (most recent call last):
...
KeyError: "don't know anything about CID font nonexistent"
>>> heisei = UnicodeCIDFont('HeiseiMin-W3')
>>> heisei.name
'HeiseiMin-W3'
>>> heisei.language
'jpn'
>>> heisei.encoding.name
'UniJIS-UCS2-H'
>>> #This is how PDF data gets encoded.
>>> print(heisei.formatForPdf('hello'))
\000h\000e\000l\000l\000o
>>> tokyo = u'æ�±ä«¬'
>>> print(heisei.formatForPdf(tokyo))
gqJ\354
>>> print(heisei.stringWidth(tokyo,10))
20.0
>>> print(heisei.stringWidth('hello world',10))
45.83
c                ón  €  \         V,          w  rEY@n        TRR pT'       d
   TR,           pT'       d   TR,           pM	TR,           p\        P	                  YT4       T;T n        T n        Y n        Y0n        \        T P
                  ,          T n
        R#   \         d    \        R T,          4      hi ; i)z%don't know anything about CID font %sNzHW-rÅ   ÚHrV   )r   rm   ÚlanguagerÂ   r=   r   rÊ   ÚverticalÚisHalfWidthr   ÚunicodeWidths)r:   rÇ   rË   rï   ÚlangÚdefaultEncodingÚencs   &&&&   r   r=   ÚUnicodeCIDFont.__init__‚  s­   € ð	KÜ$;¸DÕ$AÑ!ˆDð
 Œð ˜c˜rÐ"ˆßØ˜•+ˆCßØ˜•)‰Cà˜•)ˆCô 	×Ñ˜ SÔ)ð %)Ð(ˆŒ	�D”MØ"ŒØ&Ôä,¨T¯Y©YÕ7ˆÖøô1 ô 	KÜÐBÀTÕIÓJÐJð	Kús   ‚B ÂB4c                óŠ   € ^ RI Hp \        V4      '       d   VP                  R4      pV! V4      ^ ,          p\	        V4      pV# )rR   )Úutf_16_be_encodeÚutf8)Úcodecsrö   r   Údecoder   )r:   rC   rö   ÚutfTextrÏ   s   &&   r   rÐ   ÚUnicodeCIDFont.formatForPdf¡  s:   € å+ä�4�=Š=Ø—;‘;˜vÓ&ˆDÙ" 4Ó(¨Õ+ˆÜ˜GÓ$ˆàˆr   Nc           
     óØ   € \        V4      '       d   VP                  R4      pV P                  pVR,          \        V Uu. uF  qTP	                  VR4      NK  	  up4      ,          # u upi )z8Just ensure we do width test on characters, not bytes...r÷   rÓ   iè  )r   rù   rð   Úsumr½   )r:   rC   rÔ   rÉ   r·   Úuchs   &&&&  r   r×   ÚUnicodeCIDFont.stringWidth±  sS   € ä�4�=Š=Ø—;‘;˜vÓ&ˆDà×#Ñ#ˆØ�e�|œcÁDÓ"IÁD¸S§:¡:¨c°4Ö#8ÁDÑ"IÓJÕJÐJùÒ"Is   Á A'
)rÊ   rï   rí   r   rð   rî   )FFr¼   )
r“   r”   r•   r–   r—   r=   rÐ   r×   r˜   r™   rš   s   @r   rê   rê   `  s!   ø‡ € ñôB8ò>	÷ Kò Kr   rê   c                 óX  € ^ RI pVP                  ! V 4      pV Fs  pVP                  P                  WP                  ,           V,           R,           4      '       d   KD   \        V4      pTP                  T 4       \        RT,          4       Ku  	  R#    \        RX,          4        K�  ; i)rR   Nr/   zcannot parse %s, skippingzsaved %s.fastmap)r   Úlistdirr   r   r   r+   Úprintr9   )Úcmapdirr   ÚfilesÚfileró   s   &    r   Úprecalculater  »  s‡   € ãØ�JŠJ�wÓ€EÛˆØ�7‰7�>‰>˜'§F¡FÕ*¨TÕ1°JÕ>×?Ò?Ùð	Ü˜dÓ#ˆCð 	�‰�WÔÜÐ  4Õ'Ö(ó øð
	ÜÐ-°Õ3Ô4Úús   ÁBÂB)c                  ó  € \        R 4      p V P                  R^4       V P                  ^dRR4       \        P                  ! \        RR4      4       \        P                  ! \        RR4      4       V P                  R^4       RpV P                  ^dR	V4       V P                  4        \        R
4       Rp\        V4      p\        VRVP                  V4      4       \        RR4      p\        RVP                  V^
4      ,          4       R# )ztest_japanese.pdfÚ	Helveticai¼  zJapanese Font SupportzHeiseiMin-W3z90ms-RKSJ-HzHeiseiKakuGo-W5zHeiseiMin-W3-90ms-RKSJ-Hu'   Â‚Â±Â‚ÃªÂ‚Ã�Â•Â½Â�Â¬Â–Â¾Â’Â©Â‚Ã…Â‚Â·Â�Bi£  zsaved test_japanese.pdfz->zwidth = %0.2fN)r	   ÚsetFontÚ
drawStringr   ÚregisterFontrÂ   Úsaver  r+   rz   r×   )ÚcÚmessage1ÚencNameró   rƒ   s        r   Útestr  Ê  sÜ   € äÐ"Ó#€AØ‡I�Iˆk˜2ÔØ‡L�L��SÐ1Ô2ä×ÒœG N°=ÓAÔBÜ×ÒœGÐ$5°mÓDÔEð ‡I�IÐ(¨"Ô-ð _€HØ‡L�L��c˜8Ô$Ø‡F�F„HÜ	Ð
#Ô$ð €GÜ
�gÓ
€CÜ	ˆ(�D˜#Ÿ-™-¨Ó1Ô2ä�˜}Ó-€AÜ	ˆ/˜AŸM™M¨(°BÓ7Õ
7Ö8r   Ú__main__)Úcidfonts))Ú__version__r—   r   r   r‡   Úhashlibr   Úreportlab.pdfbaser   Úreportlab.pdfbase._cidfontdatar   r   r   r   r   Úreportlab.pdfgen.canvasr	   r
   Úreportlab.lib.rl_accelr   Úreportlab.rl_configr   r6   r   r   r5   r   r    rÝ   r+   rŸ   r�   ÚFontrÂ   rê   r  r  r“   Údoctestr  Útestmod© r   r   Ú<module>r     sÉ   ðð
 €ð	?€ó
 
Û Û Ý å (÷.õ .å *Ý $Ý ,Ý .ß .ð €òDòôf�*×%Ñ%ô fôP@I�*×%Ñ%ô @IôD=8ˆj�o‰oô =8ô@WK�Wô WKòv)ò!9ðd ˆZÔÛÝ*Ø‡O‚O�HÖñ r   