Dear ConTeXtnicians,
In Gamma (ConTeXt compiled with Omega: texexec --make --alone --tex=omega en) it
appears that the Omega's otp execution interferes with a number of ConTeXt's
macros which are not sufficiently insulated. Consider the two files con-test3.tex and
type-xxx.tex (cmss is the base font):
%=========con-test3=================
\usetypescriptfile[type-xxx]
\usetypescript[arabtest]
\setupbodyfont[omarab,10pt]
\def\latinunicode{\ocp\BasicLatinTexUni=lat2uni
\ocp\BasicLatinUniToFont=uni2lat
\ocplist\BasicLatinOCP=
\addbeforeocplist 1 \BasicLatinTexUni
\addbeforeocplist 1 \BasicLatinUniToFont
\nullocplist
\pushocplist\BasicLatinOCP}
\def\texencoding{\clearocplists}
%\latinunicode
\showframe[text]
\starttext%
\showbodyfont%
\showbodyfontenvironment[omarab]
This is a test {\bfc This is a test} {\tfc This is a test} {\tfx This is a
test}
\switchtobodyfont[12pt] This is a test {\tfc This is a test}
\switchtobodyfont[big] This is a test {\tfc This is a test}
\switchtobodyfont[small] This is a test {\tfc This is a test}
\switchtobodyfont[8pt] This is a test {\tfc This is a test}
\switchtobodyfont[10pt] This is a test {\tfc This is a test}
\switchtobodyfont[12pt] This is a test {\tfc This is a test}
\switchtobodyfont[global] This is a test {\tfc This is a test}
\stoptext
%=========type-xxx==================
\starttypescript [naskh] [omega] [name]
\definefontsynonym [OmegaArabic] [cmss10] % [omarab]
\definefontsynonym [OmegaArabic-Bold] [cmssbx10] % [omarabb]
\definefontsynonym [Naskh] [OmegaArabic]
\definefontsynonym [NaskhBold] [OmegaArabic-Bold]
\stoptypescript
\starttypescript [naskh] [omega] [size]
\definebodyfont
[20.7pt,17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt]
[rm]
[tf=Naskh sa 1,
bf=NaskhBold sa 1]
\stoptypescript
\starttypescript [arabtest]
\definebodyfontenvironment
[omarab]
[default]
[interlinespace=2.8ex]
\definetypeface [omarab] [rm] [naskh] [omega] [omega] %[rscale=1.6]
\stoptypescript
===========================
If you leave \latinunicode uncommented then con-test3 will compile like an ordinary
ConTeXt job. Uncomment it and funny things happen:
1. Whenever the text size is whatever size \setupbodyfont defaults to, \tfa, \tfb,
\tfc, and \tfd will do nothing at all. So in con-test3,
\switchtobodyfont[10pt] This is a test {\tfc This is a test}
will reproduce <This is a test> twice at 10pt. Interestingly, \tfx and \tfxx work
fine. If you change the setup to \setupbodyfont[omarab,12pt] then the line
\switchtobodyfont[12pt] This is a test {\tfc This is a test}
will reproduce <This is a test> twice at 12pt.
This is really weird. I am at a loss at where to start. Where are \tf<variable>
defined so that I can look at the \def's and see if I can modify them somehow (though
ConTeXt's macros are really scary)?
Hans mentioned that omega crashes on his system but I hope he or someone else here can
test this and help me find an answer.
2. I mentioned the once before but I was rather unclear then and hope to be more clear
and also more general this time:
\showlayout, \showbodyfont, and \showbodyfontenvironment[omarab] do funny things when
the otp's are loaded. \showlayout actually causes omega to crash.
\showgrid does not print the margin numbers (probably because they are isolated from
the otp list). I think the solution is to
a. make sure the macros are isolated from the otp's being executed (although the grid
line numbers in \showgrid are an exception here);
b. give an option to these commands for which font to print the chart out in general.
For example, \showbodyfontenvironment[omarab][cmr] would mean to print the
fontenvironment table in cmr. \showbodyfont[omarab][cmr][\myocplist bt] would show
sample characters transcribed by `b' and `t' from omarab but print the table and
verbatim commands in cmr. \myocplist would have to grouped so it affects nothing but
the sample characters.
I am rather afraid to mess around with the ConTeXt macros myself. They look rather
frightening. Please don't make me do it:-)..
Your help is greatly appreciated!
Best wishes
Idris
==========================
Dr. Idris Samawi Hamid
Depatment of Philosophy
Colorado State University
Fort Collins, CO 80526