1
0
Fork 0
mirror of https://github.com/ryanccn/flake.git synced 2025-12-06 00:00:44 +01:00
flake/packages/ibm-plex-compat.nix
2025-04-03 00:36:22 +08:00

46 lines
1.2 KiB
Nix

# SPDX-FileCopyrightText: 2025 Ryan Cao <hello@ryanccn.dev>
#
# SPDX-License-Identifier: Apache-2.0
{
ibm-plex,
python313Packages,
families ? [ ],
}:
(ibm-plex.override { inherit families; }).overrideAttrs (_: {
pname = "ibm-plex-compat";
postInstall = ''
set -eo pipefail
PATH="${python313Packages.fonttools}/bin:$PATH"
cd "$out/share/fonts/opentype"
ansi_green="\033[32m"
ansi_reset="\033[0m"
for medium_font in $(find . -type f -name '*.otf' -and -name '*Medium*'); do
echo -e "''${ansi_green}Patching''${ansi_reset} $medium_font (Medm -> Medium)"
ttx_path="''${medium_font%.*}.ttx"
ttx "$medium_font"
substituteInPlace "$ttx_path" --replace-fail 'Medm' 'Medium'
ttx -f "$ttx_path"
rm "$ttx_path"
done
for semibold_font in $(find . -type f -name '*.otf' -and -name '*SemiBold*'); do
echo -e "''${ansi_green}Patching''${ansi_reset} $semibold_font (SmBld -> Semibold)"
ttx_path="''${semibold_font%.*}.ttx"
ttx "$semibold_font"
substituteInPlace "$ttx_path" --replace-fail 'SmBld' 'Semibold'
ttx -f "$ttx_path"
rm "$ttx_path"
done
echo -e "''${ansi_green}Done!''${ansi_reset}"
'';
})