ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <pragma@wxs.nl>
To: ntg-context@ntg.nl
Subject: Re: Calling fonts
Date: Mon, 05 May 2014 22:29:26 +0200	[thread overview]
Message-ID: <5367F4A6.5040109@wxs.nl> (raw)
In-Reply-To: <5367DA6A.7060501@rik.users.panix.com>

On 5/5/2014 8:37 PM, Rik Kabel wrote:
> On 2014-05-05 11:29, Michael Ash wrote:
>>
>>     ... see message 56606
>>     <http://www.mail-archive.com/ntg-context%40ntg.nl/msg56606.html>
>>     in the
>>     list archive. This is not the post-simplefonts solution, but the
>>     pre-simplefonts solution. It does allow much better control over
>>     all of
>>     the fonts that make up the typeface (using ConTeXt terminology).
>>
>>     If you set only some Hebrew/Aramaic/Arabic, and especially if you
>>     do not
>>     need font variants (bold, italic, ...) you might prefer to define a
>>     single font.
>>
>>
>> Thank you very much again.  This was helpful, and here is my minimal
>> working example:
>>
>>
>> \definefontfeature[hebrew][default][script=hebr,ccmp=yes]
>> \definefont [myhebrew] [SILEOTSR.ttf*hebrew]
>> \setupdirections[bidi=on,method=two]
>>
>> \starttext
>> Here is the first line of the Bible.
>>
>> {\myhebrew  בְּרֵאשִׁ֖ית בָּרָ֣א אֱלֹהִ֑ים אֵ֥ת הַשָּׁמַ֖יִם וְאֵ֥ת הָאָֽרֶץ׃  }
>> \stoptext
>>
>>
>>
>> I still have some questions.  It took me a long time to understand that
>>
>> \definefont [myhebrew] [SILEOTSR.ttf*hebrew]
>>
>> would use the fontfeature "hebrew" that I had defined together with
>> the font file SILEOTSR.ttf and assign this pairing to the nickname
>> "myhebrew".  Rik's example also has "sa 1" which I do not understand.
>>
>> \definefontfeature [aramaic] [default][ccmp=yes,script=hebr]
>> \definefont [aramaic] [KeterYG-Medium.ttf*aramaic sa 1]
>>
>> Is the syntax for definefont using "*" documented somewhere?  Is it
>> similar to definefontsynonym at
>> http://wiki.contextgarden.net/Fonts_in_LuaTeX  (and below)?
>>
>>
>> I also do not understand the full syntax from the referenced message.
>>  Here is my best effort to annotate it, but I would appreciate
>> corrections or additions
>>
>> %% The following defines the fontfeature "hebrew"
>> %% which can then be applied to a font.
>> %% definefontfeature is documented at
>> %%http://wiki.contextgarden.net/Command/definefontfeature
>> %% and the available features are specific to the font
>> %% e.g.http://www.microsoft.com/typography/otspec/featurelist.htm
>> \definefontfeature[hebrew][default][script=hebr,ccmp=yes,mark=yes]
>>
>> %% I am confused below.  When was font:fallback:serif defined?
>>
>>
>> %% Why file: but features= ?
>> %% How will the  fontsynonym "Serif" function?
>> \starttypescript [serif] [ezrasil]
>>    \setups[font:fallback:serif]
>>    \definefontsynonym [Serif] [file:sileot] [features=hebrew]
>> \stoptypescript
>>
>> %% Still confused
>> \starttypescript [ezrasil]
>>    \definetypeface  [ezrasil] [rm] [serif] [ezrasil] [default]
>>    \quittypescriptscanning
>> \stoptypescript
>>
>> %% Sets the main body to the font
>> %% that has been named and given features
>> \setupbodyfont[ezrasil]
>> %% Would an alternative at this point be to use
>> %% \definefont [myezrasil] [ezrasil]
>>
>>
>> %% to define a single font and  then use {\myezrasilבְּרֵאשִׁ֖ית}for short passages
>>
>>
>> \setupalign[r2l]
>>
>> \starttext
>> בְּרֵאשִׁ֖ית בָּרָ֣א אֱלֹהִ֑ים אֵ֥ת הַשָּׁמַ֖יִם וְאֵ֥ת הָאָֽרֶץ׃
>> \stoptext
>
> Michael,
>
> Wolfgang already answered most of your questions, at least by the
> expedient means of teaching a man to fish. However, not all of the
> questions are answered in the font manuals, and in particular your
> question about the font fallbacks. (The word setups does not appear in
> mfonts, and fallback appears once. In the MKIV font manual setups
> appears once and fallback thrice. None provide your answer.)
>
> Font definition in ConTeXt allows extreme degrees of indirection. There
> is a lot of flexibility that follows from this. By defining synonyms
> such as serif and serifbold and using these in the document, the
> document can be written independently of the actual fonts used. The
> names are to some degree arbitrary, but used conventionally. There is
> nothing stopping you from placing a sans font at the end of a chain of
> serif references.
>
> Setups are at their simplest a way to bundle other commands for reuse.
> They also provide a namespace mechanism and a mechanism for group
> setting and resetting of values.
>
> The ConTeXt source file type-fbk.mkiv (and undoubtedly something similar
> for MKII) defines a set of font name synonyms in a font:fallback:
> namespace that is useful for gracefully substituting one font for
> another when required, as when the document calls for a bold italic but
> the font in use does not have that style. You can leave this out, or
> define your own fallback hierarchy if you wish.
>
> So, the first part of the typescript above defines ezrasil as a synonym
> for the serif face and associates it with the file sileot and certain
> otf features labeled hebrew. The file naming and search mechanism are
> well described in the manuals. The setups brings in the standard set of
> substitutions that will be applied when the document calls for serif
> styles that the specific font does not offer.
>
> The second part of the typescript defines another synonym (confusingly
> also ezrasil) for the typeface and includes in it only a roman face
> definition. In a latin script there would likely be another
> definetypeface for the sans face, another for the mono face, and a
> fourth for the math face.  Setupbodyfont uses the name of a typeface so
> defined. (You can see that this is a separate synonym by substituting
>
>     \starttypescript [bart]
>        \definetypeface  [bart] [rm] [serif] [ezrasil] [default]
>        \quittypescriptscanning
>     \stoptypescript
>     \setupbodyfont[bart]
>
> for the similar lines further above.) With a latin face there would have
> been additional occurrences of the first part of the typescript as well
> for each of the different face variants.
>
> As to why I have "sa 1" (scale at 1) in the KeterYG definition: This is
> not needed, but it serves as a reminder that I have evaluated the font
> and that this scale is okay for me. I find that when I mix fonts, it
> helps to adjust the sizes. Ezra SIL needs to be scaled to 0.85 or so,
> but of course that depends on the other fonts in use and one's own
> taste. (In LaTeX, the fontspec package provides a mechanism to
> automatically scale fonts to match the x-height or full height of one
> font to another. The process is manual here.)

context always had (has) the 'rscale' option

btw, scaling to the x height or ascender is quite unpredictable:

\starttext

\definedfont[Serif*default at 10pt] xxXX\par
\definedfont[Serif*default sc 10pt] xxXX\par
\definedfont[Serif*default ht 10pt] xxXX\par

\switchtobodyfont[dejavu]

\definedfont[Serif*default at 10pt] xxXX\par
\definedfont[Serif*default sc 10pt] xxXX\par
\definedfont[Serif*default ht 10pt] xxXX\par

\stoptext

best is to look at the result:

\showfontstrip

\showminimalbaseline



> I'll step aside now and let those who know better correct me.
>
> --
> Rik
>
>
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the Wiki!
>
> maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
> archive  : http://foundry.supelec.fr/projects/contextrev/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________
>


-- 

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
     tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                              | 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 / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

      reply	other threads:[~2014-05-05 20:29 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-05 15:29 Calling fonts (was: Hebrew vowel placement in ConTeXt) Michael Ash
2014-05-05 15:54 ` Wolfgang Schuster
2014-05-05 18:37 ` Rik Kabel
2014-05-05 20:29   ` Hans Hagen [this message]

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=5367F4A6.5040109@wxs.nl \
    --to=pragma@wxs.nl \
    --cc=ntg-context@ntg.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).