
    Kwg                     @    d Z ddlmZ ddlmZ d Zedk(  r e        yy)uq  
This is a utility to 'can' the widths data for certain CID fonts.
Now we're using Unicode, we don't need 20 CMAP files for each Asian
language, nor the widths of the non-normal characters encoded in each
font.  we just want a dictionary of the character widths in a given
font which are NOT 1000 ems wide, keyed on Unicode character (not CID).

Running off CMAP files we get the following widths...::

    >>> font = UnicodeCIDFont('HeiseiMin-W3')
    >>> font.stringWidth(unicode(','), 10)
    2.5
    >>> font.stringWidth(unicode('m'), 10)
    7.7800000000000002
    >>> font.stringWidth(u'東京', 10)
    20.0
    >>> 

    )defaultUnicodeEncodings)UnicodeCIDFontc            	      `   g } | j                  d       t        j                         D ]  \  }\  }}t        d|d|d|       t	        |      }|j
                  j                  }|j                  j                  }i }|j                         D ]+  \  }}	|j                  |	d      }
|
dk7  s|
|t        |      <   - t        dt        |      z         | j                  d|dt        |              dj                  |       dz   }t        d	d
      j                  |       t        d       y )NzwidthsByUnichar = {}z	handling z : i  z$created font width map (%d items).  zwidthsByUnichar["z"] = 
zcanned_widths.pywzwrote canned_widths.py)appendr   itemsprintr   face_explicitWidthsencoding_cmapgetchrlenreprjoinopenwrite)buffontNamelanguageencNamefontwidthsByCIDcmapnonStandardWidthsByUnichar	codePointcidwidthsrcs               W/var/www/horilla/myenv/lib/python3.12/site-packages/reportlab/pdfbase/_can_cmap_data.pyrunr#      s   
CJJ%&)@)F)F)H `%%8W8WEF h'ii//}}""%'""jjl 	CNIsOOC.E}=B*3y>:	C 	4s;U7VVW

8TB\=]^_'`, ))C.4
C	C &&s+	
"#    __main__N)__doc__reportlab.pdfbase._cidfontdatar   reportlab.pdfbase.cidfontsr   r#   __name__ r$   r"   <module>r+      s,   ( C 5$< ZE r$   