For III: See attached!
On Wed, 10 Nov 2021 09:00:26 -0700, Idris Samawi Hamid ادريس سماوي حامد
Dear Hans and gang,
Consider the following MWE:
============== \definefont[ARABICFONT][file:Adobe_Naskh.ttf*arabic at 28pt] % \definefont[ARABICFONT][file:Amiri-Regular_0.ttf*arabic at 28pt] % \definefont[ARABICFONT][file:Scheherazade-Regular.ttf*arabic at 28pt] % \definefont[ARABICFONT][file:UthmanTN1_Ver10.otf*arabic at 28pt] % \definefont[ARABICFONT][file:almfixed.otf*arabic at 28pt]
\disabledirectives[filters.utf.reorder] \noheaderandfooterlines
\setupwhitespace[big] % \setupinterlinespace[line=4.2ex]
\starttext % \startTEXpage[offset=1ex] \setupdirections[bidi=global,method=one] \righttoleft \ARABICFONT
خَ % a
خَل
% \stopTEXpage \stoptext ==============
Three bugs:
I. If we use start|stoptex and comment start|stopTeXpage, then both lines 19 and 21 give an error:
======= tex error > tex error on line 20 in file ./test.tex:
lua error:
callback error: [string "C:/ConTeXt/tex/texmf-context/tex/context/base..."]:2058: attempt to index a number value (local 'chainstep') stack traceback: [string "C:/ConTeXt/tex/texmf-context/tex/context/base..."]:2058: in upvalue 'chainrun' [string "C:/ConTeXt/tex/texmf-context/tex/context/base..."]:2941: in function <[string "C:/ConTeXt/tex/texmf-context/tex/context/base..."]:2514> (...tail calls...) [string "C:/ConTeXt/tex/texmf-context/tex/context/base..."]:2065: in upvalue 'chainrun' [string "C:/ConTeXt/tex/texmf-context/tex/context/base..."]:2941: in local 'handler' [string "C:/ConTeXt/tex/texmf-context/tex/context/base..."]:3999: in field '?' ...eXt/tex/texmf-context/tex/context/base/mkxl/node-fnt.lmt:459: in upvalue 'nodes_handlers_characters' [string "local tonut = nodes.tonut..."]:23: in function <[string "local tonut = nodes.tonut..."]:12> (...tail calls...)
10 \setupwhitespace[big] 11 % \setupinterlinespace[line=4.2ex] 12 13 \starttext 14 % \startTEXpage[offset=1ex] 15 \setupdirections[bidi=global,method=one] 16 \righttoleft 17 \ARABICFONT 18 19 خَ 20 >> 21 خَل 22 23 % \stopTEXpage 24 \stoptext =======
Comment line 19 and yu will get virtually the same error.
II. Using start|stopTeXpage, only line 21 gives the error:
======= tex error > tex error on line 22 in file ./test.tex:
lua error:
callback error: [string "C:/ConTeXt/tex/texmf-context/tex/context/base..."]:2058: attempt to index a number value (local 'chainstep') stack traceback: [string "C:/ConTeXt/tex/texmf-context/tex/context/base..."]:2058: in upvalue 'chainrun' [string "C:/ConTeXt/tex/texmf-context/tex/context/base..."]:2941: in function <[string "C:/ConTeXt/tex/texmf-context/tex/context/base..."]:2514> (...tail calls...) [string "C:/ConTeXt/tex/texmf-context/tex/context/base..."]:2065: in upvalue 'chainrun' [string "C:/ConTeXt/tex/texmf-context/tex/context/base..."]:2941: in local 'handler' [string "C:/ConTeXt/tex/texmf-context/tex/context/base..."]:3999: in field '?' ...eXt/tex/texmf-context/tex/context/base/mkxl/node-fnt.lmt:459: in upvalue 'nodes_handlers_characters' [string "local tonut = nodes.tonut..."]:23: in function <[string "local tonut = nodes.tonut..."]:12> (...tail calls...)
12 13 % \starttext 14 \startTEXpage[offset=1ex] 15 \setupdirections[bidi=global,method=one] 16 \righttoleft 17 \ARABICFONT 18 19 خَ % a 20 21 خَل 22 >> 23 \stopTEXpage 24 % \stoptext =======
III Let us switch to almfixed:
If you comment line 21 and use only line 19, then there is no tex error, but the result is rendered incorrectly - see test-broken.pdf.
For the correct result, see test-correct.pdf (add a space and any letter - uncomment the end of line 19).
Adobe Naskh is not publicly available. The four commented fonts are publicly available and generate no tex errors.
Best wishes Idris
-- Idris Samawi Hamid, Professor Department of Philosophy Colorado State University Fort Collins, CO 80512