ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Calling fonts (was: Hebrew vowel placement in ConTeXt)
@ 2014-05-05 15:29 Michael Ash
  2014-05-05 15:54 ` Wolfgang Schuster
  2014-05-05 18:37 ` Rik Kabel
  0 siblings, 2 replies; 4+ messages in thread
From: Michael Ash @ 2014-05-05 15:29 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 3118 bytes --]

>
> ... 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



Thank you again for your guidance.



Best,

Michael

[-- Attachment #1.2: Type: text/html, Size: 10865 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Calling fonts (was: Hebrew vowel placement in ConTeXt)
  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
  1 sibling, 0 replies; 4+ messages in thread
From: Wolfgang Schuster @ 2014-05-05 15:54 UTC (permalink / raw)
  To: mailing list for ConTeXt users


[-- Attachment #1.1: Type: text/plain, Size: 1874 bytes --]


Am 05.05.2014 um 17:29 schrieb Michael Ash <mash@econs.umass.edu>:

> ... 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)?

You can find a description about the options in the old and new fonts manuals:

- http://pragma-ade.com/general/manuals/mfonts.pdf
- http://pragma-ade.com/general/manuals/fonts-mkiv.pdf

Wolfgang


[-- Attachment #1.2: Type: text/html, Size: 4230 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Calling fonts (was: Hebrew vowel placement in ConTeXt)
  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   ` Calling fonts Hans Hagen
  1 sibling, 1 reply; 4+ messages in thread
From: Rik Kabel @ 2014-05-05 18:37 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 6241 bytes --]

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.)

I'll step aside now and let those who know better correct me.

-- 
Rik

[-- Attachment #1.2: Type: text/html, Size: 15928 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Calling fonts
  2014-05-05 18:37 ` Rik Kabel
@ 2014-05-05 20:29   ` Hans Hagen
  0 siblings, 0 replies; 4+ messages in thread
From: Hans Hagen @ 2014-05-05 20:29 UTC (permalink / raw)
  To: ntg-context

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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-05-05 20:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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   ` Calling fonts Hans Hagen

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).