Difference between revisions of "RTL"

From Wiki
Jump to navigation Jump to search
(Farsi text with (LTR) number)
m
Line 1: Line 1:
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.
+
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 ==
 
== Basics ==
Line 22: Line 22:
 
  این نمونه ساده از متنی فارسی است که در \CONTEXT\ تهیه شده است.
 
  این نمونه ساده از متنی فارسی است که در \CONTEXT\ تهیه شده است.
 
توجه کنید که عدد ۱۰۰۰ به صورت صحیح نمایش داده می‌شود.
 
توجه کنید که عدد ۱۰۰۰ به صورت صحیح نمایش داده می‌شود.
 +
\stoptext
 
</context>
 
</context>

Revision as of 04:32, 27 January 2016

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 AEvw2K/cropped.pdf