ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Mohammad Hossein Bateni <bateni@gmail.com>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: How to use "fontsampler example" with Persian font
Date: Fri, 7 Oct 2016 11:48:32 -0400	[thread overview]
Message-ID: <CAMHZ1dYJ+eA5m7XDwbVt-1ENCbHyoP6NnHzhQEUR+EyZ=C_n=A@mail.gmail.com> (raw)
In-Reply-To: <CAEEu-TispjL0_kUX51W8fSzHttt=RULb38VQsi-+4cqvsi8kfw@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 5816 bytes --]

In ConTeXt, use \definedfont[font-name*arabic] instead of the following two
commands:

\font\myfont=blah blah
\myfont

On Fri, Oct 7, 2016 at 11:41 AM, Mingranina Gingranina <mingranina@gmail.com
> wrote:

>  Dear Mohammad,
>  Hi,
>
>  Thank you very much for your reply. I forgot to mention that I had
> modified the fontsampler codes so that I can use it in ConTeXt with
> Dabeer module.
>
>  However, inspired by your reply I could get it to work in LuaTeX but
> not in ConTeXt with Dabeer module.
>
>  Are there any other set of features that I can test?
>
>  Thanks,
>  Mingranina
>
> On 10/7/16, Mohammad Hossein Bateni <bateni@gmail.com> wrote:
> > The following works for me:
> >
> > \input luaotfload.sty
> > \font \myfont =
> > file:HM_XNiloofar.ttf:language=dflt;script=arab;
> ccmp=yes;init=yes;medi=yes;fina=yes;rlig=yes
> > \myfont Salam
> >
> > \pardir TRT
> > \textdir TRT
> > سلام
> > حسن
> > \bye
> >
> >
> > On Fri, Oct 7, 2016 at 7:19 AM, Mohammad Hossein Bateni <
> bateni@gmail.com>
> > wrote:
> >
> >> 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".
> >>
> >> When loading the font, you should do something like the following, but I
> >> have not tried it myself.
> >>
> >> \font\myfont=file:font.otf:language=dflt;script=arab;
> >> ccmp=yes;init=yes;medi=yes;fina=yes;rlig=yes
> >>
> >> —MHB
> >>
> >>
> >> On Fri, Oct 7, 2016 at 7:01 AM, Mingranina Gingranina <
> >> mingranina@gmail.com> wrote:
> >>
> >>> Dear All,
> >>>  Hello,
> >>>
> >>>  I am trying to use "fontsampler example" with Persian fonts (please
> >>> see below or "http://wiki.luatex.org/index.php/Fontsampler"
> >>>  for fontsampler codes).
> >>>  The problem is that Persian words apears as a string of separate
> >>> glyphs, for example I get "ح‌س‌ن" instead of "حسن".
> >>>  Do I have to use commands like the followings inside \directlua or
> >>> tex.tprint to fix the problem? If yes, how can I do that?
> >>>
> >>> \installlanguage [fa][default=pe,date=\longjalalidatefmt]
> >>> \mainlanguage[fa]
> >>>
> >>> \definefontfeature[tlig][tlig=yes]
> >>> \definefontfeature[slanted][slant=.2]
> >>> \definefontfeature[dlang][language=dflt]
> >>> \definefontfeature[flang][language=far]
> >>>
> >>> Thanks
> >>> Mingranina
> >>>
> >>>
> >>> fontsampler.tex
> >>> ============================================================
> >>> =============================================
> >>> \input luaotfload.sty
> >>> \overfullrule 0pt
> >>> \font\mono = {file:lmmono8-regular.otf} at 6pt
> >>> \parindent 0pt
> >>>
> >>> \def \samplestring {Sphinx of black quartz, judge my vow. 1234567890
> >>> äÄöÖüÜ ß !"§\$\%\&()=?}
> >>>
> >>> \directlua{
> >>>   dofile("fontsampler.lua")
> >>>   fontsampler(arg[2])
> >>> }
> >>>
> >>> \bye
> >>> ============================================================
> >>> =============================================
> >>> End Of fontsampler.tex
> >>>
> >>>
> >>> fontsampler.lua
> >>> ============================================================
> >>> =============================================
> >>> function dirtree(dir)
> >>>   assert(dir and dir ~= "", "directory parameter is missing or empty")
> >>>   if string.sub(dir, -1) == "/" then
> >>>     dir=string.sub(dir, 1, -2)
> >>>   end
> >>>
> >>>   local function yieldtree(dir)
> >>>     for entry in lfs.dir(dir) do
> >>>       if not entry:match("^%.") then
> >>>         entry=dir.."/"..entry
> >>>           if not lfs.isdir(entry) then
> >>>             coroutine.yield(entry,lfs.attributes(entry))
> >>>           end
> >>>           if lfs.isdir(entry) then
> >>>             yieldtree(entry)
> >>>           end
> >>>       end
> >>>     end
> >>>   end
> >>>
> >>>   return coroutine.wrap(function() yieldtree(dir) end)
> >>> end
> >>>
> >>>
> >>> function fontsampler( dir )
> >>>   for entry in dirtree(dir) do
> >>>     if entry:match(".otf","-4") then
> >>>       tex.tprint({[[\mono ]]},{-2,entry},{[[
> >>> (]]},{-2,fontloader.info(entry).fontname},{[[)\par\penalty
> >>> 10000\font\sample={file:]]},{-2,entry},{[[} at
> >>> 12pt\sample\samplestring\par\penalty 10000\vrule width \hsize height
> >>> 0.25pt depth 0pt\par]]})
> >>>     end
> >>>   end
> >>> end
> >>> ============================================================
> >>> =============================================
> >>> End Of fontsampler.lua
> >>> ____________________________________________________________
> >>> _______________________
> >>> If your question is of interest to others as well, please add an entry
> >>> to
> >>> the Wiki!
> >>>
> >>> maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/list
> >>> info/ntg-context
> >>> webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
> >>> archive  : http://foundry.supelec.fr/projects/contextrev/
> >>> wiki     : http://contextgarden.net
> >>> ____________________________________________________________
> >>> _______________________
> >>
> >>
> >>
> >
> ____________________________________________________________
> _______________________
> If your question is of interest to others as well, please add an entry to
> the Wiki!
>
> maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/
> listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
> archive  : http://foundry.supelec.fr/projects/contextrev/
> wiki     : http://contextgarden.net
> ____________________________________________________________
> _______________________
>

[-- Attachment #1.2: Type: text/html, Size: 9130 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2016-10-07 15:48 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-07 11:01 Mingranina Gingranina
2016-10-07 11:19 ` Mohammad Hossein Bateni
2016-10-07 11:24   ` Mohammad Hossein Bateni
2016-10-07 15:41     ` Mingranina Gingranina
2016-10-07 15:48       ` Mohammad Hossein Bateni [this message]
2016-10-10  9:38       ` Wolfgang Schuster
2016-10-11  3:44         ` Mingranina Gingranina
2016-10-11 10:44           ` Mohammad Hossein Bateni
2016-10-12 14:07             ` Mingranina Gingranina

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAMHZ1dYJ+eA5m7XDwbVt-1ENCbHyoP6NnHzhQEUR+EyZ=C_n=A@mail.gmail.com' \
    --to=bateni@gmail.com \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).