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.