Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save typoman/427de3132609694c608440e3b0f6b3fc to your computer and use it in GitHub Desktop.
Save typoman/427de3132609694c608440e3b0f6b3fc to your computer and use it in GitHub Desktop.
Arabic Scirpt kashida in lualatex with babel with control over the stretching using the word spacing
\documentclass{article}
\usepackage{multicol}
\usepackage[bidi = basic]{babel}
\babelprovide[
main,
import,
mapdigits,
justification=kashida,
transforms=kashida.base
]{arabic}
\babelfont[arabic]{rm}[
WordSpace = {0.1, 1.0, 0.1}, % reducing these values adds more kashida
]{Arial} % set font from installed fonts on the system
\begin{document}
\begin{multicols}{3}
کارکرد لاتک مبتنی بر این اندیشه است که نویسندگان باید قادر باشند بر نوشتن در درون ساختار منطقی متن‌شان تمرکز کنند، نه این‌که وقت خود را برای کار کردن بر روی جزئیات شکل‌دهی صرف کنند. این امر، نه‌تنها جداسازی شکل‌دهی از محتوا را ممکن می‌سازد، بلکه حروف‌چینی و دیگر تنظیمات مرتبط با آن را در هر جا که نیاز باشد، امکان‌پذیر می‌سازد. لاتک با قابلیت جدا نگه‌داشتن جزئیات شکل‌دهی از متن، غالباً برتر از واژه‌پردازها و دیگر سیستم‌های نشر رومیزی عمل می‌کند. امکان به وجود آوردن تغییرات دیداری در طرح‌بندی صفحه‌ها معمولاً در سیستم‌های دیگر چندان امکان‌پذیر نیست. این سیستم‌ها زمینه و شکل را چنان به‌طور تنگاتنگ با هم همگون می‌کنند که ایجاد ثبات و خودکارسازی غالباً دشوار است.
\end{multicols}
\end{document}
@typoman
Copy link
Author

typoman commented Jan 16, 2025

This script is showing an example in Farsi language, but it should work with any other language in Arabic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment