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.8 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 16440 invoked from network); 31 Oct 2023 19:23:18 -0000 Received: from cgl.ntg.nl (5.39.185.202) by inbox.vuxu.org with ESMTPUTF8; 31 Oct 2023 19:23:18 -0000 Received: from localhost (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id 539894837DF for ; Tue, 31 Oct 2023 20:21:23 +0100 (CET) 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 xtbNxRQnEylG for ; Tue, 31 Oct 2023 20:21:22 +0100 (CET) Received: from cgl.ntg.nl (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id 82BC84838B6 for ; Tue, 31 Oct 2023 20:19:11 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id 7E84D4832E8 for ; Tue, 31 Oct 2023 20:18:24 +0100 (CET) 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 TwzURhShsakL for ; Tue, 31 Oct 2023 20:18:23 +0100 (CET) Received: from mail-lf1-f53.google.com (mail-lf1-f53.google.com [209.85.167.53]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by cgl.ntg.nl (Postfix) with ESMTPS id D70DD4832C4 for ; Tue, 31 Oct 2023 20:18:23 +0100 (CET) Received: by mail-lf1-f53.google.com with SMTP id 2adb3069b0e04-507c91582fdso8727068e87.2 for ; Tue, 31 Oct 2023 12:18:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698779903; x=1699384703; darn=ntg.nl; h=content-language:to:subject:from:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=pkf9A+eyyWwaHt8MrxFaZXkMNQkOZIU2CwtuQ9QobW4=; b=N9VSAwPWEg9pCSYymwF9+4t8ba1j0TW4xIVOUcn1dLjOzULaWMCKcZ9p3jUsLQ/lo1 aKhcMAFTSiE65fJkdhbWWgkPUg5QUf7rz6hULjWz26jr/j8OS9yK4u3rVIMRTxffwXss q303MSMq5MTxFHk/rWALdlxnff0ygm1JD1XuogyDO3ighAWYZxfiKXmqJe1oZPpPYPll FRg4bjTB4lLsrCDjQVxNeDpCPC2lQhktrwtRLdKe3NnUI67PWUnb7/160Z64jUj+c0hv nX8zD5YtNLEGCssrbchAodIl2db8uYVeHomK7yoh7EPkYLxB3TTie9UdAKG6QbrhBP2v 9QDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698779903; x=1699384703; h=content-language:to:subject:from:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=pkf9A+eyyWwaHt8MrxFaZXkMNQkOZIU2CwtuQ9QobW4=; b=gSjEyKIqX+wLbmU5i3gL1Ed6pTCi3nJGpE3S2PR0xZj4kqa3nw4mvtyAa3gOo9SnZ1 XNZbjjbul9/iyoShJT2r1yU/ClG2l3pxyPXS/wU525mbS4uleBpZTb6dmrCoY/FN6aDt Ghzo28/rKhDFtyj5zAAXa2WRan2NwaqaKun37yX0XbdnbZLDiH0ezYfgyR+iRG7wbL2j A8PEjLMKWBG8GiOrWpSgRPmP/oPhyCDXTblSu4tMU8tVKcP7rSFTuajf+ocpfn8WMZXW HA7GuvLgwj1hKZl3UmrhbBadTF1joNHiHIUOYNJw8abti1TU3z+qcxog3h1yFZ2lPfF0 M39w== X-Gm-Message-State: AOJu0YxapqotjV1tSAHoa9qVkQAMgbxUgbQgjcoWE/wrPHuVbpsmyXLi 99T00/3GfKUQflWbZ2mF/ZhRZTilKBE= X-Google-Smtp-Source: AGHT+IG+5rfYcXa/zmSKIvXrOFO9Q4jvv+sux1rsLaJavxVOw6ejwulMAAERuA9hYZaeZfi7EwDJiA== X-Received: by 2002:a2e:8048:0:b0:2c5:b87:39bc with SMTP id p8-20020a2e8048000000b002c50b8739bcmr10294725ljg.1.1698779902528; Tue, 31 Oct 2023 12:18:22 -0700 (PDT) Received: from [192.168.0.16] (ip-94-112-22-104.bb.vodafone.cz. [94.112.22.104]) by smtp.gmail.com with ESMTPSA id l25-20020a7bc459000000b00407b93d8085sm2500750wmi.27.2023.10.31.12.18.20 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 31 Oct 2023 12:18:20 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------L3upRWxgI8UfQC0h7diNSTmp" Message-ID: Date: Tue, 31 Oct 2023 20:18:19 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Vincent Hennebert To: ntg-context Content-Language: en-GB Message-ID-Hash: AUL5WM6QREA3CWSHR63ISZDWCSYK2LQ5 X-Message-ID-Hash: AUL5WM6QREA3CWSHR63ISZDWCSYK2LQ5 X-MailFrom: vhennebert@gmail.com 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] Adobe Source Typescript With Design Sizes List-Id: mailing list for ConTeXt users Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: This is a multi-part message in MIME format. --------------L3upRWxgI8UfQC0h7diNSTmp Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hello there, I had mentioned this on a thread some (long) time ago, finally got around to finishing a first version of a typescript with the Adobe Source font family, in all its weight alternatives and design sizes (the latter being available in the Serif style only). Comments welcome. If it looks good I can upload it to the wiki, on the Typescripts_examples page I guess. (I have Questions For the Experts further down...) About Adobe Source ================== The fonts are available on GitHub [1]. They are the descendants of the Source {Serif,Sans,Code} Pro fonts described in the type-imp-source.mkiv typescript available in the ConTeXt distribution. Due to major changes, Serif Pro was renamed into Serif 4 in, well, its version 4 [2] (that’s the version that introduces design sizes, a.k.a. optical sizes), and Sans Pro was renamed into Sans 3 [3]. [1] https://github.com/adobe-fonts/ [2] https://github.com/adobe-fonts/source-serif/releases/tag/4.004R [3] https://github.com/adobe-fonts/source-sans/issues/192 Usage ===== Short version: store the attached typescript and its helper Lua files somewhere on your file system where ConTeXt will find them ($HOME/texmf for example), then use in your document: \setupbodyfont[adobesource] Long version: The default typescript name is adobesource (also available as adobesource-regular) and has design sizes enabled. Each weight is also available: adobesource-extralight, adobesource-light, etc., all the way to adobesource-black. There is also a medium weight, that selects the regular versions of Serif and Sans, but the medium version of Mono (just slightly bolder than the regular one, presumably for better on-screen rendering in terminals). Design sizes can be disabled by adding -nodesignsize- to the typescript name: adobesource-nodesignsize-extralight, etc. Finally, I thought it would be cool to over-engineer the typescript a little bit and provide direct access to the design sizes (in case one would want a narrower version for body text, or a bolder and more expanded version for titles, etc.). Here they are, again in all their weights: adobesource-caption-extralight, adobesource-smtext-light, adobesource-subhead, adobesource-display-bold, etc. The ‘regular’ design size is accessed by simply using adobesource-nodesignsize. Questions For the Experts ========================= To avoid a gigantic typescript file with a lot of duplication, I offloaded the font filename calculation to a Lua function (see attached adobesource.lua). I initially wanted to put the Lua code inside the typescript, but then I had all sorts of weird Lua compilation errors. The very same code works fine when included in a normal document though. Could it be that typescripts are processed in some special mode that doesn’t like Lua syntax? As a workaround, I put the code in an external file and require it from inside the typescript. In the goodies file, I use what I believe is the largest possible font size that can be used in ConTeXt (16,383pt) to select the Display design size. Otherwise, text above that size will fall back to the default, regular design size. Now, since I use the goodies file only when design sizes are enabled, I thought I could make it more robust by using AdobeSource4Display as a default, that is, for any size above 16.5pt. However, if I mix design sizes enabled and disabled in a document, the disabled one seems to be using the goodies file even though it’s not mentioned in the typescript. Any idea of why? For example: \usetypescriptfile[adobesource] \usebodyfont[adobesource] \setupbodyfont[adobesource-nodesignsize] \starttext This text is typeset in Display when Regular should be used. \switchtobodyfont[adobesource] This text is typeset in Regular with design sizes enabled. \stoptext What’s Next =========== * A harmonious-looking companion math font. * A harmonious-looking companion math font that uses glyphs from Adobe Serif 4 when available. Thanks, Vincent --------------L3upRWxgI8UfQC0h7diNSTmp Content-Type: text/x-tex; charset=UTF-8; name="type-imp-adobesource.tex" Content-Disposition: attachment; filename="type-imp-adobesource.tex" Content-Transfer-Encoding: base64 XHN0YXJ0dHlwZXNjcmlwdGNvbGxlY3Rpb25bYWRvYmVzb3VyY2VdCgogIFxzdGFydGx1YWNv ZGUKICByZXF1aXJlKCJhZG9iZXNvdXJjZSIpCiAgXHN0b3BsdWFjb2RlCgogIFxzdGFydHR5 cGVzY3JpcHRbc2VyaWYsc2Fucyxtb25vXQogICAgWwogICAgICBhZG9iZXNvdXJjZS1leHRy YWxpZ2h0LAogICAgICBhZG9iZXNvdXJjZS1saWdodCwKICAgICAgYWRvYmVzb3VyY2UsCiAg ICAgIGFkb2Jlc291cmNlLXJlZ3VsYXIsCiAgICAgIGFkb2Jlc291cmNlLW1lZGl1bSwKICAg ICAgYWRvYmVzb3VyY2Utc2VtaWJvbGQsCiAgICAgIGFkb2Jlc291cmNlLWJvbGQsCiAgICAg IGFkb2Jlc291cmNlLWJsYWNrLAogICAgICBhZG9iZXNvdXJjZS1ub2Rlc2lnbnNpemUtZXh0 cmFsaWdodCwKICAgICAgYWRvYmVzb3VyY2Utbm9kZXNpZ25zaXplLWxpZ2h0LAogICAgICBh ZG9iZXNvdXJjZS1ub2Rlc2lnbnNpemUsCiAgICAgIGFkb2Jlc291cmNlLW5vZGVzaWduc2l6 ZS1yZWd1bGFyLAogICAgICBhZG9iZXNvdXJjZS1ub2Rlc2lnbnNpemUtbWVkaXVtLAogICAg ICBhZG9iZXNvdXJjZS1ub2Rlc2lnbnNpemUtc2VtaWJvbGQsCiAgICAgIGFkb2Jlc291cmNl LW5vZGVzaWduc2l6ZS1ib2xkLAogICAgICBhZG9iZXNvdXJjZS1ub2Rlc2lnbnNpemUtYmxh Y2ssCiAgICBdCiAgICBbbmFtZV0KICAgIFxzZXR1cHNbZm9udDpmYWxsYmFjazpcdHlwZXNj cmlwdG9uZV0KICAgIFxkZWZpbmVmb250c3lub255bSBbXHR5cGVzY3JpcHRwcmVmaXh7XHR5 cGVzY3JpcHRvbmV9XSAgICAgICAgICAgW1xjdHhsdWF7Y29udGV4dCh1c2VyZGF0YS5hZG9i ZXNvdXJjZS5nZXRmb250bmFtZSgiXHR5cGVzY3JpcHRvbmUiLCAiXHR5cGVzY3JpcHR0d28i LCBmYWxzZSwgZmFsc2UpKX1dIFtmZWF0dXJlcz1kZWZhdWx0XQogICAgXGRlZmluZWZvbnRz eW5vbnltIFtcdHlwZXNjcmlwdHByZWZpeHtcdHlwZXNjcmlwdG9uZX1JdGFsaWNdICAgICBb XGN0eGx1YXtjb250ZXh0KHVzZXJkYXRhLmFkb2Jlc291cmNlLmdldGZvbnRuYW1lKCJcdHlw ZXNjcmlwdG9uZSIsICJcdHlwZXNjcmlwdHR3byIsIHRydWUsICBmYWxzZSkpfV0gW2ZlYXR1 cmVzPWRlZmF1bHRdCiAgICBcZGVmaW5lZm9udHN5bm9ueW0gW1x0eXBlc2NyaXB0cHJlZml4 e1x0eXBlc2NyaXB0b25lfUJvbGRdICAgICAgIFtcY3R4bHVhe2NvbnRleHQodXNlcmRhdGEu YWRvYmVzb3VyY2UuZ2V0Zm9udG5hbWUoIlx0eXBlc2NyaXB0b25lIiwgIlx0eXBlc2NyaXB0 dHdvIiwgZmFsc2UsIHRydWUpKX1dICBbZmVhdHVyZXM9ZGVmYXVsdF0KICAgIFxkZWZpbmVm b250c3lub255bSBbXHR5cGVzY3JpcHRwcmVmaXh7XHR5cGVzY3JpcHRvbmV9Qm9sZEl0YWxp Y10gW1xjdHhsdWF7Y29udGV4dCh1c2VyZGF0YS5hZG9iZXNvdXJjZS5nZXRmb250bmFtZSgi XHR5cGVzY3JpcHRvbmUiLCAiXHR5cGVzY3JpcHR0d28iLCB0cnVlLCAgdHJ1ZSkpfV0gIFtm ZWF0dXJlcz1kZWZhdWx0XQogIFxzdG9wdHlwZXNjcmlwdAoKICBcc3RhcnR0eXBlc2NyaXB0 CiAgICBbCiAgICAgIGFkb2Jlc291cmNlLWV4dHJhbGlnaHQsCiAgICAgIGFkb2Jlc291cmNl LWxpZ2h0LAogICAgICBhZG9iZXNvdXJjZSwKICAgICAgYWRvYmVzb3VyY2UtcmVndWxhciwK ICAgICAgYWRvYmVzb3VyY2UtbWVkaXVtLAogICAgICBhZG9iZXNvdXJjZS1zZW1pYm9sZCwK ICAgICAgYWRvYmVzb3VyY2UtYm9sZCwKICAgICAgYWRvYmVzb3VyY2UtYmxhY2ssCiAgICBd CiAgICBcbG9hZGZvbnRnb29kaWVzW2Fkb2Jlc291cmNlLXNlcmlmXQogICAgXGRlZmluZXR5 cGVmYWNlIFtcdHlwZXNjcmlwdG9uZV0gW3JtXSBbc2VyaWZdIFtcdHlwZXNjcmlwdG9uZV0g W2RlZmF1bHRdIFtkZXNpZ25zaXplPWF1dG9dCiAgICBcZGVmaW5ldHlwZWZhY2UgW1x0eXBl c2NyaXB0b25lXSBbc3NdIFtzYW5zXSAgW1x0eXBlc2NyaXB0b25lXSBbZGVmYXVsdF0KICAg IFxkZWZpbmV0eXBlZmFjZSBbXHR5cGVzY3JpcHRvbmVdIFt0dF0gW21vbm9dICBbXHR5cGVz Y3JpcHRvbmVdIFtkZWZhdWx0XQogIFxzdG9wdHlwZXNjcmlwdAoKICBcc3RhcnR0eXBlc2Ny aXB0CiAgICBbCiAgICAgIGFkb2Jlc291cmNlLW5vZGVzaWduc2l6ZS1leHRyYWxpZ2h0LAog ICAgICBhZG9iZXNvdXJjZS1ub2Rlc2lnbnNpemUtbGlnaHQsCiAgICAgIGFkb2Jlc291cmNl LW5vZGVzaWduc2l6ZSwKICAgICAgYWRvYmVzb3VyY2Utbm9kZXNpZ25zaXplLXJlZ3VsYXIs CiAgICAgIGFkb2Jlc291cmNlLW5vZGVzaWduc2l6ZS1tZWRpdW0sCiAgICAgIGFkb2Jlc291 cmNlLW5vZGVzaWduc2l6ZS1zZW1pYm9sZCwKICAgICAgYWRvYmVzb3VyY2Utbm9kZXNpZ25z aXplLWJvbGQsCiAgICAgIGFkb2Jlc291cmNlLW5vZGVzaWduc2l6ZS1ibGFjaywKICAgIF0K ICAgIFxkZWZpbmV0eXBlZmFjZSBbXHR5cGVzY3JpcHRvbmVdIFtybV0gW3NlcmlmXSBbXHR5 cGVzY3JpcHRvbmVdIFtkZWZhdWx0XQogICAgXGRlZmluZXR5cGVmYWNlIFtcdHlwZXNjcmlw dG9uZV0gW3NzXSBbc2Fuc10gIFtcdHlwZXNjcmlwdG9uZV0gW2RlZmF1bHRdCiAgICBcZGVm aW5ldHlwZWZhY2UgW1x0eXBlc2NyaXB0b25lXSBbdHRdIFttb25vXSAgW1x0eXBlc2NyaXB0 b25lXSBbZGVmYXVsdF0KICBcc3RvcHR5cGVzY3JpcHQKCiAgXHN0YXJ0dHlwZXNjcmlwdCBb c2VyaWZdCiAgICBbCiAgICAgIGFkb2Jlc291cmNlLWNhcHRpb24tZXh0cmFsaWdodCwKICAg ICAgYWRvYmVzb3VyY2UtY2FwdGlvbi1saWdodCwKICAgICAgYWRvYmVzb3VyY2UtY2FwdGlv biwKICAgICAgYWRvYmVzb3VyY2UtY2FwdGlvbi1zZW1pYm9sZCwKICAgICAgYWRvYmVzb3Vy Y2UtY2FwdGlvbi1ib2xkLAogICAgICBhZG9iZXNvdXJjZS1jYXB0aW9uLWJsYWNrLAogICAg ICBhZG9iZXNvdXJjZS1zbXRleHQtZXh0cmFsaWdodCwKICAgICAgYWRvYmVzb3VyY2Utc210 ZXh0LWxpZ2h0LAogICAgICBhZG9iZXNvdXJjZS1zbXRleHQsCiAgICAgIGFkb2Jlc291cmNl LXNtdGV4dC1zZW1pYm9sZCwKICAgICAgYWRvYmVzb3VyY2Utc210ZXh0LWJvbGQsCiAgICAg IGFkb2Jlc291cmNlLXNtdGV4dC1ibGFjaywKICAgICAgYWRvYmVzb3VyY2Utc3ViaGVhZC1l eHRyYWxpZ2h0LAogICAgICBhZG9iZXNvdXJjZS1zdWJoZWFkLWxpZ2h0LAogICAgICBhZG9i ZXNvdXJjZS1zdWJoZWFkLAogICAgICBhZG9iZXNvdXJjZS1zdWJoZWFkLXNlbWlib2xkLAog ICAgICBhZG9iZXNvdXJjZS1zdWJoZWFkLWJvbGQsCiAgICAgIGFkb2Jlc291cmNlLXN1Ymhl YWQtYmxhY2ssCiAgICAgIGFkb2Jlc291cmNlLWRpc3BsYXktZXh0cmFsaWdodCwKICAgICAg YWRvYmVzb3VyY2UtZGlzcGxheS1saWdodCwKICAgICAgYWRvYmVzb3VyY2UtZGlzcGxheSwK ICAgICAgYWRvYmVzb3VyY2UtZGlzcGxheS1zZW1pYm9sZCwKICAgICAgYWRvYmVzb3VyY2Ut ZGlzcGxheS1ib2xkLAogICAgICBhZG9iZXNvdXJjZS1kaXNwbGF5LWJsYWNrLAogICAgXQog ICAgW25hbWVdCiAgICBcc2V0dXBzW2ZvbnQ6ZmFsbGJhY2s6c2VyaWZdCiAgICBcZGVmaW5l Zm9udHN5bm9ueW0gW1NlcmlmXSAgICAgICAgICAgW1xjdHhsdWF7Y29udGV4dCh1c2VyZGF0 YS5hZG9iZXNvdXJjZS5nZXRmb250bmFtZSgiXHR5cGVzY3JpcHRvbmUiLCAiXHR5cGVzY3Jp cHR0d28iLCBmYWxzZSwgZmFsc2UpKX1dIFtmZWF0dXJlcz1kZWZhdWx0XQogICAgXGRlZmlu ZWZvbnRzeW5vbnltIFtTZXJpZkl0YWxpY10gICAgIFtcY3R4bHVhe2NvbnRleHQodXNlcmRh dGEuYWRvYmVzb3VyY2UuZ2V0Zm9udG5hbWUoIlx0eXBlc2NyaXB0b25lIiwgIlx0eXBlc2Ny aXB0dHdvIiwgdHJ1ZSwgIGZhbHNlKSl9XSBbZmVhdHVyZXM9ZGVmYXVsdF0KICAgIFxkZWZp bmVmb250c3lub255bSBbU2VyaWZCb2xkXSAgICAgICBbXGN0eGx1YXtjb250ZXh0KHVzZXJk YXRhLmFkb2Jlc291cmNlLmdldGZvbnRuYW1lKCJcdHlwZXNjcmlwdG9uZSIsICJcdHlwZXNj cmlwdHR3byIsIGZhbHNlLCB0cnVlICkpfV0gW2ZlYXR1cmVzPWRlZmF1bHRdCiAgICBcZGVm aW5lZm9udHN5bm9ueW0gW1NlcmlmQm9sZEl0YWxpY10gW1xjdHhsdWF7Y29udGV4dCh1c2Vy ZGF0YS5hZG9iZXNvdXJjZS5nZXRmb250bmFtZSgiXHR5cGVzY3JpcHRvbmUiLCAiXHR5cGVz Y3JpcHR0d28iLCB0cnVlLCAgdHJ1ZSApKX1dIFtmZWF0dXJlcz1kZWZhdWx0XQogIFxzdG9w dHlwZXNjcmlwdAoKICBcc3RhcnR0eXBlc2NyaXB0CiAgICBbCiAgICAgIGFkb2Jlc291cmNl LWNhcHRpb24tZXh0cmFsaWdodCwKICAgICAgYWRvYmVzb3VyY2UtY2FwdGlvbi1saWdodCwK ICAgICAgYWRvYmVzb3VyY2UtY2FwdGlvbiwKICAgICAgYWRvYmVzb3VyY2UtY2FwdGlvbi1z ZW1pYm9sZCwKICAgICAgYWRvYmVzb3VyY2UtY2FwdGlvbi1ib2xkLAogICAgICBhZG9iZXNv dXJjZS1jYXB0aW9uLWJsYWNrLAogICAgICBhZG9iZXNvdXJjZS1zbXRleHQtZXh0cmFsaWdo dCwKICAgICAgYWRvYmVzb3VyY2Utc210ZXh0LWxpZ2h0LAogICAgICBhZG9iZXNvdXJjZS1z bXRleHQsCiAgICAgIGFkb2Jlc291cmNlLXNtdGV4dC1zZW1pYm9sZCwKICAgICAgYWRvYmVz b3VyY2Utc210ZXh0LWJvbGQsCiAgICAgIGFkb2Jlc291cmNlLXNtdGV4dC1ibGFjaywKICAg ICAgYWRvYmVzb3VyY2Utc3ViaGVhZC1leHRyYWxpZ2h0LAogICAgICBhZG9iZXNvdXJjZS1z dWJoZWFkLWxpZ2h0LAogICAgICBhZG9iZXNvdXJjZS1zdWJoZWFkLAogICAgICBhZG9iZXNv dXJjZS1zdWJoZWFkLXNlbWlib2xkLAogICAgICBhZG9iZXNvdXJjZS1zdWJoZWFkLWJvbGQs CiAgICAgIGFkb2Jlc291cmNlLXN1YmhlYWQtYmxhY2ssCiAgICAgIGFkb2Jlc291cmNlLWRp c3BsYXktZXh0cmFsaWdodCwKICAgICAgYWRvYmVzb3VyY2UtZGlzcGxheS1saWdodCwKICAg ICAgYWRvYmVzb3VyY2UtZGlzcGxheSwKICAgICAgYWRvYmVzb3VyY2UtZGlzcGxheS1zZW1p Ym9sZCwKICAgICAgYWRvYmVzb3VyY2UtZGlzcGxheS1ib2xkLAogICAgICBhZG9iZXNvdXJj ZS1kaXNwbGF5LWJsYWNrLAogICAgXQogICAgXGRlZmluZXR5cGVmYWNlIFtcdHlwZXNjcmlw dG9uZV0gW3JtXSBbc2VyaWZdIFtcdHlwZXNjcmlwdG9uZV0gW2RlZmF1bHRdCiAgXHN0b3B0 eXBlc2NyaXB0Cgpcc3RvcHR5cGVzY3JpcHRjb2xsZWN0aW9uCg== --------------L3upRWxgI8UfQC0h7diNSTmp Content-Type: text/x-lua; charset=UTF-8; name="adobesource.lua" Content-Disposition: attachment; filename="adobesource.lua" Content-Transfer-Encoding: base64 dXNlcmRhdGEgPSB1c2VyZGF0YSBvciB7fQoKdXNlcmRhdGEuYWRvYmVzb3VyY2UgPSB1c2Vy ZGF0YS5hZG9iZXNvdXJjZSBvciB7fQoKdXNlcmRhdGEuYWRvYmVzb3VyY2UuZ2V0Zm9udG5h bWUgPSBmdW5jdGlvbihzdHlsZSwgdHlwZXNjcmlwdCwgaXRhbGljLCBib2xkKQogICAgbG9j YWwgcHJlZml4ZXMgPSB7CiAgICAgICAgc2VyaWYgPSAiZmlsZTpTb3VyY2VTZXJpZjQiLAog ICAgICAgIHNhbnMgID0gImZpbGU6U291cmNlU2FuczMiLAogICAgICAgIG1vbm8gID0gImZp bGU6U291cmNlQ29kZVBybyIsCiAgICB9CiAgICBsb2NhbCBkZXNpZ25zaXplcyA9IHsKICAg ICAgICBjYXB0aW9uID0gIkNhcHRpb24iLAogICAgICAgIHNtdGV4dCAgPSAiU21UZXh0IiwK ICAgICAgICBzdWJoZWFkID0gIlN1YmhlYWQiLAogICAgICAgIGRpc3BsYXkgPSAiRGlzcGxh eSIsCiAgICB9CiAgICBsb2NhbCBib2xkYWx0ZXJuYXRpdmUgPSB7CiAgICAgICAgZXh0cmFs aWdodCA9ICJyZWd1bGFyIiwKICAgICAgICBsaWdodCAgICAgID0gInNlbWlib2xkIiwKICAg ICAgICByZWd1bGFyICAgID0gImJvbGQiLAogICAgICAgIG1lZGl1bSAgICAgPSAiYm9sZCIs CiAgICAgICAgc2VtaWJvbGQgICA9ICJibGFjayIsCiAgICAgICAgYm9sZCAgICAgICA9ICJi bGFjayIsCiAgICAgICAgYmxhY2sgICAgICA9ICJibGFjayIKICAgIH0KICAgIGxvY2FsIGkg PSBzdHJpbmcuZ21hdGNoKHR5cGVzY3JpcHQsICJbXi1dKiIpCiAgICBpKCkgLS0gU2tpcCAi YWRvYmVzb3VyY2UiCiAgICBsb2NhbCBleHBsaWNpdGRlc2lnbnNpemUKICAgIGxvY2FsIG5v ZGVzaWduc2l6ZQogICAgbG9jYWwgd2VpZ2h0CiAgICBsb2NhbCB0b2tlbiA9IGkoKQogICAg aWYgZGVzaWduc2l6ZXNbdG9rZW5dIHRoZW4KICAgICAgICBleHBsaWNpdGRlc2lnbnNpemUg PSBkZXNpZ25zaXplc1t0b2tlbl0KICAgICAgICB3ZWlnaHQgPSBpKCkKICAgIGVsc2VpZiB0 b2tlbiA9PSAibm9kZXNpZ25zaXplIiB0aGVuCiAgICAgICAgbm9kZXNpZ25zaXplID0gdHJ1 ZQogICAgICAgIHdlaWdodCA9IGkoKQogICAgZWxzZQogICAgICAgIHdlaWdodCA9IHRva2Vu CiAgICBlbmQKICAgIHdlaWdodCA9IHdlaWdodCBvciAicmVndWxhciIKICAgIGlmIHN0eWxl IH49ICJtb25vIiBhbmQgd2VpZ2h0ID09ICJtZWRpdW0iIHRoZW4KICAgICAgICB3ZWlnaHQg PSAicmVndWxhciIKICAgIGVuZAogICAgaWYgYm9sZCB0aGVuCiAgICAgICAgd2VpZ2h0ID0g Ym9sZGFsdGVybmF0aXZlW3dlaWdodF0KICAgIGVuZAogICAgbG9jYWwgbmFtZQogICAgaWYg c3R5bGUgPT0gInNlcmlmIiBhbmQgbm90IChleHBsaWNpdGRlc2lnbnNpemUgb3Igbm9kZXNp Z25zaXplKSB0aGVuCiAgICAgICAgbmFtZSA9ICJTb3VyY2VTZXJpZjQiCiAgICBlbHNlCiAg ICAgICAgbmFtZSA9IHByZWZpeGVzW3N0eWxlXQogICAgZW5kCiAgICBpZiBleHBsaWNpdGRl c2lnbnNpemUgdGhlbgogICAgICAgIG5hbWUgPSBuYW1lIC4uIGV4cGxpY2l0ZGVzaWduc2l6 ZQogICAgZW5kCiAgICBuYW1lID0gbmFtZSAuLiAiLSIKICAgIGlmIGl0YWxpYyB0aGVuCiAg ICAgICAgaWYgd2VpZ2h0ID09ICJyZWd1bGFyIiB0aGVuCiAgICAgICAgICAgIHJldHVybiBu YW1lIC4uICJJdCIKICAgICAgICBlbHNlCiAgICAgICAgICAgIHJldHVybiBuYW1lIC4uIHdl aWdodCAuLiAiSXQiCiAgICAgICAgZW5kCiAgICBlbHNlCiAgICAgICAgcmV0dXJuIG5hbWUg Li4gd2VpZ2h0CiAgICBlbmQKZW5kCg== --------------L3upRWxgI8UfQC0h7diNSTmp Content-Type: text/plain; charset=UTF-8; name="adobesource-serif.lfg" Content-Disposition: attachment; filename="adobesource-serif.lfg" Content-Transfer-Encoding: base64 bG9jYWwgZGVzaWduc2l6ZXMgPSB7fQpmb3IgXywgdiBpbiBpcGFpcnMoeyJFeHRyYUxpZ2h0 IiwgIkV4dHJhTGlnaHRJdCIsICJMaWdodCIsICJMaWdodEl0IiwgIlJlZ3VsYXIiLCAiSXQi LAogICAgICAgICJTZW1pYm9sZCIsICJTZW1pYm9sZEl0IiwgIkJvbGQiLCAiQm9sZEl0Iiwg IkJsYWNrIiwgIkJsYWNrSXQifSkgZG8KICAgIGRlc2lnbnNpemVzWyJTb3VyY2VTZXJpZjQt Ii4udl0gPSB7CiAgICAgICAgWyI2LjVwdCJdICAgPSAiZmlsZTpTb3VyY2VTZXJpZjRDYXB0 aW9uLSIuLnYuLiIub3RmIiwKICAgICAgICBbIjkuNXB0Il0gICA9ICJmaWxlOlNvdXJjZVNl cmlmNFNtVGV4dC0iIC4udi4uIi5vdGYiLAogICAgICAgIFsiMTIuNXB0Il0gID0gImZpbGU6 U291cmNlU2VyaWY0LSIgICAgICAgLi52Li4iLm90ZiIsCiAgICAgICAgWyIxNi41cHQiXSAg PSAiZmlsZTpTb3VyY2VTZXJpZjRTdWJoZWFkLSIuLnYuLiIub3RmIiwKICAgICAgICBbIjE2 MzgzcHQiXSA9ICJmaWxlOlNvdXJjZVNlcmlmNERpc3BsYXktIi4udi4uIi5vdGYiLAogICAg ICAgIGRlZmF1bHQgICAgID0gImZpbGU6U291cmNlU2VyaWY0LSIuLnYuLiIub3RmIiwKICAg IH0KZW5kCnJldHVybiB7CiAgICBuYW1lID0gInNvdXJjZS1zZXJpZjQiLAogICAgdmVyc2lv biA9ICIxLjAwIiwKICAgIGNvbW1lbnQgPSAiRGVzaWduIHNpemVzIGZvciBBZG9iZSBTb3Vy Y2UgU2VyaWYgNCIsCiAgICBkZXNpZ25zaXplcyA9IGRlc2lnbnNpemVzLAp9Ci0tIHZpbTpm aWxldHlwZT1sdWEK --------------L3upRWxgI8UfQC0h7diNSTmp Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___________________________________________________________________________________ --------------L3upRWxgI8UfQC0h7diNSTmp--