I have this minimal example:

\definemode[EN,FR,RU,PT,EL][keep]
\startmodeset
    [EN]      {\disablemode[FR,RU,PT,EL]}
    [RU]      {\disablemode[EN,FR,PT,EL]}
    [FR]      {\disablemode[EN,RU,PT,EL]}
    [PT]      {\disablemode[EN,FR,RU,EL]}
    [EL]      {\disablemode[EN,FR,RU,PT]}
    [default] {\enablemode[EN]}
\stopmodeset

\startmode[EN]
\setuplanguage[en][patterns={en}]\mainlanguage[en]
\stopmode
\startmode[RU]
\setuplanguage[ru][patterns={ru}]\mainlanguage[ru]
\stopmode
\startmode[EL]
\setuplanguage[el][patterns={el}]\mainlanguage[el]
\stopmode

\definelabelclass[phrase]

\setupphrasetext[en][sheettitle={EN Core}]
\setupphrasetext[ru][sheettitle={RU Ядро}]
\setupphrasetext[el][sheettitle={EL AΒασικό}]


\definefallbackfamily
  [archimate]
  [ss]
  [Helvetica]
  [preset=range:cyrillic,
   tf=style:light,
   it=style:lightoblique,
   bf=style:regular,
   bi=style:oblique,
   force=yes,
   rscale=1.0]
 \definefallbackfamily
  [archimate]
  [ss]
  [Helvetica]
  [preset=range:greek,
   tf=style:light,
   it=style:lightoblique,
   bf=style:regular,
   bi=style:oblique,
   force=yes]

\definefontfamily [archimate] [ss] [Optima]

\setupbodyfont[archimate]

\starttext
\phrasetext{sheettitle}
\stoptext


I run this with one of three modes:

context --mode=EN --result=test-en test.tex
context --mode=RU --result=test-ru test.tex
context --mode=EL --result=test-el test.tex

This works for EN, RU, but not for EL. When I run with “—mode=EL” I get EN. Why? I am either blind or something is wrong.


Gerben Wierda (LinkedIn)
R&A Enterprise Architecture (main site)
Book: Chess and the Art of Enterprise Architecture
Book: Mastering ArchiMate