From 1ea777f847c0df26e523001cd868012bb19754b5 Mon Sep 17 00:00:00 2001 From: Ben Kelly Date: Mon, 22 Jan 2018 20:16:27 -0500 Subject: [PATCH] Work around Fontforge underline position bug. Specifically, when you call generate(), it helpfully adjusts the underline position by subtracting the underline line width. This means the underline position for the generated font is lower than the underline position in the original font, potentially low enough to push it into the next line of text. This causes weird rendering glitches in (at least) Konsole when displaying underlined text. --- ligaturize.py | 3 +++ output-fonts/LigaAnonymous_Pro.ttf | Bin 161764 -> 161764 bytes output-fonts/LigaCamingoCode-Regular.ttf | Bin 130144 -> 130144 bytes output-fonts/LigaCousine-Bold.ttf | Bin 346264 -> 346264 bytes output-fonts/LigaCousine-Regular.ttf | Bin 358184 -> 358184 bytes output-fonts/LigaDejaVuSansMono.ttf | Bin 390920 -> 390920 bytes output-fonts/LigaDroidSansMono.ttf | Bin 162576 -> 162576 bytes output-fonts/LigaHack-Regular.ttf | Bin 225120 -> 225120 bytes output-fonts/LigaIBMPlexMono-Regular.ttf | Bin 118784 -> 118784 bytes output-fonts/LigaIBMPlexMono-SemiBold.ttf | Bin 118668 -> 118668 bytes output-fonts/LigaInconsolata-Regular.ttf | Bin 149192 -> 149192 bytes output-fonts/LigaInconsolata-g.ttf | Bin 77228 -> 77228 bytes output-fonts/LigaInconsolata.ttf | Bin 78080 -> 78080 bytes output-fonts/LigaMesloLGL-Regular.ttf | Bin 518824 -> 518824 bytes output-fonts/LigaMesloLGLDZ-Regular.ttf | Bin 518860 -> 518860 bytes output-fonts/LigaMesloLGM-Regular.ttf | Bin 518824 -> 518824 bytes output-fonts/LigaMesloLGMDZ-Regular.ttf | Bin 518860 -> 518860 bytes output-fonts/LigaMesloLGS-Regular.ttf | Bin 518824 -> 518824 bytes output-fonts/LigaMesloLGSDZ-Regular.ttf | Bin 518860 -> 518860 bytes output-fonts/LigaOxygenMono-Regular.ttf | Bin 112892 -> 112892 bytes output-fonts/LigaRobotoMono-Regular.ttf | Bin 157784 -> 157784 bytes output-fonts/LigaSFMono-Regular.ttf | Bin 208744 -> 208744 bytes output-fonts/LigaSFMono-Semibold.ttf | Bin 209256 -> 209256 bytes output-fonts/LigaUbuntuMono-Regular.ttf | Bin 242028 -> 242028 bytes output-fonts/Ligaedlo.ttf | Bin 69532 -> 69532 bytes 25 files changed, 3 insertions(+) diff --git a/ligaturize.py b/ligaturize.py index 9fcf657..bd63633 100644 --- a/ligaturize.py +++ b/ligaturize.py @@ -210,6 +210,9 @@ change_font_names(font, output_font['fontname'], output_font['copyright_add'], output_font['unique_id']) +# Work around a bug in Fontforge where the underline height is subtracted from +# the underline width when you call generate(). +font.upos += font.uwidth # Generate font & move to output directory output_name = output_font['filename'] diff --git a/output-fonts/LigaAnonymous_Pro.ttf b/output-fonts/LigaAnonymous_Pro.ttf index c5ad87e9ec9e2a9b5299a31f78504adc12dd37b0..b3c4a3a3e4c50ee80dfd9486db85901f1df8abad 100644 GIT binary patch delta 42 zcmV+_0M-BG?+N7Z37`Q2GAWY+0U`qM5rZZHw}Tj0Yz(F)A}=HLEdhS7T)4D`ELB#o#!(kY8lGPbs5FI{+~34Eq28 delta 41 xcmaFxgZ;q|_6>}Tj17~S7?l~{G^;UgS7T)4D`EL}lfiLvA-~9WpHfDVb^t$Q4f+58 diff --git a/output-fonts/LigaCousine-Bold.ttf b/output-fonts/LigaCousine-Bold.ttf index e609c8a0cdd225f5751844da1b7a19c78fd2a2d2..704eb851fc3b9fb5d133809708bd137937dcb2c0 100644 GIT binary patch delta 57 zcmbO+QFO*c(FKf5ovD+V7?qgR>YLRV+tnCBmNH(i6wyQCMFcT0nZ&zbvNpoZQ8_sZca-f<>`x1AS K=}X*MzW@Nq(h#=* diff --git a/output-fonts/LigaCousine-Regular.ttf b/output-fonts/LigaCousine-Regular.ttf index 444a2043c44fa5ace9477800b2e56db369716688..d755df89f290ddcb53ce8da1605002e796bbe53e 100644 GIT binary patch delta 57 zcmZ4SPISdP(G84@j46|u7?qfcUN);SwyQCMFcT0nZ&zbv`BuX6PnjWPa-f<>yGa?# JbdxgHF8~Hw5sv@> delta 57 zcmZ4SPISdP(G84@i~^IH7?qfcCpN1wwyQCMFcT0nZ&zbv`BuX6_dG+$5sv@> diff --git a/output-fonts/LigaDejaVuSansMono.ttf b/output-fonts/LigaDejaVuSansMono.ttf index 94ebdfb98a36b894701fd6d9ff39e1457468a4b8..04c50c620d158c92d8327f1785d878ee37e43cb3 100644 GIT binary patch delta 56 zcmeBpC*JW+d;=pRn+a delta 56 zcmeBpC*JW+d;=pRWBFtzMrFpk&1#J8YK$Pv1jNkS)fidiPcy49L``;d6lsq+!?Hc* I4C@*#0MyJ7c>n+a diff --git a/output-fonts/LigaDroidSansMono.ttf b/output-fonts/LigaDroidSansMono.ttf index d5d74c60790710eb7fb4019490316c157298f423..518da06b1a776cf5e414089b8dcabc822dc884ab 100644 GIT binary patch delta 41 xcmbR6jdQ{`&JB!=jO!*dF)A@dM>MN3ZdYSuY=6s~#*jAIQA}j}k#~$fJpd#34fy~7 delta 41 xcmbR6jdQ{`&JB!=j2@Gj7?qe}RGQTox2rKSw!dX&U`U(nC?>M~$U8=#9smuf4Eg{7 diff --git a/output-fonts/LigaHack-Regular.ttf b/output-fonts/LigaHack-Regular.ttf index 87e9d17a332c33bb04e2832e23c8fbb5998ef394..8d94d4d330e01858d31434110270caf900463641 100644 GIT binary patch delta 55 zcmV-70LcH~-VNa14Upj#-q&XU0>o4R06{7M0RR910tFwa9f9_R_5ro_0%pSm|0Dof NlffYrw{*k;?5bka76bqQ delta 55 zcmV-70LcH~-VNa14Upj#gx6;P0>o4R06{7M0RR910tFwa(Si1b_5ro_0%pSm{>lJa NlffYrw{*k;?5b^07XttQ diff --git a/output-fonts/LigaIBMPlexMono-Regular.ttf b/output-fonts/LigaIBMPlexMono-Regular.ttf index 7caee5701a3ffab4f8f75e4490448c2cc6f5665b..0af76c28f60e3a86ab7ea0bfd31a8f7dfcd1553a 100644 GIT binary patch delta 52 zcmZozz}~QceZm7VBiX0y42;%C7#I}z85kKDK=|6^#&27{Fc0RR910RoTTO|kahxC4U#GLzv66tnEP Fz;nuQ6OsS` delta 47 zcmV+~0MP%e+XSrJ1d!nsZ^6O<0J+Qn01s>c0RR910RoTTv9b2wxC2oDGLzv66tnEP Fz;nm66OsS` diff --git a/output-fonts/LigaInconsolata.ttf b/output-fonts/LigaInconsolata.ttf index 069e82739662676c8f8320d8cfaecbc031a4537a..7a283b1552a35b91947954b86cb8ab31a7ceb826 100644 GIT binary patch delta 48 zcmV-00MGw`;sk)=1d!ksCkfGb006o8000t^00961009C``AxC*3%LWe05X#?2Nbgy Gy6ASC@es}c delta 48 zcmV-00MGw`;sk)=1d!ksCfCt;006o8000t^00961009C``LVI~3%LV>05X#?2Nbgy Gy6ASm4iU`& diff --git a/output-fonts/LigaMesloLGL-Regular.ttf b/output-fonts/LigaMesloLGL-Regular.ttf index 324c7a7de6b2232dab2a8e95070978be2f0c4b34..4d835d6fff7fb97a76b06c7f91864c859c490179 100644 GIT binary patch delta 65 zcmZ2+Rer@)`3;PWj1wm_F)A@}d~8-@Y*%9hVJ0AE24WT7?qefmo}?0wyQCMFcT0n12GE_vjQ>Ob~Q%!c0pzphN#I4 NO+~gJ5n_LG9RMrN5hwrv diff --git a/output-fonts/LigaMesloLGLDZ-Regular.ttf b/output-fonts/LigaMesloLGLDZ-Regular.ttf index 0b5aafb4953ae8328e4b6e70b5cceb504abe3ce2..2560cc8dcd249366e1cbadce481a532c0cd15b40 100644 GIT binary patch delta 64 zcmX?eRsPIX`3;PWj1wm_F)A}!G^;VTt1*Hw6A&{4F$)m00x{cmHAeQ;g3NUcQIi*% Mifn%&#Qx+u06gCj_5c6? delta 64 zcmX?eRsPIX`3;PWjOLS>7?l~{G^;VTt1*Hw6A&{4F$)m00x{cmHAeQ;g3KxmQIi*% Mifn%&#Qx+u07nrK_5c6? diff --git a/output-fonts/LigaMesloLGM-Regular.ttf b/output-fonts/LigaMesloLGM-Regular.ttf index dde6b69eaff2cc736a2c1904f57b47d960d298ce..e08bf83ff4c923074b67fc7e88003c525eae1f9a 100644 GIT binary patch delta 65 zcmZ2+Rer@)`3;PWj1wm_F)A_f`8TUEwyQCMFcT0n12GE_vjQ>Ob~Q%!c0uMkhN#I4 NO+~gJ5n_LG9RM_o5sLr- delta 65 zcmZ2+Rer@)`3;PWjOLS>7?qg#nVZ!Z+tnCBmi~0<68QiC delta 65 zcmX?eRsPIX`3;PWjOLS>7?qe-cr>dqwyQCMFcT0n12GE_vjQ>Ob~Q%!)q>0_3{jI8 Nnu=_HA;kXVIsi?b5&8fC diff --git a/output-fonts/LigaMesloLGS-Regular.ttf b/output-fonts/LigaMesloLGS-Regular.ttf index d7fb94a50e800b824778bb40159bfe9b905fa570..3535dd3bb8186385e5b527373e707ccf8d4bb940 100644 GIT binary patch delta 65 zcmZ2+Rer@)`3;PWj1wm_F)A_r`rNF>*sjJ1!c0KS48$xz%nHP8+tnD^+Xb2H7@{UG NG!@x?M2P*#bpU{O6B_^k delta 65 zcmZ2+Rer@)`3;PWjOLS>7?qfQFKk diff --git a/output-fonts/LigaMesloLGSDZ-Regular.ttf b/output-fonts/LigaMesloLGSDZ-Regular.ttf index 1d210eafc0276d0a91e77d36d05e13987b48f35e..bbc25ee4583b89062315f9c6d8fefff83c9a5ef9 100644 GIT binary patch delta 64 zcmX?eRsPIX`3;PWj1wm_F)B0aG^;VTt1*Hw6A&{4F$)m00x{cmHAeQ;g3NUcQIi*% Mifn%&#Qx+u06L!$>Hq)$ delta 64 zcmX?eRsPIX`3;PWjOLS>7?l|xG^;VTt1*Hw6A&{4F$)m00x{cmHAeQ;g3KxmQIi*% Mifn%&#Qx+u07TId>Hq)$ diff --git a/output-fonts/LigaOxygenMono-Regular.ttf b/output-fonts/LigaOxygenMono-Regular.ttf index 5f189b606d4b673e665069d9e879e60a73208058..c594ffdc61b1529b63db6b89e0ffde25525142d8 100644 GIT binary patch delta 42 ycmezKk?qe%whfGoj58-QF)A@VTh*+_xLu8rG0&0Zzdu9yWJX?*?Q5JE1Ihqfhz_3s delta 42 ycmezKk?qe%whfGoj7pQ47?qfw&uCU-+^)vRnCHmy?*>EpWJX?*?Q5JE1IhqV=MJ9$ diff --git a/output-fonts/LigaRobotoMono-Regular.ttf b/output-fonts/LigaRobotoMono-Regular.ttf index 8202d9e4d068ac3efcea0ed1565bd7ba41038482..fe84873e3e2765be2e89da486de1a35da82897aa 100644 GIT binary patch delta 41 zcmV+^0M`H5& diff --git a/output-fonts/LigaSFMono-Regular.ttf b/output-fonts/LigaSFMono-Regular.ttf index f724239a679e7a6c8ee0d76b24d4fb5527176d31..3d849f9eac3009d7d792db185570e3f3635dd3ae 100644 GIT binary patch delta 55 zcmaEHkLSfbo(T`c?na1cF)-ECFfjO)F)%WKfpcQxx7KfrTfZ^&S2JfZq)axH7ui0i IhUv^E04>@R!T`@Lw|-;luV!XrNSSOXFS313 I4bz!T06wM@!T`@Lw|-;luVv0+NSSOXFS313 I9n+aj05+u*5C8xG delta 55 zcmaFyi08#4o(T`c?tBr^VqmJPVPNnpV_;+egDpQAzqNj2-1?2Fzm}PeA!V|myvX)B JbxdbA0RUiE6%POa diff --git a/output-fonts/LigaUbuntuMono-Regular.ttf b/output-fonts/LigaUbuntuMono-Regular.ttf index 4298ca45f2fbd3b900985098c5040d976ef29c1d..e605a2936e9384ee9f256ea08d692e81b6f7e032 100644 GIT binary patch delta 44 zcmaF!i0{oKz733wjLMUl7?l|Xo7EWG)fgGKt1&W}zhiD?5SgqfE3&=hJ=2ea05-f1 A4gdfE delta 44 zcmaF!i0{oKz733wjQo?C7?l|