Package: diffoscope Version: 177 Severity: wishlist diffoscope currently prints a hex dump when comparing a TTF font with a .ttx XML dump of a TTF font. If it used ttx (from fonttools) to convert that TTF font to .ttx instead, then the comparison would become an XML diff, which diffoscope treats as a text diff, which is better than hex.
$ git clone -q https://gitlab.gnome.org/GNOME/gtksourceview $ diffoscope gtksourceview/data/fonts/BuilderBlocks.tt{f,x} --- gtksourceview/data/fonts/BuilderBlocks.ttf +++ gtksourceview/data/fonts/BuilderBlocks.ttx @@ -1,28 +1,259 @@ -00000000: 0001 0000 0008 0080 0003 0000 636d 6170 ............cmap -00000010: 0021 0258 0000 0114 0000 004c 676c 7966 .!.X.......Lglyf -00000020: 2644 7e48 0000 016c 0000 0030 6865 6164 &D~H...l...0head -00000030: 0733 9950 0000 008c 0000 0036 6868 6561 .3.P.......6hhea -00000040: 0c01 0402 0000 00c4 0000 0024 686d 7478 ...........$hmtx -00000050: 0400 0000 0000 0108 0000 000a 6c6f 6361 ............loca -00000060: 0024 000c 0000 0160 0000 000a 6d61 7870 .$.....`....maxp -00000070: 0006 0005 0000 00e8 0000 0020 6e61 6d65 ........... name ... +00000000: 3c3f 786d 6c20 7665 7273 696f 6e3d 2231 <?xml version="1 +00000010: 2e30 2220 656e 636f 6469 6e67 3d22 7574 .0" encoding="ut +00000020: 662d 3822 3f3e 0a3c 7474 466f 6e74 2073 f-8"?>.<ttFont s +00000030: 666e 7456 6572 7369 6f6e 3d22 5c78 3030 fntVersion="\x00 +00000040: 5c78 3031 5c78 3030 5c78 3030 2220 7474 \x01\x00\x00" tt +00000050: 4c69 6256 6572 7369 6f6e 3d22 322e 3422 LibVersion="2.4" +00000060: 3e0a 0a20 203c 476c 7970 684f 7264 6572 >.. <GlyphOrder +00000070: 3e0a 2020 2020 3c21 2d2d 2054 6865 2027 >. <!-- The ' ... $ dpkg -S `which ttx` fonttools: /usr/bin/ttx $ ttx -o gtksourceview/data/fonts/BuilderBlocks.ttf.ttx gtksourceview/data/fonts/BuilderBlocks.ttf Dumping "gtksourceview/data/fonts/BuilderBlocks.ttf" to "gtksourceview/data/fonts/BuilderBlocks.ttf.ttx"... Dumping 'GlyphOrder' table... Dumping 'head' table... Dumping 'hhea' table... Dumping 'maxp' table... Dumping 'hmtx' table... Dumping 'cmap' table... Dumping 'loca' table... Dumping 'glyf' table... Dumping 'name' table... $ diffoscope gtksourceview/data/fonts/BuilderBlocks{,.ttf}.ttx --- gtksourceview/data/fonts/BuilderBlocks.ttx +++ gtksourceview/data/fonts/BuilderBlocks.ttf.ttx @@ -1,65 +1,65 @@ -<?xml version="1.0" encoding="utf-8"?> -<ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="2.4"> +<?xml version="1.0" encoding="UTF-8"?> +<ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="4.19"> <GlyphOrder> <!-- The 'id' attribute is only for humans; it is ignored when parsed. --> <GlyphID id="0" name=".notdef"/> - <GlyphID id="1" name="block"/> - <GlyphID id="2" name="empty"/> - <GlyphID id="3" name="smallblock"/> + <GlyphID id="1" name="exclam"/> + <GlyphID id="2" name="uni0001"/> + <GlyphID id="3" name="a"/> </GlyphOrder> <head> <!-- Most of this table will be recalculated by the compiler --> <tableVersion value="1.0"/> <fontRevision value="1.0"/> - <checkSumAdjustment value="0x2a3f4cae"/> + <checkSumAdjustment value="0x6b7bfd56"/> <magicNumber value="0x5f0f3cf5"/> <flags value="00000000 00000010"/> <unitsPerEm value="2048"/> <created value="Mon Oct 7 00:00:00 2013"/> - <modified value="Fri Jan 31 15:45:50 2014"/> + <modified value="Tue Aug 1 21:25:46 2017"/> <xMin value="0"/> <yMin value="0"/> - <xMax value="0"/> - <yMax value="0"/> + <xMax value="1024"/> + <yMax value="2048"/> <macStyle value="00000000 00000000"/> <lowestRecPPEM value="1"/> <fontDirectionHint value="2"/> <indexToLocFormat value="0"/> <glyphDataFormat value="0"/> </head> ... -- System Information: Debian Release: 11.0 APT prefers testing-debug APT policy: (900, 'testing-debug'), (900, 'testing'), (800, 'unstable-debug'), (800, 'unstable'), (790, 'buildd-unstable'), (700, 'experimental-debug'), (700, 'experimental'), (690, 'buildd-experimental'), (500, 'testing-security') Architecture: amd64 (x86_64) Kernel: Linux 5.10.0-7-amd64 (SMP w/8 CPU threads) Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8), LANGUAGE=en_AU:en Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages diffoscope depends on: ii diffoscope-minimal 177 Versions of packages diffoscope recommends: ii abootimg 0.6-1+b2 ii acl 2.2.53-10 ii apksigner 30.0.3-4 ii apktool 2.5.0+dfsg.1-2 ii binutils-multiarch 2.35.2-2 ii bzip2 1.0.8-4 ii caca-utils 0.99.beta19-2.2 ii colord 1.4.5-3 ii db-util 5.3.1+nmu1 ii default-jdk [java-sdk] 2:1.11-72 ii default-jdk-headless 2:1.11-72 pn device-tree-compiler <none> pn docx2txt <none> ii e2fsprogs 1.46.2-1 ii enjarify 1:1.0.3-5 ii ffmpeg 7:4.3.2-0+deb11u2 ii fontforge-extras 1:20201107~dfsg-4 pn fp-utils <none> ii genisoimage 9:1.1.11-3.2 ii gettext 0.21-4 ii ghc 8.8.4-2 ii ghostscript 9.53.3~dfsg-7 ii giflib-tools 5.1.9-2 ii gnumeric 1.12.48-1+b2 ii gnupg 2.2.27-2 ii gnupg-utils 2.2.27-2 pn hdf5-tools <none> ii imagemagick 8:6.9.11.60+dfsg-1.3 ii imagemagick-6.q16 [imagemagick] 8:6.9.11.60+dfsg-1.3 ii jsbeautifier 1.13.0-1 ii libarchive-tools 3.4.3-2+b1 ii llvm 1:11.0-51+nmu5 ii lz4 [liblz4-tool] 1.9.3-2 pn mono-utils <none> ii ocaml-nox 4.11.1-4 pn odt2txt <none> pn oggvideotools <none> ii openjdk-11-jdk [java-sdk] 11.0.11+9-1 ii openssh-client 1:8.4p1-5 ii openssl 1.1.1k-1 ii pgpdump 0.33-2 ii poppler-utils 20.09.0-3.1 pn procyon-decompiler <none> ii python3-argcomplete 1.8.1-1.5 ii python3-binwalk 2.3.1+dfsg1-1 ii python3-debian 0.1.39 ii python3-defusedxml 0.6.0-2 ii python3-guestfs 1:1.44.0-2 ii python3-jsondiff 1.1.1-4 ii python3-pdfminer 20200726-1 ii python3-progressbar 2.5-2 ii python3-pypdf2 1.26.0-4 ii python3-pyxattr 0.7.2-1+b1 ii python3-rpm 4.16.1.2+dfsg1-0.4 ii python3-tlsh 3.4.4+20151206-1.3+b4 pn r-base-core <none> pn radare2 <none> ii rpm2cpio 4.16.1.2+dfsg1-0.4 ii sng 1.1.0-4 ii sqlite3 3.34.1-3 ii squashfs-tools 1:4.4-2 ii tcpdump 4.99.0-2 ii u-boot-tools 2021.01+dfsg-5 ii unzip 6.0-26 ii vim-common 2:8.2.2434-3 pn wabt <none> pn xmlbeans <none> ii xxd 2:8.2.2434-3 ii xz-utils 5.2.5-2 ii zip 3.0-12 ii zstd 1.4.8+dfsg-2.1 Versions of packages diffoscope suggests: ii libjs-jquery 3.5.1+dfsg+~3.5.5-7 -- no debconf information -- bye, pabs https://wiki.debian.org/PaulWise
signature.asc
Description: This is a digitally signed message part