[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1110421: ITP: fonts-xolonium - futuristic typeface, with focus on legibility



On 11/28/25 20:50, Gioele Barabucci wrote:
(upstream build is 5 years old, fontforge version is different, may that be the cause ?)

A different version of fontforge could be the cause. Another possibility may be the use of fontforge on another platform, say Windows, that leads to tiny differences in the way floating point numbers are handled.

But, if I had to guess, I'd say that a changed timestamp somewhere is responsible for the discrepancies.

Try using diffoscope (or diffoscope-minimal) to see if anything pops up. Feel free to attach the log or the generated file, if you want another pair of eyes to look over it.

Yes, you are right, timestamps are involved. But it seems they're not the only culprits. I'm attaching the output of diffoscope. I am a total newbie in this area, I don't know if there is anything I could do to reduce the diff (my first instinct say that this is highly doubtful, but I will be pleased to be proven wrong ^^)

best regards,
Sébastien
--- fonts/otf/Xolonium-Regular.otf
+++ ../xolonium-fonts-4.2-upstream/otf/Xolonium-Regular.otf
├── showttf {}
│┄ error from `showttf {}`:
│┄ Required tables: glyf and loca have been replaced by CFF => OpenType
│ @@ -1,37 +1,37 @@
│  version='OTTO', numtables=14, searchRange=128 entrySel=3 rangeshift=96
│  File Checksum =b1b0afba (should be 0xb1b0afba), diff=0
│ -CFF  checksum=a24ed73e actual=a24ed73e diff=0 offset=4484 len=50186
│ -DSIG checksum=00000001 actual=00000001 diff=0 offset=215648 len=8
│ -GDEF checksum=0027036b actual=0027036b diff=0 offset=54672 len=38
│ -GPOS checksum=d60c57c6 actual=d60c57c6 diff=0 offset=54712 len=14700
│ -GSUB checksum=54b42bdc actual=54b42bdc diff=0 offset=69412 len=568
│ +CFF  checksum=4a6e3c50 actual=4a6e3c50 diff=0 offset=4488 len=50192
│ +DSIG checksum=00000001 actual=00000001 diff=0 offset=215672 len=8
│ +GDEF checksum=0027036b actual=0027036b diff=0 offset=54680 len=38
│ +GPOS checksum=d60c57c6 actual=d60c57c6 diff=0 offset=54720 len=14700
│ +GSUB checksum=54f32c9d actual=54f32c9d diff=0 offset=69420 len=584
│  OS/2 checksum=166c446a actual=166c446a diff=0 offset=336 len=96
│ -cmap checksum=09ab179b actual=09ab179b diff=0 offset=1464 len=2986
│ -head checksum=12f4eebe actual=53bee2ff diff=414a0c41 offset=236 len=54
│ +cmap checksum=09ab179b actual=09ab179b diff=0 offset=1468 len=2986
│ +head checksum=097f32f7 actual=c5f8f47b diff=cc87c68c offset=236 len=54
│  hhea checksum=08e607a6 actual=08e607a6 diff=0 offset=292 len=36
│ -hmtx checksum=b97aab3b actual=b97aab3b diff=0 offset=69980 len=3348
│ -kern checksum=861ab53f actual=861ab53f diff=0 offset=73328 len=142318
│ +hmtx checksum=b97aab3b actual=b97aab3b diff=0 offset=70004 len=3348
│ +kern checksum=861ab53f actual=861ab53f diff=0 offset=73352 len=142318
│  maxp checksum=03455000 actual=03455000 diff=0 offset=328 len=6
│ -name checksum=4474f2d8 actual=4474f2d8 diff=0 offset=432 len=1032
│ -post checksum=ffb80032 actual=ffb80032 diff=0 offset=4452 len=32
│ +name checksum=e7b461e8 actual=e7b461e8 diff=0 offset=432 len=1035
│ +post checksum=ffb80032 actual=ffb80032 diff=0 offset=4456 len=32
│  
│  HEAD table (at 236)
│  	Version=1
│  	fontRevision=4.2
│ -	checksumAdj=40c9f441
│ +	checksumAdj=bc79c184
│  	magicNumber=5f0f3cf5 (0x5f0f3cf5, diff=0)
│  	flags=b baseline_at_0 lsb_at_0 ppem_to_int 
│  	unitsPerEm=1000
│  	create[0]=0
│  	 create[1]=c940c4cb
│  	File created: Wed Dec 29 10:58:19 2010
│  	modtime[0]=0
│ -	 modtime[1]=e550b333
│ -	File modified: Sat Nov 29 14:26:59 2025
│ +	 modtime[1]=dbdaf76c
│ +	File modified: Wed Nov 18 16:08:12 2020
│  	xmin=-160
│  	ymin=-210
│  	xmax=1505
│  	ymax=890
│  	macstyle=0
│  	lowestppem=8
│  	fontdirhint=2 left to right and neutrals
│ @@ -64,51 +64,51 @@
│  	 platform=1 plat spec encoding=0 language=0 name=0 Copyright
│  	 strlen=33  stroff=68	   Copyright 2011-2020 Severin Meyer
│  	 platform=1 plat spec encoding=0 language=0 name=1 Family
│  	 strlen=8  stroff=120	   Xolonium
│  	 platform=1 plat spec encoding=0 language=0 name=2 Subfamily
│  	 strlen=7  stroff=145	   Regular
│  	 platform=1 plat spec encoding=0 language=0 name=3 UniqueID
│ -	 strlen=23  stroff=201	   Xolonium 4.2 2025-11-29
│ +	 strlen=23  stroff=201	   Xolonium 4.2 2020-11-18
│  	 platform=1 plat spec encoding=0 language=0 name=4 FullName
│  	 strlen=8  stroff=243	   Xolonium
│  	 platform=1 plat spec encoding=0 language=0 name=5 Version
│ -	 strlen=11  stroff=276	   Version 4.2
│ +	 strlen=12  stroff=278	   Version 4.2 
│  	 platform=1 plat spec encoding=0 language=0 name=6 Postscript
│ -	 strlen=8  stroff=306	   Xolonium
│ +	 strlen=8  stroff=309	   Xolonium
│  	 platform=1 plat spec encoding=0 language=0 name=9 Designer
│ -	 strlen=13  stroff=343	   Severin Meyer
│ +	 strlen=13  stroff=346	   Severin Meyer
│  	 platform=1 plat spec encoding=0 language=0 name=11 Vendor URL
│ -	 strlen=31  stroff=421	   https://gitlab.com/sev/xolonium
│ +	 strlen=31  stroff=424	   https://gitlab.com/sev/xolonium
│  	 platform=1 plat spec encoding=0 language=0 name=13 License
│ -	 strlen=74  stroff=603	   Licensed under the SIL Open Font License 1.1, WITHOUT WARRANTY OF ANY KIND
│ +	 strlen=74  stroff=606	   Licensed under the SIL Open Font License 1.1, WITHOUT WARRANTY OF ANY KIND
│  	 platform=1 plat spec encoding=0 language=0 name=14 License URL
│ -	 strlen=27  stroff=734	   https://scripts.sil.org/OFL
│ +	 strlen=27  stroff=737	   https://scripts.sil.org/OFL
│  	 platform=3 plat spec encoding=1 language=409 name=0 Copyright
│  	 strlen=66  stroff=0	   ^@C^@o^@p^@y^@r^@i^@g^@h^@t^@ ^@2^@0^@1^@1^@-^@2^@0^@2^@0^@ ^@S^@e^@v^@e^@r^@i^@n^@ ^@M^@e^@y^@e^@r
│  	 platform=3 plat spec encoding=1 language=409 name=1 Family
│  	 strlen=16  stroff=102	   ^@X^@o^@l^@o^@n^@i^@u^@m
│  	 platform=3 plat spec encoding=1 language=409 name=2 Subfamily
│  	 strlen=14  stroff=129	   ^@R^@e^@g^@u^@l^@a^@r
│  	 platform=3 plat spec encoding=1 language=409 name=3 UniqueID
│ -	 strlen=46  stroff=153	   ^@X^@o^@l^@o^@n^@i^@u^@m^@ ^@4^@.^@2^@ ^@2^@0^@2^@5^@-^@1^@1^@-^@2^@9
│ +	 strlen=46  stroff=153	   ^@X^@o^@l^@o^@n^@i^@u^@m^@ ^@4^@.^@2^@ ^@2^@0^@2^@0^@-^@1^@1^@-^@1^@8
│  	 platform=3 plat spec encoding=1 language=409 name=4 FullName
│  	 strlen=16  stroff=225	   ^@X^@o^@l^@o^@n^@i^@u^@m
│  	 platform=3 plat spec encoding=1 language=409 name=5 Version
│ -	 strlen=22  stroff=252	   ^@V^@e^@r^@s^@i^@o^@n^@ ^@4^@.^@2
│ +	 strlen=24  stroff=252	   ^@V^@e^@r^@s^@i^@o^@n^@ ^@4^@.^@2^@ 
│  	 platform=3 plat spec encoding=1 language=409 name=6 Postscript
│ -	 strlen=16  stroff=288	   ^@X^@o^@l^@o^@n^@i^@u^@m
│ +	 strlen=16  stroff=291	   ^@X^@o^@l^@o^@n^@i^@u^@m
│  	 platform=3 plat spec encoding=1 language=409 name=9 Designer
│ -	 strlen=26  stroff=315	   ^@S^@e^@v^@e^@r^@i^@n^@ ^@M^@e^@y^@e^@r
│ +	 strlen=26  stroff=318	   ^@S^@e^@v^@e^@r^@i^@n^@ ^@M^@e^@y^@e^@r
│  	 platform=3 plat spec encoding=1 language=409 name=11 Vendor URL
│ -	 strlen=62  stroff=357	   ^@h^@t^@t^@p^@s^@:^@/^@/^@g^@i^@t^@l^@a^@b^@.^@c^@o^@m^@/^@s^@e^@v^@/^@x^@o^@l^@o^@n^@i^@u^@m
│ +	 strlen=62  stroff=360	   ^@h^@t^@t^@p^@s^@:^@/^@/^@g^@i^@t^@l^@a^@b^@.^@c^@o^@m^@/^@s^@e^@v^@/^@x^@o^@l^@o^@n^@i^@u^@m
│  	 platform=3 plat spec encoding=1 language=409 name=13 License
│ -	 strlen=148  stroff=453	   ^@L^@i^@c^@e^@n^@s^@e^@d^@ ^@u^@n^@d^@e^@r^@ ^@t^@h^@e^@ ^@S^@I^@L^@ ^@O^@p^@e^@n^@ ^@F^@o^@n^@t^@ ^@L^@i^@c^@e^@n^@s^@e^@ ^@1^@.^@1^@,^@ ^@W^@I^@T^@H^@O^@U^@T^@ ^@W^@A^@R^@R^@A^@N^@T^@Y^@ ^@O^@F^@ ^@A^@N^@Y^@ ^@K^@I^@N^@D
│ +	 strlen=148  stroff=456	   ^@L^@i^@c^@e^@n^@s^@e^@d^@ ^@u^@n^@d^@e^@r^@ ^@t^@h^@e^@ ^@S^@I^@L^@ ^@O^@p^@e^@n^@ ^@F^@o^@n^@t^@ ^@L^@i^@c^@e^@n^@s^@e^@ ^@1^@.^@1^@,^@ ^@W^@I^@T^@H^@O^@U^@T^@ ^@W^@A^@R^@R^@A^@N^@T^@Y^@ ^@O^@F^@ ^@A^@N^@Y^@ ^@K^@I^@N^@D
│  	 platform=3 plat spec encoding=1 language=409 name=14 License URL
│ -	 strlen=54  stroff=678	   ^@h^@t^@t^@p^@s^@:^@/^@/^@s^@c^@r^@i^@p^@t^@s^@.^@s^@i^@l^@.^@o^@r^@g^@/^@O^@F^@L
│ +	 strlen=54  stroff=681	   ^@h^@t^@t^@p^@s^@:^@/^@/^@s^@c^@r^@i^@p^@t^@s^@.^@s^@i^@l^@.^@o^@r^@g^@/^@O^@F^@L
│  
│  OS/2 table (at 336 for 96 bytes)
│  	Version=4
│  	 avgWidth=683
│  	 weightClass=400 Normal
│  	 widthClass=5 Medium
│  	 fstype=0x0 
│ @@ -152,15 +152,15 @@
│  	BreakChar=32
│  	MaxContext=2
│  
│  MAXP table (at 328)
│  	Version=0.3125
│  	 numGlyphs=837
│  
│ -Encoding (cmap) table (at 1464)
│ +Encoding (cmap) table (at 1468)
│  platform=0 specific=3 offset=44 Unicode 2.0+
│  platform=0 specific=4 offset=924 Unicode UCS4
│  platform=1 specific=0 offset=2464 Mac Roman
│  platform=3 specific=1 offset=44 MS Unicode
│  platform=3 specific=10 offset=924 MS UCS4
│   Format=12 len=1540 Language=0
│   Glyph 0 -> U+0000
│ @@ -997,48 +997,48 @@
│   Glyph 831 -> U+1F62D
│   Glyph 832 -> U+1F62E
│   Glyph 833 -> U+1F632
│   Glyph 834 -> U+1F634
│   Glyph 835 -> U+1F635
│   Glyph 836 -> U+1F680
│  
│ -post table (at 4452)
│ +post table (at 4456)
│  	 format=00030000
│  	 italicAngle=0
│  	 underlinePos=-75
│  	 underlineWidth=50
│  	 fixedpitch=0
│  	 mem1=0
│  	 mem2=0
│  	 mem3=0
│  	 mem4=0
│  
│ -Postscript CFF table (at 4484 for 50186 bytes)
│ +Postscript CFF table (at 4488 for 50192 bytes)
│  	Major Version: 1
│  	Minor Version: 0
│  	Table Header size: 4
│  	Offset size: 2
│  
│  There is 1 fontnames in this cff
│   Name Index Offset Size: 1
│   Offsets: 1 9 
│   Font Name  0: Xolonium
│  There is 1 top dictionary in this cff
│   Top Dict Index Offset Size: 1
│ - Offsets: 1 41 
│ + Offsets: 1 47 
│   Top Dict for Xolonium
│    999 Version
│    1000 notice
│    1001 fullname
│    1001 familyname
│    388 weight
│    -160 -210 1505 890 fontbb
│ -  5657 charsetoff
│ -  39 44296 private
│ -  6206 charstringsoff
│ +  5663 charsetoff
│ +  39 44302 private
│ +  6212 charstringsoff
│  
│  There are 611 strings in this cff
│   Name Index Offset Size: 2
│   Offsets: 1 8 15 22 29 36 43 50 56 62 69 76 82 88 99 110 120 130 136 142 148 154 160 166 173 180 186 192 202 212 219 226 232 238 249 260 266 272 282 292 299 306 317 328 332 336 342 348 355 362 368 374 381 388 398 400 402 413 424 431 438 450 456 462 469 476 482 488 492 496 502 508 515 522 528 534 537 540 547 554 560 566 579 592 598 604 611 618 624 630 636 642 653 664 672 680 687 694 700 706 710 714 720 726 733 740 746 752 757 762 775 788 795 802 813 824 835 846 852 858 868 878 888 898 905 912 923 934 941 948 955 962 969 976 983 990 995 1008 1018 1027 1039 1047 1056 1068 1080 1090 1107 1112 1116 1121 1128 1135 1139 1142 1147 1151 1156 1162 1164 1166 1168 1175 1177 1180 1185 1188 1195 1198 1201 1204 1211 1223 1238 1248 1260 1268 1277 1297 1302 1306 1311 1316 1323 1327 1330 1335 1339 1344 1350 1357 1359 1361 1368 1370 1373 1379 1384 1387 1394 1397 1400 1403 1408 1420 1435 1447 1459 1469 1476 1483 1490 1497 1504 1511 1518 1525 1532 1539 1546 1553 1560 1567 1574 1581 1588 1595 1602 1609 1616 1623 1630 1637 1644 1651 1658 1665 1672 1679 1686 1693 1700 1707 1714 1721 1728 1735 1742 1749 1756 1763 1770 1777 1784 1791 1798 1805 1812 1819 1826 1833 1840 1847 1854 1861 1868 1875 1882 1889 1896 1903 1910 1917 1924 1931 1938 1945 1952 1959 1966 1973 1980 1987 1994 2001 2008 2015 2022 2029 2036 2043 2050 2057 2064 2071 2078 2085 2092 2099 2106 2113 2120 2127 2134 2141 2148 2155 2162 2169 2176 2183 2190 2197 2204 2211 2218 2225 2232 2239 2246 2253 2260 2267 2274 2281 2288 2295 2302 2309 2316 2323 2330 2337 2344 2351 2358 2365 2372 2379 2386 2393 2400 2407 2414 2421 2428 2435 2442 2449 2456 2463 2470 2477 2484 2491 2498 2505 2512 2519 2526 2533 2540 2547 2554 2561 2568 2575 2582 2589 2596 2603 2610 2617 2624 2631 2638 2645 2652 2659 2666 2673 2680 2687 2694 2701 2708 2715 2722 2729 2736 2743 2750 2757 2764 2771 2778 2785 2792 2799 2806 2813 2820 2827 2834 2841 2848 2855 2862 2869 2876 2883 2890 2897 2904 2911 2917 2923 2929 2935 2944 2953 2960 2966 2972 2979 2986 2993 3000 3007 3020 3027 3034 3040 3046 3053 3060 3067 3074 3081 3088 3095 3102 3109 3116 3123 3130 3137 3144 3151 3158 3165 3172 3179 3186 3193 3200 3207 3214 3221 3228 3235 3242 3249 3256 3260 3267 3274 3278 3282 3289 3296 3303 3310 3317 3324 3331 3338 3345 3352 3357 3366 3375 3382 3392 3401 3412 3417 3424 3433 3440 3447 3454 3462 3472 3480 3491 3499 3508 3520 3527 3534 3541 3548 3555 3562 3569 3576 3583 3590 3600 3609 3617 3625 3635 3644 3653 3661 3671 3681 3690 3700 3709 3717 3725 3735 3744 3753 3761 3771 3781 3790 3799 3807 3817 3826 3836 3842 3848 3855 3862 3869 3876 3883 3890 3897 3904 3911 3918 3927 3937 3944 3951 3958 3965 3972 3979 3986 3992 3999 4006 4013 4020 4027 4034 4041 4048 4055 4062 4069 4076 4083 4090 4097 4104 4111 4118 4125 4131 4137 4143 4149 4155 4161 4167 4173 4179 4185 4191 4197 4203 4209 4215 4221 4227 4233 4239 4245 4251 4257 4263 4269 4275 4281 4287 4293 4299 4305 4311 4317 4323 4326 4359 4367 
│   String  0: uni00A0
│   String  1: uni00AD
│   String  2: uni00B2
│ @@ -1663,18 +1663,18 @@
│   underlinewidth=50
│   painttype=0
│   charstringtype=2
│   fontmatrix=[0.001 0 0 0.001 0 0]
│   uniqueid=0
│   fontbb=[-160 -210 1505 890]
│   strokewidth=0
│ - charsetoff=5657
│ + charsetoff=5663
│   encodingoff=0
│ - charstringsoff=6206
│ - private size=39 off=44296
│ + charstringsoff=6212
│ + private size=39 off=44302
│  
│  
│  There are 0 subrs in the index associated with Global
│  
│  There are 837 char strings in the index associated with Xolonium
│   Subr Index Offset Size: 2
│   Offsets: 1 34 37 67 96 186 294 355 467 485 548 611 667 704 722 743 758 780 839 859 936 956 989 1056 1153 1167 1321 1418 1442 1469 1502 1526 1557 1633 1763 1784 1849 1867 1894 1913 1932 1957 1980 1997 2022 2038 2054 2075 2096 2125 2155 2227 2257 2280 2299 2321 2356 2371 2383 2402 2414 2445 2470 2502 2538 2556 2570 2601 2630 2649 2680 2711 2730 2762 2784 2807 2835 2854 2871 2898 2917 2945 2977 3028 3045 3069 3091 3112 3126 3141 3153 3168 3180 3258 3283 3361 3375 3378 3411 3476 3537 3579 3661 3704 3870 3896 3967 4044 4062 4086 4107 4199 4216 4301 4343 4367 4389 4404 4429 4479 4497 4531 4551 4579 4596 4643 4687 4735 4809 4839 4870 4899 4944 4986 5030 5058 5083 5112 5140 5168 5210 5238 5266 5294 5338 5371 5416 5454 5493 5531 5583 5631 5675 5711 5743 5774 5805 5846 5874 5935 6050 6090 6130 6170 6224 6282 6345 6390 6416 6456 6497 6537 6594 6622 6650 6678 6722 6808 6850 6886 6923 6959 7009 7063 7109 7144 7174 7204 7233 7277 7300 7360 7396 7429 7475 7513 7567 7647 7739 7767 7796 7824 7852 7883 7914 7942 7970 8006 8045 8078 8111 8144 8190 8225 8279 8309 8353 8422 8518 8547 8587 8622 8662 8702 8756 8796 8840 8876 8924 8956 8986 9052 9078 9116 9154 9188 9222 9269 9305 9346 9395 9426 9443 9478 9522 9557 9586 9613 9643 9659 9682 9710 9737 9765 9789 9814 9844 9874 9927 9975 10005 10033 10065 10095 10126 10154 10218 10280 10321 10363 10406 10453 10497 10540 10619 10729 10769 10795 10836 10864 10904 10932 10965 10999 11032 11065 11181 11315 11348 11381 11444 11516 11545 11578 11626 11691 11737 11781 11815 11848 11885 11924 11965 12009 12046 12081 12170 12243 12267 12291 12318 12341 12384 12406 12428 12454 12480 12502 12523 12585 12635 12743 12779 12833 12879 12924 12958 12993 13023 13055 13075 13089 13103 13120 13141 13160 13188 13236 13261 13281 13303 13330 13345 13379 13420 13438 13476 13518 13554 13601 13635 13675 13727 13748 13813 13829 13855 13874 13886 13909 13951 13968 13984 14016 14037 14058 14096 14125 14145 14175 14218 14237 14256 14302 14314 14398 14418 14462 14505 14543 14575 14607 14635 14687 14716 14841 14861 14940 14962 15043 15066 15164 15181 15197 15232 15257 15271 15372 15400 15419 15477 15541 15594 15613 15634 15718 15772 15857 15889 15933 15977 16014 16044 16085 16114 16156 16238 16263 16328 16351 16368 16412 16437 16504 16576 16639 16664 16695 16726 16777 16798 16852 16917 16933 17003 17022 17040 17060 17081 17117 17133 17171 17192 17215 17244 17264 17294 17312 17331 17345 17391 17403 17455 17480 17528 17592 17651 17692 17722 17789 17869 17952 17983 18077 18188 18205 18274 18305 18323 18344 18364 18402 18418 18456 18514 18557 18585 18604 18636 18655 18674 18689 18799 18811 18862 18887 18935 18999 19056 19096 19126 19191 19269 19349 19389 19446 19529 19555 19618 19642 19665 19709 19737 19818 19907 19933 19958 19988 20020 20068 20136 20207 20279 20348 20389 20428 20464 20501 20543 20586 20660 20733 20831 20929 21044 21154 21224 21292 21362 21427 21499 21567 21627 21684 21743 21801 21849 21897 21981 22064 22180 22289 22314 22340 22385 22430 22449 22469 22534 22600 22670 22740 22802 22864 22931 22998 23067 23127 23179 23231 23324 23397 23414 23461 23496 23570 23643 23660 23698 23752 23794 23852 23880 23925 23960 24014 24099 24182 24225 24268 24312 24356 24431 24506 24539 24571 24611 24654 24702 24756 24828 24897 24923 24950 24985 25021 25049 25078 25122 25170 25207 25245 25314 25380 25428 25475 25552 25594 25632 25675 25705 25738 25773 25808 25853 25898 25936 25973 26007 26042 26067 26092 26116 26140 26177 26214 26307 26335 26359 26361 26364 26367 26370 26392 26412 26433 26453 26471 26490 26508 26526 26554 26583 26611 26636 26678 26737 26760 26799 26802 26881 26899 26928 26941 26953 27033 27052 27066 27094 27121 27145 27175 27191 27225 27254 27271 27288 27311 27330 27350 27392 27418 27437 27458 27477 27502 27523 27551 27566 27598 27626 27643 27660 27681 27699 27717 27790 27882 27985 28030 28108 28197 28296 28389 28483 28575 28687 28767 28803 28845 28927 29006 29026 29129 29183 29245 29309 29360 29399 29442 29482 29526 29596 29622 29658 29700 29716 29730 29748 29791 29891 29910 29964 29985 30053 30094 30134 30171 30204 30237 30271 30306 30336 30374 30403 30455 30498 30564 30592 30612 30636 30658 30685 30709 30739 30755 30789 30818 30832 30858 30877 30898 30917 30942 30963 30991 31006 31038 31066 31137 31157 31177 31210 31224 31259 31288 31331 31369 31401 31430 31463 31548 31612 31687 31731 31786 31805 31827 31847 31866 31882 31900 31919 31937 31956 32003 32020 32040 32063 32086 32154 32193 32496 32608 32858 32951 33168 33209 33237 33281 33512 33717 33768 33822 33837 33968 34126 34266 34447 34563 34663 34808 34902 34991 35016 35042 35067 35154 35243 35292 35318 35380 35410 35439 35506 35643 35733 35821 35847 35874 35901 35928 36101 36128 36165 36260 36347 36412 
│ @@ -3569,15 +3569,15 @@
│  Glyph 833 is named 995 u1F632
│  Glyph 834 is named 996 u1F634
│  Glyph 835 is named 997 u1F635
│  Glyph 836 is named 998 u1F680
│  
│  Adobe Standard Encoding
│  
│ -GSUB table (at 69412) (Glyph substitution)
│ +GSUB table (at 69420) (Glyph substitution)
│  	 version=1
│  	 Script List Offset=10
│  	 Feature List Offset=176
│  	 Lookup List Offset=280
│  	Script List
│  	 script count=4
│  	 Script[0] 'DFLT' Offset=26
│ @@ -3793,21 +3793,21 @@
│  	  Feature Parameters Offset=0
│  	  Lookup Count = 1
│  	   Lookup List Offset[0] = 7
│  	GSUB Lookup List Table
│  	 Lookup Count=9
│  	 Lookup Offset[0]=20
│  	 Lookup Offset[1]=62
│ -	 Lookup Offset[2]=116
│ -	 Lookup Offset[3]=142
│ -	 Lookup Offset[4]=176
│ -	 Lookup Offset[5]=196
│ -	 Lookup Offset[6]=210
│ -	 Lookup Offset[7]=234
│ -	 Lookup Offset[8]=254
│ +	 Lookup Offset[2]=132
│ +	 Lookup Offset[3]=158
│ +	 Lookup Offset[4]=192
│ +	 Lookup Offset[5]=212
│ +	 Lookup Offset[6]=226
│ +	 Lookup Offset[7]=250
│ +	 Lookup Offset[8]=270
│  	--
│  	 Lookup Table[0]
│  	  Type=1 Single
│  	  Flags=0x0 LeftToRight|||
│  	  Sub Table Count=1
│  	   Sub Table Offsets[0]=8
│  	  Single Sub Table[0] (variant forms)
│ @@ -3823,16 +3823,17 @@
│  		Glyph 285 (Scedilla) -> 325 (uni0218)
│  		Glyph 286 (scedilla) -> 326 (uni0219)
│  		Glyph 289 (uni0162) -> 327 (uni021A)
│  		Glyph 290 (uni0163) -> 328 (uni021B)
│  	 Lookup Table[1]
│  	  Type=6 Chaining Context
│  	  Flags=0x0 LeftToRight|||
│ -	  Sub Table Count=1
│ -	   Sub Table Offsets[0]=8
│ +	  Sub Table Count=2
│ +	   Sub Table Offsets[0]=10
│ +	   Sub Table Offsets[1]=40
│  	 Lookup Table[2]
│  	  Type=1 Single
│  	  Flags=0x0 LeftToRight|||
│  	  Sub Table Count=1
│  	   Sub Table Offsets[0]=8
│  	  Single Sub Table[0] (variant forms)
│  	   Type=2
│ @@ -3953,15 +3954,15 @@
│  	    Glyph Count=4
│  	     18 20 21 24 
│  		Glyph 18 (one) -> 759 (one.pnum)
│  		Glyph 20 (three) -> 760 (three.pnum)
│  		Glyph 21 (four) -> 761 (four.pnum)
│  		Glyph 24 (seven) -> 762 (seven.pnum)
│  
│ -GPOS table (at 54712) (Glyph positioning)
│ +GPOS table (at 54720) (Glyph positioning)
│  	 version=1
│  	 Script List Offset=10
│  	 Feature List Offset=154
│  	 Lookup List Offset=198
│  	Script List
│  	 script count=4
│  	 Script[0] 'DFLT' Offset=26
│ @@ -4848,15 +4849,15 @@
│  	     Range [35] Start=640 End=642 Index=186
│  	     Range [36] Start=647 End=647 Index=189
│  	     Range [37] Start=652 End=653 Index=190
│  	     Range [38] Start=727 End=727 Index=192
│  	     Range [39] Start=729 End=729 Index=193
│        quotedbl quotesingle parenleft asterisk comma hyphen period slash colon semicolon bracketleft backslash asciicircum braceleft guillemotleft degree guillemotright uni0400 uni0401 uni0402 uni0403 uni0404 uni0405 uni0408 uni0409 uni040A uni040B uni040C uni040E uni0410 uni0411 uni0412 uni0413 uni0414 uni0415 uni0416 uni0417 uni041A uni041E uni0420 uni0421 uni0422 uni0423 uni0424 uni0425 uni0426 uni0429 uni042A uni042C uni042D uni042E uni0430 uni0431 uni0432 uni0433 uni0434 uni0435 uni0436 uni0437 uni0438 uni0439 uni043A uni043B uni043C uni043D uni043E uni043F uni0440 uni0441 uni0442 uni0443 uni0444 uni0445 uni0446 uni0447 uni0448 uni0449 uni044A uni044B uni044C uni044D uni044E uni044F uni0450 uni0451 uni0452 uni0453 uni0454 uni0455 uni0457 uni0459 uni045A uni045B uni045C uni045D uni045E uni045F uni0472 uni0473 uni0490 uni0491 uni0492 uni0493 uni0494 uni0495 uni0496 uni0497 uni0498 uni0499 uni049A uni049B uni049C uni049D uni049E uni049F uni04A0 uni04A1 uni04A2 uni04A3 uni04A4 uni04A5 uni04A6 uni04A7 uni04A8 uni04A9 uni04AA uni04AB uni04AC uni04AD uni04AE uni04AF uni04B0 uni04B1 uni04B2 uni04B3 uni04B4 uni04B5 uni04B6 uni04B7 uni04B9 uni04BA uni04BB uni04BC uni04BD uni04C1 uni04C2 uni04CC uni04D0 uni04D1 uni04D2 uni04D3 uni04D4 uni04D5 uni04D6 uni04D7 uni04D8 uni04D9 uni04DC uni04DD uni04DE uni04DF uni04E0 uni04E1 uni04E3 uni04E5 uni04E6 uni04E7 uni04E8 uni04E9 uni04EE uni04EF uni04F0 uni04F1 uni04F2 uni04F3 uni04F5 uni04F6 uni04F7 uni04F9 uni0524 uni0525 endash emdash quoteleft quoteright quotesinglbase quotedblleft quotedblright quotedblbase ellipsis guilsinglleft guilsinglright uni2770 uni2772 
│  
│ -kern table (at 73328)
│ +kern table (at 73352)
│  	 version=0 (Old style)
│  	 num_tables=3
│  	 Sub-table 0, version=0
│  	  len=63908 coverage=1 Horizontal sub table format=0
│  	   npairs=10649 searchRange=49152 entrySelector=13 rangeShift=14742
│  		quotedbl A -80
│  		quotedbl J -40
│ @@ -15504,15 +15505,15 @@
│  		oslashacute Wacute -40
│  		oslashacute Wdieresis -40
│  		oslashacute Ygrave -70
│  		oslashacute ygrave -10
│  		oslashacute uni2771 -40
│  		oslashacute uni2773 -40
│  
│ -GDEF table (at 54672) (Glyph definitions)
│ +GDEF table (at 54680) (Glyph definitions)
│  	 version=1
│  	 Glyph class Def Offset=12
│  	 Attach List Offset=0
│  	 Ligature Caret List Offset=22
│  	 Mark Attach Class Def Offset=30
│    Glyph Class Definitions
│  	  Glyph 1 (space) is a Base
├── ttx -o- {}
│┄ error from `ttx -o- {}`:
│┄ Dumping "fonts/otf/Xolonium-Regular.otf" to "<stdout>"...
│┄ Dumping 'GlyphOrder' table...
│┄ Dumping 'head' table...
│┄ Dumping 'hhea' table...
│┄ Dumping 'maxp' table...
│┄ Dumping 'OS/2' table...
│┄ Dumping 'name' table...
│┄ Dumping 'cmap' table...
│┄ Dumping 'post' table...
│┄ Dumping 'CFF ' table...
│┄ Dumping 'GDEF' table...
│┄ Dumping 'GPOS' table...
│┄ Dumping 'GSUB' table...
│┄ Dumping 'hmtx' table...
│┄ Dumping 'kern' table...
│┄ Dumping 'DSIG' table...
│ @@ -842,20 +842,20 @@
│      <GlyphID id="836" name="u1F680"/>
│    </GlyphOrder>
│  
│    <head>
│      <!-- Most of this table will be recalculated by the compiler -->
│      <tableVersion value="1.0"/>
│      <fontRevision value="4.2"/>
│ -    <checkSumAdjustment value="0x40c9f441"/>
│ +    <checkSumAdjustment value="0xbc79c184"/>
│      <magicNumber value="0x5f0f3cf5"/>
│      <flags value="00000000 00001011"/>
│      <unitsPerEm value="1000"/>
│      <created value="Wed Dec 29 10:58:19 2010"/>
│ -    <modified value="Sat Nov 29 14:26:59 2025"/>
│ +    <modified value="Wed Nov 18 16:08:12 2020"/>
│      <xMin value="-160"/>
│      <yMin value="-210"/>
│      <xMax value="1505"/>
│      <yMax value="890"/>
│      <macStyle value="00000000 00000000"/>
│      <lowestRecPPEM value="8"/>
│      <fontDirectionHint value="2"/>
│ @@ -948,21 +948,21 @@
│      <namerecord nameID="1" platformID="1" platEncID="0" langID="0x0" unicode="True">
│        Xolonium
│      </namerecord>
│      <namerecord nameID="2" platformID="1" platEncID="0" langID="0x0" unicode="True">
│        Regular
│      </namerecord>
│      <namerecord nameID="3" platformID="1" platEncID="0" langID="0x0" unicode="True">
│ -      Xolonium 4.2 2025-11-29
│ +      Xolonium 4.2 2020-11-18
│      </namerecord>
│      <namerecord nameID="4" platformID="1" platEncID="0" langID="0x0" unicode="True">
│        Xolonium
│      </namerecord>
│      <namerecord nameID="5" platformID="1" platEncID="0" langID="0x0" unicode="True">
│ -      Version 4.2
│ +      Version 4.2 
│      </namerecord>
│      <namerecord nameID="6" platformID="1" platEncID="0" langID="0x0" unicode="True">
│        Xolonium
│      </namerecord>
│      <namerecord nameID="9" platformID="1" platEncID="0" langID="0x0" unicode="True">
│        Severin Meyer
│      </namerecord>
│ @@ -981,21 +981,21 @@
│      <namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
│        Xolonium
│      </namerecord>
│      <namerecord nameID="2" platformID="3" platEncID="1" langID="0x409">
│        Regular
│      </namerecord>
│      <namerecord nameID="3" platformID="3" platEncID="1" langID="0x409">
│ -      Xolonium 4.2 2025-11-29
│ +      Xolonium 4.2 2020-11-18
│      </namerecord>
│      <namerecord nameID="4" platformID="3" platEncID="1" langID="0x409">
│        Xolonium
│      </namerecord>
│      <namerecord nameID="5" platformID="3" platEncID="1" langID="0x409">
│ -      Version 4.2
│ +      Version 4.2 
│      </namerecord>
│      <namerecord nameID="6" platformID="3" platEncID="1" langID="0x409">
│        Xolonium
│      </namerecord>
│      <namerecord nameID="9" platformID="3" platEncID="1" langID="0x409">
│        Severin Meyer
│      </namerecord>
│ @@ -30167,49 +30167,46 @@
│            <Substitution in="uni0163" out="uni021B"/>
│            <Substitution in="zero" out="zero.zero"/>
│          </SingleSubst>
│        </Lookup>
│        <Lookup index="1">
│          <LookupType value="6"/>
│          <LookupFlag value="0"/>
│ -        <!-- SubTableCount=1 -->
│ -        <ChainContextSubst index="0" Format="1">
│ -          <Coverage>
│ +        <!-- SubTableCount=2 -->
│ +        <ChainContextSubst index="0" Format="3">
│ +          <!-- BacktrackGlyphCount=1 -->
│ +          <BacktrackCoverage index="0">
│ +            <Glyph value="Iacute"/>
│ +          </BacktrackCoverage>
│ +          <!-- InputGlyphCount=1 -->
│ +          <InputCoverage index="0">
│              <Glyph value="J"/>
│ +          </InputCoverage>
│ +          <!-- LookAheadGlyphCount=0 -->
│ +          <!-- SubstCount=1 -->
│ +          <SubstLookupRecord index="0">
│ +            <SequenceIndex value="0"/>
│ +            <LookupListIndex value="2"/>
│ +          </SubstLookupRecord>
│ +        </ChainContextSubst>
│ +        <ChainContextSubst index="1" Format="3">
│ +          <!-- BacktrackGlyphCount=1 -->
│ +          <BacktrackCoverage index="0">
│ +            <Glyph value="iacute"/>
│ +          </BacktrackCoverage>
│ +          <!-- InputGlyphCount=1 -->
│ +          <InputCoverage index="0">
│              <Glyph value="j"/>
│ -          </Coverage>
│ -          <!-- ChainSubRuleSetCount=2 -->
│ -          <ChainSubRuleSet index="0">
│ -            <!-- ChainSubRuleCount=1 -->
│ -            <ChainSubRule index="0">
│ -              <!-- BacktrackGlyphCount=1 -->
│ -              <Backtrack index="0" value="Iacute"/>
│ -              <!-- InputGlyphCount=1 -->
│ -              <!-- LookAheadGlyphCount=0 -->
│ -              <!-- SubstCount=1 -->
│ -              <SubstLookupRecord index="0">
│ -                <SequenceIndex value="0"/>
│ -                <LookupListIndex value="2"/>
│ -              </SubstLookupRecord>
│ -            </ChainSubRule>
│ -          </ChainSubRuleSet>
│ -          <ChainSubRuleSet index="1">
│ -            <!-- ChainSubRuleCount=1 -->
│ -            <ChainSubRule index="0">
│ -              <!-- BacktrackGlyphCount=1 -->
│ -              <Backtrack index="0" value="iacute"/>
│ -              <!-- InputGlyphCount=1 -->
│ -              <!-- LookAheadGlyphCount=0 -->
│ -              <!-- SubstCount=1 -->
│ -              <SubstLookupRecord index="0">
│ -                <SequenceIndex value="0"/>
│ -                <LookupListIndex value="2"/>
│ -              </SubstLookupRecord>
│ -            </ChainSubRule>
│ -          </ChainSubRuleSet>
│ +          </InputCoverage>
│ +          <!-- LookAheadGlyphCount=0 -->
│ +          <!-- SubstCount=1 -->
│ +          <SubstLookupRecord index="0">
│ +            <SequenceIndex value="0"/>
│ +            <LookupListIndex value="2"/>
│ +          </SubstLookupRecord>
│          </ChainContextSubst>
│        </Lookup>
│        <Lookup index="2">
│          <LookupType value="1"/>
│          <LookupFlag value="0"/>
│          <!-- SubTableCount=1 -->
│          <SingleSubst index="0">
--- fonts/ttf/Xolonium-Regular.ttf
+++ ../xolonium-fonts-4.2-upstream/ttf/Xolonium-Regular.ttf
├── showttf {}
│ @@ -1,42 +1,42 @@
│  version=1, numtables=19, searchRange=256 entrySel=4 rangeshift=48
│  File Checksum =b1b0afba (should be 0xb1b0afba), diff=0
│ -DSIG checksum=00000001 actual=00000001 diff=0 offset=229540 len=8
│ -GDEF checksum=00270371 actual=00270371 diff=0 offset=214232 len=38
│ -GPOS checksum=de926074 actual=de926074 diff=0 offset=214272 len=14700
│ -GSUB checksum=54dd2c05 actual=54dd2c05 diff=0 offset=228972 len=568
│ +DSIG checksum=00000001 actual=00000001 diff=0 offset=229548 len=8
│ +GDEF checksum=00270371 actual=00270371 diff=0 offset=214224 len=38
│ +GPOS checksum=de926074 actual=de926074 diff=0 offset=214264 len=14700
│ +GSUB checksum=551e2cc8 actual=551e2cc8 diff=0 offset=228964 len=584
│  OS/2 checksum=164c4449 actual=164c4449 diff=0 offset=440 len=96
│  cmap checksum=0b401b78 actual=0b401b78 diff=0 offset=3908 len=3026
│  cvt  checksum=1979201c actual=1979201c diff=0 offset=7496 len=116
│  fpgm checksum=820b2fa5 actual=820b2fa5 diff=0 offset=6936 len=192
│ -gasp checksum=00060013 actual=00060013 diff=0 offset=214220 len=12
│ -glyf checksum=077c5138 actual=077c5138 diff=0 offset=9300 len=55004
│ -head checksum=1308eebf actual=8bfc52eb diff=98f4bc54 offset=316 len=54
│ +gasp checksum=00060013 actual=00060013 diff=0 offset=214212 len=12
│ +glyf checksum=9a11d855 actual=9a11d855 diff=0 offset=9300 len=54992
│ +head checksum=099332f8 actual=2ac22283 diff=2351107b offset=316 len=54
│  hhea checksum=08e607ac actual=08e607ac diff=0 offset=372 len=36
│  hmtx checksum=c28aae15 actual=c28aae15 diff=0 offset=536 len=3372
│ -kern checksum=3f5b6e7f actual=3f5b6e7f diff=0 offset=64304 len=142318
│ -loca checksum=903bc4b8 actual=903bc4b8 diff=0 offset=7612 len=1688
│ +kern checksum=3f5b6e7f actual=3f5b6e7f diff=0 offset=64292 len=142318
│ +loca checksum=8f7dc3f8 actual=8f7dc3f8 diff=0 offset=7612 len=1688
│  maxp checksum=04b40125 actual=04b40125 diff=0 offset=408 len=32
│ -name checksum=4474f2d8 actual=4474f2d8 diff=0 offset=206624 len=1032
│ -post checksum=6399dcc8 actual=6399dcc8 diff=0 offset=207656 len=6564
│ +name checksum=e7b461e8 actual=e7b461e8 diff=0 offset=206612 len=1035
│ +post checksum=6399dcc8 actual=6399dcc8 diff=0 offset=207648 len=6564
│  prep checksum=af9499ea actual=af9499ea diff=0 offset=7128 len=366
│  
│  HEAD table (at 316)
│  	Version=1
│  	fontRevision=4.2
│ -	checksumAdj=78f3642c
│ +	checksumAdj=212eef8b
│  	magicNumber=5f0f3cf5 (0x5f0f3cf5, diff=0)
│  	flags=1f baseline_at_0 lsb_at_0 instrs_depend_on_size ppem_to_int instr_set_width 
│  	unitsPerEm=1000
│  	create[0]=0
│  	 create[1]=c940c4cb
│  	File created: Wed Dec 29 10:58:19 2010
│  	modtime[0]=0
│ -	 modtime[1]=e550b334
│ -	File modified: Sat Nov 29 14:27:00 2025
│ +	 modtime[1]=dbdaf76d
│ +	File modified: Wed Nov 18 16:08:13 2020
│  	xmin=-160
│  	ymin=-210
│  	xmax=1505
│  	ymax=890
│  	macstyle=0
│  	lowestppem=8
│  	fontdirhint=2 left to right and neutrals
│ @@ -58,62 +58,62 @@
│  	mbz=0
│  	mbz=0
│  	mbz=0
│  	mbz=0
│  	metricdataformat=0
│  	numberOfHMetrics=843
│  
│ -NAME table (at 206624)
│ +NAME table (at 206612)
│  	format=0
│  	nrecords=22
│  	taboff=270
│  	 platform=1 plat spec encoding=0 language=0 name=0 Copyright
│  	 strlen=33  stroff=68	   Copyright 2011-2020 Severin Meyer
│  	 platform=1 plat spec encoding=0 language=0 name=1 Family
│  	 strlen=8  stroff=120	   Xolonium
│  	 platform=1 plat spec encoding=0 language=0 name=2 Subfamily
│  	 strlen=7  stroff=145	   Regular
│  	 platform=1 plat spec encoding=0 language=0 name=3 UniqueID
│ -	 strlen=23  stroff=201	   Xolonium 4.2 2025-11-29
│ +	 strlen=23  stroff=201	   Xolonium 4.2 2020-11-18
│  	 platform=1 plat spec encoding=0 language=0 name=4 FullName
│  	 strlen=8  stroff=243	   Xolonium
│  	 platform=1 plat spec encoding=0 language=0 name=5 Version
│ -	 strlen=11  stroff=276	   Version 4.2
│ +	 strlen=12  stroff=278	   Version 4.2 
│  	 platform=1 plat spec encoding=0 language=0 name=6 Postscript
│ -	 strlen=8  stroff=306	   Xolonium
│ +	 strlen=8  stroff=309	   Xolonium
│  	 platform=1 plat spec encoding=0 language=0 name=9 Designer
│ -	 strlen=13  stroff=343	   Severin Meyer
│ +	 strlen=13  stroff=346	   Severin Meyer
│  	 platform=1 plat spec encoding=0 language=0 name=11 Vendor URL
│ -	 strlen=31  stroff=421	   https://gitlab.com/sev/xolonium
│ +	 strlen=31  stroff=424	   https://gitlab.com/sev/xolonium
│  	 platform=1 plat spec encoding=0 language=0 name=13 License
│ -	 strlen=74  stroff=603	   Licensed under the SIL Open Font License 1.1, WITHOUT WARRANTY OF ANY KIND
│ +	 strlen=74  stroff=606	   Licensed under the SIL Open Font License 1.1, WITHOUT WARRANTY OF ANY KIND
│  	 platform=1 plat spec encoding=0 language=0 name=14 License URL
│ -	 strlen=27  stroff=734	   https://scripts.sil.org/OFL
│ +	 strlen=27  stroff=737	   https://scripts.sil.org/OFL
│  	 platform=3 plat spec encoding=1 language=409 name=0 Copyright
│  	 strlen=66  stroff=0	   ^@C^@o^@p^@y^@r^@i^@g^@h^@t^@ ^@2^@0^@1^@1^@-^@2^@0^@2^@0^@ ^@S^@e^@v^@e^@r^@i^@n^@ ^@M^@e^@y^@e^@r
│  	 platform=3 plat spec encoding=1 language=409 name=1 Family
│  	 strlen=16  stroff=102	   ^@X^@o^@l^@o^@n^@i^@u^@m
│  	 platform=3 plat spec encoding=1 language=409 name=2 Subfamily
│  	 strlen=14  stroff=129	   ^@R^@e^@g^@u^@l^@a^@r
│  	 platform=3 plat spec encoding=1 language=409 name=3 UniqueID
│ -	 strlen=46  stroff=153	   ^@X^@o^@l^@o^@n^@i^@u^@m^@ ^@4^@.^@2^@ ^@2^@0^@2^@5^@-^@1^@1^@-^@2^@9
│ +	 strlen=46  stroff=153	   ^@X^@o^@l^@o^@n^@i^@u^@m^@ ^@4^@.^@2^@ ^@2^@0^@2^@0^@-^@1^@1^@-^@1^@8
│  	 platform=3 plat spec encoding=1 language=409 name=4 FullName
│  	 strlen=16  stroff=225	   ^@X^@o^@l^@o^@n^@i^@u^@m
│  	 platform=3 plat spec encoding=1 language=409 name=5 Version
│ -	 strlen=22  stroff=252	   ^@V^@e^@r^@s^@i^@o^@n^@ ^@4^@.^@2
│ +	 strlen=24  stroff=252	   ^@V^@e^@r^@s^@i^@o^@n^@ ^@4^@.^@2^@ 
│  	 platform=3 plat spec encoding=1 language=409 name=6 Postscript
│ -	 strlen=16  stroff=288	   ^@X^@o^@l^@o^@n^@i^@u^@m
│ +	 strlen=16  stroff=291	   ^@X^@o^@l^@o^@n^@i^@u^@m
│  	 platform=3 plat spec encoding=1 language=409 name=9 Designer
│ -	 strlen=26  stroff=315	   ^@S^@e^@v^@e^@r^@i^@n^@ ^@M^@e^@y^@e^@r
│ +	 strlen=26  stroff=318	   ^@S^@e^@v^@e^@r^@i^@n^@ ^@M^@e^@y^@e^@r
│  	 platform=3 plat spec encoding=1 language=409 name=11 Vendor URL
│ -	 strlen=62  stroff=357	   ^@h^@t^@t^@p^@s^@:^@/^@/^@g^@i^@t^@l^@a^@b^@.^@c^@o^@m^@/^@s^@e^@v^@/^@x^@o^@l^@o^@n^@i^@u^@m
│ +	 strlen=62  stroff=360	   ^@h^@t^@t^@p^@s^@:^@/^@/^@g^@i^@t^@l^@a^@b^@.^@c^@o^@m^@/^@s^@e^@v^@/^@x^@o^@l^@o^@n^@i^@u^@m
│  	 platform=3 plat spec encoding=1 language=409 name=13 License
│ -	 strlen=148  stroff=453	   ^@L^@i^@c^@e^@n^@s^@e^@d^@ ^@u^@n^@d^@e^@r^@ ^@t^@h^@e^@ ^@S^@I^@L^@ ^@O^@p^@e^@n^@ ^@F^@o^@n^@t^@ ^@L^@i^@c^@e^@n^@s^@e^@ ^@1^@.^@1^@,^@ ^@W^@I^@T^@H^@O^@U^@T^@ ^@W^@A^@R^@R^@A^@N^@T^@Y^@ ^@O^@F^@ ^@A^@N^@Y^@ ^@K^@I^@N^@D
│ +	 strlen=148  stroff=456	   ^@L^@i^@c^@e^@n^@s^@e^@d^@ ^@u^@n^@d^@e^@r^@ ^@t^@h^@e^@ ^@S^@I^@L^@ ^@O^@p^@e^@n^@ ^@F^@o^@n^@t^@ ^@L^@i^@c^@e^@n^@s^@e^@ ^@1^@.^@1^@,^@ ^@W^@I^@T^@H^@O^@U^@T^@ ^@W^@A^@R^@R^@A^@N^@T^@Y^@ ^@O^@F^@ ^@A^@N^@Y^@ ^@K^@I^@N^@D
│  	 platform=3 plat spec encoding=1 language=409 name=14 License URL
│ -	 strlen=54  stroff=678	   ^@h^@t^@t^@p^@s^@:^@/^@/^@s^@c^@r^@i^@p^@t^@s^@.^@s^@i^@l^@.^@o^@r^@g^@/^@O^@F^@L
│ +	 strlen=54  stroff=681	   ^@h^@t^@t^@p^@s^@:^@/^@/^@s^@c^@r^@i^@p^@t^@s^@.^@s^@i^@l^@.^@o^@r^@g^@/^@O^@F^@L
│  
│  OS/2 table (at 440 for 96 bytes)
│  	Version=4
│  	 avgWidth=682
│  	 weightClass=400 Normal
│  	 widthClass=5 Medium
│  	 fstype=0x0 
│ @@ -170,15 +170,15 @@
│  	 maxFunctionDefs=16
│  	 maxInstructionDefs=0
│  	 maxStackElements=320
│  	 maxSizeOfInstructions=91
│  	 maxComponentElements=3
│  	 maxComponentDepth=3
│  
│ -gasp table (at 214220) (grid fitting and scan conversion table)
│ +gasp table (at 214212) (grid fitting and scan conversion table)
│  	 version=1
│  	 Number of gasp entries=2
│  	  Sizes below 6:     	Anti-alias (no grid fitting)
│  	  All sizes >= 6:    	Both Grid Fitting and Anti-Aliasing
│  
│  Encoding (cmap) table (at 3908)
│  platform=0 specific=3 offset=44 Unicode 2.0+
│ @@ -1027,15 +1027,15 @@
│   Glyph 837 -> U+1F62D
│   Glyph 838 -> U+1F62E
│   Glyph 839 -> U+1F632
│   Glyph 840 -> U+1F634
│   Glyph 841 -> U+1F635
│   Glyph 842 -> U+1F680
│  
│ -post table (at 207656)
│ +post table (at 207648)
│  	 format=00020000
│  	 italicAngle=0
│  	 underlinePos=-75
│  	 underlineWidth=50
│  	 fixedpitch=0
│  	 mem1=0
│  	 mem2=0
│ @@ -1941,15 +1941,15 @@
│   CVT[52] = 30
│   CVT[53] = 50
│   CVT[54] = -30
│   CVT[55] = 260
│   CVT[56] = 250
│   CVT[57] = 230
│  
│ -GSUB table (at 228972) (Glyph substitution)
│ +GSUB table (at 228964) (Glyph substitution)
│  	 version=1
│  	 Script List Offset=10
│  	 Feature List Offset=176
│  	 Lookup List Offset=280
│  	Script List
│  	 script count=4
│  	 Script[0] 'DFLT' Offset=26
│ @@ -2165,21 +2165,21 @@
│  	  Feature Parameters Offset=0
│  	  Lookup Count = 1
│  	   Lookup List Offset[0] = 7
│  	GSUB Lookup List Table
│  	 Lookup Count=9
│  	 Lookup Offset[0]=20
│  	 Lookup Offset[1]=62
│ -	 Lookup Offset[2]=116
│ -	 Lookup Offset[3]=142
│ -	 Lookup Offset[4]=176
│ -	 Lookup Offset[5]=196
│ -	 Lookup Offset[6]=210
│ -	 Lookup Offset[7]=234
│ -	 Lookup Offset[8]=254
│ +	 Lookup Offset[2]=132
│ +	 Lookup Offset[3]=158
│ +	 Lookup Offset[4]=192
│ +	 Lookup Offset[5]=212
│ +	 Lookup Offset[6]=226
│ +	 Lookup Offset[7]=250
│ +	 Lookup Offset[8]=270
│  	--
│  	 Lookup Table[0]
│  	  Type=1 Single
│  	  Flags=0x0 LeftToRight|||
│  	  Sub Table Count=1
│  	   Sub Table Offsets[0]=8
│  	  Single Sub Table[0] (variant forms)
│ @@ -2195,16 +2195,17 @@
│  		Glyph 287 (Scedilla) -> 327 (uni0218)
│  		Glyph 288 (scedilla) -> 328 (uni0219)
│  		Glyph 291 (uni0162) -> 329 (uni021A)
│  		Glyph 292 (uni0163) -> 330 (uni021B)
│  	 Lookup Table[1]
│  	  Type=6 Chaining Context
│  	  Flags=0x0 LeftToRight|||
│ -	  Sub Table Count=1
│ -	   Sub Table Offsets[0]=8
│ +	  Sub Table Count=2
│ +	   Sub Table Offsets[0]=10
│ +	   Sub Table Offsets[1]=40
│  	 Lookup Table[2]
│  	  Type=1 Single
│  	  Flags=0x0 LeftToRight|||
│  	  Sub Table Count=1
│  	   Sub Table Offsets[0]=8
│  	  Single Sub Table[0] (variant forms)
│  	   Type=2
│ @@ -2325,15 +2326,15 @@
│  	    Glyph Count=4
│  	     20 22 23 26 
│  		Glyph 20 (one) -> 761 (one.pnum)
│  		Glyph 22 (three) -> 762 (three.pnum)
│  		Glyph 23 (four) -> 763 (four.pnum)
│  		Glyph 26 (seven) -> 764 (seven.pnum)
│  
│ -GPOS table (at 214272) (Glyph positioning)
│ +GPOS table (at 214264) (Glyph positioning)
│  	 version=1
│  	 Script List Offset=10
│  	 Feature List Offset=154
│  	 Lookup List Offset=198
│  	Script List
│  	 script count=4
│  	 Script[0] 'DFLT' Offset=26
│ @@ -3220,15 +3221,15 @@
│  	     Range [35] Start=642 End=644 Index=186
│  	     Range [36] Start=649 End=649 Index=189
│  	     Range [37] Start=654 End=655 Index=190
│  	     Range [38] Start=729 End=729 Index=192
│  	     Range [39] Start=731 End=731 Index=193
│        quotedbl quotesingle parenleft asterisk comma hyphen period slash colon semicolon bracketleft backslash asciicircum braceleft guillemotleft degree guillemotright uni0400 uni0401 uni0402 uni0403 uni0404 uni0405 uni0408 uni0409 uni040A uni040B uni040C uni040E uni0410 uni0411 uni0412 uni0413 uni0414 uni0415 uni0416 uni0417 uni041A uni041E uni0420 uni0421 uni0422 uni0423 uni0424 uni0425 uni0426 uni0429 uni042A uni042C uni042D uni042E uni0430 uni0431 uni0432 uni0433 uni0434 uni0435 uni0436 uni0437 uni0438 uni0439 uni043A uni043B uni043C uni043D uni043E uni043F uni0440 uni0441 uni0442 uni0443 uni0444 uni0445 uni0446 uni0447 uni0448 uni0449 uni044A uni044B uni044C uni044D uni044E uni044F uni0450 uni0451 uni0452 uni0453 uni0454 uni0455 uni0457 uni0459 uni045A uni045B uni045C uni045D uni045E uni045F uni0472 uni0473 uni0490 uni0491 uni0492 uni0493 uni0494 uni0495 uni0496 uni0497 uni0498 uni0499 uni049A uni049B uni049C uni049D uni049E uni049F uni04A0 uni04A1 uni04A2 uni04A3 uni04A4 uni04A5 uni04A6 uni04A7 uni04A8 uni04A9 uni04AA uni04AB uni04AC uni04AD uni04AE uni04AF uni04B0 uni04B1 uni04B2 uni04B3 uni04B4 uni04B5 uni04B6 uni04B7 uni04B9 uni04BA uni04BB uni04BC uni04BD uni04C1 uni04C2 uni04CC uni04D0 uni04D1 uni04D2 uni04D3 uni04D4 uni04D5 uni04D6 uni04D7 uni04D8 uni04D9 uni04DC uni04DD uni04DE uni04DF uni04E0 uni04E1 uni04E3 uni04E5 uni04E6 uni04E7 uni04E8 uni04E9 uni04EE uni04EF uni04F0 uni04F1 uni04F2 uni04F3 uni04F5 uni04F6 uni04F7 uni04F9 uni0524 uni0525 endash emdash quoteleft quoteright quotesinglbase quotedblleft quotedblright quotedblbase ellipsis guilsinglleft guilsinglright uni2770 uni2772 
│  
│ -kern table (at 64304)
│ +kern table (at 64292)
│  	 version=0 (Old style)
│  	 num_tables=3
│  	 Sub-table 0, version=0
│  	  len=63908 coverage=1 Horizontal sub table format=0
│  	   npairs=10649 searchRange=49152 entrySelector=13 rangeShift=14742
│  		quotedbl A -80
│  		quotedbl J -40
│ @@ -13876,15 +13877,15 @@
│  		oslashacute Wacute -40
│  		oslashacute Wdieresis -40
│  		oslashacute Ygrave -70
│  		oslashacute ygrave -10
│  		oslashacute uni2771 -40
│  		oslashacute uni2773 -40
│  
│ -GDEF table (at 214232) (Glyph definitions)
│ +GDEF table (at 214224) (Glyph definitions)
│  	 version=1
│  	 Glyph class Def Offset=12
│  	 Attach List Offset=0
│  	 Ligature Caret List Offset=22
│  	 Mark Attach Class Def Offset=30
│    Glyph Class Definitions
│  	  Glyph 1 (.null) is a Base
├── ttx -o- {}
│┄ error from `ttx -o- {}`:
│┄ Dumping "fonts/ttf/Xolonium-Regular.ttf" to "<stdout>"...
│┄ Dumping 'GlyphOrder' table...
│┄ Dumping 'head' table...
│┄ Dumping 'hhea' table...
│┄ Dumping 'maxp' table...
│┄ Dumping 'OS/2' table...
│┄ Dumping 'hmtx' table...
│┄ Dumping 'cmap' table...
│┄ Dumping 'fpgm' table...
│┄ Dumping 'prep' table...
│┄ Dumping 'cvt ' table...
│┄ Dumping 'loca' table...
│┄ Dumping 'glyf' table...
│┄ Dumping 'kern' table...
│┄ Dumping 'name' table...
│┄ Dumping 'post' table...
│┄ Dumping 'gasp' table...
│┄ Dumping 'GDEF' table...
│┄ Dumping 'GPOS' table...
│┄ Dumping 'GSUB' table...
│┄ Dumping 'DSIG' table...
│ @@ -848,20 +848,20 @@
│      <GlyphID id="842" name="u1F680"/>
│    </GlyphOrder>
│  
│    <head>
│      <!-- Most of this table will be recalculated by the compiler -->
│      <tableVersion value="1.0"/>
│      <fontRevision value="4.2"/>
│ -    <checkSumAdjustment value="0x78f3642c"/>
│ +    <checkSumAdjustment value="0x212eef8b"/>
│      <magicNumber value="0x5f0f3cf5"/>
│      <flags value="00000000 00011111"/>
│      <unitsPerEm value="1000"/>
│      <created value="Wed Dec 29 10:58:19 2010"/>
│ -    <modified value="Sat Nov 29 14:27:00 2025"/>
│ +    <modified value="Wed Nov 18 16:08:13 2020"/>
│      <xMin value="-160"/>
│      <yMin value="-210"/>
│      <xMax value="1505"/>
│      <yMax value="890"/>
│      <macStyle value="00000000 00000000"/>
│      <lowestRecPPEM value="8"/>
│      <fontDirectionHint value="2"/>
│ @@ -14614,15 +14614,14 @@
│  
│      <TTGlyph name="parenright" xMin="45" yMin="-210" xMax="315" yMax="660">
│        <contour>
│          <pt x="45" y="-210" on="1"/>
│          <pt x="185" y="-18" on="0"/>
│          <pt x="185" y="468" on="0"/>
│          <pt x="45" y="660" on="1"/>
│ -        <pt x="45" y="660" on="0"/>
│          <pt x="160" y="660" on="1"/>
│          <pt x="315" y="468" on="0"/>
│          <pt x="315" y="-18" on="0"/>
│          <pt x="160" y="-210" on="1"/>
│        </contour>
│        <instructions>
│          <assembly>
│ @@ -18024,15 +18023,14 @@
│        </contour>
│        <instructions/>
│      </TTGlyph>
│  
│      <TTGlyph name="u1F61B" xMin="75" yMin="-30" xMax="835" yMax="690">
│        <contour>
│          <pt x="75" y="90" on="1"/>
│ -        <pt x="75" y="90" on="0"/>
│          <pt x="75" y="570" on="1"/>
│          <pt x="75" y="690" on="0"/>
│          <pt x="225" y="690" on="1"/>
│          <pt x="685" y="690" on="1"/>
│          <pt x="835" y="690" on="0"/>
│          <pt x="835" y="570" on="1"/>
│          <pt x="835" y="90" on="1"/>
│ @@ -18353,15 +18351,14 @@
│        <contour>
│          <pt x="80" y="700" on="1"/>
│          <pt x="80" y="733" on="0"/>
│          <pt x="128" y="780" on="0"/>
│          <pt x="161" y="780" on="1"/>
│          <pt x="209" y="780" on="0"/>
│          <pt x="375" y="655" on="1"/>
│ -        <pt x="375" y="655" on="0"/>
│          <pt x="162" y="618" on="1"/>
│          <pt x="128" y="618" on="0"/>
│          <pt x="80" y="666" on="0"/>
│        </contour>
│        <contour>
│          <pt x="395" y="90" on="1"/>
│          <pt x="395" y="570" on="1"/>
│ @@ -18424,15 +18421,14 @@
│          <pt x="1389" y="780" on="1"/>
│          <pt x="1422" y="780" on="0"/>
│          <pt x="1470" y="733" on="0"/>
│          <pt x="1470" y="700" on="1"/>
│          <pt x="1470" y="666" on="0"/>
│          <pt x="1422" y="618" on="0"/>
│          <pt x="1388" y="618" on="1"/>
│ -        <pt x="1388" y="618" on="0"/>
│        </contour>
│        <contour>
│          <pt x="1309" y="543" on="1"/>
│          <pt x="1437" y="504" on="0"/>
│          <pt x="1505" y="468" on="0"/>
│          <pt x="1505" y="432" on="1"/>
│          <pt x="1505" y="406" on="0"/>
│ @@ -26280,20 +26276,18 @@
│  
│      <TTGlyph name="uni207E" xMin="35" yMin="180" xMax="205" yMax="660">
│        <contour>
│          <pt x="35" y="180" on="1"/>
│          <pt x="115" y="290" on="0"/>
│          <pt x="115" y="550" on="0"/>
│          <pt x="35" y="660" on="1"/>
│ -        <pt x="35" y="660" on="0"/>
│          <pt x="120" y="660" on="1"/>
│          <pt x="205" y="557" on="0"/>
│          <pt x="205" y="283" on="0"/>
│          <pt x="120" y="180" on="1"/>
│ -        <pt x="120" y="180" on="0"/>
│        </contour>
│        <instructions>
│          <assembly>
│            PUSHB[ ]	/* 6 values pushed */
│            7 4 2 2 6 9
│            SRP0[ ]	/* SetRefPoint0 */
│            MDRP[11110]	/* MoveDirectRelPt */
│ @@ -52837,21 +52831,21 @@
│      <namerecord nameID="1" platformID="1" platEncID="0" langID="0x0" unicode="True">
│        Xolonium
│      </namerecord>
│      <namerecord nameID="2" platformID="1" platEncID="0" langID="0x0" unicode="True">
│        Regular
│      </namerecord>
│      <namerecord nameID="3" platformID="1" platEncID="0" langID="0x0" unicode="True">
│ -      Xolonium 4.2 2025-11-29
│ +      Xolonium 4.2 2020-11-18
│      </namerecord>
│      <namerecord nameID="4" platformID="1" platEncID="0" langID="0x0" unicode="True">
│        Xolonium
│      </namerecord>
│      <namerecord nameID="5" platformID="1" platEncID="0" langID="0x0" unicode="True">
│ -      Version 4.2
│ +      Version 4.2 
│      </namerecord>
│      <namerecord nameID="6" platformID="1" platEncID="0" langID="0x0" unicode="True">
│        Xolonium
│      </namerecord>
│      <namerecord nameID="9" platformID="1" platEncID="0" langID="0x0" unicode="True">
│        Severin Meyer
│      </namerecord>
│ @@ -52870,21 +52864,21 @@
│      <namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
│        Xolonium
│      </namerecord>
│      <namerecord nameID="2" platformID="3" platEncID="1" langID="0x409">
│        Regular
│      </namerecord>
│      <namerecord nameID="3" platformID="3" platEncID="1" langID="0x409">
│ -      Xolonium 4.2 2025-11-29
│ +      Xolonium 4.2 2020-11-18
│      </namerecord>
│      <namerecord nameID="4" platformID="3" platEncID="1" langID="0x409">
│        Xolonium
│      </namerecord>
│      <namerecord nameID="5" platformID="3" platEncID="1" langID="0x409">
│ -      Version 4.2
│ +      Version 4.2 
│      </namerecord>
│      <namerecord nameID="6" platformID="3" platEncID="1" langID="0x409">
│        Xolonium
│      </namerecord>
│      <namerecord nameID="9" platformID="3" platEncID="1" langID="0x409">
│        Severin Meyer
│      </namerecord>
│ @@ -68922,49 +68916,46 @@
│            <Substitution in="uni0163" out="uni021B"/>
│            <Substitution in="zero" out="zero.zero"/>
│          </SingleSubst>
│        </Lookup>
│        <Lookup index="1">
│          <LookupType value="6"/>
│          <LookupFlag value="0"/>
│ -        <!-- SubTableCount=1 -->
│ -        <ChainContextSubst index="0" Format="1">
│ -          <Coverage>
│ +        <!-- SubTableCount=2 -->
│ +        <ChainContextSubst index="0" Format="3">
│ +          <!-- BacktrackGlyphCount=1 -->
│ +          <BacktrackCoverage index="0">
│ +            <Glyph value="Iacute"/>
│ +          </BacktrackCoverage>
│ +          <!-- InputGlyphCount=1 -->
│ +          <InputCoverage index="0">
│              <Glyph value="J"/>
│ +          </InputCoverage>
│ +          <!-- LookAheadGlyphCount=0 -->
│ +          <!-- SubstCount=1 -->
│ +          <SubstLookupRecord index="0">
│ +            <SequenceIndex value="0"/>
│ +            <LookupListIndex value="2"/>
│ +          </SubstLookupRecord>
│ +        </ChainContextSubst>
│ +        <ChainContextSubst index="1" Format="3">
│ +          <!-- BacktrackGlyphCount=1 -->
│ +          <BacktrackCoverage index="0">
│ +            <Glyph value="iacute"/>
│ +          </BacktrackCoverage>
│ +          <!-- InputGlyphCount=1 -->
│ +          <InputCoverage index="0">
│              <Glyph value="j"/>
│ -          </Coverage>
│ -          <!-- ChainSubRuleSetCount=2 -->
│ -          <ChainSubRuleSet index="0">
│ -            <!-- ChainSubRuleCount=1 -->
│ -            <ChainSubRule index="0">
│ -              <!-- BacktrackGlyphCount=1 -->
│ -              <Backtrack index="0" value="Iacute"/>
│ -              <!-- InputGlyphCount=1 -->
│ -              <!-- LookAheadGlyphCount=0 -->
│ -              <!-- SubstCount=1 -->
│ -              <SubstLookupRecord index="0">
│ -                <SequenceIndex value="0"/>
│ -                <LookupListIndex value="2"/>
│ -              </SubstLookupRecord>
│ -            </ChainSubRule>
│ -          </ChainSubRuleSet>
│ -          <ChainSubRuleSet index="1">
│ -            <!-- ChainSubRuleCount=1 -->
│ -            <ChainSubRule index="0">
│ -              <!-- BacktrackGlyphCount=1 -->
│ -              <Backtrack index="0" value="iacute"/>
│ -              <!-- InputGlyphCount=1 -->
│ -              <!-- LookAheadGlyphCount=0 -->
│ -              <!-- SubstCount=1 -->
│ -              <SubstLookupRecord index="0">
│ -                <SequenceIndex value="0"/>
│ -                <LookupListIndex value="2"/>
│ -              </SubstLookupRecord>
│ -            </ChainSubRule>
│ -          </ChainSubRuleSet>
│ +          </InputCoverage>
│ +          <!-- LookAheadGlyphCount=0 -->
│ +          <!-- SubstCount=1 -->
│ +          <SubstLookupRecord index="0">
│ +            <SequenceIndex value="0"/>
│ +            <LookupListIndex value="2"/>
│ +          </SubstLookupRecord>
│          </ChainContextSubst>
│        </Lookup>
│        <Lookup index="2">
│          <LookupType value="1"/>
│          <LookupFlag value="0"/>
│          <!-- SubTableCount=1 -->
│          <SingleSubst index="0">

Reply to: