fdiff es una herramienta de comparación de línea de comandos de Python para la evaluación de las diferencias granulares en los datos de la tabla OpenType entre los archivos de fuentes. La herramienta proporciona soporte multiplataforma para diferencias de fuentes locales y remotas en macOS, Windows y sistemas GNU/Linux con un intérprete Python V3.7+.
¿Busca una descripción general de alto nivel de las diferencias de tabla OpenType en lugar de los cambios de bajo nivel? Echa un vistazo a la herramienta fbdiff de Van Rossum.
--include o --exclude-l o --lines--head--tail--external Ejecute fdiff --help para ver todas las opciones disponibles.
fdiff requiere un intérprete Python 3.7+.
Se recomienda la instalación en un entorno virtual Python3.
Use cualquiera de los siguientes enfoques de instalación:
$ pip3 install fdiff
$ git clone https://github.com/source-foundry/fdiff.git
$ cd fdiff
$ pip3 install -r requirements.txt .
El siguiente enfoque instala el proyecto y las dependencias de desarrolladores opcionales asociadas, para que los cambios de origen estén disponibles sin la necesidad de reinstalación.
$ git clone https://github.com/source-foundry/fdiff.git
$ cd fdiff
$ pip3 install --ignore-installed -r requirements.txt -e ".[dev]"
$ fdiff [OPTIONS] [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
fdiff admite las solicitudes para obtener solicitudes de fuente remotas de acceso público. Reemplace los argumentos de la ruta del archivo con URL:
$ fdiff [OPTIONS] [PRE-FONT FILE URL] [POST-FONT FILE URL]
fdiff funciona con cualquier combinación de archivos de fuentes locales y remotos. Por ejemplo, para comparar un archivo de fuente local con un archivo remoto previo a la fuente para evaluar los cambios locales en un archivo de fuente que previamente se impulsó a un control remoto, use la siguiente sintaxis:
$ fdiff [OPTIONS] [PRE-FONT FILE URL] [POST-FONT FILE FILE PATH]
Consejo : los servicios de alojamiento de repositorio de Git Remote (como GitHub) admiten el acceso a archivos en diferentes ramas GIT por URL. Use esta URL de rama de repositorio para comparar las fuentes en las ramas GIT en su repositorio.
Para incluir solo tablas especificadas en su diferencia, use la opción --include con una lista de nombres de las tabla separadas por comas:
$ fdiff --include head,post [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Para excluir las tablas especificadas en su diferencia, use la opción --exclude con una lista separada por comas de los nombres de las tablas:
$ fdiff --exclude glyf,OS/2 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
¡No incluya espacios entre los valores de nombre de la tabla separados por comas!
Para cambiar el número de líneas de contexto arriba/debajo de las líneas que tienen diferencias, use la opción -l o --lines con un valor entero para el número deseado de líneas. El siguiente comando reduce la información contextual a una sola línea encima y debajo de las líneas con diferencias:
$ fdiff -l 1 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Use la opción --head seguida de un entero para el número de líneas al comienzo de la salida. Por ejemplo, el siguiente comando muestra las primeras 20 líneas del DIFF:
$ fdiff --head 20 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Use la opción --tail seguida de un entero para el número de líneas al final de la salida. Por ejemplo, el siguiente comando muestra las últimas 20 líneas de la diferencia:
$ fdiff --tail 20 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Tenga en cuenta : esta característica no se ha probado en todas las plataformas compatibles. Informe cualquier problema que se encuentre en el rastreador de problemas del proyecto.
Por defecto, FDIFF realiza diferencias con la fuente de Python. Si se encuentra con problemas de rendimiento con este enfoque, puede usar ejecutables DIFF compilados que están disponibles en su plataforma. FDIFF arrojará los archivos TTX y ejecutará el comando que proporciona en la línea de comando que pasa las rutas de archivo pre y post -font ttx ttx como el primer y el segundo argumentos posicionales a su comando.
Por ejemplo, puede ejecutar el comando diff -u en GNU/Linux o MacOS como este:
$ fdiff --external="diff -u" [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
FDIFF admite el formato de color incorporado y el filtrado de la tabla OpenType cuando se usa con herramientas DIFF externos. La línea de contexto, la cabeza y las opciones de cola no son compatibles con el uso de herramientas DIFF externos.
Las diferencias coloreadas de código de escape ANSI se realizan de forma predeterminada en entornos terminales.
Para ver una diferencia sin códigos de escape ANSI en su terminal, incluya la opción --nocolor en su comando:
$ fdiff --nocolor [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
Use fdiff -h para ver todas las opciones disponibles.
Informe los problemas sobre el rastreador de problemas del proyecto.
Las contribuciones son cálidas bienvenidas. Se puede instalar un entorno de dependencia de desarrollo en modo editable con la documentación de instalación del desarrollador anterior.
Utilice el enfoque estándar de solicitud de extracción GitHub para proponer los cambios de origen.
Los archivos de origen de Python se pelean con flake8 . Consulte el objetivo test-lint MakeFile para más detalles.
El proyecto ejecuta pruebas de integración continua en el servicio de acciones de GitHub con la cadena de herramientas pytest . Los módulos de prueba se encuentran en el directorio tests del repositorio.
Las pruebas locales de la versión de intérprete de Python se pueden realizar con el siguiente comando ejecutado desde la raíz del repositorio:
$ tox -e [PYTHON INTERPRETER VERSION]
Consulte la documentación tox para obtener detalles adicionales.
La cobertura de prueba unitaria se ejecuta con la herramienta coverage . Consulte el objetivo test-coverage MakeFile para más detalles.
fdiff está construido con la fantástica biblioteca de software gratuito de FontTools y realiza diferencias de texto de archivos de fuentes binarios utilizando volcados del formato de serialización de datos de tabla TTX OpenType como se define en la biblioteca FontTools.
Copyright 2019 Source Foundry Autores y colaboradores
Licenciado bajo la licencia Apache, versión 2.0 (la "licencia"); No puede usar este archivo, excepto de conformidad con la licencia. Puede obtener una copia de la licencia en
http://www.apache.org/licenses/license-2.0
A menos que la ley aplicable sea requerida o acordado por escrito, el software distribuido bajo la licencia se distribuye de manera "como es", sin garantías o condiciones de ningún tipo, ya sea expresas o implícitas. Consulte la licencia para los permisos y limitaciones de rigor de idioma específico bajo la licencia.