RTL

From Wiki
Revision as of 04:32, 27 January 2016 by Bateni (talk | contribs)
Jump to navigation Jump to search

Here we collect several tips and tricks for dealing with right-to-left (RTL) texts as well as BiDi (bidirectional) texts. The large number of hooks in different commands makes it possible to use CONTEXT's support for such documents. However, there are limitations and/or bugs, as well. Everything here is tested in MkIV and we recommend that you try one of the most recent versions since certain bugs are fixed and features are added only in the beta.

Basics

Use \setupalign to change the text direction to RTL. This command sets the page, paragraph and text directions.

\setupalign[r2l]
\starttext
\input knuth
\stoptext

This produces:

BiDi text

To work with documents with mixed RTL and LTR text, we need the bidi algorithm implemented in \setupdirections. Since numbers are LTR elements in Arabic, Persian and other RTL languages, we almost always need this.

% mode=mkiv
\usemodule[simplefonts]
\setmainfont[ALM Fixed][features=arabic,range=arabic]
\setcharacterstripping[1]  % don't show ZWNJ, etc.
\setupdirections[bidi=global,method=one]
\setupalign[r2l]
\starttext
 این نمونه ساده از متنی فارسی است که در \CONTEXT\ تهیه شده است.
توجه کنید که عدد ۱۰۰۰ به صورت صحیح نمایش داده می‌شود.
\stoptext

This produces:

internal error: copy error g60rv2/cropped.pdf