
    ]Mho                        d dl mZ d dlmZmZ d dl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 d dlmZ d dlmZ d d	lmZ d d
lZ ej        d          Zd Zd Zd ZddZedk    rd d
l Z  e j!         e                       d
S d
S )    )noRound)TTFontnewTable)otTables)OTTableWriter)HVAR_FIELDSVVAR_FIELDS
_add_VHVAR)buildermodelsvarStore)fixedToFloat)makeOutputFileName)partialNzfontTools.varLib.avarc                    | d         }i }|                                  }|j        }|D ]}g }g }	|j                            |g           }
|
D ]}|                    |j                   |j        dd          }||dz  |dz  dz            }t          |          dk    sJ |d         |d         |         nd|d<   |d         |d         |         nd|d<   |	                    |d         |d         z
             |	|f||<   d }||fS )Ngvar   r      )getGlyphOrderphantomIndex
variationsgetappendaxescoordinateslen)fontaxisTagstableFieldsr   vhAdvanceDeltasAndSupports
glyphOrderr   	glyphNamesupportsdeltasr   tvphantomsvOrigDeltasAndSupportss                 U/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/fontTools/varLib/hvar.py_get_advance_metricsr*      sO    <D!###%%J+L C C	_((B77
 	5 	5BOOBG$$$~bcc*Hq 0<!3Ca3G GHHx==A%%%%7?{7N(1+l33TUHQK7?{7N(1+l33TUHQKMM(1+34444170B"9--!%'===    c                     d| v r| d= d | d         j         D             }t          t          | |t                    }t	          | |t          |           d S )NHVARc                     g | ]	}|j         
S  axisTag.0axiss     r)   
<listcomp>zadd_HVAR.<locals>.<listcomp>3       ;;;;;;r+   fvar)r   r   r*   r   r
   r   r   getAdvanceMetricss      r)   add_HVARr:   0   s\    ~~L;;f):;;;H 4dHkRRtX{,=>>>>>r+   c                     d| v r| d= t          t          | |t                    }d | d         j        D             }t	          | |t
          |           d S )NVVARc                     g | ]	}|j         
S r/   r0   r2   s     r)   r5   zadd_VVAR.<locals>.<listcomp><   r6   r+   r7   )r   r*   r   r   r
   r	   r8   s      r)   add_VVARr>   8   s\    ~~L 4dHkRR;;f):;;;HtX{,=>>>>>r+   c                    | ddl }|j        dd         } ddlm} ddlm} ddl}|                    dd          }|                    d	d
d           |                    ddt          d           |
                    |           } |d           t          |j                  }d|vrt                              d           dS t          |           d|v rt!          |           |j        t%          |j        dd          }n|j        }|r2t                              d|           |                    |           dS dS )z"Add `HVAR` table to variable font.Nr   r   )configLogger)DesignSpaceDocumentzfonttools varLib.hvarz'Add `HVAR` table from to variable font.)descriptionr   zvarfont.ttfzVariable-font file.)metavarhelpz-oz--output-filezOutput font file name.)typerD   WARNING)levelr7   zNot a variable font.vmtxTz.hvar)	overWritesuffixz	Saving %s)sysargv	fontToolsr@   fontTools.designspaceLibrA   argparseArgumentParseradd_argumentstr
parse_argsr   r   logerrorr:   r>   output_filer   infosave)	argsrK   r@   rA   rO   parseroptionsr   outfiles	            r)   mainr]   @   s    |


x|&&&&&&<<<<<<OOO$$= %  F <QRRR
%	     %%GLy!!!!',DT>>		()))qTNNN~~"$W\T'RRR% g&&&		' r+   __main__)N)"fontTools.misc.roundToolsr   fontTools.ttLibr   r   fontTools.ttLib.tablesr   otfontTools.ttLib.tables.otBaser   fontTools.varLibr   r	   r
   r   r   r   fontTools.misc.fixedToolsr   fi2flfontTools.misc.cliToolsr   	functoolsr   logging	getLoggerrT   r*   r:   r>   r]   __name__rK   exitr/   r+   r)   <module>rm      s`   - - - - - - , , , , , , , , 1 1 1 1 1 1 7 7 7 7 7 7 A A A A A A A A A A 6 6 6 6 6 6 6 6 6 6 ; ; ; ; ; ; 6 6 6 6 6 6       g/00> > >B? ? ?? ? ?+ + + +\ zJJJCHTTVV r+   