From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id aECVA7WSBGL55wAAgWs5BA (envelope-from ) for ; Thu, 10 Feb 2022 05:21:09 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id uMfeN7SSBGIfDQEAG6o9tA (envelope-from ) for ; Thu, 10 Feb 2022 05:21:08 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 70409415B1 for ; Thu, 10 Feb 2022 05:21:08 +0100 (CET) Received: from localhost ([::1]:49772 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nI0x9-0001Uw-7v for larch@yhetil.org; Wed, 09 Feb 2022 23:21:07 -0500 Received: from eggs.gnu.org ([209.51.188.92]:55392) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nI0mS-00020V-0p for bug-guix@gnu.org; Wed, 09 Feb 2022 23:10:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:59342) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nI0mQ-0005qg-Kp for bug-guix@gnu.org; Wed, 09 Feb 2022 23:10:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nI0mQ-0007up-6p for bug-guix@gnu.org; Wed, 09 Feb 2022 23:10:02 -0500 X-Loop: help-debbugs@gnu.org Subject: bug#53907: font-ibm-plex has a nonfree dependency Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 10 Feb 2022 04:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 53907 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: gregf@gnu.org, 53907@debbugs.gnu.org X-Debbugs-Original-To: Greg Farough , bug-guix@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.164446615830351 (code B ref -1); Thu, 10 Feb 2022 04:10:02 +0000 Received: (at submit) by debbugs.gnu.org; 10 Feb 2022 04:09:18 +0000 Received: from localhost ([127.0.0.1]:53239 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nI0li-0007tS-7h for submit@debbugs.gnu.org; Wed, 09 Feb 2022 23:09:18 -0500 Received: from lists.gnu.org ([209.51.188.17]:52188) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nI0lg-0007tL-4c for submit@debbugs.gnu.org; Wed, 09 Feb 2022 23:09:17 -0500 Received: from eggs.gnu.org ([209.51.188.92]:55242) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nI0lf-0007zC-Vb for bug-guix@gnu.org; Wed, 09 Feb 2022 23:09:15 -0500 Received: from [2607:f8b0:4864:20::833] (port=41707 helo=mail-qt1-x833.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nI0lY-0005Gl-TO for bug-guix@gnu.org; Wed, 09 Feb 2022 23:09:15 -0500 Received: by mail-qt1-x833.google.com with SMTP id y8so3925947qtn.8 for ; Wed, 09 Feb 2022 20:09:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :references:from:in-reply-to:content-transfer-encoding; bh=fKcrkkYARNBpWycOQfkY/QRhLS8SrNgLKHyVEugmJV4=; b=VDgV87EdRvNQn0HGRjFrTNDkGSQvwm5+xSjfmPfq7rJaDp9saIEtqggErvGh2l9la4 lI/maVu2ybDXj/D2LFcxlWwOldwO3MlMbjoAYwjI9G3TtKGfEpoIAHLjWJl7PdATKSdo 4uJe5Jxi5wcYnhhNgtqB/TPfVX/9Y9DVw0h96rZduib6rjPGjrLbExiAITDlUMOsQ005 8aAg/YJvHlMIK+Rv+BUkl2jW3G+19sZAKl1LimHUzHgw6ajx+GhBC/KkUQJ58Vsi0+N8 uI8oKU/N06wv3njYGYrNvds0JD3I+Unf//UrzqefOXMBNyWonZFKtxylVJXAEdKYozEu PH7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:references:from:in-reply-to :content-transfer-encoding; bh=fKcrkkYARNBpWycOQfkY/QRhLS8SrNgLKHyVEugmJV4=; b=GIkNRUkpJP6tMhx/6EluuBEf/9DVO3pLJZ5xa9pTPESdR0wr2dgcZdmHstd+vEFw6w ZRNzoXq6chzbt4lAk/5Em4BEg9u8O7kZz6m4M7oU1WI1+3h7SkdtM2p7jpbADL5LwrLU Yk3Hdf1oUoZpsVcywBwOcAnAwqddHo00m6Oz7+P6B/AyqpjlJxMRdutpjMdRI/Q4t9x6 psAh9D9Wc8kfYrkbv7uGstTpjktqJnMFrroUss8QeeoQZA3VUztzWwTVr+aK5v9GSu8o 8OOIDpuJYzeS3rv/wK3ck6BNGRVsKp0+ZpHc+21zlEmARghH5tdkIj8rgVJ1A0GIQnJ/ ajTQ== X-Gm-Message-State: AOAM530NwbEBPxgPhRq/SuYf/U8NOULAfKBIZDxp/coubzFjbU4lsLmX U40oiZXjEk8z+IihJb+0K7gqrFGNrniC/gQP00g= X-Google-Smtp-Source: ABdhPJxipUWNHpEbcBjwA7LyoSh5SINUFyql8VDfq/UIGnq/jcPLLG81mRqoxNsQCV+CTtch9OvfEg== X-Received: by 2002:a05:622a:1448:: with SMTP id v8mr3566301qtx.412.1644466147306; Wed, 09 Feb 2022 20:09:07 -0800 (PST) Received: from [192.168.45.36] (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with ESMTPSA id 18sm9268282qka.126.2022.02.09.20.09.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 09 Feb 2022 20:09:06 -0800 (PST) Message-ID: Date: Wed, 9 Feb 2022 23:09:05 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Content-Language: en-US References: <87zgmzvhwj.fsf@gnu.org> From: Philip McGrath In-Reply-To: <87zgmzvhwj.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::833 (failed) Received-SPF: neutral client-ip=2607:f8b0:4864:20::833; envelope-from=philip@philipmcgrath.com; helo=mail-qt1-x833.google.com X-Spam_score_int: -4 X-Spam_score: -0.5 X-Spam_bar: / X-Spam_report: (-0.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.001, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1644466868; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=fKcrkkYARNBpWycOQfkY/QRhLS8SrNgLKHyVEugmJV4=; b=aiowPWMIDA9pv8P1gpqlTXeW7qsF7gn3+A4PdScbBNS6YHAckgHtDnv0XrjzXsEn/oMXhW c8qnez4vqbxyj2dxYRDlIL43GORJ0RSDFLsG2gAXPuMRQVOWpeCI3g3S1fuppSeaMJ/xPl FUvtxYlenc8bqpazFueKWbww/qaaTpwNmOOQGSEFCFGplGTDJv0Ox9zML3FxMU1FSM98Y1 ycpn5wYJI+7XN5Nm0UBYzVe1/Qa82a5iyHue9Oa6vTNl62t7IGc8oVrWQWEZvUA55ONWJ8 i0TIzLwZAwOhEZMePLqmnaP+OLbsWkyVpp750OC0GOwzDFzM7PTYlijIaTjBCg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1644466868; a=rsa-sha256; cv=none; b=MrDPB1IoQS0JJXT8ulaypgKVsBCd3G4KSk1UdOw7Pk3e4XagSlQNVBewNg6yAEjw3NEvqR UH7ScNwFRDyB4auQa0IzPLvIYOHzasv1p+9DjWv/GsVOgiC0d+qxFqKxvfY2IhWLeDq4jC jvatp/hMWozj93R/cYFCoO7WAg4E6pMl07DsEgQGEpAprGzPun99k1Y65pvQCUrXohnSWK SKmZD/E2sTSged2s4TuhUML9L92HOKOa0pw7b/xzLAv57c5io/S8UoXkhv1vimgtTP6ZQL Vu90tfUYBOnrSyBo8S9gLxubZTu0JQW4cIiYbzyqrHH2J8JCnIR7QKn7CQHhwA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=google header.b=VDgV87Ed; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -3.73 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=google header.b=VDgV87Ed; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 70409415B1 X-Spam-Score: -3.73 X-Migadu-Scanner: scn0.migadu.com X-TUID: lQpUOXkWmrLS Hi, On 2/9/22 16:39, Greg Farough wrote: > Hi, Guix developers: > > As far as I can tell, the IBM Plex family of fonts requires the > nonfree program FontLab Studio to build. ... > This is one of the reasons Debian[3] has moved the font to the "contrib" > section of its repos. > >> IBM releases Plex as "open source", but unfortunately the freedom >> status of the font is less than ideal, as it requires non-free >> software to be built from source (see README.md, Requirements section, >> and [0]). The problematic step is the hinting, which is done with >> FontLab Studio, which is proprietary software. There is currently no >> Free Software program that is able to work with the high-level hinting >> command language used by FontLab Studio. > I *think* this may no longer be true---with the caveat that I know just enough about font development to know how little I really know. According to a 2019 GitHub comment[1] by Paul van der Laan (one of the IBM PLEX designers): > The IBM Plex instances started their life as interpolated files in RoboFont which were checked and refined manually for rounding errors in outlines and metrics. Settings in the font info might have been tailored for specific instances as well. Afterwards they were converted to TrueType outlines, and together with the PostScript versions they were hinted in FontLab 5. > > If you are interested to work with the instances then I strongly recommend to take the FontLab files because these are of a much higher fidelity than plain interpolated instances. > > With a utility such as vfb2ufo these files can be converted to UFO files. Although you will probably loose most, if not all all, hinting data when doing so. Apparently that final caveat is not true. In another GitHub issue[2][3] (about the proprietary FontLab 5 reaching end-of-life), Jens Kutilek wrote: > I have my own Python implementation of a FontLab-style TTH compiler which can take an UFO (from vfb2ufo so it contains the FL TT hinting code) and compile the TT instructions. I would be open to release it if there are no objections from the FontLab guys. ... > The alignment zone deltas are stored in the UFO generated by vfb2ufo, so they can be accessed there by any script working with the UFO. Searching further, I found a comment [4] on the discussion of TrueType instructions in the UFO spec saying he was working to enhance the free program ufo2ft "so FontLab hinting code from UFOs generated by vfb2ufo will compile into TTFs and stay 100% rendering-compatible with fonts generated directly from FontLab 5." This support hasn't been merged into upstream ufo2ft yet---more specifically, it was merged last fall but then reverted [5] due to (in my cursorily-formed opinion) relatively minor issues like better unit tests, but a revised pull request [6] was opened just 27 days ago. In any case, apparently the code exists. It has even used IBM Plex as an example.[7] I haven't actually tried to use it, though! -Philip [1]: https://github.com/IBM/plex/issues/228#issuecomment-460160085 [2]: https://github.com/IBM/plex/issues/206#issuecomment-458465851 [3]: https://github.com/IBM/plex/issues/206#issuecomment-458510847 [4]: https://github.com/unified-font-object/ufo-spec/issues/93 [5]: https://github.com/googlefonts/ufo2ft/pull/335#pullrequestreview-761840943 [6]: https://github.com/googlefonts/ufo2ft/pull/577 [7]: https://github.com/unified-font-object/ufo-spec/issues/93#issuecomment-496552530