<div dir="ltr">I don't know much about fontsampler but the commands you list here are mostly irrelevant.  My guess is you will need to set the features in the font to get proper shaping.  A good set of features that should do the trick is called "arabic".<div><br></div><div>When loading the font, you should do something like the following, but I have not tried it myself.</div><div><br></div><div>\font\myfont=file:font.otf:language=dflt;script=arab;ccmp=yes;init=yes;medi=yes;fina=yes;rlig=yes</div><div><br></div><div>—MHB<br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 7, 2016 at 7:01 AM, Mingranina Gingranina <span dir="ltr"><<a href="mailto:mingranina@gmail.com" target="_blank">mingranina@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Dear All,<br>
 Hello,<br>
<br>
 I am trying to use "fontsampler example" with Persian fonts (please<br>
see below or "<a href="http://wiki.luatex.org/index.php/Fontsampler" rel="noreferrer" target="_blank">http://wiki.luatex.org/index.<wbr>php/Fontsampler</a>"<br>
 for fontsampler codes).<br>
 The problem is that Persian words apears as a string of separate<br>
glyphs, for example I get "ح‌س‌ن" instead of "حسن".<br>
 Do I have to use commands like the followings inside \directlua or<br>
tex.tprint to fix the problem? If yes, how can I do that?<br>
<br>
\installlanguage [fa][default=pe,date=\<wbr>longjalalidatefmt]<br>
\mainlanguage[fa]<br>
<br>
\definefontfeature[tlig][tlig=<wbr>yes]<br>
\definefontfeature[slanted][<wbr>slant=.2]<br>
\definefontfeature[dlang][<wbr>language=dflt]<br>
\definefontfeature[flang][<wbr>language=far]<br>
<br>
Thanks<br>
Mingranina<br>
<br>
<br>
fontsampler.tex<br>
==============================<wbr>==============================<wbr>==============================<wbr>===============<br>
\input luaotfload.sty<br>
\overfullrule 0pt<br>
\font\mono = {file:lmmono8-regular.otf} at 6pt<br>
\parindent 0pt<br>
<br>
\def \samplestring {Sphinx of black quartz, judge my vow. 1234567890<br>
äÄöÖüÜ ß !"§\$\%\&()=?}<br>
<br>
\directlua{<br>
  dofile("fontsampler.lua")<br>
  fontsampler(arg[2])<br>
}<br>
<br>
\bye<br>
==============================<wbr>==============================<wbr>==============================<wbr>===============<br>
End Of fontsampler.tex<br>
<br>
<br>
fontsampler.lua<br>
==============================<wbr>==============================<wbr>==============================<wbr>===============<br>
function dirtree(dir)<br>
  assert(dir and dir ~= "", "directory parameter is missing or empty")<br>
  if string.sub(dir, -1) == "/" then<br>
    dir=string.sub(dir, 1, -2)<br>
  end<br>
<br>
  local function yieldtree(dir)<br>
    for entry in lfs.dir(dir) do<br>
      if not entry:match("^%.") then<br>
        entry=dir.."/"..entry<br>
          if not lfs.isdir(entry) then<br>
            coroutine.yield(entry,lfs.<wbr>attributes(entry))<br>
          end<br>
          if lfs.isdir(entry) then<br>
            yieldtree(entry)<br>
          end<br>
      end<br>
    end<br>
  end<br>
<br>
  return coroutine.wrap(function() yieldtree(dir) end)<br>
end<br>
<br>
<br>
function fontsampler( dir )<br>
  for entry in dirtree(dir) do<br>
    if entry:match(".otf","-4") then<br>
      tex.tprint({[[\mono ]]},{-2,entry},{[[<br>
(]]},{-2,<a href="http://fontloader.info" rel="noreferrer" target="_blank">fontloader.info</a>(<wbr>entry).fontname},{[[)\par\<wbr>penalty<br>
10000\font\sample={file:]]},{-<wbr>2,entry},{[[} at<br>
12pt\sample\samplestring\par\<wbr>penalty 10000\vrule width \hsize height<br>
0.25pt depth 0pt\par]]})<br>
    end<br>
  end<br>
end<br>
==============================<wbr>==============================<wbr>==============================<wbr>===============<br>
End Of fontsampler.lua<br>
______________________________<wbr>______________________________<wbr>_______________________<br>
If your question is of interest to others as well, please add an entry to the Wiki!<br>
<br>
maillist : <a href="mailto:ntg-context@ntg.nl">ntg-context@ntg.nl</a> / <a href="http://www.ntg.nl/mailman/listinfo/ntg-context" rel="noreferrer" target="_blank">http://www.ntg.nl/mailman/<wbr>listinfo/ntg-context</a><br>
webpage  : <a href="http://www.pragma-ade.nl" rel="noreferrer" target="_blank">http://www.pragma-ade.nl</a> / <a href="http://tex.aanhet.net" rel="noreferrer" target="_blank">http://tex.aanhet.net</a><br>
archive  : <a href="http://foundry.supelec.fr/projects/contextrev/" rel="noreferrer" target="_blank">http://foundry.supelec.fr/<wbr>projects/contextrev/</a><br>
wiki     : <a href="http://contextgarden.net" rel="noreferrer" target="_blank">http://contextgarden.net</a><br>
______________________________<wbr>______________________________<wbr>_______________________</blockquote></div><br></div></div></div>