
    BPc                         d Z ddlZ G d dej                  Zedk    r e                                             dS dS )z,Extension for converting svg fonts to layers    Nc                   $    e Zd ZdZd Zd Zd ZdS )SvgFontToLayerszConvert an svg font to layersc                 B    |                     dt          dd           d S )Nz--count   z/Stop making layers after this number of glyphs.)typedefaulthelp)add_argumentint)selfparss     0/usr/share/inkscape/extensions/svgfont2layers.pyadd_argumentszSvgFontToLayers.add_arguments   s5    B	 	 	
 	
 	
 	
 	
    c                     |j         }|                    ddd           |                    dt          |          t          |          z
  d           |S )z?Scale and translate the element's path, returns the path object   T)inplacer   )pathscale	translater   )r   elememsizebaseliner   s        r   flip_cordinate_systemz%SvgFontToLayers.flip_cordinate_system$   sO    y

1b$
'''q#f++H5tDDDr   c                 
   | j         j                            d          }|t          j        d          S |                    d          }|d}|                    d          }|                    d          }t          |                    dd                    }t          |                    dd                    }t          |                    d	d                    }t          |                    d
d                    }| j                             d|           | j         j        	                    |dd           | j         j        	                    ||z   dd           | j         j        	                    ||z   dd           | j         j        	                    ||z   dd           | j         j        	                    ||z
  dd           d}	|
                    d          D ]}
|
                    d          }|| j                             t          j                            d|z                       }|	dk    r
d|j        d<   |

                    d          D ]D}|                    t          j                              }|                     |||          |_        E|                    t          j                              }|                     |
||          |_        |	dz  }	|	| j        j        k    r d S d S )Nzsvg:fontzThere are no svg fontszhoriz-origin-yr   zsvg:font-facezunits-per-emz
cap-heightzx-heightascentdescentwidthTr   ascendercapsxheightdecenderz	svg:glyphunicodezGlyphLayer-nonedisplayzsvg:pathr   )svgdefsfindoneinkexerrormsggetr   set	namedview	new_guidefindalladdLayernewstylePathElementr   r   optionscount)r   fontr   fontfacer   r!   r"   r    	descenderr7   glyphunicode_charlayerr   new_pathr   s                   r   effectzSvgFontToLayers.effect+   s    x}$$Z00<>":;;;88,--H<<00 n-- 8<<a0011hll:q1122x||Ha0011Y2233	Wf%%%$$XtZ@@@$$X%8$
KKK$$X_dFCCC$$X%7yIII$$X	%94LLL \\+.. !	 !	E 99Y//L#HLL1M!N!NOOEzz)/I& j11 S S 99U%6%8%899 $ : :4 R R
 99U.0011D225&(KKDIQJE*** +A!	 !	r   N)__name__
__module____qualname____doc__r   r   r?    r   r   r   r      sL        ''
 
 
  A A A A Ar   r   __main__)rC   r*   EffectExtensionr   r@   runrD   r   r   <module>rH      s   ( 3 2 S S S S Se+ S S Sl zO r   