Subject: Re: [bug#78461] [PATCH] gnu: font-iosevka: Update to 33.2.2, switch to "Super TTCs".

From: Hilton Chain <[email-masked]>
Date: Sat, 17 May 2025 18:32:25 +0800

Andrew Wong <[email-masked]> writes:

> * gnu/packages/fonts.scm(make-font-iosevka): New procedure.
>   (font-iosevka, font-iosevka-aile, font-iosevka-curly, font-iosevka-curly-slab)
>   (font-iosevka-etoile, font-iosevka-slab, font-iosevka-ss01, font-iosevka-ss02)
>   (font-iosevka-ss03, font-iosevka-ss04, font-iosevka-ss05, font-iosevka-ss06)
>   (font-iosevka-ss07, font-iosevka-ss08, font-iosevka-ss09, font-iosevka-ss10)
>   (font-iosevka-ss11, font-iosevka-ss12, font-iosevka-ss13, font-iosevka-ss14)
>   (font-iosevka-ss15, font-iosevka-ss16, font-iosevka-ss17, font-iosevka-ss18)
>   (font-iosevka-term, font-iosevka-term-slab): Update to 33.2.2, use
>   Super TTCs.

Can you clarify why switching to ‘Super TTC’?  I don't think we have
issue managing font files.

> Change-Id: I37df4b694e9392a07b30a0b4b570d27ec60ce796
> ---
>  gnu/packages/fonts.scm | 439 +++++++++++------------------------------
>  1 file changed, 115 insertions(+), 324 deletions(-)
>
> diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
> index 4ac82db29f..f25a7dfde7 100644
> --- a/gnu/packages/fonts.scm
> +++ b/gnu/packages/fonts.scm
> @@ -66,6 +66,7 @@
>  ;;; Copyright © 2023 Santiago Payà Miralta <[email-masked]>
>  ;;; Copyright © 2025 Kurome <[email-masked]>
>  ;;; Copyright © 2025 Gabriel Santos <[email-masked]>
> +;;; Copyright © 2025 Andrew Wong <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -2150,391 +2151,181 @@ (define-public font-comic-neue
>              (reverse iosevka-fails)))
>  EOF
>  |#
> +(define make-font-iosevka
> +  (lambda (name-suffix download-suffix description-appendix hash)
> +    (package
> +      (name (string-append "font-iosevka"
> +                           (if (string=? name-suffix "") "" "-") name-suffix))
> +      (version "33.2.2")
> +      (source
> +       (origin (method url-fetch/zipbomb)
> +               (uri (string-append
> +                     "https://github.com/be5invis/Iosevka/releases/download/v"
> +                     version "/SuperTTC-Iosevka" download-suffix
> +                     "-" version ".zip"))
> +               (sha256 (base32 hash))))
> +      (build-system font-build-system)
> +      (home-page "https://be5invis.github.io/Iosevka/")
> +      (synopsis "Coders' typeface, built from code")
> +      (description
> +       (string-append
> +        "Iosevka is a slender monospace sans-serif or slab-serif typeface
> +inspired by Pragmata Pro, M+, and PF DIN Mono, designed to be the ideal font
> +for programming.  Iosevka is completely generated from its source code."
> +        (if (string=? description-appendix "") "" "\n") description-appendix))
> +      (license (list license:silofl1.1  ;build artifacts (i.e., the fonts)
> +                     license:bsd-3)))))
> +

Descriptions will be translated, they must be string literals.[1]

[1]:
https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html