From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,URIBL_SBL_A autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 8265 invoked from network); 22 Aug 2023 08:05:17 -0000 Received: from cgl.ntg.nl (5.39.185.202) by inbox.vuxu.org with ESMTPUTF8; 22 Aug 2023 08:05:17 -0000 Received: from localhost (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id BD303482BBD for ; Tue, 22 Aug 2023 10:03:13 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at cgl.ntg.nl Received: from cgl.ntg.nl ([127.0.0.1]) by localhost (cgl.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Gp_ULYjh8pd4 for ; Tue, 22 Aug 2023 10:03:13 +0200 (CEST) Received: from cgl.ntg.nl (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id 96C29482EB9 for ; Tue, 22 Aug 2023 10:01:10 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id 2B699482D17 for ; Tue, 22 Aug 2023 10:00:42 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at cgl.ntg.nl Received: from cgl.ntg.nl ([127.0.0.1]) by localhost (cgl.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Zrl0difS0VoC for ; Tue, 22 Aug 2023 10:00:41 +0200 (CEST) Received: from outbound.soverin.net (outbound.soverin.net [185.233.34.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by cgl.ntg.nl (Postfix) with ESMTPS id 86692482D49 for ; Tue, 22 Aug 2023 09:59:53 +0200 (CEST) Received: from smtp.freedom.nl (c04smtp-lb01.int.sover.in [10.10.4.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by outbound.soverin.net (Postfix) with ESMTPS id 4RVMFj310Rz1g for ; Tue, 22 Aug 2023 07:59:53 +0000 (UTC) Received: from smtp.freedom.nl (smtp.freedom.nl [10.10.4.108]) by freedom.nl (Postfix) with ESMTPSA id 4RVMFh6CLrz6b for ; Tue, 22 Aug 2023 07:59:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=freedom.nl; s=default; t=1692691193; bh=4TN1bNFLos/J3hCoK/aV1K/TTS4oUkm6ty78oMZY6rc=; h=Date:Subject:To:References:From:In-Reply-To:From; b=rHXwmapXrjkoGXbU/OTn7DjL7F3lir7k6oFPo/fAG5sNXLdwIxV7Ob+0xe9i9f+st FlnQYqFAcsaxdzKdmtvtu9B2eDXy8JNxzXuBarU2F6VNIKSc0fqpDWgStZV+FjT7mr fJ9kxFlHUmQHDH0+/XJqyThdBcsEq7vUTDMuTMpw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freedom.nl; s=default; t=1692691192; h=from:from: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: in-reply-to:in-reply-to:references:references; bh=E5EHQosovjQD0WeSm5h7En+KiuUeLlsCFjfLMFrfr+E=; b=geAeGBAWoaBrfwz1CxbGVNbWo9/x1I7u6xOlZkwU8+vA5dKNWcMuWdiUEaTUTx25GpihSF VvHd9c9DHRGFGqaR+Nqd0uNcckKBTREps6MfoUFynpxKpPN6q+N+FYyPTuKonO7acFU+/U BKbN0kL+CJ8uCrCAcrl3zPeFqIVGRG0= ARC-Authentication-Results: i=1; smtp.freedom.nl; auth=pass smtp.mailfrom=j.hagen@freedom.nl ARC-Seal: i=1; s=default; d=freedom.nl; t=1692691192; a=rsa-sha256; cv=none; b=AB96PQsoD3pmJHXrjtO/YfXFp5HyGR/PDFjgsDycGl9yBLRLEt+IDAMQFncg29GYi0BM0S W5Ws1HX2UxeBnabkXcTChhr/LdWNYIQ/ddNH0M31wvhdXjgCVFHZ4NwMl1dh93wDlxrkmS hTxtc1O+KcOhEXGVbjLi4+o/eSyhghU= Message-ID: <067a4973-f495-a454-883d-c7d7c0bde484@freedom.nl> Date: Tue, 22 Aug 2023 09:59:48 +0200 MIME-Version: 1.0 Content-Language: en-US To: ntg-context@ntg.nl References: X-Soverin-Authenticated: true In-Reply-To: X-CMAE-Score: 0 X-CMAE-Analysis: v=2.4 cv=Po1VLSA3 c=1 sm=1 tr=0 ts=64e46af9 a=yaeGIPywLLJyAsH1IMTGEA==:117 a=yaeGIPywLLJyAsH1IMTGEA==:17 a=IkcTkHD0fZMA:10 a=YEMqx4UAAAAA:8 a=Uows8UApAAAA:8 a=vEP06C2Mi-J7hK9y56IA:9 a=QEXdDO2ut3YA:10 a=V0662LiR8DSfwiDagK97:22 a=oX0v64vK4IwbpfTCMRm2:22 X-Cloudmark-Reporter: TzTHpTSReRd0bFwC4Z9fAWFDcU0= Message-ID-Hash: YWZE6YMTR2H7KQSZ7HEVVYP7ILEEVGCH X-Message-ID-Hash: YWZE6YMTR2H7KQSZ7HEVVYP7ILEEVGCH X-MailFrom: j.hagen@freedom.nl X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.8 Precedence: list Reply-To: mailing list for ConTeXt users Subject: [NTG-context] Re: Fallbacks for design sizes in the current typescripts regime List-Id: mailing list for ConTeXt users Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Hans Hagen via ntg-context Cc: Hans Hagen Content-Type: text/plain; charset="us-ascii"; format="flowed" Content-Transfer-Encoding: 7bit On 8/22/2023 6:31 AM, Hamid,Idris wrote: > Dear gang, > > Design sizes for typefaces -- aka "optical sizes" -- are no longer directly implemented in typescripts. From the manual Fonts out of ConTeXt by Hans Hagen, p. 109: You can still do it but for all these years only cm has design sizes so one can wonder. > "at some point the decision was made to kick out these definitions and move the burden of figuring out the right size to Lua." They were moved to the goodie file (there are every few design size setups in goodie files, minion has one, but i don't have these fonts nor use them. > (Thus some large typescript collections painstakingly built over the years are now obsolete and have to be rewritten. Oh well..) Well, i suppose one can still setup/use the typescripts but it's less fun. The old definefont mechanism is still there. As a side note: we have design sizes (very few fonts) and weights (more and more fonts) .. weights are imo an even bigger mess, as it looks like some designers can't make up their mind and come with plenty weights independent of the fact that some look bad; variable fonts only add to this: the easier to use the creater tools become the easier it becomes to make ugly fonts (I tend to ignore fonts that show off too many possible choices; not much different from excessive kerning, ligatures and other incomplete features). > But there is an issue in the new regime: > > In the old system, every typescript mapping to a font within a design-size range could have its own fallback. For example: > > % Small ="small point size" > % Regular = "regular point size" > % Bigger = "bigger point size" > % Biggest = "biggest point size" > > \definefontsynonym [MyRomanRegular] > [file:MyFont-Regular.ttf] [features=,fallbacks=] > \definefontsynonym [MyRomanSmall] > [file:MyFont-Small.ttf] [features=,fallbacks=] > \definefontsynonym [MyRomanBigger] > [file:MyFont-Bigger.ttf] [features=,fallbacks=] > \definefontsynonym [MyRomanBiggest] > [file:MyFont-Biggest.ttf] [features=,fallbacks=] > > In the new typescripts regime we keep one font from the design-size range in the typescript file; the rest of the optical sizes go into an lfg goodies file: > > \definefontsynonym [MyRomanRegular] > \loadfontgoodies[myfonts-opticalsizes] % other three fonts go into an lfg table > [file:MyFont-Regular.ttf] [features=,fallbacks=] > > designsizes = { > ["MyRomanRegular"] = { > ["7pt"] = "file:MyFont-Small", > ["8pt"] = "file:MyFont-Small", > ["9pt"] = "file:MyFont-Regular", > ["10pt"] = "file:MyFont-Regular", > ["11pt"] = "file:MyFont-Regular", > ["12pt"] = "file:MyFont-Bigger", > ["14pt"] = "file:MyFont-Bigger", > ["17pt"] = "file:MyFont-Biggest", > ["21pt"] = "file:MyFont-Biggest", > default = "file:MyFont-Regular", > }, > > But there is an apparent drawback to this new way of doing things: It appears that only the default font can have an explicit fallback, and there appears that there is no straightforward way to map each of the other design sizes to its own fallback. > > If there is indeed no way to map each non-default design size to a fallback, then that constitutes a significant/unfortunate loss of functionality in the user interface. > > If this appearance of a loss reflects the reality of the situation, would like to kindly request that the original functionality be restored to the higher-level user interface, presumably within the lfg file. So perhaps something like a keyval > > fallbacks = { > ["MyRomanRegular"] = { > "file:MyFont-Small" = "fallbacks=", > "file:MyFont-Regular", = "fallbacks=", > "file:MyFont-Bigger", = "fallbacks=", > "file:MyFont-Biggest", = "fallbacks=", > }, > > On the other hand, if access to the former functionality is still there somewhere in the user interface, would like to humbly request that someone share where it is and how to use it! > > Thank you kindly for consideration of this request. I'm not going to look into this until there is a complete test case for this which means: - free fonts (so that others can also test and use) - design sizes - fallback design sizes Of course one can have some abstract fallback defined using the "MyFont-Small" namespace where the files used get remapped too as one goes. A bit like we do with the gyre fonts where we share definitions. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl ----------------------------------------------------------------- ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________