From: Hans Hagen via ntg-context <ntg-context@ntg.nl>
To: ntg-context@ntg.nl
Cc: Hans Hagen <j.hagen@freedom.nl>
Subject: [NTG-context] Re: Adobe Source Typescript With Design Sizes
Date: Wed, 1 Nov 2023 12:36:54 +0100 [thread overview]
Message-ID: <6b1db780-8097-46e1-a7e0-021f5f35250e@freedom.nl> (raw)
In-Reply-To: <b1e2f5fc-e5e2-40db-ac78-3fbb866754e9@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 5947 bytes --]
On 10/31/2023 8:18 PM, Vincent Hennebert wrote:
> 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 no tiem now to figure out this (somewhat excessive) amount of
fonts - hopefully we will not end up in a world where all fonts have
many weights which makes it easier for designers not to make choices and
delegate that to users instead. That said,
- attached a different approach
- in your variant you can put the lua in the lfg file (at the top) and
then add \loadfontgoodies[...] before where the functions are used
I'm not sure if we can talk of design sizes here. It's more about
'usage' because a display vs subhead vs ... variant is not about mixing
depending on scale (e.g. using display for 20 pt in a 15 pt setup versus
using scaled regular for 20pt and then display 20pt for e.g. a title
page or 50pt on posters).
> (I have Questions For the Experts further down...)
maybe a side effect of not defining a math font
> 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
>
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________
--
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
[-- Attachment #2: test.tex --]
[-- Type: text/plain, Size: 3057 bytes --]
\starttext
% sourceserif4USAGE-WEIGHT[IT].otf
\definetypescriptprefix [b:as:extralight][regular]
\definetypescriptprefix [b:as:light] [semibold]
\definetypescriptprefix [b:as:regular] [bold]
\definetypescriptprefix [b:as:medium] [bold]
\definetypescriptprefix [b:as:semibold] [black]
\definetypescriptprefix [b:as:bold] [black]
\definetypescriptprefix [b:as:black] [black]
\doloopoverlist {,display,caption,smtext,subhead} {
\definetypescriptprefix [u:adobesource#1] [#1]
\definetypescriptprefix [n:adobesource#1] [-regular]
\definetypescriptprefix [i:adobesource#1] [-it]
\definetypescriptprefix [b:adobesource#1] [-\typescriptprefix{b:as:regular}]
\definetypescriptprefix [bi:adobesource#1] [-\typescriptprefix{b:as:regular}it]
\doloopoverlist {extralight,light,regular,medium,semibold,bold,black} {
\definetypescriptprefix [b:adobesource#1##1] [-\typescriptprefix{b:as:##1}]
\definetypescriptprefix [bi:adobesource#1##1] [-\typescriptprefix{b:as:##1}it]
}
}
\starttypescript [adobesource,adobesourcedisplay,adobesourcelight,adobesourcedisplaylight]
%
\writestatus{Serif} {file:sourceserif4 \typescriptprefix{u:\typescriptone} \typescriptprefix {n:\typescriptone}}
\writestatus{SerifBold} {file:sourceserif4 \typescriptprefix{u:\typescriptone} \typescriptprefix {b:\typescriptone}}
\writestatus{SerifItalic} {file:sourceserif4 \typescriptprefix{u:\typescriptone} \typescriptprefix {i:\typescriptone}}
\writestatus{SerifBoldItalic}{file:sourceserif4 \typescriptprefix{u:\typescriptone} \typescriptprefix{bi:\typescriptone}}
%
\definefontsynonym[Serif] [file:sourceserif4\typescriptprefix{u:\typescriptone}\typescriptprefix{n:\typescriptone}.otf]
\definefontsynonym[SerifBold] [file:sourceserif4\typescriptprefix{u:\typescriptone}\typescriptprefix{b:\typescriptone}.otf]
\definefontsynonym[SerifItalic] [file:sourceserif4\typescriptprefix{u:\typescriptone}\typescriptprefix{i:\typescriptone}.otf]
\definefontsynonym[SerifBoldItalic][file:sourceserif4\typescriptprefix{u:\typescriptone}\typescriptprefix{bi:\typescriptone}.otf]
%
\definetypeface [\typescriptone] [rm] [serif] [\typescriptone] [default]
\definetypeface [\typescriptone] [ss] [sans] [dejavu] [default]
\definetypeface [\typescriptone] [tt] [mono] [dejavu] [default]
\definetypeface [\typescriptone] [mm] [math] [dejavu] [default]
\stoptypescript
% \usetypescriptfile[adobesource]
\usebodyfont[adobesource]
\usebodyfont[adobesourcedisplay]
\setupbodyfont[adobesource]
% \starttext
{\switchtobodyfont[adobesource]normal \it italic \bf bold \bi bolditalic}
\startoverlay
{\switchtobodyfont[adobesource]this is a test}
{\red\switchtobodyfont[adobesourcedisplay]this is a test}
\stopoverlay
\startoverlay
{\switchtobodyfont[adobesource]\bf this is a test}
{\red\switchtobodyfont[adobesourcedisplay]\bf this is a test}
\stopoverlay
\stoptext
[-- Attachment #3: Type: text/plain, Size: 511 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
next prev parent reply other threads:[~2023-11-01 11:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-31 19:18 [NTG-context] " Vincent Hennebert
2023-11-01 11:36 ` Hans Hagen via ntg-context [this message]
2023-11-02 20:00 ` [NTG-context] " Vincent Hennebert
2023-11-03 8:31 ` Hans Hagen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6b1db780-8097-46e1-a7e0-021f5f35250e@freedom.nl \
--to=ntg-context@ntg.nl \
--cc=j.hagen@freedom.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).