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

pragma.ade.nl
from pragma.ade.nl More from this publisher
29.05.2014 Views

َ غْتَرِفٌُم عْتَرِفٍُم جْدِهٖ،َم نِْم لِسَِب َ ِ ً لَخ لاۤئِهٰٖا ِ ةََك وْ‏ نَُك انََی سَْج ْ غْتَرِفٌُم عْتَرِفٍُم جْدِهٖ،َم نِْم لِسَِب َ ِ ً َ لَخ لاۤئِهٰٖا َ ةََك وْ‏ نَُك َ ْ انََی سَْج َ ِ َ One script can serve multiple languages so let's see what happens when we switch to Urdu. analyze=yes, ccmp=yes, clig=yes, curs=yes, dlig=yes, features=yes, fina=yes, init=yes, isol=yes, kern=yes, language=urd, liga=yes, mark=yes, medi=yes, mkmk=yes, mode=node, rlig=yes, script=arab ِ ‏ِهلل اَل ‏ُدْمَ‏ ‏ْح ‏ِهلل ‏َْحم ‏َد ٖ، ن ‏َاشرا؛ ا ‏ْيِ‏ ‏َذل ‏َوالأْ‏ ‏ْر ‏َواحَ‏ ‏َوالأْ‏ اَل ‏ُدْمَ‏ ‏ْح ‏ِهلل ‏َْحم ‏َد ن ‏َاشرا؛ ا ‏ْيِ‏ ‏َذل ‏َوالأْ‏ ‏ْر ‏َواحَ‏ ‏َوالأْ‏ ‏ِبح ال ‏ْموَ‏ ‏َتْ‏ ‏َواذل‎كْرَ‏ ‏ِبح ال ‏ْموَ‏ ‏َتْ‏ ‏َواذل‎كْرَ‏ هِدْمَ‏ ‏َوال وةَ،ٰیَ‏ ‏ْح ‏َوالن‎س ‏َوال رْیَ‏ ‏ْخ ‏ِبحارَِ‏ ‏َوالن ‏َعْ‏ ‎ف ‏َوالشر‎ انِ‏ ‏َوالضر‎ الث‎ن ‏ِءۤ‏ ‏َا ‏َشاكِرً‏ ا،‏ ‏َوالس‎ ‏َوحُسِْل ‏َوال ‏ْحرَ‏ ‏ِن ، ، ، . ،ٖ َ ‏َق امَ،‏ هِدْمَ‏ ‏َوال وةَ،ٰیَ‏ ‏ْح ‏َوالن‎س ‏َوال رْیَ‏ ‏ْخ ‏ِبحارَِ‏ ‏َوالن ‏َعْ‏ ‎ف ‏َوالشر‎ انِ‏ ‏َوالضر‎ الث‎ن ‏ِءۤ‏ ‏َا ‏َشاكِرً‏ ا،‏ ‏َوالس‎ ‏َوحُسِْل ‏َوال ‏ْحرَ‏ ‏ِن ، ، ، . َ ‏َق امَ،‏ In practice one will enable most of the features. In MkIV one can dene feature sets as follows: \definefontfeature [arab-default] [mode=node,language=dflt,script=arab, init=yes,medi=yes,fina=yes,isol=yes, liga=yes,dlig=yes,rlig=yes,clig=yes, mark=yes,mkmk=yes,kern=yes,curs=yes] Applying these features to fonts can be done in several ways, with as most basic one: \font\ArabFont=arabtype*arab-default at 18pt Normally one will do something like \definefont[ArabFont][arabtype*arab-default at 18pt] or use typescripts to set up ap proper font collection, in which case we end up with definitions that look like: 104 Arabic

