X-Loop: help-debbugs@HIDDEN Subject: bug#65741: The URW fontconfig dilemma Resent-From: Bruno Victal <mirai@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-guix@HIDDEN Resent-Date: Mon, 04 Sep 2023 17:42:01 +0000 Resent-Message-ID: <handler.65741.B.16938493123220 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 65741 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 65741 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-guix <bug-guix@HIDDEN> Received: via spool by submit <at> debbugs.gnu.org id=B.16938493123220 (code B ref -1); Mon, 04 Sep 2023 17:42:01 +0000 Received: (at submit) by debbugs.gnu.org; 4 Sep 2023 17:41:52 +0000 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 From: Bruno Victal <mirai@HIDDEN> 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-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.
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Bruno Victal <mirai@HIDDEN> Subject: bug#65741: Acknowledgement (The URW fontconfig dilemma) Message-ID: <handler.65741.B.16938493123220.ack <at> debbugs.gnu.org> References: <e9c47e35-1b50-4db3-b1ee-6659b22b2381@HIDDEN> X-Gnu-PR-Message: ack 65741 X-Gnu-PR-Package: guix Reply-To: 65741 <at> debbugs.gnu.org Date: Mon, 04 Sep 2023 17:42:01 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-guix@HIDDEN If you wish to submit further information on this problem, please send it to 65741 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 65741: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D65741 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.