[NTG-context] Ancient Greek / a few modules for SW with thanks to GB

Hans Hagen Outside pragma at wxs.nl
Mon Aug 23 02:08:04 CEST 2004


Giuseppe Bilotta wrote:

>Use the attached cbgreek.tex typescript file (Hans, maybe it's
>the case to add it to the distribution?) and you should then be
>able to type something like this:
>  
>
interesting, it worked right away after adding

  \loadmapfile[cbgreek.map]

so you know greek, interesting; it's so long ago that i had greek at
school, i cannot see if this is old or new greek -)

Attached a type-* (i replaced 10.95 by 11pt) file and a s-* file (watch 
the definition of start/stop),

   \texexec --mode=demo --pdf s-grk-00

should work. In cont-fil.tex add:

   \definefilesynonym [greek] [grk-00]

and then you can say:

   \usemodule[greek]

and go ahead.

Hans

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
     tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
-----------------------------------------------------------------


-------------- next part --------------
%D \module
%D   [      file=s-grk-00,
%D        version=2004.08.23,
%D          title=\CONTEXT\ Style File,
%D       subtitle=CB Greek Support,
%D         author=Hans Hagen,
%D           date=\currentdate,
%D    suggestions=Giuseppe Bilotta,
%D      copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.

\usetypescriptfile[type-cbg]

\usetypescript [all] [cbgreek]

\startsetups [cbgreek]

  \catcode`~=\other
  \catcode`|=\other

  \language[greek]
  \switchtobodyfont[cbgreek]

\stopsetups

\definestartstop
  [greek]
  [commands=\directsetup{cbgreek}]

\doifnotmode{demo}{\endinput}

% The following sample file was submitted to the \CONTEXT\
% mailing list by Giuseppe Bilotta, along with the right
% typescripts.

% already loaded: \usemodule[greek]

\mainlanguage[english]

\starttext

We can easily use plain English for normal text, and then switch
to greek when we want; as a first try we type the lower and
upper case 26 letters of the latin alphabet and see how they come
out in greek:

\startgreek
a b c d e f g h i j k l m n o p q r s t u v w x y z \par
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
\stopgreek

As it can be observed, some uppercase letters have strange
outcomes; also, j gives \greek{j} and c gives the
end-of-word sigma \greek{c}; interestingly, s gives either the
normal sigma or the end-of-word one, depending on whether it's at
the end of the word or not: \greek{satrapws}.

Of course we can use the various diacritical signs: accents
(\greek{`a, 'a, ~a}), breathings (\greek{<r, >w, a"}) and
subscribed iotas (\greek{a|, h|, w|}) (these last are pretty ugly in my
opinion); observe how they automatically get the correct position
with uppercase letters: (\greek{`A, 'A, ~A, <A, >A, A|}).

Can the thing be used for serious work?

\startgreek
>>'Andra moi >'ennepe, Mo~usa, pol'utropon, >'os m'ala poll`a\hfill\break
pl'agqjh, >epe`i Tro'ihs <er`on ptol'iejron >'eperse;\hfill\break
poll~wn d" >anjr'wpwn >'iden >'astea ka`i n'oon >'egnw,\hfill\break
poll`a d" <'o g" >en p'ontw| p'ajen >'algea <`on kat`a jum'on,\hfill\break
>>arn'umenos <'hn te yuq`hn ka`i n'oston <eta'irwn.
\stopgreek

\stoptext
-------------- next part --------------
%D \module
%D   [       file=type-cbg,
%D        version=2004.08.23,
%D          title=\CONTEXT\ Typescript Macros,
%D       subtitle=CB Greek,
%D         author=Giuseppe Bilotta,
%D           date=\currentdate,
%D      copyright=PRAGMA-ADE]
%C
%C This module is part of the \CONTEXT\ macro||package and is
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.

\starttypescript [serif] [cb-greek] [name]

  \definefontsynonym [CBGreek-Regular-Medium-Normal]              [grmn]
  \definefontsynonym [CBGreek-Regular-Medium-Oblique]             [grmo]
  \definefontsynonym [CBGreek-Regular-Medium-Italic]              [grmi]
  \definefontsynonym [CBGreek-Regular-Medium-UprightItalic]       [grmu]
  \definefontsynonym [CBGreek-Regular-Medium-Caps]                [grmc]
  \definefontsynonym [CBGreek-Regular-Medium-Leipzig]             [grml]
  \definefontsynonym [CBGreek-Regular-Medium-Roman]               [grmr]

  \definefontsynonym [CBGreek-Regular-Bold-Normal]                [grbn]
  \definefontsynonym [CBGreek-Regular-Bold-Oblique]               [grbo]
  \definefontsynonym [CBGreek-Regular-Bold-Italic]                [grbi]
  \definefontsynonym [CBGreek-Regular-Bold-UprightItalic]         [grbu]
  \definefontsynonym [CBGreek-Regular-Bold-Caps]                  [grbc]
  \definefontsynonym [CBGreek-Regular-Bold-Leipzig]               [grbl]
  \definefontsynonym [CBGreek-Regular-Bold-Roman]                 [grbr]

  \definefontsynonym [CBGreek-Regular-BoldExtended-Normal]        [grxn]
  \definefontsynonym [CBGreek-Regular-BoldExtended-Oblique]       [grxo]
  \definefontsynonym [CBGreek-Regular-BoldExtended-Italic]        [grxi]
  \definefontsynonym [CBGreek-Regular-BoldExtended-UprightItalic] [grxu]
  \definefontsynonym [CBGreek-Regular-BoldExtended-Caps]          [grxc]
  \definefontsynonym [CBGreek-Regular-BoldExtended-Leipzig]       [grxl]
  \definefontsynonym [CBGreek-Regular-BoldExtended-Roman]         [grxr]

  \definefontsynonym [Serif]            [GBGreek-Regular-Medium-Normal]
  \definefontsynonym [SerifSlanted]     [GBGreek-Regular-Medium-Oblique]
  \definefontsynonym [SerifItalic]      [GBGreek-Regular-Medium-Italic]
  \definefontsynonym [SerifCaps]        [GBGreek-Regular-Medium-Caps]
  \definefontsynonym [SerifBold]        [GBGreek-Regular-BoldExtended-Normal]
  \definefontsynonym [SerifBoldSlanted] [GBGreek-Regular-BoldExtended-Oblique]
  \definefontsynonym [SerifBoldItalic]  [GBGreek-Regular-BoldExtended-Italic]
  \definefontsynonym [SerifBoldCaps]    [GBGreek-Regular-BoldExtended-Caps]

\stoptypescript

\starttypescript [serif] [cb-greek] [size]

  % Please note that we use Bold Extended instead of Bold

  \definebodyfont [5pt] [rm]
    [tf=grmn0500,
     sl=grmo0500,
     it=grmi0500,
     sc=grmc0500,
     bf=grxn0500,
     bs=grxo0500,
     bi=grxi0500]

  \definebodyfont [6pt] [rm]
    [tf=grmn0600,
     sl=grmo0600,
     it=grmi0600,
     sc=grmc0600,
     bf=grxn0600,
     bs=grxo0600,
     bi=grxi0600]

  \definebodyfont [7pt] [rm]
    [tf=grmn0700,
     sl=grmo0700,
     it=grmi0700,
     sc=grmc0700,
     bf=grxn0700,
     bs=grxo0700,
     bi=grxi0700]

  \definebodyfont [8pt] [rm]
    [tf=grmn0800,
     sl=grmo0800,
     it=grmi0800,
     sc=grmc0800,
     bf=grxn0800,
     bs=grxo0800,
     bi=grxi0800]

  \definebodyfont [9pt] [rm]
    [tf=grmn0900,
     sl=grmo0900,
     it=grmi0900,
     sc=grmc0900,
     bf=grxn0900,
     bs=grxo0900,
     bi=grxi0900]

  \definebodyfont [10pt] [rm]
    [tf=grmn1000,
     sl=grmo1000,
     it=grmi1000,
     sc=grmc1000,
     bf=grxn1000,
     bs=grxo1000,
     bi=grxi1000]

  \definebodyfont [11pt] [rm] % [10.95pt] [rm] / patched HH
    [tf=grmn1095,
     sl=grmo1095,
     it=grmi1095,
     sc=grmc1095,
     bf=grxn1095,
     bs=grxo1095,
     bi=grxi1095]

  \definebodyfont [12pt] [rm]
    [tf=grmn1200,
     sl=grmo1200,
     it=grmi1200,
     sc=grmc1200,
     bf=grxn1200,
     bs=grxo1200,
     bi=grxi1200]

  \definebodyfont [14.4pt] [rm]
    [tf=grmn1440,
     sl=grmo1440,
     it=grmi1440,
     sc=grmc1440,
     bf=grxn1440,
     bs=grxo1440,
     bi=grxi1440]

\stoptypescript

\starttypescript [map] [cbgreek] % added HH
  \loadmapfile [cbgreek.map]
\stoptypescript

\starttypescript [cbgreek] % lowercase, patched HH

  \definebodyfontenvironment [cbgreek] [default] []

  \definetypeface [cbgreek] [rm] [serif] [cb-greek] [cb-greek]

\stoptypescript

\endinput


More information about the ntg-context mailing list