From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/2746 Path: main.gmane.org!not-for-mail From: Hans Hagen Newsgroups: gmane.comp.tex.context Subject: Re: Example for Persian Date: Sun, 17 Sep 2000 23:44:45 +0200 Sender: owner-ntg-context@let.uu.nl Message-ID: <3.0.6.32.20000917234445.008c1c90@pop.wxs.nl> References: <3.0.6.32.20000915121946.00794100@pop.wxs.nl> NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-Trace: main.gmane.org 1035393522 11517 80.91.224.250 (23 Oct 2002 17:18:42 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 23 Oct 2002 17:18:42 +0000 (UTC) Cc: ntg-context@ntg.nl Original-To: "Behnam Tabatabai" In-Reply-To: <39C3E16A.221C79C6@i-one.at> Xref: main.gmane.org gmane.comp.tex.context:2746 X-Report-Spam: http://spam.gmane.org/gmane.comp.tex.context:2746 At 11:08 PM 9/16/00 +0200, Behnam Tabatabai wrote: >I have uploaded an example for utf-8 encoded Persian text to be used >with Context+Omega to http://meineseite.i-one.at/behnam-tabatabai/ >I would be very thankful if you would have a look into it. We may continue this thread off list, but some aspects may be interesting to others so let me for the moment use the list: Your file says: \font\OMARAB=omarab far better is a definition like \definefont[OMARAB][omarab sa 1] because it adapts itself to the body font size. Even better, if the beta version we change the following [i'll add it to the beta]. \def\dododefinefont#1#2% {\parsefontspec[#2]{\bodyfontsize}{*#1*}\getvalue{*#1*}} the \OMARAB\ command will now honor changes in size halfway the document [for those interested: there is no real delay in resolving the font spec each time and since persian is not used in math formulas, we don't need the tex family concept here; this \definefotn mechanism is btw more powerful than it may seem at first sight, since it scales, maps, etc quite nicely]. Then there is the OTP mechanism, which chains a series of filters. Whet we need there is something similar, like (maybe we can leave the synonym here, and auto resolve indirect mappings) \definefiltersynonym [OTF8 to UNICODE16] [inutf8] \definefiltersynonym [farsi to arabic] [FarsiToArabic] \definefiltersynonym [preprocess arabic] [uni2cuni] \definefiltersynonym [build arabic glyphs] [cuni2oar] next there is: \definefiltersequence[Farsi][OTF8 to UNICODE16, farsi to arabic, preprocess arabic, build arabic glyphs] [what is the 1000 in \ocplist\OCPListFarsiUTF=\addbeforeocplist 1000 \OCPutf ?] [it's no problem to call sequences inside filter sequences] now we can say: \Farsi\OMARABIC and get thoce nice sequences of glyphs. In this way we can hide the otp interface and protect macros. Hans ------------------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: +31 (0)38 477 53 69 | fax: +31 (0)38 477 53 74 | www.pragma-ade.com -------------------------------------------------------------------------