Received: (at submit) by debbugs.gnu.org; 4 Sep 2023 17:41:52 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 04 13:41:52 2023 Received: from localhost ([127.0.0.1]:52513 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1qdDaB-0000pr-Pa for submit <at> debbugs.gnu.org; Mon, 04 Sep 2023 13:41:52 -0400 Received: from lists.gnu.org ([2001:470:142::17]:36350) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mirai@HIDDEN>) id 1qdDa9-0000pd-Lf for submit <at> debbugs.gnu.org; Mon, 04 Sep 2023 13:41:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <mirai@HIDDEN>) id 1qdDa3-0008WC-L8 for bug-guix@HIDDEN; Mon, 04 Sep 2023 13:41:43 -0400 Received: from smtpmciv1.myservices.hosting ([185.26.107.237]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <mirai@HIDDEN>) id 1qdDa0-0001aK-So for bug-guix@HIDDEN; Mon, 04 Sep 2023 13:41:43 -0400 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpmciv1.myservices.hosting (Postfix) with ESMTP id F37D220CAE for <bug-guix@HIDDEN>; Mon, 4 Sep 2023 19:41:25 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id C4B408005B; Mon, 4 Sep 2023 19:33:55 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id C_QdVo413P-W; Mon, 4 Sep 2023 19:33:54 +0200 (CEST) Received: from [192.168.1.116] (unknown [10.192.1.83]) (Authenticated sender: lumen@HIDDEN) by mail1.netim.hosting (Postfix) with ESMTPSA id BF02F80060; Mon, 4 Sep 2023 19:33:54 +0200 (CEST) Message-ID: <e9c47e35-1b50-4db3-b1ee-6659b22b2381@HIDDEN> Date: Mon, 4 Sep 2023 18:33:50 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: bug-guix <bug-guix@HIDDEN> From: Bruno Victal <mirai@HIDDEN> Subject: The URW fontconfig dilemma Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=185.26.107.237; envelope-from=mirai@HIDDEN; helo=smtpmciv1.myservices.hosting X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) During my attempt to build the enblend-enfuse documentation [1], it would fail and display the following message: --8<---------------cut here---------------start------------->8--- Error: fontconfig: Didn't find expected font family. Perhaps URW Type 1 fonts need installing? --8<---------------cut here---------------end--------------->8--- Naturally searching for the URW fonts in guix didn't yield anything other than some texlive packages so I ended up writing a definition for it. It turned out to be unnecessary as I later found out 'font-ghostscript' provides just that. (an issue of discoverability perhaps?) Nonetheless my newly written package (which should be “merged” into the definition of 'font-ghostscript' with a better description and perhaps a rename) is an update of what font-ghostscript provides and should work just the same, in theory. (spoilers: it doesn't) Intrigued by this difference and after some doc reading and several arcane commands thrown in desperation, I've distilled them to this: With the existing font-ghostscript package: --8<---------------cut here---------------start------------->8--- $ guix shell -C font-ghostscript fontconfig [env]$ fc-match 'Nimbus Sans L' n019003l.pfb: "Nimbus Sans L" "Regular" --8<---------------cut here---------------end--------------->8--- With the new font-urw-base35 package (definition below): --8<---------------cut here---------------start------------->8--- $ ~/src/guix/pre-inst-env guix shell -C font-urw-base35 fontconfig [env]$ fc-match 'Nimbus Sans L' DejaVuSans.ttf: "DejaVu Sans" "Book" --8<---------------cut here---------------end--------------->8--- The source of the font-urw-base35 has a file for fontconfig at 'fontconfig/urw-fallback-backwards.conf' that contains this: --8<---------------cut here---------------start------------->8--- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <!-- This file is used to alias/map previous versions of font families from (URW)++ to similar/metric-conmpatible font families of latest font versions from (URW)++ itself. Most likely this aliasing/mapping will be useful for people who: * have latest versions of (URW)++ fonts, but their documents still reference or requires older versions of these fonts latest URW fonts: previous URW fonts: ==================== ============================================= Nimbus Mono PS Nimbus Mono L | Nimbus Mono URW Gothic URW Gothic L URW Bookman URW Bookman L | Bookman URW Z003 URW Chancery L | Chancery URW D050000L Dingbats Nimbus Sans Nimbus Sans L Nimbus Sans Narrow Nimbus Sans Narrow (same as current name) C059 Century Schoolbook L | Century SchoolBook URW P052 URW Palladio L | Palladio URW Standard Symbols PS Standard Symbols L Nimbus Roman Nimbus Roman No9 L --> … <alias binding="same"> <family>Nimbus Sans L</family> <accept> <family>Nimbus Sans</family> </accept> </alias> … --8<---------------cut here---------------end--------------->8--- So unless I misunderstood the fontconfig documentation and the comment, 'fc-match' should have found the newer Nimbus Sans, not DejaVu Sans. What gives? The definition for this font-urw-base35 package: --8<---------------cut here---------------start------------->8--- ;; Note: add #:use-module (guix build-system copy) to gnu/packages/fonts.scm. ;; when trying this out. ;; See <https://src.fedoraproject.org/rpms/urw-base35-fonts/blob/ed09bf27915269b454df3efb36b2e0cf45accd26/f/urw-base35-fonts.spec> for more information. (define-public font-urw-base35 (let ((commit "3c0ba3b5687632dfc66526544a4e811fe0ec0cd9") (revision "0") (base-version "20200910")) (package (name "font-urw-base35") (version (git-version base-version revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/ArtifexSoftware/urw-base35-fonts") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "11mc9r2ap80jmh0w5jmypyq9hzyi9g9g4hcj45d5xn66m3jnlgjq")))) (build-system copy-build-system) (arguments (list #:install-plan #~`(("fonts/" "share/fonts/urw-base35" #:exclude ("README" "COPYING")) ("appstream/" "share/metainfo" #:exclude ("README.md")) ("fontconfig/" "share/fontconfig/conf.avail/" #:exclude ("README.md"))) #:phases #~(modify-phases %standard-phases (add-before 'install 'configure (lambda _ ;; Set font priority for fontconfig. (with-directory-excursion "fontconfig" (for-each (lambda (f) ;; As recommended in the README.md. (rename-file f (string-append "61-" (basename f)))) (find-files "." "\\.conf$" #:fail-on-error? #t)))))))) (home-page "https://github.com/ArtifexSoftware/urw-base35-fonts") (synopsis "URW++ base 35 font set.") (description "This package provides substitutes for the 35 fonts required by Adobe Postscript(c) Language Level 2 specification.") (license license:agpl3)))) --8<---------------cut here---------------end--------------->8--- [1]: <https://issues.guix.gnu.org/65706> -- Furthermore, I consider that nonfree software must be eradicated. Cheers, Bruno.
Bruno Victal <mirai@HIDDEN>
:bug-guix@HIDDEN
.
Full text available.bug-guix@HIDDEN
:bug#65741
; Package guix
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.