| Server IP : 35.80.110.71 / Your IP : 216.73.216.52 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /lib/python3/dist-packages/fontTools/feaLib/__pycache__/ |
Upload File : |
�
jke�� � �� � d dl mZ d dlmZmZmZ d dlmZ d dlm Z d dl
mZmZm
Z
d dlmc mZ d dlZd dlZd dlZ ej( e� Z G d� de� Z G d � d
e� Zy)� )�FeatureLibError)�Lexer�IncludingLexer�NonIncludingLexer)�VariableScalar)�getEncoding)�bytechr�tobytes�tostrNc � � e Zd ZdZi ZeZ edd� D � �ch c] }d|z �� c}} Z edd� D � �ch c] }d|z �� c}} Z dgd�Z d � Z
d
� Zd� Zd� Z
d
� Zd� Zd� Zd� Zd� Zd� Zdhd�Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Z d � Z!d!� Z"d"� Z#d#� Z$d$� Z%d%� Z&d&� Z'd'� Z(d(� Z)d)� Z*d*� Z+d+� Z,d,� Z-d-� Z.d.� Z/d/� Z0d0� Z1d1� Z2d2� Z3e4d3� � Z5e4d4� � Z6d5� Z7d6� Z8d7� Z9d8� Z:d9� Z;d:� Z<d;� Z=d<� Z>d=� Z?d>� Z@d?� ZAd@� ZBdA� ZCdB� ZDdC� ZEdhdD�ZFdE� ZGdF� ZHdG� ZIdH� ZJdI� ZKdJ� ZLdK� ZM didL�ZNdM� ZOdN� ZPdO� ZQdP� ZRdQ� ZSdR� ZTdS� ZUdT� ZVdU� ZWdV� ZXdW� ZYdX� ZZdY� Z[dhdZ�Z\d[� Z]d\� Z^d]� Z_d^� Z`d_� Zad`� Zbda� Zcdb� Zddhdc�Zee4dd� � Zfde� Zgdf� Zhyc c}} w c c}} w )j�Parsera
Initializes a Parser object.
Example:
.. code:: python
from fontTools.feaLib.parser import Parser
parser = Parser(file, font.getReverseGlyphMap())
parsetree = parser.parse()
Note: the ``glyphNames`` iterable serves a double role to help distinguish
glyph names from ranges in the presence of hyphens and to ensure that glyph
names referenced in a feature file are actually part of a font's glyph set.
If the iterable is left empty, no glyph name in glyph set checking takes
place, and all glyph tokens containing hyphens are treated as literal glyph
names, not as ranges. (Adding a space around the hyphen can, in any case,
help to disambiguate ranges from glyph names containing hyphens.)
By default, the parser will follow ``include()`` statements in the feature
file. To turn this off, pass ``followIncludes=False``. Pass a directory string as
``includeDir`` to explicitly declare a directory to search included feature files
in.
� � zss%02d�d zcv%02dNc � � d|v r-ddl m} |dd� |rt d� �|j d� }|r7t dt |� dk( rdnd �d
dj d� |D � � ��� �t
|� | _ | j j � | _
t � | _ t � | _
t � | _ t � | _ | j | j h| _ d
\ | _ | _ g | _ d | _ |rt* nt, } |||�� | _ i | _ | j3 d�� y )N�glyphMapr )�deprecateArgumentz#use 'glyphNames' (iterable) insteadz?'glyphNames' and (deprecated) 'glyphMap' are mutually exclusivezunsupported keyword argumentr � �sz: z, c 3 �2 K � | ] }t |� �� � y �w�N)�repr)�.0�ks �9/usr/lib/python3/dist-packages/fontTools/feaLib/parser.py� <genexpr>z"Parser.__init__.<locals>.<genexpr><