� ��g����ddlmZddlmZd�Zd�Zd�Zd�Zd�Z d�Z d �Z dd �Z e ej _dd �Zd�Zeej _dd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�)�ttLib)�otTablesc�j�tj��}d�|D��\|_|_|_|S)Nc�,�g|]}t|����S���float��.0�vs �h/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/fontTools/varLib/builder.py� <listcomp>z&buildVarRegionAxis.<locals>.<listcomp> ���5T�5T�5T�1�e�A�h�h�5T�5T�5T�)�ot� VarRegionAxis� StartCoord� PeakCoord�EndCoord)� axisSupport�selfs r �buildVarRegionAxisrs5�� � � � �D�5T�5T� �5T�5T�5T�2�D�O�T�^�T�]� �Krc�x�tj��}||_d�|D��\|_|_|_|S)Nc�,�g|]}t|����Srrr s r rz,buildSparseVarRegionAxis.<locals>.<listcomp>rr)r�SparseVarRegionAxis� AxisIndexrrr)� axisIndexrrs r �buildSparseVarRegionAxisr s<�� � !� #� #�D��D�N�5T�5T� �5T�5T�5T�2�D�O�T�^�T�]� �Krc �0��t�fd�|���D����s Jd|�f���tj��}g|_�D]=}|j�t |�|d�������>|S)Nc3� �K�|]}|�vV�� dS�Nr�r �tag�axisTagss �r � <genexpr>z!buildVarRegion.<locals>.<genexpr>�'�����9�9�3�s�h��9�9�9�9�9�9r�Unknown axis tag found.�rrr)�all�keysr� VarRegionr�appendr�get)�supportr$rr#s ` r �buildVarRegionr/s���� �9�9�9�9�'�,�,�.�.�9�9�9� 9� 9���!���<��� 9� �<�>�>�D��D���S�S�� ��!�!�"4�W�[�[��i�5P�5P�"Q�"Q�R�R�R�R� �Krc ���t�fd�|���D����s Jd|�f���tj��}g|_t ���D]F\}}||vr� |j�t||�|d�������Gt|j��|_ |S)Nc3� �K�|]}|�vV�� dSr!rr"s �r r%z'buildSparseVarRegion.<locals>.<genexpr>"r&rr'r() r)r*r�SparseVarRegionr� enumerater,rr-�len�SparseRegionCount)r.r$r�ir#s ` r �buildSparseVarRegionr7!s���� �9�9�9�9�'�,�,�.�.�9�9�9� 9� 9���!���<��� 9� � � � �D�!�D���H�%�%� � ���3� �g� � � � � �'�'� $�Q�� � �C��(C�(C� D� D� � � � �!��!9�:�:�D�� �Krc���tj��}t|��|_g|_|D]*}|j�t ||�����+t|j��|_|Sr!)r� VarRegionListr4�RegionAxisCount�Regionr,r/� RegionCount��supportsr$rr.s r �buildVarRegionListr?3sn�� � � � �D��x�=�=�D���D�K��>�>�� � ���>�'�8�<�<�=�=�=�=��4�;�'�'�D�� �Krc���tj��}t|��|_g|_|D]*}|j�t ||�����+t|j��|_|Sr!)r�SparseVarRegionListr4r:r;r,r7r<r=s r �buildSparseVarRegionListrB=sq�� � !� #� #�D��x�=�=�D���D�K��D�D�� � ���/���B�B�C�C�C�C��4�;�'�'�D�� �Krc� ���fd�|D��S)Nc� ��g|] }�|�� Srr)r r6�lsts �r rz _reorderItem.<locals>.<listcomp>Hs��� $� $� $�q�C��F� $� $� $rr)rE�mappings` r � _reorderItemrGGs��� $� $� $� $�G� $� $� $�$rFc���|j}|j}dg|z}|D](}d�|D��}d�t||��D��}�)d�|D��}td�|D����}|�rg} | �d�t |��D����| �d�t |��D����| �d�t |��D����t || ��}t |j| ��|_t|j��|_tt|����D]} t || | ��|| <�|rAtd �t |��D��d � ��d z|_ |xj d zc_ n0td�t |��D��d � ��d z|_ t|j��|_|S)Nrc�D�g|]}||dkz�����S)�����)� bit_length)r r6s r rz.VarData_calculateNumShorts.<locals>.<listcomp>Us,�� 8� 8� 8�a�q�A��F�|�'�'�)�)� 8� 8� 8rc� �g|] }t|��� Sr)�max)r �pairs r rz.VarData_calculateNumShorts.<locals>.<listcomp>Vs��C�C�C�d�s�D�z�C�C�Crc�&�g|]}|r|dzdz nd��S)��rr�r �bs r rz.VarData_calculateNumShorts.<locals>.<listcomp>`s)��D�D�D�1�a�.�a�!�e��\�\�Q�D�D�Drc3�"K�|] }|dkV�� dS��NrrRs r r%z-VarData_calculateNumShorts.<locals>.<genexpr>cs&����0�0�a�A��E�0�0�0�0�0�0rc3�,K�|]\}}|dk� |V��dSrUr�r r6rSs r r%z-VarData_calculateNumShorts.<locals>.<genexpr>hs*����F�F�T�Q���A���q�����F�Frc3�,K�|]\}}|dk� |V��dSrUrrXs r r%z-VarData_calculateNumShorts.<locals>.<genexpr>i�*����G�G�T�Q���Q���q�����G�Grc3�,K�|]\}}|dk� |V��dS��NrrXs r r%z-VarData_calculateNumShorts.<locals>.<genexpr>jrZrc3�,K�|]\}}|dk� |V��dSrUrrXs r r%z-VarData_calculateNumShorts.<locals>.<genexpr>t�*����@�@�t�q�!�!�a�%�%��%�%�%�%�@�@rrJ)�defaultr]��c3�,K�|]\}}|dk� |V��dSr\rrXs r r%z-VarData_calculateNumShorts.<locals>.<genexpr>yr_r) �VarRegionCount�Item�zip�any�extendr3rG�VarRegionIndexr4�rangerM� NumShorts) r�optimize�count�items� bit_lengths�item�bl� byte_lengths� longWordsrFr6s r �VarData_calculateNumShortsrsKs*�� � �E� �I�E��#��+�K��D�D�� 9� 8�4� 8� 8� 8��C�C�c�"�k�.B�.B�C�C�C� � �E�D� �D�D�D�L��0�0�<�0�0�0�0�0�I�� 7������F�F�Y�|�%<�%<�F�F�F�F�F�F����G�G�Y�|�%<�%<�G�G�G�G�G�G����G�G�Y�|�%<�%<�G�G�G�G�G�G�#�L�'�:�:� �*�4�+>��H�H���!�$�"5�6�6����s�5�z�z�"�"� 7� 7�A�#�E�!�H�g�6�6�E�!�H�H�� � �@�@�y��6�6�@�@�@�"� M� M� M�PQ� Q� �� ���&� ���� �@�@�y��6�6�@�@�@�"� M� M� M�PQ� Q� ���d�1�2�2�D�� �KrTc�$�t||���S)z�Deprecated name for VarData_calculateNumShorts() which defaults to optimize=True. Use varData.calculateNumShorts() or varData.optimize().�rk�rs)rrks r �VarData_CalculateNumShortsrw�s�� &�d�X� >� >� >�>rc�$�t|d���S)NTrurv)rs r �VarData_optimizery�s�� %�d�T� :� :� :�:rc�v�tj��}t|��|_t |j��x}|_gx}|_|r<|D]9}t |��|ksJ�|�t|�����:t |j��|_|� |���|S)Nru) r�VarData�listrhr4rcrdr,� ItemCount�calculateNumShorts)�varRegionIndicesrmrkr� regionCount�recordsros r � buildVarDatar��s��� �:�<�<�D��/�0�0�D��(+�D�,?�(@�(@�@�K�$�%���G�d�i� �'�� '� '�D��t�9�9� �+�+�+�+� �N�N�4��:�:� &� &� &� &����^�^�D�N����X��.�.�.� �Krc��tj��}d|_||_t |��|_t |j��|_|S�Nr])r�VarStore�Formatr9r|r{r4� VarDataCount)� varRegionList� varDataListrs r � buildVarStorer��sB�� �;�=�=�D��D�K�&�D��� �$�$�D�L��D�L�)�)�D�� �Krc�X�tj��}d|_t|��|_t |j��x}|_gx}|_|r<|D]9}t |��|ksJ�|�t|�����:t |j��|_ |Sr�) r� MultiVarDatar�r|rhr4rcrdr,r})rrmrr�r�ros r �buildMultiVarDatar��s��� �?� � �D��D�K��/�0�0�D��(+�D�,?�(@�(@�@�K�$�%���G�d�i� �'�� '� '�D��t�9�9� �+�+�+�+� �N�N�4��:�:� &� &� &� &����^�^�D�N� �Krc��tj��}d|_||_t |��|_t |j��|_|Sr�)r� MultiVarStorer�rAr|r�r4�MultiVarDataCount)r��multiVarDataListrs r �buildMultiVarStorer��sH�� � � � �D��D�K�,�D���-�.�.�D�� ��!2�3�3�D�� �Krc�j�tj��}d�t||��D��|_|S)Nc��i|]\}}||�� Srr)r �gr s r � <dictcomp>z"buildVarIdxMap.<locals>.<dictcomp>�s��?�?�?�T�Q��A�q�?�?�?r)r� VarIdxMaprerF)�varIdxes� glyphOrderrs r �buildVarIdxMapr��s1�� �<�>�>�D�?�?�S��X�%>�%>�?�?�?�D�L� �Krc���t|��}td�t|��D����rdStj��}||_t |��dkrdnd|_|S)Nc3�(K�|] \}}||kV��dSr!r)r r6r s r r%z(buildDeltaSetIndexMap.<locals>.<genexpr>�s*���� 1� 1�d�a��1��6� 1� 1� 1� 1� 1� 1r���r]r)r|r)r3r�DeltaSetIndexMaprFr4r�)r�rFrs r �buildDeltaSetIndexMapr��sn���8�n�n�G� � 1� 1�i��0�0� 1� 1� 1�1�1���t� � � � �D��D�L��7�|�|�f�,�,�!�!�!�D�K� �Krc�b�tj��}d|_|dz |_|dz|_|S)Nra�r�)r�Device� DeltaFormat� StartSize�EndSize)�varIdxrs r �buildVarDevTabler��s0�� �9�;�;�D��D���r�\�D�N��F�?�D�L� �KrN)F)T)� fontToolsr�fontTools.ttLib.tablesrrrrr/r7r?rBrGrsr{r~rwryrkr�r�r�r�r�r�r�rrr �<module>r�sZ��������1�1�1�1�1�1� ��� ��� � � ����$������%�%�%�2�2�2�2�j!;�� ��?�?�?�?�;�;�;�'�� �� � � � ���� � � ������� �������r
Memory