29.05.2014 Views

The history of luaTEX 2006–2009 / v 0.50 - Pragma ADE

The history of luaTEX 2006–2009 / v 0.50 - Pragma ADE

The history of luaTEX 2006–2009 / v 0.50 - Pragma ADE

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ٖ<br />

ٌ<br />

َ<br />

هّٰ‏ ِ<br />

انَِ‏ سِ‏ لِ‏ هِ‏ دْ‏ ارَِ‏ حِ‏ تْ‏ هِ‏ دْ‏ مَ‏ حِ‏ تْ‏ دْ‏ مَ‏ هّٰ‏ لِ‏ دْ‏ مَ‏ حْ‏<br />

ٖ<br />

ِ<br />

ٌ<br />

َ<br />

‏ّهٰ‏<br />

قَ‏ لَ‏ يِ‏ ذَّ‏<br />

هِ‏<br />

هِ‏ دْ‏<br />

لَ‏ يِ‏ اشِرَ‏ هِ‏<br />

الَ‏<br />

انَِ‏<br />

رْ‏<br />

اَ‏ ‏ّنَ‏<br />

رَّ‏<br />

يْ‏<br />

َ<br />

َ<br />

َ انَ.َ‏ رْ‏ كِّ‏ امَ‏ سْ‏ رَ‏ كُّ‏ رَّ‏<br />

َّ<br />

XIII<br />

Arabic<br />

Let's start with admitting that I don't speak or read Arabic, and the sample texts used here<br />

are part <strong>of</strong> what we use in the Oriental TEX project for exploring advanced Arabic typesetting.<br />

This chapter will not discuss arab typesetting in much detail, but should be seen as<br />

complementing the ‘Onthology on Arabic Typesetting’ written by Idris. Here I will only<br />

show what the consequences are <strong>of</strong> applying features. Because we see glyphs but <strong>of</strong>ten<br />

still deal with characters when analyzing what to do, we will use these terms mixed.<br />

<strong>The</strong> font that we use here is the ‘arabtype’ font by MicroS<strong>of</strong>t. This font covers Latin scripts<br />

and Arabic and has a rich set <strong>of</strong> features. It's also a rather big font, so it is a nice torture<br />

test for LuaTEX.<br />

First we show what MkIV does with a sequence <strong>of</strong> characters when no features are enabled<br />

by the user. We have turn on color tracing. This gives us some feedback about<br />

the how the analyze worked out. Analyzing for Arabic boils down to marking the initial,<br />

mid, nal and isolated forms. We don't need to explicitly enable analyzing, it's on by default.<br />

<strong>The</strong> mode ag is set to node because we cannot use TEX's default mechanism. When<br />

LuaTEX and MkIV are beyond beta stage, we will use that mode by default.<br />

analyze=yes, features=yes, language=dflt,<br />

mode=node, script=arab<br />

لِل<br />

،ٖ<br />

الَ‏<br />

وَالنِّسْيَانَ.َوالنَّفْعَ‏ وَالضَّرَّ،‏ وَالسُّكُوْنَ‏ وَالْحَرَكَةَ،‏ وَالْأَرْوَاحَ‏ وَالْأَجْسَامَ،‏ وَالذِّكْرَ‏ وَلِحُسْنَِشاكِرًا،‏<br />

معُ‏ حِ‏ لُ‏<br />

نَاشِرًا؛ٰالاۤئِهٖ‏<br />

رَ‏ فِ‏ بٍ‏<br />

الَ‏ ‏ْحَمْد لُ‏ ‏ِل ‏ْد مُعتْ‏ ‏َرِف بٍ‏<br />

شاكَ‏ ‏ِرًا،‏ وَلِحُسْنِ‏ اٰلائۤ‏ نٖ‏<br />

والنَّفْعَ‏ ‏َالض و،‏ ‏َالس<br />

الَ‏<br />

مغُ‏<br />

خْ‏<br />

‏ِح ‏َمدْ‏ مُغتْ‏<br />

‏ًا؛ اَلّذَ‏ خْ‏<br />

‏ُونْ‏ وَ‏ ‏َالحْ‏ ‏َكَةَ‏<br />

رَ‏ فِ‏<br />

منِ‏ بْ‏ مجَ‏ ب،‏ الثَّنَاۤءِ‏<br />

الْمَوْتَ‏ وَالْحَيٰوةَ،‏ وَالْخَيْرَ‏ وَالشَّرَّ،‏<br />

‏َرفِ‏ مِن بْ‏ ‏ِحَار مجَ‏<br />

‏َق الْمَوْت ‏َالْحَيٰوةَ‏<br />

و،‏ ‏َالْأرَ‏ ‏ْوَاح ‏َالْأجَ‏ و،‏<br />

ب،‏<br />

و،‏<br />

‏ِلسِ‏<br />

‏ْخيَ‏<br />

‏َالذ<br />

الث ‏ۤءِ‏<br />

‏َالش<br />

‏َالنّسِ‏<br />

َ و ،َّ<br />

َ و<br />

َ و<br />

َ و<br />

ِ حمَ‏ ،ٖ<br />

َ و<br />

Once these forms are identied, the init, medi, fina and isol features can be applied<br />

since they need this information. As you can see, different shapes show up. <strong>The</strong> vowels<br />

(marks in OpenType speak) are not affected. It may not be entirely clear here, but these<br />

vowels don't have width.<br />

Arabic 99

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!