summaryrefslogtreecommitdiff
path: root/texmf-dist/doc/generic/harftex/test/test.tex
diff options
context:
space:
mode:
Diffstat (limited to 'texmf-dist/doc/generic/harftex/test/test.tex')
-rw-r--r--texmf-dist/doc/generic/harftex/test/test.tex310
1 files changed, 310 insertions, 0 deletions
diff --git a/texmf-dist/doc/generic/harftex/test/test.tex b/texmf-dist/doc/generic/harftex/test/test.tex
new file mode 100644
index 00000000..7e3c9086
--- /dev/null
+++ b/texmf-dist/doc/generic/harftex/test/test.tex
@@ -0,0 +1,310 @@
+\pdfvariable suppressoptionalinfo \numexpr1+32+64+128+512\relax
+\pdfvariable compresslevel 0
+\pdfvariable objcompresslevel 0
+
+\tracingstats=1
+\tracingonline=1
+
+\input harfload.sty
+
+\def\btest{\begingroup}
+\def\brtest{\btest\pardir TRT\textdir TRT}
+\def\etest{\par\endgroup\vfill\eject}
+
+\brtest
+\font\testr="[amiri-regular.ttf]" at 10pt
+\font\testb="[amiri-bold.ttf]" at 10pt
+\testr
+هذا كتاب صغير في بحث جديد، تنبّهنا له ونحن ننشر الطبعة الثانية من كتابنا الفلسفة
+اللغوية لأنّ موضوعه تابع لموضوعنا. أو هي خطوة ثانية في تاريخ اللغة باعتبار
+منشأها وتكونها ونموها. فالفلسفة اللغوية تبحث في كيف نطق الانسان الأول، وكيف
+نشأت اللغة وتولّدت الألفاظ من حكاية الأصوات الخارجية، ك{\testb قصف الرعد}، وهبوب الرياح،
+والقطع والكسر، وحكاية التف والنفخ والصفير ونحوها. ومن المقاطع الطبيعية التي
+ينطق بها الانسان غريزيا كالتأوه، والزفير. وكيف تنوّعت تلك الأصوات لفظا ومعنى
+بالنحت، والابدال، والقلب، حتى صارت ألفاظا مستقلة وتكوّنت الأفعال، والأسماء،
+والحروف وصارت اللغة على نحو ما هي عليه. وأما تاريخ اللغة فيتناول النظر في
+ألفاظها وتراكيبها، بعد تمام تكونها، فيبحث فيما طرأ عليهما من التغيير والتجدد أو
+الدثور، فيبين الألفاظ والتراكيب التي دثرت من اللغة بالاستعمال، وما قام مقامها
+من الألفاظ الجديدة، والتراكيب الجديدة، بما تولّد فيها، أو اقتبسته من سواها، مع
+بيان الأحوال التي قضت بدثور القديم وتولد الجديد، وأمثلة مما دثر، أو أهمل، أو
+تولّد، أو دخل.
+
+المحتوى الذي تصل إليه (في حالة عدم استخدام مواقع مؤمنة عن طريق بروتوكول نقل
+النص التشعبي الآمن {\textdir TLT HTTPS}).
+\etest
+
+\def\arabictext{%
+هذا كتاب صغير في بحث جديد، تنبّهنا له ونحن ننشر الطبعة الثانية من كتابنا الفلسفة
+اللغوية لأنّ موضوعه تابع لموضوعنا. أو هي خطوة ثانية في تاريخ اللغة باعتبار
+منشأها وتكونها ونموها. فالفلسفة اللغوية تبحث في كيف نطق الانسان الأول، وكيف
+نشأت اللغة وتولّدت الألفاظ من حكاية الأصوات الخارجية، كقصف الرعد، وهبوب الرياح،
+والقطع والكسر، وحكاية التف والنفخ والصفير ونحوها. ومن المقاطع الطبيعية التي
+ينطق بها الانسان غريزيا كالتأوه، والزفير. وكيف تنوّعت تلك الأصوات لفظا ومعنى
+بالنحت، والابدال، والقلب، حتى صارت ألفاظا مستقلة وتكوّنت الأفعال، والأسماء،
+والحروف وصارت اللغة على نحو ما هي عليه. وأما تاريخ اللغة فيتناول النظر في
+ألفاظها وتراكيبها، بعد تمام تكونها، فيبحث فيما طرأ عليهما من التغيير والتجدد أو
+الدثور، فيبين الألفاظ والتراكيب التي دثرت من اللغة بالاستعمال، وما قام مقامها
+من الألفاظ الجديدة، والتراكيب الجديدة، بما تولّد فيها، أو اقتبسته من سواها، مع
+بيان الأحوال التي قضت بدثور القديم وتولد الجديد، وأمثلة مما دثر، أو أهمل، أو
+تولّد، أو دخل.%
+}
+
+\brtest
+\font\test="[amiri-regular.ttf]" at 20pt\test
+\baselineskip=2em
+\arabictext
+\etest
+
+\brtest
+\font\testh="[ArefRuqaa-Regular.ttf]" at 10pt
+\font\testn="[ArefRuqaa-Bold.ttf]:mode=node;script=arab" at 10pt
+\font\testb="[ArefRuqaa-Bold.ttf]:mode=base;script=arab" at 10pt
+\tolerance 9999
+\testh\arabictext\par
+\testn\arabictext\par
+\testb\arabictext\par
+\etest
+
+\brtest
+\font\test="[NotoNastaliqUrdu-Regular.ttf]" at 14pt\test
+\baselineskip=3em
+\arabictext
+\etest
+
+\brtest
+\font\testr="[amiri-regular.ttf]" at 20pt
+\font\testc="[amiri-regular.ttf]:color=FF0000" at 20pt
+\testr قلبي {\testc تلون كله} بلون الحب.
+\etest
+
+\brtest
+\font\test="[amiri-quran-colored.ttf]" at 20pt\test
+\baselineskip=2.6em
+\parindent=0pt
+\leftskip=0pt plus 1fil
+\rightskip=0pt plus -1fil
+\parfillskip=0pt plus 2fil
+\def\aya#1{{\textdir TLT ^^^^06dd#1}}
+^^^^fdfd~\aya{١}\par
+ٱلۡحَمۡدُ لِلَّهِ رَبِّ ٱلۡعَٰلَمِینَ~\aya{٢} ٱلرَّحۡمَٰنِ ٱلرَّحِیمِ~\aya{٣} مَٰلِكِ یَوۡمِ ٱلدِّینِ~\aya{٤} إِیَّاكَ نَعۡبُدُ وَإِیَّاكَ نَسۡتَعِینُ~\aya{٥} ٱهۡدِنَا ٱلصِّرَٰطَ ٱلۡمُسۡتَقِیمَ~\aya{٦} صِرَٰطَ ٱلَّذِینَ أَنۡعَمۡتَ عَلَیۡهِمۡ غَیۡرِ ٱلۡمَغۡضُوبِ عَلَیۡهِمۡ وَلَا ٱلضَّاۤلِّینَ~\aya{٧}\par
+\etest
+
+\btest
+\font\testa="[BungeeColor1.ttf]:colr=true" at 50pt\testa
+ABCDEFG\par
+\font\testb="[BungeeColor1.ttf]:colr=2" at 50pt\testb
+ABCDEFG\par
+\etest
+
+\btest
+\font\test="[NotoColorEmoji.ttf]" at 24pt\test
+💙💚💛💜💝🖤🧡😀😇🧔🏽🦆
+abc
+\etest
+
+\btest
+\font\test="[amiri-regular.ttf]" at 10pt\test
+\TeX\ = τεχ in Greek
+
+\directlua{
+if luaotfload then
+ local hb = require("harf")
+ assert( luaotfload.aux.font_has_glyph(font.current(), 0x0061)) % a
+ assert(not luaotfload.aux.font_has_glyph(font.current(), 0x03C4)) % τ
+ assert(not luaotfload.aux.font_has_glyph(font.current(), 0x0061 + hb.CH_GID_PREFIX)) % a pseudo char
+ assert("a" == luaotfload.aux.name_of_slot(font.current(), 0x0061)) % a
+ assert(nil == luaotfload.aux.name_of_slot(font.current(), 0x03C4)) % τ
+ assert(68 + hb.CH_GID_PREFIX == luaotfload.aux.slot_of_name(font.current(), "a"))
+ assert(nil == luaotfload.aux.slot_of_name(font.current(), "foo"))
+end
+}
+\etest
+
+\btest
+\font\testr="[amiri-regular.ttf]" at 100pt
+\font\testi="[amiri-slanted.ttf]" at 100pt
+\testr ({\testi f\/})
+\etest
+
+\btest
+\def\l#1#2{%
+ \begingroup
+ \font\test="[amiri-regular.ttf]:language=#1" at 10pt\test #2%
+ \endgroup
+}
+\l{ARA}{٠١٢٣٤٥٦٧٨٩}\par
+\l{FAR}{۰۱۲۳۴۵۶۷۸۹}\par
+\l{URD}{۰۱۲۳۴۵۶۷۸۹}\par
+\l{SND}{۰۱۲۳۴۵۶۷۸۹}\par
+\l{KSH}{۰۱۲۳۴۵۶۷۸۹}\par
+\etest
+
+\btest
+\font\test="[lmmono10-regular.otf]"\test
+$\fam0 \textfont0\font https:$
+\etest
+
+\btest
+% Test selecting shapers; when “ot” shaper is used, “kdot” feature will not
+% work as it is a Graphite-only feature in Padauk font.
+\font\test="[Padauk-Regular.ttf]:+kdot" at 30pt\test
+က ဂ င တ ပ မ ယ လ ဢ ၵ ၸ \par
+\font\test="[Padauk-Regular.ttf]:shaper=graphite2;+kdot" at 30pt\test
+က ဂ င တ ပ မ ယ လ ဢ ၵ ၸ \par
+\font\test="[Padauk-Regular.ttf]:shaper=ot;+kdot" at 30pt\test
+က ဂ င တ ပ မ ယ လ ဢ ၵ ၸ \par
+\etest
+
+\btest
+\font\arab="[amiri-regular.ttf]:script=arab" at 10pt\arab
+\font\latn="[amiri-regular.ttf]:script=latn" at 10pt\latn
+\font\dflt="[amiri-regular.ttf]" at 10pt\dflt
+\baselineskip=1.6em
+\halign{#\qquad\hfill&(#)\hfill\cr
+{\arab .A.} & {\tt Arab} script\cr
+{\latn .ع.} & {\tt Latn} script\cr
+{\arab ..} & {\tt Arab} script\cr
+{\dflt .A.} & No script in font options\cr
+{\dflt .ع.} & No script in font options\cr
+{\dflt ..} & No script in font options\cr
+}
+\etest
+
+\btest
+\font\test="[amiri-regular.ttf]:mode=harf;letterspace=50" at 30pt\test
+letter spaced
+\etest
+
+\btest
+\font\test="[amiri-regular.ttf]:mode=harf;kernfactor=.5" at 30pt\test
+letter spaced
+\etest
+
+\btest
+\font\test="[amiri-regular.ttf]:mode=harf;slant=.3" at 30pt\test
+Slanted text.
+\etest
+
+\btest
+\font\test="[amiri-regular.ttf]:mode=harf;embolden=1.5" at 30pt\test
+Emboldened text.
+\etest
+
+\btest
+\font\test="[amiri-regular.ttf]:mode=harf;extend=2" at 30pt\test
+Extended text.
+\etest
+
+\btest
+\font\test="[amiri-regular.ttf]:mode=harf;squeeze=.5" at 30pt\test
+Squeezed t^^^^0304e^^^^032ex^^^^0304t^^^^032e.
+\etest
+
+\btest
+\font\test="[NotoSerifCJK-Regular.ttc]" at 10pt\test
+\parindent=0pt
+\noindent
+\smallskip
+offbeat office baffle coffee HAVANA\par
+\smallskip
+\begingroup
+\rightskip=0pt plus1fil \pretolerance=-1 \hyphenpenalty=-10000
+offbeat office baffle coffee HAVANA\par
+\endgroup
+\etest
+
+\btest
+\font\test="[lmroman10-regular.otf]" at 10pt\test
+\parindent=0pt
+\noindent
+\smallskip
+offbeat office baffle {\rm baffle} coffee HAVANA\par
+\smallskip
+\begingroup
+\rightskip=0pt plus1fil \pretolerance=-1 \hyphenpenalty=-10000
+offbeat office baffle {\rm baffle} coffee HAVANA\par
+\endgroup
+\etest
+
+\btest
+\font\lmten="[lmroman10-regular.otf]:+dlig" at 10pt
+\font\lmtwelve="[lmroman12-regular.otf]" at 12pt
+\font\lmtenb="[lmroman10-bold.otf]" at 10pt
+\font\lmteni="[lmromanslant10-regular.otf]" at 10pt
+\lmten
+\hrule
+\vskip 1in
+\centerline{\lmtenb A SHORT STORY}
+\vskip 6pt
+\centerline{\lmteni by A. U. Thor}
+\vskip .5cm
+Once upon a time, in a distant {\lmtwelve galaxy called} Ööç, there lived a computer named
+R.~J. Drofnats.
+
+Mr.~Drofnats-----or ‘‘R. J.,’’ as he {\textdir TRT preferred} to be called-----was happiest when he
+was at work typesetting beautiful documents.
+\vskip 1in
+\hrule
+\etest
+
+\btest
+\font\test=cmr10 at 12pt
+\test
+\input story
+\etest
+
+\btest
+Some text then inline math $E=mc^2$ then $\hbox{text inside inline math}$, then
+display math $$E=mc^2\hbox{ with text inside}$$
+\etest
+
+\btest
+\font\test="[lmsans12-regular.otf]" at 12pt\test
+\protrudechars=2
+\rpcode\font`\,=280
+We thrive in information―thick worlds because of our
+marvelous and everyday capacity to select, edit,
+single out, structure, highlight, group, pair, merge,
+harmonize, synthesize, focus, organize, condense,
+reduce, boil down, choose, categorize, catalog, classify,
+list, abstract, scan, look into, idealize, isolate,
+discriminate, distinguish, screen, pigeonhole, pick over,
+sort, integrate, blend, inspect, filter, lump, skip,
+smooth, chunk, average, approximate, cluster, aggregate,
+outline, summarize, itemize, review, dip into,
+flip through, browse, glance into, leaf through, skim,
+refine, enumerate, glean, synopsize, winnow the wheat
+from the chaff and separate the sheep from the goats.
+\etest
+
+\btest
+\font\test"[Free-HK-Kai_4700-v1.02.subset.ttf]"\test
+骨窗次
+\etest
+
+\btest
+\font\test="[URWGothicL-Book.subset.otf]:mode=harf"\test
+åäöüñÅÄÖÜÑ
+\etest
+
+\btest
+\font\test="[lmroman10-regular.otf]:+dlig" at 10pt\test
+f-f f\-f f\discretionary{-}{-}{-}f
+\etest
+
+\btest
+\font\test="[lmroman10-regular.otf]:+tlig;mode=harf" at 20pt\test
+``!`'' `?`' f--f f---f f-f ,,f" <<f>>
+\etest
+
+\btest
+\font\test="[FandolSong-Regular.otf]:mode=harf" at 20pt\test
+\the\fontdimen5\font\quad\the\fontdimen8\font
+\etest
+
+\btest
+\font\test="[emojione-mac.subset.ttf]:mode=harf" at 100pt\test
+😄👌☃⛄
+\etest
+
+\bye