ِ ً غْتَرِفٌُم عْتَرِفٍُم جْدِهٖ،َم نِْم لِسَِب لاۤئِهٰٖا لَخ ِ َ َ وْ‏ نَُك َ َ ةََك ْ سَْج ِ ً انََی غْتَرِفٌُم عْتَرِفٍُم جْدِهٖ،َم نِْم لِسَِب لاۤئِهٰٖا لَخ ِ َ َ وْ‏ نَُك َ َ ةََك انََی ْ سَْج عْترَُم لحَْ‏ مْ‏ دُ‏ ‎‏َِا نِْم َ قََل ل‎ذِ‏ يَْا ا؛ً‏ ِ شر‎َ‎ لائِهٰٖا لحِ‏ ‏ُسْ‏ نَِو لِاسَِب \definefontsynonym[ArabType][name:arabtype][features=arab-default] \definefontsynonym[Serif][ArabType] More information about typescripts can be found in manuals and on the ConTEXt wiki. We end this chapter with showing two arabic fonts so that you can get a taste if the differences: arabtype by MicroSoft and Palatino which is designed by Herman Zapf for Linotype. analyze=yes, ccmp=yes, clig=yes, curs=yes, dlig=yes, features=yes, fina=yes, init=yes, isol=yes, kern=yes, language=dflt, liga=yes, mark=yes, medi=yes, mkmk=yes, mode=node, rlig=yes, script=arab ِ ‏ِهلل اَل ‏ُدْمَ‏ ‏ْح ‏ِهلل ‏َْحم ‏َد ٖ، ن ‏َاشرا؛ ا ‏ْيِ‏ ‏َذل ‏َوالأْ‏ ‏ْر ‏َواحَ‏ ‏َوالأْ‏ اَل ‏ُدْمَ‏ ‏ْح ‏ِهلل ‏َْحم ‏َد ن ‏َاشرا؛ ا ‏ْيِ‏ ‏َذل ‏َوالأْ‏ ‏ْر ‏َواحَ‏ ‏َوالأْ‏ ‏ِبح ال ‏ْموَ‏ ‏َواذل‎كْرَ‏ ‏ِبح ال ‏ْموَ‏ ‏َواذل‎كْرَ‏ ‏ِبحارَِ‏ ‏َوالشر‎ انِ‏ ‏َوالضر‎ الث‎ن ‏ِءۤ‏ ‏َا ‏َشاكِرً‏ ا،‏ ‏َوالس‎ ‏َوحُسِْل ‏َوال ‏ْحرَ‏ ‏ِن ، ، ، امَ،‏ ‏َتْ‏ َ ‏َق هِدْمَ‏ ‏َوال وةَ،ٰیَ‏ ‏ْح ‏َوالن‎س ‏َوال رْیَ‏ ‏ْخ ‏ِبحارَِ‏ ‏َوالشر‎ ‏َوالن ‏َعْ‏ ‎ف انِ‏ ‏َوالضر‎ الث‎ن ‏ِءۤ‏ ‏َا ‏َشاكِرً‏ ا،‏ ‏َوالس‎ ‏َوحُسِْل ‏َوال ‏ْحرَ‏ ‏ِن ، ، ، . ،ٖ امَ،‏ ‏َتْ‏ َ ‏َق هِدْمَ‏ ‏َوال وةَ،ٰیَ‏ ‏ْح ‏َوالن‎س ‏َوالن ‏َعْ‏ ‎ف ‏َوال رْیَ‏ ‏ْخ . analyze=yes, ccmp=yes, clig=yes, curs=yes, dlig=yes, features=yes, fina=yes, init=yes, isol=yes, kern=yes, language=dflt, liga=yes, mark=yes, medi=yes, mkmk=yes, mode=node, rlig=yes, script=arab ِ ِ ِ ‏ٍف ‏ِء الث‎ انَ‏ ‏َْحمِ‏ ‎ِ‎اً‏ ‏َْمج ‏ِبحارَِ‏ ‏ٌفِ‏ ترْغُ‏ ‏ٖه،‏ م ‏ِدْمَ‏ ‏ِبح ‏َد ‏َخ ‏ٖه،‏ ‏ِد الْمَ‏ وْ‏ تَ‏ ‏ِن ، َ Arabic 105

َ<br />

غْتَرِفٌُم عْتَرِفٍُم<br />

جْدِهٖ،َم نِْم لِسَِب<br />

َ<br />

<br />

ِ <br />

ً<br />

لَخ لاۤئِهٰٖا ِ<br />

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

انََی سَْج ْ<br />

غْتَرِفٌُم عْتَرِفٍُم<br />

جْدِهٖ،َم نِْم لِسَِب<br />

َ<br />

ِ <br />

ً<br />

َ<br />

لَخ لاۤئِهٰٖا<br />

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

َ<br />

ْ انََی سَْج<br />

<br />

َ<br />

ِ<br />

َ<br />

One script can serve multiple languages so let's see what happens when we switch to<br />

Urdu.<br />

analyze=yes, ccmp=yes, clig=yes, curs=yes,<br />

dlig=yes, features=yes, fina=yes, init=yes,<br />

isol=yes, kern=yes, language=urd, liga=yes,<br />

mark=yes, medi=yes, mkmk=yes, mode=node,<br />

rlig=yes, 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 />

‏َوال رْیَ‏ ‏ْخ<br />

‏ِبحارَِ‏<br />

‏َوالن ‏َعْ‏ ‎ف ‏َوالشر‎<br />

انِ‏<br />

‏َوالضر‎<br />

الث‎ن ‏ِءۤ‏ ‏َا ‏َشاكِرً‏ ا،‏<br />

‏َوالس‎<br />

‏َوحُسِْل<br />

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

‏ِن<br />

،<br />

،<br />

،<br />

.<br />

َ ‏َق<br />

امَ،‏<br />

In practice one will enable most <strong>of</strong> the features. In MkIV one can dene feature sets as<br />

follows:<br />

\definefontfeature<br />

[arab-default]<br />

[mode=node,language=dflt,script=arab,<br />

init=yes,medi=yes,fina=yes,isol=yes,<br />

liga=yes,dlig=yes,rlig=yes,clig=yes,<br />

mark=yes,mkmk=yes,kern=yes,curs=yes]<br />

Applying these features to fonts can be done in several ways, with as most basic one:<br />

\font\ArabFont=arabtype*arab-default at 18pt<br />

Normally one will do something like<br />

\definefont[ArabFont][arabtype*arab-default at 18pt]<br />

or use typescripts to set up ap proper font collection, in which case we end up with definitions<br />

that look like:<br />

104 Arabic

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

Saved successfully!

Ooh no, something went wrong!